:root{--purple:#7561db;--dark:#17182b;--ink:#272a40;--muted:#868b9f;--line:#e9eaf2;--surface:#f6f7fb}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:#f5f6fb;color:var(--ink)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}[hidden]{display:none!important}.hp-input{position:absolute;left:-10000px;opacity:0;width:1px;height:1px}
.auth-screen{min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(circle at 18% 45%,#45396d55,transparent 43%),linear-gradient(135deg,#171829,#25213e 55%,#4b3a72);color:white}
.auth-header{padding:29px clamp(20px,5vw,84px);display:flex;align-items:center;justify-content:space-between;gap:16px}.auth-logo{display:flex;align-items:center;gap:12px;font-size:20px;letter-spacing:-.6px}.auth-logo b{color:#bbadff}.auth-logo-icon{width:39px;height:39px;background:linear-gradient(130deg,#9886fb,#6854cc);display:grid;place-items:center;border-radius:11px;font-weight:800;font-size:24px}.lang-select{background:#ffffff13;color:#f8f6ff;border:1px solid #ffffff35;border-radius:9px;padding:10px 10px;min-width:92px}.lang-select option{color:#252640}.lang-select.light{background:#f7f6fd;color:#5c5392;border-color:#e7e3fa;font-size:12px;font-weight:750}.auth-layout{flex:1;width:min(1240px,100%);margin:auto;display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,6vw,105px);align-items:center;padding:20px clamp(20px,5vw,60px) 40px}.auth-mini{font-size:11px;letter-spacing:1.7px;color:#beafff;font-weight:800}.auth-intro h1{font-size:clamp(38px,4.3vw,63px);line-height:1.09;letter-spacing:-2.7px;max-width:620px;margin:20px 0}.auth-intro>p{color:#c0bbd5;max-width:480px;line-height:1.75;font-size:16px}.auth-features{display:grid;gap:21px;margin:40px 0}.auth-features>div{display:flex;align-items:center;gap:13px;color:#efeafd;font-weight:600;font-size:13px}.auth-features>div span:first-child{width:24px;height:24px;display:grid;place-items:center;border-radius:8px;background:#7360d6;color:white}.auth-trust{display:flex;align-items:center;gap:9px;max-width:460px;color:#a9a1c5;font-size:11px;line-height:1.5}.trust-dot{height:8px;width:8px;background:#72dcb6;border-radius:50%;flex-shrink:0}.auth-card-wrap{width:100%;max-width:472px;margin-left:auto}.auth-card{background:white;color:#24263d;border-radius:20px;padding:38px;box-shadow:0 30px 105px #0c0c2045}.form-illustration{display:flex;gap:10px;align-items:center;margin-bottom:19px;color:#85849e;font-size:10px;letter-spacing:1.2px;font-weight:800}.form-symbol{background:#f0ebff;color:#765cdd;border-radius:9px;width:36px;height:36px;display:grid;place-items:center;font-size:20px}.auth-card h2{font-size:27px;letter-spacing:-.8px;margin:0 0 7px}.auth-card p{font-size:12px;color:#8d91a0;line-height:1.6;margin:0}.stacked-form{display:grid;gap:17px;margin:24px 0 12px}.stacked-form>div{min-width:0}.stacked-form label:not(.checkbox-terms){font-size:12px;font-weight:730;color:#40435b;display:block;margin-bottom:8px}.stacked-form input:not([type=checkbox]){display:block;width:100%;padding:12px 13px;border-radius:9px;border:1px solid #dfe2ee;background:#fff;outline:none;font-size:14px;color:#292b40;margin-top:8px}.stacked-form input:focus,.wide-form input:focus,.modal input:focus,.modal select:focus{border-color:#a48ff1;box-shadow:0 0 0 3px #9a84ef24}.checkbox-terms{display:flex;gap:11px;font-size:11px;color:#666b7d;line-height:1.7;align-items:flex-start}.checkbox-terms input{margin-top:4px;accent-color:#7561db}.auth-primary{width:100%;font-size:13px;padding:15px;min-height:46px}.auth-switch{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;border-top:1px solid #eef0f6;padding-top:17px}.inline-link,.auth-footer button,.app-footer button{background:none;border:none;padding:0;color:#7561db;font-size:12px;font-weight:700;text-decoration:none;cursor:pointer}.inline-link:hover,.auth-footer button:hover{text-decoration:underline}.auth-footnote{display:flex;align-items:flex-start;gap:10px;border-top:1px solid #eef0f6;margin-top:18px;padding-top:15px;color:#9296a6;font-size:10px;line-height:1.6}.auth-footnote span:first-child{color:#8a76e1}.auth-footer{padding:24px clamp(20px,5vw,84px);display:flex;align-items:center;justify-content:space-between;gap:20px;color:#b6b1c7;font-size:11px;flex-wrap:wrap}.auth-footer div,.app-footer div{display:flex;gap:22px;flex-wrap:wrap}.auth-footer button{color:#c8bef0;font-size:11px}.form-message{padding:12px!important;background:#f0edff;border:1px solid #ddd6ff;border-radius:8px;color:#604d9d!important;font-size:12px!important;overflow-wrap:anywhere}.form-message.error{background:#fff0f0;border-color:#ffd9d9;color:#a43143!important}.form-message.warning{background:#fff7e6;border-color:#f7ddac;color:#885e1e!important}
.app{min-height:100vh}.sidebar{height:100vh;overflow:auto}.workspace>div:nth-child(2){min-width:0;overflow:hidden}.workspace strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pilot-pill{background:#f0ebff;border-radius:20px;padding:7px 11px;font-size:10px;color:#7561db;font-weight:800;letter-spacing:1px}.top-actions{gap:12px}.topbar{gap:12px}.top-actions button{font-size:12px!important}.logout-btn{font-size:12px!important}.app-footer{padding:22px 35px;color:#989aad;font-size:11px;display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}.app-footer button{color:#8a7ab7;font-size:11px}.primary.ghost{background:#efecfd;color:#6954c8;box-shadow:none}.primary.ghost:hover{background:#e7e0fc}
.panel-grid{display:grid;gap:20px}.mt{margin-top:20px}.form-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 0 22px}.form-row label{font-size:12px;color:#707487;font-weight:700}.form-row .select,.form-row select,.csv-form select,.csv-form input,.wide-form input,.modal input,.modal select,.modal textarea{padding:11px 12px;border:1px solid #e0e3ed;border-radius:8px;background:white;color:#34384e;max-width:100%;font-size:12px}.form-row select{min-width:230px}.feature-panel{min-height:340px;background:#fff;border:1px solid #edeaf4;box-shadow:0 12px 25px #1c22400a;border-radius:17px;padding:38px;position:relative;overflow:hidden}.feature-panel:after{content:'';position:absolute;right:-70px;top:-90px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,#eeebff,transparent 73%);pointer-events:none}.feature-badge{display:inline-block;color:#7561db;background:#f0edff;border-radius:5px;padding:7px 10px;font-size:10px;font-weight:850;letter-spacing:1px}.feature-panel h2{font-size:27px;letter-spacing:-.6px;position:relative}.feature-panel>p{max-width:630px;line-height:1.9;color:#73788e;font-size:13px;position:relative}.feature-points{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px;position:relative}.feature-points span{border:1px solid #e5e5f1;color:#6f7186;padding:9px 12px;border-radius:7px;font-size:11px;background:#fdfcff}.panel h3{font-size:14px;margin:26px 0 14px}.record-list{display:grid;gap:9px;margin-top:14px}.record-row,.task-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 13px;border:1px solid #edf0f5;background:#fff;border-radius:9px}.record-row strong,.task-row strong{font-size:12px;color:#383a4d}.record-row small,.task-row small{display:block;font-size:10px;color:#9499a9;margin-top:5px}.task-list{display:grid;gap:10px}.task-row{padding:15px 18px}.task-status{display:inline-block;padding:5px 8px;border-radius:6px;background:#edeafa;color:#7964cd;font-size:10px;font-weight:800}.task-status.done{background:#e7f8f0;color:#399a70}.task-status.urgent{background:#fff1e7;color:#a66625}.secondary{border:1px solid #dfddeb;background:white;border-radius:9px;padding:10px 14px;color:#6656b1;font-size:12px;font-weight:700}.secondary:hover{background:#f8f6ff}.csv-form{margin-top:22px;padding:22px;border:1px dashed #d8d3ee;background:#fbfaff;border-radius:10px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.csv-form strong{font-size:12px}.csv-form p{max-width:100%;flex-basis:100%;color:#9195a8}.csv-form input{max-width:270px}.csv-form select{max-width:230px}.wide-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px}.wide-form label{display:block;font-size:12px;font-weight:700;color:#5d6277;margin-bottom:7px}.wide-form input{width:100%;font-size:13px}.wide-form>button{justify-self:start}.security-status{border:1px solid #e4e2f1;background:#faf9ff;border-radius:9px;padding:13px 15px;margin-bottom:16px;color:#655f87;font-size:12px}.alert{padding:16px;border-radius:8px;font-size:12px!important;line-height:1.6}.alert.warning{background:#fff8e9;color:#936d2f;margin-top:20px}.compact-stats{margin-top:25px}.modal-backdrop{z-index:35;backdrop-filter:blur(3px)}.modal-large{max-width:650px;max-height:min(85vh,850px);overflow:auto;padding:28px}.modal label{display:grid;gap:6px}.modal label input,.modal label select,.modal label textarea{margin:0;width:100%}.modal .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.modal .stacked-form{display:grid;gap:14px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:12px}.modal .line-row{display:grid;grid-template-columns:2fr .65fr 1fr .6fr auto;gap:6px;align-items:end;margin:10px 0}.modal .line-row input{width:100%;font-size:12px}.icon-btn{border:0;background:#faf0f0;color:#b24a5b;border-radius:7px;padding:10px;font-size:15px}.legal-dialog{max-width:780px;max-height:min(88vh,900px);overflow:auto}.legal-dialog h3{font-size:15px;margin:24px 0 7px;color:#34314e}.legal-dialog p{font-size:12px;color:#656d82;line-height:1.9}.legal-dialog .legal-warning{color:#99631a;background:#fff7e6;padding:12px;border-radius:8px}.legal-dialog .legal-date{font-size:11px;color:#9492a6}.legal-dialog .legal-intro{font-size:13px;color:#555d71;line-height:1.8}.cookie-banner{position:fixed;z-index:40;bottom:22px;left:50%;transform:translateX(-50%);width:min(930px,calc(100% - 28px));background:white;border:1px solid #eae6f4;box-shadow:0 17px 75px #13152b3d;border-radius:14px;padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:25px;color:#25283d}.cookie-banner strong{font-size:14px}.cookie-banner p{font-size:11px;line-height:1.65;color:#858b9b;margin:7px 0}.cookie-actions{display:flex;gap:10px;flex-shrink:0}#toast{z-index:70;max-width:450px;line-height:1.5}.empty-state{color:#989dad;font-size:12px;padding:24px;text-align:center}.error-state{color:#b84a52;font-size:12px;padding:18px}.badge-neutral{display:inline-block;color:#7561c9;background:#f1edff;font-size:10px;padding:6px 8px;border-radius:6px;font-weight:750}.total-pill{background:#f5f2ff;color:#7760ca;border-radius:7px;padding:10px;font-size:11px;font-weight:750}.muted{font-size:12px;color:#999db0}.table-action{font-size:11px;padding:8px;border:1px solid #ebe9f5;color:#7b66d4;border-radius:6px;background:white}.modal .legal-link{font-size:12px}.readonly-notice{margin:20px 0;padding:13px;border-radius:9px;background:#f1ebfc;color:#7151a4;font-size:12px}.preview-banner{background:#f0eaff;color:#6347ad;padding:12px;text-align:center;font-size:12px;font-weight:700}.security-status strong{display:block}
@media(max-width:1080px){.auth-layout{grid-template-columns:1fr 1fr;gap:25px}.auth-intro h1{font-size:40px}.auth-card{padding:27px}.auth-intro>p{font-size:14px}.auth-features{margin:28px 0}}
@media(max-width:760px){.auth-layout{grid-template-columns:1fr;padding:5px 20px 40px}.auth-intro{display:none}.auth-card-wrap{margin:auto}.auth-header{padding:20px}.auth-footer{justify-content:center;text-align:center;padding:20px}.auth-card{padding:28px 23px}.cookie-banner{flex-direction:column;align-items:stretch;bottom:9px;padding:17px}.cookie-actions{justify-content:flex-end}.wide-form{grid-template-columns:1fr}.feature-panel{padding:23px}.modal .line-row{grid-template-columns:1fr 1fr;gap:8px}.modal .line-row>label:first-child{grid-column:span 2}.modal .line-row button{align-self:end}.modal .form-grid{grid-template-columns:1fr}.topbar{padding:0 13px}.pilot-pill{display:none}.top-actions{gap:8px}.app-footer{padding:18px}}
@media(max-width:420px){.auth-card{padding:24px 19px}.auth-header{gap:8px}.auth-logo{font-size:16px}.auth-logo-icon{width:32px;height:32px}.lang-select{max-width:118px;font-size:12px}.form-row select{width:100%}.cookie-actions{flex-wrap:wrap}}
/* Discrete-height chart bars avoid style attributes and work under a strict CSP. */
.chartbar-height-1{height:5%}.chartbar-height-2{height:10%}.chartbar-height-3{height:15%}.chartbar-height-4{height:20%}.chartbar-height-5{height:25%}.chartbar-height-6{height:30%}.chartbar-height-7{height:35%}.chartbar-height-8{height:40%}.chartbar-height-9{height:45%}.chartbar-height-10{height:50%}.chartbar-height-11{height:55%}.chartbar-height-12{height:60%}.chartbar-height-13{height:65%}.chartbar-height-14{height:70%}.chartbar-height-15{height:75%}.chartbar-height-16{height:80%}.chartbar-height-17{height:85%}.chartbar-height-18{height:90%}.chartbar-height-19{height:95%}.chartbar-height-20{height:100%}
#toast.toast-error{background:#9e3750}
