:root{color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#202537;background:#f5f6fa;font-size:14px;font-synthesis:none;--ink:#202537;--muted:#858a9b;--line:#eceef4;--blue:#5267e8;--violet:#8766dc;--danger:#c4476a;--sidebar:224px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.48;cursor:wait}button{border:0;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:9px;font-weight:600;line-height:1.35;transition:background .15s,transform .15s}button:active{transform:translateY(1px)}button:focus-visible,a:focus-visible{outline:3px solid #9eabff;outline-offset:3px}button.primary,.primary{background:var(--blue);color:white;padding:12px 18px;box-shadow:0 3px 7px #5267e817}button.primary:hover{background:#4359d8}.secondary{padding:11px 16px;background:#f0f2f9;color:#4e5775;border:1px solid #e7eaf3}.secondary:hover{background:#e8ebf6}.full{width:100%}.text-button{padding:4px 0;background:none;color:#6571b6;font-size:12px;justify-content:flex-start;font-weight:500}.text-button:hover{color:#414fba}.icon-button{width:34px;height:34px;background:#f4f5fa;color:#7c8295;font-size:25px;font-weight:300}.icon{width:19px;height:19px;flex-shrink:0;stroke:currentColor;stroke-width:1.65;fill:none;stroke-linecap:round;stroke-linejoin:round}.icon-library{position:absolute;width:0;height:0;overflow:hidden}.brand{display:flex;align-items:center;gap:10px;font-size:27px;font-weight:750;color:#202537;text-decoration:none;letter-spacing:-1.4px}.brand-mark{display:flex;align-items:center;justify-content:center;width:32px;height:36px;border-radius:10px;background:#586ce6;color:white;letter-spacing:-2px;font-size:33px;font-weight:700;line-height:.7;padding-bottom:8px}.app-shell{display:flex;min-height:100vh}.sidebar{width:var(--sidebar);position:fixed;inset:0 auto 0 0;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:31px 20px;z-index:4}.sidebar>.brand{margin-left:11px}.sidebar-caption{font-size:8px;letter-spacing:1.7px;margin:15px 0 37px 12px;color:#9a9dab}.sidebar nav{display:flex;flex-direction:column;gap:6px}.nav-item{padding:12px 13px;gap:12px;color:#7b8296;background:transparent;font-size:13px;justify-content:flex-start;width:100%;font-weight:500}.nav-item.active{background:#edf0ff;color:#5267df}.nav-item:hover{background:#f4f5fb}.nav-item.active:hover{background:#edf0ff}.nav-shortcut{font-size:10px;margin-left:auto;color:#a4aecf;font-weight:400}.nav-divider{height:1px;background:var(--line);margin:17px 12px}.sidebar-bottom{margin-top:auto;padding:20px 8px 0}.server-status{display:flex;gap:9px;align-items:start;color:#687188;font-size:11px;line-height:1.5;margin-bottom:17px}.server-status>span{height:6px;width:6px;border-radius:50%;background:#7789dc;margin-top:5px}.server-status small{display:block;font-size:9px;color:#a4a9b6;margin-top:3px}.sidebar-bottom>.text-button{font-size:11px;color:#969cae}.workspace{margin-left:var(--sidebar);width:calc(100% - var(--sidebar))}.topbar{height:77px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 38px;border-bottom:1px solid var(--line)}.breadcrumbs{display:flex;gap:15px;font-size:11px;color:#a0a6b6}.breadcrumbs strong{font-weight:500;color:#697084}.topbar-right{display:flex;gap:24px;align-items:center}.private-badge{display:flex;align-items:center;gap:6px;color:#9299ab;font-size:10px}.private-badge>.icon{width:14px;height:14px}.avatar{width:31px;height:31px;border-radius:50%;color:#7262ad;background:#eeebf8;font-size:11px;font-weight:500}main{max-width:1630px;margin:auto;padding:31px 38px 0}.page-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:26px}.eyebrow{font-size:9px;letter-spacing:1.6px;font-weight:600;color:#969bae;margin:0 0 11px}.page-heading h1{font-size:27px;font-weight:650;letter-spacing:-.8px;line-height:1.2;margin:0 0 10px}.page-heading p:not(.eyebrow){color:#9297a8;font-size:11px;margin:0;line-height:1.6}.heading-actions{display:flex;align-items:center;gap:10px}.heading-actions .secondary{font-size:11px;padding:10px 12px;background:#fff}.date-control{display:flex;align-items:center;border:1px solid #e3e6ef;border-radius:9px;background:white;height:36px;overflow:hidden}.date-control>button{width:28px;height:34px;background:none;font-size:20px;font-weight:300;color:#9197aa}.date-control input{width:118px;font-size:11px;padding:3px 1px;background:none;border:0;color:#6d7589;outline-offset:-2px}.day-hero{background:linear-gradient(112deg,#20283e 0%,#283150 45%,#3c3c6b 100%);border:1px solid #353d59;border-radius:15px;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:28px 34px;position:relative;overflow:clip;min-height:244px}.day-hero:after{content:"";position:absolute;width:360px;height:360px;right:-120px;bottom:-210px;border:1px solid #8991c226;border-radius:50%;box-shadow:0 0 0 40px #8991c20b,0 0 0 80px #8991c208;pointer-events:none}.hero-label{display:flex;align-items:center;gap:7px;font-size:8px;letter-spacing:2px;color:#a6b3ed}.hero-label .icon{width:15px;height:15px}.day-hero h2{font-size:27px;font-weight:550;letter-spacing:-.5px;line-height:1.25;margin:16px 0 11px}.day-hero p{font-size:10px;line-height:1.6;color:#b3bdd7;margin:0}.hero-button{background:#f5f6fd;color:#313e6b;padding:10px 13px;font-size:10px;margin-top:20px;border:1px solid #fff3;gap:18px}.hero-button .icon{height:15px;width:15px}.hero-summary{position:relative;z-index:1;min-width:230px;width:30%;border-left:1px solid #a7b3d51d;padding:8px 0 8px 35px;align-self:stretch;display:flex;flex-direction:column;justify-content:center}.hero-summary-label{font-size:8px;letter-spacing:1.7px;color:#a3b0d6}.hero-number{display:flex;align-items:baseline;gap:7px;margin:14px 0}.hero-number strong{font-size:42px;letter-spacing:-2px;font-weight:400}.hero-number span{font-size:16px;font-weight:300;color:#969fc5}.hero-summary progress{height:4px;margin:0 0 10px;background:#ffffff19;display:block;width:100%;border:none;border-radius:2px;overflow:hidden}.hero-summary progress::-webkit-progress-bar{background:#ffffff19;border-radius:2px}.hero-summary progress::-webkit-progress-value{background:#a9a8f6;border-radius:2px}.hero-summary progress::-moz-progress-bar{background:#a9a8f6}.hero-summary p{font-size:9px;color:#a0acd0}.hero-facts{display:flex;gap:20px;padding-top:18px;font-size:9px;color:#9eabcd}.hero-facts strong{font-weight:500;color:#d6ddf6;font-size:12px;margin-right:3px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin:26px 0 13px;gap:12px}.section-heading h2{font-size:13px;margin:0;font-weight:600;color:#424b64}.subtle{font-size:10px;color:#9a9fb0;line-height:1.5}.resource-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:23px}.resource-card{border:1px solid #e9ebf3;border-radius:12px;background:#fff;padding:15px 17px 13px;min-width:0}.resource-top{display:flex;align-items:center;gap:7px;font-size:10px;color:#838ba0}.resource-dot{height:6px;width:6px;border-radius:2px;background:#6c80e4}.resource-card:nth-child(2) .resource-dot{background:#8d72dc}.resource-card:nth-child(3) .resource-dot{background:#aa82ca}.resource-card:nth-child(4) .resource-dot{background:#7893ba}.resource-value{font-size:22px;letter-spacing:-.5px;font-weight:600;margin-top:12px;line-height:1.1}.resource-value small{font-size:11px;font-weight:400;color:#a0a7bb;letter-spacing:0;margin-left:4px}.resource-card progress{width:100%;height:3px;display:block;margin:11px 0 9px;border:0;border-radius:2px;overflow:hidden}.resource-card progress::-webkit-progress-bar{background:#f0f1f8}.resource-card progress::-webkit-progress-value{background:#7183e0;border-radius:2px}.resource-card:nth-child(2) progress::-webkit-progress-value{background:#947cda}.resource-card:nth-child(3) progress::-webkit-progress-value{background:#b18cd0}.resource-card:nth-child(4) progress::-webkit-progress-value{background:#86a0c3}.resource-card progress::-moz-progress-bar{background:#8b81d8}.resource-meta{font-size:9px;color:#a0a6b9;line-height:1.4}.resource-card.over{border-color:#edc4d0}.resource-card.over .resource-value{color:var(--danger)}.panel{border:1px solid #e8ebf2;border-radius:13px;background:#fff;padding:22px;margin-bottom:20px;min-width:0}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:19px}.panel-heading h2,.panel>h2{font-size:14px;letter-spacing:-.2px;font-weight:600;margin:0;color:#3d465e}.panel-heading .eyebrow{font-size:8px;margin-bottom:7px}.panel-heading .icon{width:17px;height:17px}.day-grid{display:grid;grid-template-columns:minmax(0,1.66fr) minmax(270px,1fr);gap:21px;align-items:start}.timeline-panel{min-height:480px;padding:22px 22px 9px}.timeline-legend{display:flex;gap:17px;font-size:8px;color:#9299ac;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:4px}.timeline-legend>span:before{content:"";display:inline-block;height:5px;width:5px;background:#8b97c9;border-radius:1px;margin-right:5px}.timeline-legend>.legend-proposed:before{background:#a295dd}.timeline-legend>.legend-travel:before{background:#bbc1ce}.timeline-row{display:grid;grid-template-columns:45px 12px minmax(0,1fr);gap:9px;min-height:71px;position:relative}.timeline-time{font-size:9px;color:#9da4b5;padding-top:20px;font-variant-numeric:tabular-nums}.timeline-track{position:relative;display:flex;justify-content:center}.timeline-track:before{content:"";height:100%;width:1px;background:#e9ecf5;position:absolute;top:0}.timeline-row:last-child .timeline-track:before{height:28px}.timeline-track:after{content:"";width:7px;height:7px;border-radius:50%;background:#7184d7;margin-top:23px;z-index:1;box-shadow:0 0 0 3px #fff}.timeline-row.proposed .timeline-track:after{background:#a28bdb}.timeline-row.travel .timeline-track:after,.timeline-row.rest .timeline-track:after{background:#b7bdcc}.timeline-block{margin:11px 0 0;padding:10px 12px;border:1px solid #e8ecfa;border-left:2px solid #7e8ed7;background:#f7f9ff;border-radius:7px;display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.timeline-block h3{font-size:10px;color:#566283;font-weight:550;margin:0;line-height:1.45;overflow-wrap:anywhere}.timeline-block p{font-size:8px;color:#9aa5bf;margin:5px 0 0;line-height:1.5}.timeline-row.proposed .timeline-block{background:#faf8ff;border-color:#eeebf8;border-left-color:#a28bdb}.timeline-row.proposed h3{color:#7a689d}.timeline-row.travel .timeline-block,.timeline-row.rest .timeline-block{background:#fafbfc;border-color:#eef0f4;border-left-color:#b9c1d2}.block-duration{font-size:9px;color:#a0a9c0;white-space:nowrap}.timeline-block-tag{display:inline-flex;align-items:center;font-size:7px;background:#eef0f8;color:#8b97b6;border-radius:3px;padding:3px 5px;margin-left:6px}.timeline-status{display:flex;align-items:center;gap:6px;border-top:1px solid var(--line);padding:14px 0;font-size:9px;color:#9ca4b8;margin-top:15px}.timeline-status:before{content:"";width:4px;height:4px;border-radius:50%;background:#8c9ac9}.decision-actions{display:flex;gap:9px;margin:17px 0;flex-wrap:wrap}.decision-actions button{font-size:11px;padding:10px 12px}.day-aside .panel{padding:19px}.day-aside .panel-heading{margin-bottom:13px}.day-aside h2{font-size:12px}.violet{color:#a08bc9}.insight-lead{font-size:11px;line-height:1.7;color:#737e98;margin:0 0 12px}.insight-list{list-style:none;padding:0;margin:0 0 14px}.insight-list li{padding:7px 0 7px 14px;position:relative;font-size:10px;color:#8c95ab;line-height:1.6}.insight-list li:before{content:"";height:4px;width:4px;position:absolute;left:0;top:14px;border-radius:50%;background:#a494d3}.arrow-link{margin-top:3px;font-size:10px}.arrow-link .icon{height:13px;width:13px;margin-left:2px}.small-badge{font-size:8px;line-height:1.4;color:#9ba3b5;background:#f3f5fa;padding:4px 7px;border-radius:5px;font-weight:400}.small-badge.connected{color:#6d7dc8;background:#eef1fd}.health-empty{display:flex;gap:11px;align-items:center;padding:8px 0 10px}.health-symbol{display:flex;align-items:center;justify-content:center;background:#faf0f4;color:#ca809a;border-radius:9px;width:34px;height:34px;flex-shrink:0;font-size:20px;font-weight:300}.health-empty h3{font-size:10px;font-weight:500;color:#8992a8;margin:0 0 5px}.health-empty p{font-size:9px;line-height:1.6;color:#a0a7b8;margin:0}.health-values{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.health-value{background:#f7f8fc;padding:11px;border-radius:7px}.health-value strong{font-size:16px;font-weight:500;display:block;color:#6a7592}.health-value small{font-size:9px;color:#a1a7b8;display:block;margin-top:4px}.range-field{display:flex;align-items:center;gap:9px;padding-bottom:11px;font-size:10px;color:#8d96ad}.range-field>label{min-width:83px;margin:0;font-size:10px;color:inherit}.range-field input{padding:0;width:100%;accent-color:#8578ca;height:10px;border:0;min-width:0}.range-field output{font-size:10px;color:#777d9e;min-width:9px;text-align:right}.checkin-panel button{font-size:10px;margin-top:3px;padding:9px}.task-item{display:flex;align-items:center;gap:13px;padding:14px 0;border-top:1px solid var(--line)}.task-symbol{width:29px;height:29px;border-radius:8px;background:#edf0fc;color:#8191d2;display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0}.task-copy{min-width:0;flex:1}.task-copy h3{margin:0;font-size:11px;color:#626d86;font-weight:500;overflow-wrap:anywhere}.task-copy p{font-size:9px;color:#a3aabc;margin:5px 0 0;line-height:1.5}.task-duration{font-size:10px;color:#929db4;white-space:nowrap}.muted{font-size:12px;line-height:1.7;color:#929bad}.empty-state{text-align:center;padding:38px 18px;color:#9da5b7}.empty-state strong{font-weight:500;color:#7c88a5;font-size:12px;display:block;margin-bottom:8px}.empty-state p{font-size:10px;line-height:1.7;margin:0}.empty-state .icon{height:28px;width:28px;color:#bdc5db;display:block;margin:0 auto 14px}.decision-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:26px}.decision-intro h2{font-size:23px;letter-spacing:-.6px;margin:12px 0 10px;font-weight:550}.label-tag{font-size:8px;letter-spacing:1.3px;color:#8f84bd;font-weight:600}.scenario-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:20px 0}.scenario-card{background:white;border:1px solid #e7eaf3;border-radius:12px;padding:22px;min-width:0}.scenario-card.selected{border-color:#8a95df;box-shadow:0 0 0 2px #6e7ce709}.scenario-card .scenario-label{font-size:9px;color:#a2aabd;letter-spacing:1px}.scenario-card h3{font-size:17px;font-weight:550;color:#53607e;margin:14px 0 8px}.scenario-card p{font-size:10px;line-height:1.7;color:#929cb0;min-height:32px}.scenario-stat{display:flex;justify-content:space-between;border-top:1px solid var(--line);font-size:10px;color:#8f98ad;padding:10px 0;gap:10px}.scenario-stat strong{color:#657493;font-weight:500}.scenario-card button{font-size:10px;width:100%;padding:10px;margin-top:10px}.analysis-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.factor-row{display:flex;justify-content:space-between;gap:10px;align-items:center;border-top:1px solid var(--line);padding:12px 0;font-size:11px;color:#8b95ac}.factor-row strong{font-size:12px;font-weight:500;color:#6577b3}.factor-row.penalty strong{color:#b47c97}.factor-detail{display:block;font-size:9px;color:#a7afc1;margin-top:4px}.info-box{background:#f6f7fd;border:1px solid #eceff9;border-radius:8px;padding:13px;font-size:10px;line-height:1.7;color:#919cb4;margin-top:17px}.conflict{padding:13px 15px;border:1px solid #f3d7e0;background:#fff7fa;color:#b2778d;font-size:11px;line-height:1.65;border-radius:8px;margin-bottom:10px}.deferred-item{border-top:1px solid var(--line);padding:15px 0;font-size:11px;color:#727e99;line-height:1.6}.deferred-item small{font-size:10px;color:#a2aabc;display:block;margin-top:4px}.forecast-svg{width:100%;height:130px;overflow:visible;display:block;margin:19px 0}.forecast-labels{display:flex;justify-content:space-between;font-size:9px;color:#a1aabd}.forecast-summary{font-size:10px;color:#9ca4b8;line-height:1.7}.sensitivity-item{font-size:10px;color:#98a1b5;line-height:1.7;padding-top:9px}.memory-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:20px}.memory-grid>.panel{align-self:start}.memory-grid h2{font-size:19px;margin-bottom:10px}.memory-grid>.panel>.muted{font-size:11px}.note-item{padding:18px 0;border-top:1px solid var(--line)}.note-item p{font-size:12px;color:#7d88a3;white-space:pre-wrap;line-height:1.8;margin:0 0 9px}.note-item small{font-size:9px;color:#a8afc0}.source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.source-card{border:1px solid #e6eaf4;border-radius:12px;padding:25px;background:#fff;margin-bottom:0;min-width:0}.source-card h2{font-size:16px;color:#697895;font-weight:550;margin:16px 0 10px}.source-card p{font-size:11px;color:#99a3b9;line-height:1.8;min-height:40px}.source-header{display:flex;justify-content:space-between;align-items:center}.source-icon{height:36px;width:36px;display:flex;align-items:center;justify-content:center;background:#f0f2fc;border-radius:9px;color:#8895ca;font-size:17px}.source-meta{font-size:9px;color:#aab1c2;border-top:1px solid var(--line);padding-top:13px;margin-top:18px}.source-grid+.panel{margin-top:20px}.connection-flow{display:flex;align-items:center;gap:13px;flex-wrap:wrap;margin:23px 0}.connection-flow span{padding:12px 15px;background:#f5f7fd;border:1px solid #edf0f8;color:#7b89aa;border-radius:7px;font-size:11px}.connection-flow b{font-weight:400;color:#b0b9cd}.source-demo{display:flex;justify-content:space-between;align-items:center;gap:20px}.source-demo h2{font-size:14px;color:#6f7b96;margin:0}.source-demo p{font-size:10px;margin-bottom:0}.source-demo button{white-space:nowrap;font-size:10px}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px;overflow:auto;margin-bottom:20px}.week-day{border:1px solid #e8ebf3;border-radius:11px;background:white;min-width:110px;min-height:330px;padding:12px 8px;cursor:pointer}.week-day.selected{border-color:#9ca8e9}.week-day-heading{font-size:9px;color:#9ba5bb;text-align:center;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:12px}.week-day-heading strong{display:block;font-size:20px;font-weight:500;color:#6b7899;margin-top:7px}.week-event{background:#f1f4ff;border-left:2px solid #94a2df;font-size:9px;padding:8px 6px;border-radius:5px;margin-bottom:8px;color:#7c8baf;line-height:1.5;overflow-wrap:anywhere}.week-event.study{background:#f5f0fc;border-left-color:#b19aca;color:#9b88ae}.week-event.social,.week-event.rest{background:#f8f2f8;border-left-color:#c4a3c4;color:#a18ba1}.week-event small{display:block;color:#a6b1c9;font-size:8px;margin-bottom:4px}.week-intro{padding:16px 21px;display:flex;align-items:center;justify-content:space-between;gap:16px}.week-intro .muted{margin:0;font-size:10px}.week-legend{display:flex;gap:14px;white-space:nowrap;font-size:9px;color:#9ba6bb}.week-footer{font-size:11px;color:#98a3b8;line-height:1.7}.settings-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:20px}.settings-grid .panel>h2{margin:6px 0 24px;font-size:18px}.settings-grid .panel>.muted{font-size:10px;margin-top:-9px;margin-bottom:20px}.weights-panel{grid-column:1/-1}.weights-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px 24px}.weight-field{display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid var(--line);padding:13px 0}.weight-field label{margin:0;flex:1;color:#8491ab;font-size:11px}.weight-field label small{display:block;font-size:9px;color:#a7afc1;margin-top:5px;line-height:1.5}.weight-field input{width:70px;padding:9px;font-size:11px}.settings-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.settings-actions .muted{font-size:10px}.settings-actions button{white-space:nowrap}label{display:flex;flex-direction:column;gap:8px;font-size:11px;color:#8c97ad;margin:0 0 16px;line-height:1.4}input,select,textarea{font:inherit;font-size:12px;line-height:1.5;color:#65738e;background:#f9fafe;border:1px solid #e5e9f3;padding:11px 12px;border-radius:7px;width:100%;min-width:0}input:focus,select:focus,textarea:focus{outline:2px solid #d3dafb;border-color:#adb9ee}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#b1b9cd}select{appearance:auto}.row{display:flex;gap:15px}.row>*{flex:1;min-width:0}.form-hint{font-size:10px;line-height:1.7;color:#a0abc1;margin:0 0 19px}footer{font-size:9px;color:#a6afc1;padding:26px 0;display:flex;justify-content:space-between;border-top:1px solid #e8ecf4;margin-top:7px}dialog{width:min(560px,calc(100vw - 30px));max-height:90vh;overflow:auto;border:1px solid #e3e8f3;border-radius:16px;box-shadow:0 25px 120px #25325c35;padding:26px;background:white;color:var(--ink)}dialog::backdrop{background:#151c3b55;backdrop-filter:blur(4px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.dialog-heading h2{font-size:22px;font-weight:550;letter-spacing:-.5px;margin:0;color:#556381}.dialog-tabs{display:flex;gap:4px;background:#f3f5fc;padding:4px;border-radius:8px;margin-bottom:23px}.dialog-tabs button{flex:1;background:none;color:#95a1bb;font-size:11px;padding:9px}.dialog-tabs button.active{background:white;color:#6c7dc1;box-shadow:0 1px 4px #3344770a}.toast{position:fixed;bottom:23px;left:50%;transform:translateX(-50%);background:#252e46;color:#e6ebff;border:1px solid #424c69;box-shadow:0 8px 35px #26325225;border-radius:9px;max-width:min(600px,90vw);font-size:12px;line-height:1.7;padding:12px 18px;margin:0;z-index:30}.toast.error{background:#5a3046;border-color:#92576f}.loading-screen{height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#8b99b6;font-size:12px;gap:16px}.login-screen{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}.login-story{background:linear-gradient(145deg,#1e273f,#303d62 70%,#4d4678);padding:50px 9%;display:flex;flex-direction:column;justify-content:space-between;color:white;position:relative;overflow:hidden}.brand-light{color:white;font-size:30px}.edition{font-size:7px;letter-spacing:1.5px;font-weight:400;color:#9baad1;margin:8px 0 0 4px}.login-story .eyebrow{color:#a6b4e3;font-size:9px;letter-spacing:2px}.login-story h1{font-size:clamp(30px,4vw,55px);font-weight:500;letter-spacing:-1.7px;line-height:1.18;margin:23px 0}.login-description{font-size:13px;line-height:1.9;color:#a6b5d7}.login-caption{font-size:9px;color:#8294bc;letter-spacing:.4px}.login-lines{display:flex;gap:9px;align-items:end;height:90px;margin-top:28px}.login-lines span{display:block;width:42px;border-radius:5px 5px 0 0;background:#8392d630;height:45%}.login-lines span:nth-child(2){height:77%;background:#9697df50}.login-lines span:nth-child(3){height:59%;background:#b098d94a}.login-lines span:nth-child(4){height:93%;background:#8c9fe843}.login-panel{background:white;display:flex;align-items:center;justify-content:center;padding:45px}.login-box{max-width:340px;width:100%}.login-box h2{font-size:29px;font-weight:550;letter-spacing:-.7px;margin:16px 0 12px;color:#384765}.login-box>.muted{font-size:12px;margin:0 0 30px}.login-box button{margin-top:5px;font-size:12px;justify-content:space-between}.login-box .login-security{font-size:9px;color:#a8b2c5;display:flex;align-items:center;gap:8px;line-height:1.6;margin-top:25px}.login-security .icon{height:15px;width:15px}body :is([hidden]){display:none!important}@media(min-width:1500px){main{padding-left:50px;padding-right:50px}.day-hero{min-height:260px}.day-hero h2{font-size:31px}.resource-card{padding:19px 21px}.resource-value{font-size:26px}.timeline-row{min-height:78px}}@media(max-width:1180px){:root{--sidebar:192px}.sidebar{padding:30px 14px}.nav-item{font-size:11px}.sidebar-caption{font-size:7px}.sidebar-bottom{padding-left:4px}.topbar{padding:0 25px}main{padding:27px 25px 0}.page-heading h1{font-size:24px}.page-heading{align-items:start}.heading-actions{flex-direction:column;align-items:end}.day-hero{padding:25px}.day-hero h2{font-size:25px}.hero-summary{padding-left:24px;min-width:200px}.hero-facts{gap:11px}.day-grid{grid-template-columns:minmax(0,1.35fr) minmax(250px,1fr);gap:15px}.panel{padding:18px}.day-aside .panel{padding:16px}.resource-grid{gap:9px}.resource-card{padding:13px}.resource-top{font-size:9px}.resource-value{font-size:20px}.resource-meta{font-size:8px}.analysis-grid{grid-template-columns:1fr}.weights-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:950px){:root{--sidebar:70px}.sidebar{padding:27px 12px}.sidebar>.brand{margin:0;justify-content:center;font-size:0;gap:0}.brand-mark{width:31px}.sidebar-caption,.nav-item>span,.sidebar-bottom{display:none}.sidebar nav{margin-top:34px}.nav-item{justify-content:center;padding:12px 0}.nav-item .icon{width:20px;height:20px}.nav-divider{margin:17px 4px}.sidebar nav{gap:9px}.scenario-grid{gap:10px}.scenario-card{padding:17px}.scenario-card h3{font-size:14px}.memory-grid{grid-template-columns:1fr}.source-grid{gap:14px}.source-card{padding:20px}.page-heading h1{font-size:25px}.hero-summary{min-width:190px}.settings-grid{gap:14px;grid-template-columns:1fr 1fr}}@media(max-width:720px){.day-grid{grid-template-columns:1fr}.day-aside{display:grid;grid-template-columns:1fr 1fr;gap:14px}.day-aside .panel{margin:0}.day-aside .checkin-panel{grid-column:1/-1}.checkin-panel #checkin-fields{display:grid;grid-template-columns:1fr 1fr;column-gap:24px}.resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-heading{flex-direction:column;gap:18px}.heading-actions{flex-direction:row;align-items:center;justify-content:space-between;width:100%}.day-hero{min-height:230px}.day-hero h2{font-size:24px}.hero-summary{min-width:155px;width:34%;padding-left:21px}.hero-number strong{font-size:35px}.hero-facts{flex-direction:column;gap:9px;padding-top:13px}.hero-summary p{max-width:130px;font-size:8px}.resource-card{padding:16px}.resource-top{font-size:10px}.resource-meta{font-size:9px}.resource-value{font-size:24px}.section-heading{align-items:start}.section-heading h2{font-size:12px}.section-heading .subtle{font-size:9px;max-width:140px;text-align:right}.scenario-grid{grid-template-columns:1fr}.scenario-card p{min-height:0}.scenario-card h3{font-size:19px}.decision-intro{align-items:start;flex-direction:column}.decision-intro h2{font-size:22px}.scenario-card{padding:22px}.source-grid{grid-template-columns:1fr}.settings-grid{grid-template-columns:1fr}.weights-panel{grid-column:auto}.weights-grid{grid-template-columns:1fr}.settings-actions{align-items:start;flex-direction:column}.week-intro{align-items:start;flex-direction:column}.source-demo{align-items:start;flex-direction:column}.connection-flow{gap:8px}.connection-flow span{font-size:10px;padding:9px 10px}.login-screen{grid-template-columns:1fr}.login-story{padding:28px 30px;min-height:280px;gap:36px}.login-story h1{font-size:32px;margin:13px 0}.login-story .eyebrow{font-size:8px}.login-story .login-description,.login-caption,.login-lines{display:none}.login-panel{padding:37px 26px}.login-box{max-width:450px}}@media(max-width:460px){:root{--sidebar:0px}.sidebar{position:fixed;inset:auto 0 0;width:100%;height:61px;border-right:none;border-top:1px solid #e7ebf5;padding:0;background:#fffffff5;backdrop-filter:blur(14px)}.sidebar>.brand,.sidebar .nav-divider{display:none}.sidebar nav{margin:0;display:flex;flex-direction:row;gap:0;height:100%;padding:4px 7px;align-items:center;justify-content:space-around}.nav-item{width:46px;height:44px;border-radius:8px}.nav-item>span{display:none}.nav-item .icon{width:20px;height:20px}.topbar{height:54px;padding:0 18px}.breadcrumbs{font-size:9px;gap:10px}.private-badge{font-size:0;gap:0}.private-badge .icon{width:14px;height:14px}.topbar-right{gap:14px}.avatar{height:26px;width:26px;font-size:9px}main{padding:25px 16px 75px}.page-heading h1{font-size:26px}.page-heading p:not(.eyebrow){font-size:10px}.eyebrow{font-size:8px}.day-hero{padding:23px 20px;min-height:230px;gap:12px;align-items:start}.day-hero>div:first-child{max-width:65%}.day-hero h2{font-size:22px;line-height:1.25}.hero-label{font-size:6px;letter-spacing:1px;gap:5px}.hero-label .icon{height:11px;width:11px}.day-hero p{font-size:8px}.hero-button{font-size:9px;padding:9px 10px;gap:9px}.hero-button .icon{height:12px;width:12px}.hero-summary{width:30%;min-width:93px;padding:5px 0 0 13px;justify-content:center}.hero-summary-label{font-size:6px;letter-spacing:1px}.hero-number{gap:4px;margin:15px 0}.hero-number strong{font-size:28px}.hero-number span{font-size:10px}.hero-summary p{font-size:7px;line-height:1.7}.hero-facts{font-size:7px;gap:8px}.hero-facts strong{font-size:9px}.resource-grid{gap:10px}.resource-card{padding:14px}.resource-meta{font-size:8px}.resource-value{font-size:23px}.day-aside{grid-template-columns:1fr}.day-aside .checkin-panel{grid-column:auto}.checkin-panel #checkin-fields{grid-template-columns:1fr}.panel{padding:18px}.timeline-panel{padding:18px 14px 9px}.timeline-row{grid-template-columns:36px 10px minmax(0,1fr);gap:6px}.timeline-block{padding:10px}.timeline-block h3{font-size:10px}.timeline-time{font-size:8px}.timeline-legend{font-size:7px;gap:12px}.task-duration{font-size:9px}.panel-heading .text-button{font-size:9px}.backlog-panel .panel-heading h2{font-size:12px}.decision-actions button{font-size:10px}.decision-actions .primary{flex:1}.weights-grid{gap:0}.row{gap:10px}.settings-actions>.primary{width:100%}.memory-grid .panel{padding:20px}.source-grid{gap:14px}.connection-flow{flex-direction:column;align-items:stretch;text-align:center}.connection-flow b{transform:rotate(90deg)}.connection-flow span{font-size:11px}.source-demo button{width:100%}.analysis-grid{gap:0}footer{font-size:8px;gap:20px;line-height:1.7}dialog{padding:23px 18px}.dialog-heading h2{font-size:20px}.dialog-tabs button{font-size:10px}.login-story{min-height:270px}.login-panel{padding:32px 25px}.login-box h2{font-size:26px}}

.scenario-notice{grid-column:1/-1;margin:0}

.resource-profile{margin:5px 0 20px;border:1px solid #e8ebf5;border-radius:8px;padding:13px}.resource-profile summary{font-size:11px;color:#7787ad;cursor:pointer}.resource-profile>.form-hint{margin:13px 0}.profile-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.profile-fields label{font-size:10px}
.integration-panel{margin-bottom:24px}.integration-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.integration-grid h3{margin:14px 0}.integration-grid label,.intake-editor label{display:flex;flex-direction:column;gap:6px;margin:12px 0}.integration-grid input,.integration-grid select,.intake-editor input,.intake-editor select,.scope-row select{max-width:100%;width:100%;padding:10px;border:1px solid #dce0eb;border-radius:9px;background:#fff;color:#242a3b;font:inherit}.integration-grid button{margin:6px 8px 6px 0}.integration-grid a{display:block;margin:12px 0;color:#596cc0}.integration-grid .info-box{overflow-wrap:anywhere}.intake-editor{margin:14px 0}.intake-editor input[type=checkbox]{width:auto}.scope-row{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:12px;margin:12px 0}@media(max-width:800px){.integration-grid{grid-template-columns:1fr}.scope-row{grid-template-columns:1fr}.integration-panel{padding:20px}}

.integration-grid [hidden]{display:none}.calendar-feed{margin:16px 0 24px}.calendar-feed .form-hint{min-height:18px}

.work-reservations { margin: 0 0 20px; border-left: 3px solid var(--violet); }
.work-reservations p { margin: 8px 0; }
.work-reservations small { color: var(--muted); line-height: 1.5; }
.week-event.work-reservation { border: 1px dashed var(--violet); background: #f3f0fc; color: #6951a4; }

/* Календарь показывает длительность геометрией, свободное время остается видимым */
:root {
  --sidebar:174px
}
.sidebar {
  padding:19px 12px
}
.sidebar>.brand {
  font-size:22px;
  margin-left:7px
}
.sidebar-caption,.nav-shortcut {
  display:none
}
.sidebar nav {
  margin-top:23px
}
.nav-item {
  font-size:12px;
  padding:11px 9px;
  gap:10px
}
.sidebar-bottom {
  font-size:10px
}
.topbar {
  height:45px;
  padding:0 24px
}
main {
  padding:18px 24px 0
}
.page-heading {
  margin-bottom:15px;
  align-items:center
}
.page-heading h1 {
  font-size:24px;
  margin:0;
  line-height:1.2
}
.page-heading #page-eyebrow,.page-heading #page-description {
  display:none
}
.heading-actions {
  flex-direction:row;
  align-items:center
}
.date-control {
  padding:3px
}
.heading-actions .secondary {
  padding:9px 12px
}
.day-hero {
  min-height:0;
  padding:14px 18px;
  margin-bottom:12px;
  gap:24px;
  align-items:center;
  background:#fff;
  border:1px solid #e2e6f0;
  box-shadow:none;
  color:var(--ink);
  border-radius:11px
}
.day-hero:before,.day-hero:after,.hero-label,.day-hero h2 {
  display:none
}
.day-hero>div:first-child {
  max-width:none;
  flex:1
}
.day-hero #hero-description {
  color:#626d84;
  font-size:12px;
  line-height:1.5;
  margin:0 0 9px
}
.hero-button {
  background:#edf0fc;
  color:#4357bb;
  font-size:11px;
  padding:9px 12px;
  box-shadow:none
}
.hero-summary {
  min-width:270px;
  width:auto;
  padding:0 0 0 20px;
  border-left:1px solid #e5e8f2;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:6px 14px;
  align-items:center
}
.hero-summary-label {
  font-size:9px;
  color:#69758c;
  letter-spacing:.4px
}
.hero-number {
  margin:0;
  gap:6px
}
.hero-number strong {
  font-size:25px;
  color:#344368
}
.hero-number span {
  font-size:12px;
  color:#7f899c
}
.hero-summary progress {
  height:4px;
  grid-column:1/-1;
  accent-color:#586fda;
  width:100%;
  background:#edf0f7
}
.hero-summary #work-detail {
  grid-column:1/-1;
  color:#798296;
  font-size:10px;
  margin:0;
  max-width:none
}
.hero-facts {
  grid-column:1/-1;
  padding:0;
  border:0;
  display:flex;
  gap:14px;
  font-size:10px;
  color:#7c879d;
  flex-direction:row
}
.hero-facts strong {
  font-size:11px;
  color:#5a6782
}
.resources-disclosure {
  margin:0 0 12px;
  border:1px solid #e3e7f0;
  border-radius:9px;
  background:white;
  padding:10px 14px
}
.resources-disclosure>summary {
  font-size:11px;
  color:#6c7690;
  cursor:pointer
}
.resources-disclosure .section-heading {
  margin:16px 0 10px
}
.resources-disclosure .resource-grid {
  margin-bottom:0
}
.resource-card {
  padding:13px
}
.resource-value {
  font-size:22px
}
.day-grid {
  grid-template-columns:minmax(0,1fr) 250px;
  gap:16px
}
.day-aside .panel {
  padding:16px
}
.panel {
  padding:18px
}
.timeline-panel {
  min-width:0;
  padding:16px 12px 12px
}
.timeline-panel .panel-heading {
  padding:0 5px;
  margin-bottom:12px
}
.timeline-panel .panel-heading h2 {
  font-size:16px
}
.calendar-legend {
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  font-size:10px;
  color:#6e7891;
  margin:0 5px 12px
}
.calendar-legend>span {
  display:inline-flex;
  gap:5px;
  align-items:center
}
.calendar-legend>span:before {
  content:"";
  height:8px;
  width:8px;
  border-radius:2px;
  background:var(--event-border,#7183d4)
}
.calendar-legend .meeting {
  --event-border:#4f75ce
}
.calendar-legend .focus {
  --event-border:#7962c8
}
.calendar-legend .study {
  --event-border:#ac659d
}
.calendar-legend .social {
  --event-border:#cb7286
}
.calendar-legend .rest {
  --event-border:#8a91a4
}
.calendar-legend .reserve:before {
  background:transparent;
  border:1px dashed #7867b1
}
.calendar-window-summary {
  display:flex;
  flex-direction:column;
  gap:5px;
  padding:10px 12px;
  border:1px solid #e5e0f2;
  background:#faf8ff;
  border-radius:8px;
  margin:0 4px 13px;
  font-size:11px;
  color:#6e5d99
}
.calendar-window-summary strong {
  font-size:12px;
  font-weight:600
}
.calendar-window-summary small {
  font-size:10px;
  line-height:1.6;
  color:#827692
}
.calendar-scroll {
  max-height:650px;
  overflow:auto;
  border:1px solid #e1e6f0;
  border-radius:8px;
  background:white;
  position:relative;
  overscroll-behavior:contain
}
.calendar-grid {
  display:grid;
  grid-template-columns:52px repeat(var(--calendar-days),minmax(0,1fr));
  position:relative;
  min-width:100%
}
.calendar-week {
  min-width:1050px;
  grid-template-columns:52px repeat(var(--calendar-days),minmax(140px,1fr))
}
.calendar-corner,.calendar-day-heading {
  position:sticky;
  top:0;
  z-index:6;
  background:#fff;
  border-bottom:1px solid #e1e6f0;
  min-height:83px;
  padding:8px 6px
}
.calendar-corner {
  left:0;
  z-index:8;
  font-size:9px;
  color:#929aab;
  text-align:center;
  padding-top:16px
}
.calendar-day-heading {
  border-left:1px solid #edf0f6;
  display:flex;
  align-items:flex-start;
  flex-direction:column;
  gap:4px;
  overflow:hidden
}
.calendar-date {
  font-size:12px;
  font-weight:600;
  color:#4b5977;
  padding:0;
  background:transparent;
  text-transform:capitalize;
  line-height:1.5
}
.calendar-day-heading.is-today .calendar-date {
  color:#4d60bd
}
.calendar-load {
  font-size:10px;
  color:#818a9c
}
.calendar-work {
  font-size:11px;
  color:#626e88;
  font-weight:500
}
.calendar-work.over {
  color:#bc486d
}



.calendar-week .calendar-day-heading {
  min-height:132px
}
.calendar-axis {
  position:relative;
  background:#fff;
  position:sticky;
  left:0;
  z-index:4;
  border-right:1px solid #e5e9f2
}
.calendar-hour {
  position:absolute;
  right:8px;
  transform:translateY(-50%);
  font-size:10px;
  color:#8e97aa;
  font-variant-numeric:tabular-nums
}
.calendar-hour:first-child {
  transform:translateY(3px)
}
.calendar-lane {
  position:relative;
  border-right:1px solid #e9edf5;
  min-width:0;
  cursor:crosshair;
  background:repeating-linear-gradient(to bottom,#e7ebf4 0,#e7ebf4 1px,transparent 1px,transparent 35px,#f0f2f7 35px,#f0f2f7 36px,transparent 36px,transparent var(--hour-height))
}
.calendar-lane:last-child {
  border-right:0
}
.calendar-event {
  position:absolute;
  z-index:3;
  overflow:hidden;
  border:1px solid #a9b8de;
  border-left:3px solid #5e7cce;
  border-radius:4px;
  background:#eaf0ff;
  color:#3c5b99;
  padding:3px 5px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  gap:2px;
  text-align:left;
  font-weight:400;
  box-sizing:border-box;
  cursor:grab;
  transition:none;
  min-height:0;
  min-width:0;
  line-height:1.25;
  touch-action:pan-y
}
.calendar-event strong {
  font-size:11px;
  font-weight:600;
  line-height:1.3;
  overflow:hidden;
  overflow-wrap:anywhere;
  max-width:100%;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical
}
.calendar-event-time {
  font-size:9px;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
  opacity:.85
}
.calendar-event.focus {
  background:#f0ebff;
  border-color:#c0b2e7;
  border-left-color:#8063c9;
  color:#6446a4
}
.calendar-event.study {
  background:#f7eaf4;
  border-color:#dcb2d2;
  border-left-color:#ac659d;
  color:#915386
}
.calendar-event.social {
  background:#fdeef2;
  border-color:#e8b8c5;
  border-left-color:#cb7286;
  color:#a7506b
}
.calendar-event.rest {
  background:#f0f2f6;
  border-color:#cbd0dc;
  border-left-color:#8a91a4;
  color:#697386
}
.calendar-event.travel {
  background:#eaf3f9;
  border-color:#b9d0df;
  border-left-color:#7a9db7;
  color:#577991
}
.calendar-event.readonly {
  cursor:pointer
}
.calendar-event.readonly strong:before {
  content:"↗ ";
  opacity:.65
}
.calendar-event.proposed {
  border-style:dashed;
  background:#f6f3ff
}
.calendar-event.short {
  padding:2px 4px;
  gap:0;
  flex-direction:row;
  align-items:center;
  justify-content:flex-start;
  white-space:nowrap
}
.calendar-event.short strong {
  font-size:10px;
  white-space:nowrap;
  text-overflow:ellipsis;
  display:block;
  max-width:70%
}
.calendar-event.short .calendar-event-time {
  font-size:8px;
  margin-left:5px
}
.calendar-event.tiny {
  padding:0 3px;
  line-height:1
}
.calendar-event.tiny strong {
  font-size:8px
}
.calendar-event.tiny .calendar-event-time {
  display:none
}
.calendar-resize {
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  height:8px;
  cursor:ns-resize;
  background:linear-gradient(transparent,#7362a113);
  touch-action:none
}
.calendar-resize:after {
  content:"";
  display:block;
  width:18px;
  height:2px;
  background:currentColor;
  opacity:.3;
  margin:4px auto 0;
  border-radius:2px
}
.calendar-reserve {
  position:absolute;
  left:1px;
  right:1px;
  z-index:1;
  border:1px dashed #ad9ecb;
  background:#8d73be08;
  pointer-events:none;
  color:#8c7ca7;
  font-size:9px;
  overflow:hidden
}
.calendar-reserve>span {
  position:absolute;
  right:6px;
  top:4px;
  max-width:90%;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis
}


.calendar-now {
  position:absolute;
  left:0;
  right:0;
  height:1px;
  background:#cd5c85;
  z-index:5;
  pointer-events:none
}
.calendar-now:before {
  content:"";
  position:absolute;
  left:-3px;
  top:-3px;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#cd5c85
}
.calendar-help {
  font-size:10px;
  color:#8993a6;
  line-height:1.6;
  margin:11px 5px
}
.calendar-point-note {
  position:absolute;
  top:0;
  right:4px;
  z-index:3;
  font-size:9px;
  color:#8792a7;
  max-width:90%
}
.calendar-overlap {
  display:flex;
  flex-direction:row;
  align-items:center;
  font-size:10px;
  gap:8px
}
.calendar-overlap input {
  width:auto
}
.calendar-event-context a,#calendar-event-context a {
  display:block;
  color:#596cc0;
  margin-top:8px
}
.week-grid {
  display:block;
  overflow:visible;
  margin-top:14px
}
.week-intro {
  padding:12px 16px
}
.week-intro .calendar-legend {
  margin:0
}
.week-footer {
  font-size:11px;
  color:#77839c
}
.timeline-status {
  font-size:10px;
  color:#8c96aa;
  margin-top:8px
}
.backlog-panel {
  margin-top:16px
}
footer {
  padding:15px 0
}
.breadcrumbs>span:first-child,.breadcrumbs>span:nth-child(2) {
  display:none
}
@media(min-width:1500px) {
  main {
    padding-left:30px;
    padding-right:30px
  }
  .day-hero {
    min-height:0
  }
  .day-hero h2 {
    display:none
  }
  .calendar-scroll {
    max-height:760px
  }
}
@media(max-width:1050px) {
  :root {
    --sidebar:68px
  }
  .sidebar {
    padding:18px 10px
  }
  .sidebar>.brand {
    font-size:0;
    margin:0;
    justify-content:center
  }
  .sidebar nav {
    margin-top:28px
  }
  .nav-item {
    justify-content:center;
    padding:12px 0
  }
  .nav-item>span,.sidebar-bottom {
    display:none
  }
  .day-grid {
    grid-template-columns:minmax(0,1fr) 220px;
    gap:12px
  }
  .day-aside .panel {
    padding:12px
  }
  .topbar {
    padding:0 18px
  }
  main {
    padding:16px 18px 0
  }
}
@media(max-width:760px) {
  .day-grid {
    grid-template-columns:1fr
  }
  .day-aside {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px
  }
  .day-aside .checkin-panel {
    grid-column:1/-1
  }
  .day-hero {
    gap:14px;
    padding:12px
  }
  .hero-summary {
    min-width:210px;
    padding-left:12px
  }
  .hero-summary-label {
    font-size:8px
  }
  .hero-number strong {
    font-size:22px
  }
  .hero-facts {
    font-size:9px
  }
  .hero-summary #work-detail {
    font-size:9px
  }
  .calendar-scroll {
    max-height:610px
  }
  .calendar-week {
    min-width:1050px
  }
  .heading-actions {
    width:auto
  }
  .page-heading {
    flex-direction:row
  }
  .calendar-week-scroll {
    max-height:680px
  }
}
@media(max-width:460px) {
  :root {
    --sidebar:0px
  }
  .sidebar {
    padding:0
  }
  .sidebar nav {
    margin:0
  }
  .nav-item {
    padding:0
  }
  .topbar {
    height:40px;
    padding:0 14px
  }
  main {
    padding:14px 10px 70px
  }
  .page-heading {
    gap:10px;
    flex-wrap:wrap
  }
  .page-heading h1 {
    font-size:21px
  }
  .heading-actions {
    gap:8px
  }
  .heading-actions .secondary {
    font-size:10px;
    padding:8px
  }
  .date-control input {
    font-size:11px;
    width:112px
  }
  .day-hero {
    flex-direction:column;
    align-items:stretch;
    gap:12px
  }
  .day-hero>div:first-child {
    max-width:none;
    display:flex;
    align-items:center;
    gap:10px
  }
  .day-hero #hero-description {
    font-size:10px;
    flex:1;
    margin:0
  }
  .hero-button {
    font-size:9px;
    padding:8px;
    white-space:nowrap
  }
  .hero-button .icon {
    display:none
  }
  .hero-summary {
    width:100%;
    min-width:0;
    padding:0;
    border:0;
    grid-template-columns:1fr auto
  }
  .hero-summary #work-detail {
    font-size:9px
  }
  .hero-facts {
    display:none
  }
  .day-aside {
    grid-template-columns:1fr
  }
  .calendar-grid {
    grid-template-columns:43px repeat(var(--calendar-days),minmax(0,1fr))
  }
  .calendar-week {
    grid-template-columns:43px repeat(var(--calendar-days),140px)
  }
  .calendar-window-summary {
    padding:9px
  }
  .calendar-event.short strong {
    max-width:65%
  }
  .calendar-legend {
    gap:9px;
    font-size:9px
  }
  .timeline-panel {
    padding:12px 7px
  }
  .calendar-scroll {
    max-height:580px
  }
  .calendar-help {
    font-size:9px
  }
}
.day-hero {
  padding:12px 16px
}
.day-hero>div:first-child {
  display:flex;
  align-items:center;
  gap:16px
}
.day-hero #hero-description {
  margin:0;
  font-size:11px;
  max-width:360px
}
.hero-summary {
  grid-template-columns:auto auto;
  gap:4px 12px;
  min-width:245px
}
.hero-summary #work-detail {
  font-size:9px
}
.hero-facts {
  display:none
}
.hero-number strong {
  font-size:23px
}
.hero-button {
  white-space:nowrap
}
.calendar-info-chip {
  max-width:100%;
  padding:2px 5px;
  font-size:9px;
  color:#74819b;
  background:#f3f5fa;
  border-radius:3px;
  font-weight:400;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  display:block
}
.calendar-date {
  white-space:nowrap
}
.calendar-window-summary {
  padding:8px 10px;
  gap:4px
}
.calendar-window-summary small {
  font-size:9px
}
.calendar-window-summary strong {
  font-size:11px
}
@media(max-width:760px) {
  .day-hero>div:first-child {
    display:block
  }
  .day-hero #hero-description {
    margin-bottom:8px
  }
}
@media(max-width:460px) {
  .day-hero>div:first-child {
    display:flex
  }
  .day-hero #hero-description {
    margin:0
  }
  .hero-summary {
    min-width:0
  }
}

.day-grid { grid-template-columns: minmax(0, 1fr); }
.resources-disclosure .day-aside { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 16px; }
.resources-disclosure .day-aside .panel { margin: 0; }
.calendar-day .calendar-day-heading { flex-direction: row; align-items: center; gap: 18px; min-height: 43px; }
.calendar-day .calendar-corner { min-height: 43px; }
.calendar-day .calendar-work { margin-left: auto; }
@media(max-width: 760px) {
  .resources-disclosure .day-aside { grid-template-columns: 1fr; }
  .resources-disclosure .day-aside .checkin-panel { grid-column: auto; }
  .calendar-day .calendar-day-heading { gap: 8px; flex-wrap: wrap; }
  .calendar-day .calendar-day-heading .calendar-date { width: 100%; }
  .calendar-day .calendar-work { margin-left: 0; }
  .calendar-day .calendar-day-heading, .calendar-day .calendar-corner { min-height: 63px; }
}

.calendar-reserve {
  border: 2px solid #9d80d2;
  border-left: 2px solid #9274c5;
  background: #d9c9f5;
  color: #654396;
  border-radius: 5px;
}
.calendar-reserve-title {
  position: absolute;
  left: 2px;
  top: 9px;
  z-index: 1;
  writing-mode: vertical-rl;
  color: #fff;
  font-size: 9px;
  letter-spacing: .3px;
  font-weight: 600;
}
.calendar-reserve > .calendar-reserve-time {
  font-size: 10px;
  font-weight: 600;
  color: #76579f;
}
.calendar-week .calendar-day-heading, .calendar-week .calendar-corner { min-height: 64px; }
.calendar-legend .reserve:before { background: #b59adf; border: 0; }
.calendar-window-summary { margin: 0 4px 10px; font-size: 10px; }

.calendar-reserve:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 17px;
  background: #9274c5;
}

/* Календарное пространство - общая оболочка веба и клиентов */
:root { --sidebar: 242px; --ink: #263047; --muted: #717b91; --line: #e7eaf1; --blue: #4f63dc; background: #f7f8fc; }
.sidebar { padding: 24px 18px 16px; overflow-y: auto; }
.sidebar > .brand { margin-left: 9px; font-size: 29px; }
.sidebar-caption { margin: 10px 0 22px 9px; color: #717b91; font-size: 9px; letter-spacing: 1.3px; }
.sidebar-create { width: 100%; min-height: 44px; margin-bottom: 22px; border-radius: 12px; justify-content: flex-start; padding-left: 17px; font-size: 13px; box-shadow: 0 3px 9px #4f63dc20; }
.sidebar nav { gap: 3px; margin-top: 12px; }
.nav-item { font-size: 12px; min-height: 37px; padding: 9px 11px; color: #657088; }
.nav-shortcut { font-size: 10px; border: 1px solid #e0e5f1; padding: 1px 4px; border-radius: 4px; }
.nav-divider { margin: 8px 10px; }
.month-picker { padding: 0 5px 16px; border-bottom: 1px solid var(--line); }
.month-picker-heading { display: flex; justify-content: space-between; align-items: center; margin-bottom: 14px; }
.month-picker-heading strong { font-size: 12px; font-weight: 600; text-transform: capitalize; }
.month-picker-heading > div { display: flex; gap: 2px; }
.month-picker-heading button { height: 25px; width: 25px; color: #707c95; background: transparent; font-size: 21px; font-weight: 400; }
.month-days { display: grid; grid-template-columns: repeat(7, 1fr); gap: 3px 0; }
.month-weekday, .month-day { height: 27px; width: 27px; display: inline-flex; align-items: center; justify-content: center; font-size: 11px; margin: auto; }
.month-weekday { font-size: 10px; color: #7a8498; }
.month-day { border-radius: 50%; background: transparent; color: #46516a; font-weight: 400; }
.month-day.in-week { background: #eef1fd; border-radius: 7px; }
.month-day.outside { color: #b2b9c8; }
.month-day.today { color: #4f63dc; font-weight: 700; box-shadow: inset 0 0 0 1px #bfc8f3; }
.month-day.selected { color: white; background: #4f63dc; font-weight: 600; border-radius: 50%; box-shadow: none; }
.month-day:hover { background: #e2e7fc; color: #364ac4; }
.calendar-sources { padding: 19px 8px 9px; }
.calendar-sources h2 { font-size: 11px; font-weight: 600; color: #526078; margin: 0 0 15px; }
.calendar-sources label { display: flex; flex-direction: row; align-items: center; gap: 8px; font-size: 11px; color: #606d85; margin: 0 0 12px; cursor: pointer; }
.calendar-sources input { width: 14px; height: 14px; accent-color: #6375df; padding: 0; }
.source-dot { width: 7px; height: 7px; border-radius: 2px; flex: 0 0 7px; background: #8d75cb; }
.source-dot.google { background: #668cce; }
.calendar-sources p { font-size: 10px; color: #8590a3; margin: 16px 0 0; }
.sidebar-bottom { padding: 20px 8px 0; }
.server-status { font-size: 10px; }
.topbar { padding: 0 26px; height: 65px; gap: 22px; }
.breadcrumbs { font-size: 12px; flex-shrink: 0; gap: 12px; }
.breadcrumbs strong { color: #3d4860; font-weight: 600; }
.calendar-search { flex-direction: row; align-items: center; gap: 8px; padding: 0 12px; border-radius: 8px; background: #f5f7fb; width: 300px; margin: 0 auto 0 0; color: #8b96aa; }
.calendar-search input { padding: 9px 0; background: transparent; border: 0; font-size: 12px; outline-offset: 0; }
.calendar-search .icon { width: 15px; height: 15px; }
.topbar-right { gap: 15px; }
.sync-status { color: #7b879c; font-size: 10px; white-space: nowrap; }
.sync-status.offline { color: #b44668; }
#monitor-mode { font-size: 10px; padding: 8px 10px; background: white; white-space: nowrap; }
.workspace > main { max-width: none; padding: 23px 26px 0; }
.calendar-toolbar { margin: 0 0 22px; align-items: center; gap: 15px; }
.calendar-toolbar .eyebrow { font-size: 9px; margin-bottom: 7px; letter-spacing: 1.2px; }
.calendar-toolbar h1 { font-size: 25px; font-weight: 600; margin: 0 0 6px; text-transform: capitalize; }
.calendar-toolbar p:not(.eyebrow) { font-size: 12px; color: #78849a; }
.heading-actions { flex-direction: row; align-items: center; gap: 9px; }
.heading-actions .secondary { font-size: 12px; min-height: 36px; }
.date-control { height: 36px; border-radius: 7px; }
.date-control input { width: 114px; font-size: 11px; }
.view-switch { display: flex; padding: 3px; gap: 2px; background: #eaeef7; border-radius: 8px; }
.view-switch button { padding: 7px 14px; border-radius: 6px; background: transparent; color: #737f98; font-size: 12px; font-weight: 500; }
.view-switch button.active { background: white; color: #4459cd; box-shadow: 0 1px 4px #2b375912; }
.calendar-page .week-intro { background: transparent; border: 0; padding: 0; margin: 0 0 12px; gap: 15px; }
.calendar-page .week-intro .muted { margin: 0; color: #7d889c; font-size: 11px; }
.calendar-legend { gap: 15px; padding-bottom: 0; font-size: 10px; color: #78849a; }
.calendar-scroll { max-height: calc(100dvh - 246px); min-height: 280px; border: 1px solid #e0e5ee; border-radius: 12px; box-shadow: 0 3px 18px #28345a04; scrollbar-color: #c6cddd #f7f9fc; scrollbar-width: thin; }
.calendar-grid { grid-template-columns: 56px repeat(var(--calendar-days), minmax(0, 1fr)); }
.calendar-week { min-width: 790px; grid-template-columns: 56px repeat(var(--calendar-days), minmax(103px,1fr)); }
.calendar-week .calendar-day-heading, .calendar-week .calendar-corner { min-height: 78px; }
.calendar-day-heading { padding: 13px 9px 11px; text-align: center; align-items: center; gap: 6px; }
.calendar-date { background: transparent; font-size: 14px; color: #4e5c75; font-weight: 500; padding: 5px; border-radius: 7px; }
.calendar-day-heading.is-today { background: #f4f6ff; }
.calendar-day-heading.is-today .calendar-date { color: white; background: #586de0; padding: 6px 11px; }
.calendar-work { color: #8a94a8; font-size: 10px; font-weight: 400; }
.calendar-work.over { color: #b34670; }
.calendar-corner { font-size: 10px; color: #8b96aa; padding-top: 24px; background: #fff; }
.calendar-axis { background: #fff; }
.calendar-hour { font-size: 10px; color: #8c97a9; }
.calendar-lane { background: repeating-linear-gradient(to bottom,#e8edf4 0,#e8edf4 1px,transparent 1px,transparent 35px,#f2f4f8 35px,#f2f4f8 36px,transparent 36px,transparent var(--hour-height)); background-color: white; }
.calendar-event { border: 1px solid #cfddf6; border-left: 3px solid #7495d7; border-radius: 7px; background: #eaf1ff; color: #405c92; padding: 6px 8px; gap: 4px; box-shadow: 0 1px 3px #29497806; }
.calendar-event strong { font-size: 12px; font-weight: 600; line-height: 1.35; }
.calendar-event-time { font-size: 10px; opacity: .8; }
.calendar-event.focus { background: #f0ebfc; border-color: #d9cef1; border-left-color: #9c80d0; color: #6f50a6; }
.calendar-event.study { background: #f8eefa; border-color: #ebd2ed; border-left-color: #bc8ac4; color: #945e9b; }
.calendar-event.social, .calendar-event.rest { background: #fbeff3; border-color: #efd7e1; border-left-color: #c889a5; color: #a76180; }
.calendar-event.readonly { cursor: pointer; }
.calendar-event:hover { filter: brightness(.98); box-shadow: 0 2px 7px #314d7c17; }
.calendar-event.short { padding: 2px 6px; gap: 1px; }
.calendar-event.short strong { font-size: 11px; }
.calendar-event.tiny strong { font-size: 10px; }
.calendar-resize { position: absolute; bottom: 0; left: 0; right: 0; height: 9px; cursor: ns-resize; touch-action: none; }
.calendar-resize:after { content: ''; display: block; width: 20px; height: 2px; border-radius: 2px; background: currentColor; opacity: .25; margin: 4px auto 0; }
.calendar-reserve { border-color: #c2b2e5; background: #f1ebfc; color: #8a6bbb; }
.calendar-reserve:before { background: #b6a0dc; width: 17px; }
.calendar-reserve-title { font-size: 9px; font-weight: 500; }
.calendar-reserve > .calendar-reserve-time { color: #a58bc4; padding-left: 22px; font-size: 10px; }
.calendar-now { z-index: 5; background: #c25e7e; pointer-events: none; }
.calendar-interaction-preview { position: absolute; z-index: 9; pointer-events: none; border: 1.5px solid #586de0; border-left: 4px solid #586de0; border-radius: 7px; background: #e9edffec; color: #4154bd; padding: 5px 8px; overflow: hidden; box-shadow: 0 6px 20px #3d53b824; display: flex; flex-direction: column; gap: 4px; }
.calendar-interaction-preview strong { font-size: 12px; }
.calendar-interaction-preview-label { font-size: 11px; font-variant-numeric: tabular-nums; }
.calendar-drag-source { opacity: .32; }
.calendar-drop-target { background-color: #f9faff; }
.calendar-interacting { user-select: none; cursor: grabbing; }
.calendar-interacting .calendar-event { cursor: grabbing; }
.calendar-help { margin: 11px 4px; font-size: 11px; color: #8893a7; }
.week-footer { padding: 13px 2px; margin: 0; border: 0; background: transparent; color: #7f8a9f; font-size: 11px; line-height: 1.6; }
.calendar-page .view[data-page="day"] { display: flex; flex-direction: column; }
.calendar-page .day-grid { order: 0; }
.calendar-page .timeline-panel { padding: 0; border: 0; background: transparent; margin: 0; }
.calendar-page .timeline-panel > .panel-heading { margin-bottom: 12px; }
.calendar-page .timeline-panel > .panel-heading h2 { font-size: 12px; font-weight: 500; color: #7a869b; }
.calendar-page .timeline-panel > .calendar-legend { margin-bottom: 12px; }
.calendar-page .day-hero { order: 1; background: white; color: #66728a; border: 1px solid var(--line); padding: 14px 18px; margin: 10px 0 14px; min-height: 0; border-radius: 10px; }
.calendar-page .day-hero:after, .calendar-page .hero-label { display: none; }
.calendar-page .day-hero > div:first-child { display: flex; gap: 15px; align-items: center; max-width: none; }
.calendar-page .day-hero h2 { color: #4e5d76; font-size: 13px; font-weight: 600; margin: 0; }
.calendar-page .day-hero #hero-description { color: #8590a4; font-size: 11px; margin: 0; }
.calendar-page .hero-button { margin: 0; padding: 7px 10px; font-size: 10px; background: #f2f4fc; color: #6679c9; }
.calendar-page .hero-summary { padding: 0 0 0 15px; border: 0; width: auto; min-width: 0; display: flex; flex-direction: row; gap: 10px; align-items: center; }
.calendar-page .hero-summary-label { color: #8590a3; font-size: 9px; letter-spacing: .2px; }
.calendar-page .hero-number { margin: 0; }
.calendar-page .hero-number strong { color: #6174cc; font-size: 19px; letter-spacing: -.5px; }
.calendar-page .hero-number span { color: #8c96a9; font-size: 12px; }
.calendar-page .hero-summary progress { width: 80px; background: #eef1fa; margin: 0; }
.calendar-page .hero-summary progress::-webkit-progress-bar { background: #eef1fa; }
.calendar-page .hero-summary progress::-webkit-progress-value { background: #8293df; }
.calendar-page #work-detail, .calendar-page .hero-facts { display: none; }
.calendar-page .resources-disclosure { order: 2; }
.calendar-page .backlog-panel { order: 3; }
.resources-disclosure > summary { font-size: 12px; color: #7a879d; padding: 13px 0; }
.calendar-page footer { display: none; }
dialog { border-radius: 14px; padding: 25px; box-shadow: 0 20px 90px #23325c30; }
dialog label { color: #6c7991; font-size: 12px; }
dialog input, dialog select { font-size: 14px; background: #fafbfe; color: #465570; }
.monitor-mode .sidebar { display: none; }
.monitor-mode .workspace { margin-left: 0; width: 100%; }
.monitor-mode .calendar-scroll { max-height: calc(100dvh - 224px); }
.monitor-mode .calendar-event strong { font-size: 13px; }
@media (min-width: 1650px) { .calendar-event strong { font-size: 13px; } .calendar-event-time { font-size: 11px; } .calendar-week { grid-template-columns: 64px repeat(7,minmax(130px,1fr)); } }
@media (max-height: 850px) and (min-width: 1000px) { .sidebar nav { gap: 0; } .nav-item { min-height: 32px; padding: 7px 11px; } .sidebar-caption { margin-bottom: 15px; } .sidebar-create { margin-bottom: 15px; } .calendar-sources { padding-top: 13px; } .month-day, .month-weekday { height: 24px; } }
@media (max-width: 1180px) { :root { --sidebar: 220px; } .workspace > main { padding: 20px 20px 0; } .topbar { padding: 0 20px; gap: 15px; } .calendar-search { width: 210px; } .sync-status { display: none; } .calendar-toolbar { align-items: flex-start; } .heading-actions { flex-wrap: wrap; justify-content: flex-end; } .heading-actions #add-task { display: none; } }
@media (max-width: 950px) { :root { --sidebar: 0px; } .sidebar { display: none; } .workspace { margin-left: 0; width: 100%; } .calendar-toolbar { flex-direction: row; } .calendar-search { max-width: 240px; } .calendar-week { min-width: 790px; } }
@media (max-width: 760px) { .topbar { height: 55px; padding: 0 15px; gap: 12px; } .breadcrumbs { font-size: 11px; gap: 6px; } .calendar-search { max-width: 170px; } .calendar-search .icon { display: none; } .topbar-right { gap: 8px; } #monitor-mode { display: none; } .workspace > main { padding: 19px 12px 65px; } .calendar-toolbar { gap: 15px; flex-direction: column; align-items: stretch; margin-bottom: 17px; } .calendar-toolbar h1 { font-size: 23px; } .heading-actions { justify-content: space-between; width: 100%; flex-wrap: nowrap; gap: 5px; } .heading-actions .secondary { padding: 8px 10px; font-size: 11px; } .view-switch button { padding: 7px 11px; font-size: 11px; } .date-control input { width: 104px; } .calendar-page .week-intro { align-items: flex-start; gap: 8px; } .calendar-page .week-intro .muted { font-size: 10px; } .calendar-scroll { max-height: calc(100dvh - 250px); border-radius: 9px; } .calendar-day-heading { padding: 11px 8px; } .calendar-page .day-hero { gap: 12px; flex-wrap: wrap; padding: 12px; } .calendar-page .day-hero > div:first-child { flex-wrap: wrap; gap: 8px; } .calendar-page .hero-summary { padding: 0; } .calendar-event strong { font-size: 12px; } .calendar-day .calendar-day-heading .calendar-date { width: auto; } .calendar-day .calendar-day-heading { flex-wrap: nowrap; } .calendar-legend { gap: 12px; flex-wrap: wrap; } }
@media (max-width: 460px) { .calendar-search { max-width: 135px; } .calendar-toolbar .eyebrow { display: none; } .heading-actions .date-control > button { width: 24px; } .date-control input { width: 101px; } .view-switch button { padding: 7px 9px; } .workspace > main { padding-bottom: 25px; } .calendar-page .hero-summary-label { font-size: 9px; } }
@media (prefers-reduced-motion: reduce) { *, *:before, *:after { scroll-behavior: auto !important; transition: none !important; } }
.calendar-event.short strong { display: block; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; width: 100%; flex-shrink: 0; line-height: 14px; }
.calendar-event.short .calendar-event-time { line-height: 11px; flex-shrink: 0; }
.calendar-event.tiny { padding: 1px 4px; }
.calendar-event.tiny strong { line-height: 13px; font-size: 10px; }
.calendar-event.tiny .calendar-event-time { display: none; }
.calendar-page .calendar-toolbar #page-description { display: block; }
.calendar-page .calendar-toolbar #page-eyebrow { display: none; }
.event-details { margin: 2px 0 18px; border-top: 1px solid #edf0f6; padding-top: 13px; }
.event-details > summary { cursor: pointer; color: #7b89a2; font-size: 12px; margin-bottom: 16px; }
#event > label:has(input[name="title"]) input { font-size: 20px; font-weight: 500; background: #fff; padding: 9px 0; border: 0; border-bottom: 1px solid #e3e8f1; border-radius: 0; color: #43516b; }
.calendar-toolbar { position: relative; }
#toolbar-create { display: none; }
@media (max-width: 950px) {
  .sidebar { display: flex; position: fixed; inset: auto 0 0; width: 100%; height: 60px; padding: 0; border: 0; border-top: 1px solid #e4e8f1; background: #fffffff5; backdrop-filter: blur(12px); overflow: visible; z-index: 25; }
  .sidebar > .brand, .sidebar-caption, .sidebar-create, .sidebar .month-picker, .sidebar .calendar-sources, .sidebar-bottom, .sidebar .nav-divider { display: none; }
  .sidebar nav { display: flex; flex-direction: row; justify-content: space-around; width: 100%; gap: 0; margin: 0; padding: 5px 12px; }
  .sidebar .nav-item { width: 48px; height: 46px; padding: 10px; min-height: 0; justify-content: center; }
  .sidebar .nav-item > span { display: none; }
  .sidebar .nav-item .icon { width: 20px; height: 20px; }
  .workspace > main { padding-bottom: 76px; }
  .calendar-scroll { max-height: calc(100dvh - 300px); }
  .monitor-mode .sidebar { display: none; }
  .calendar-toolbar { padding-top: 0; }
  #toolbar-create { display: inline-flex; position: absolute; top: 0; right: 0; padding: 9px 13px; font-size: 12px; }
  .calendar-toolbar > div:first-of-type { padding-right: 105px; }
}
@media (min-width: 761px) and (max-width: 950px) { .calendar-toolbar { flex-direction: column; align-items: stretch; } .heading-actions { justify-content: flex-start; margin-top: 12px; } .heading-actions #add-task { display: none; } }
