:root{--bg:#eef0f6;--bg-soft:#e1e5f0;--surface:#fbfcfe;--surface-2:#e8ecf5;--ink:#0c1030;--text:#171a33;--text-2:#484c6b;--text-mute:#7d81a0;--brass:#a66a00;--brass-strong:#7a4e00;--brass-soft:#c98a1f;--brass-wash:#a66a001f;--brass-rgb:166,106,0;--navy:#0d227f;--navy-soft:#3349a3;--navy-strong:#081a5c;--navy-rgb:13,34,127;--navy-wash:#0d227f1a;--on-accent:#f5f1e4;--line:#0d227f26;--line-brass:#a66a0073;--line-navy:#0d227f80;--shadow:13,34,127;--grid-line:#0d227f0d;--danger:#b23a3a;--radius:10px;--radius-lg:14px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#070a14;--bg-soft:#0b0e1c;--surface:#0f1324;--surface-2:#141a2e;--ink:#f4ecd8;--text:#e2e4f0;--text-2:#9296b8;--text-mute:#565a78;--brass:#dc9a2e;--brass-strong:#f0b74a;--brass-soft:#c98a1f;--brass-wash:#dc9a2e24;--brass-rgb:220,154,46;--navy:#5470dd;--navy-soft:#7d94ea;--navy-strong:#93a8f2;--navy-rgb:84,112,221;--navy-wash:#5470dd29;--on-accent:#f5f1e4;--line:#5470dd2e;--line-brass:#dc9a2e73;--line-navy:#5470dd80;--shadow:0,0,0;--grid-line:#5470dd0f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=light]{--bg:#eef0f6;--bg-soft:#e1e5f0;--surface:#fbfcfe;--surface-2:#e8ecf5;--ink:#0c1030;--text:#171a33;--text-2:#484c6b;--text-mute:#7d81a0;--brass:#a66a00;--brass-strong:#7a4e00;--brass-soft:#c98a1f;--brass-wash:#a66a001f;--brass-rgb:166,106,0;--navy:#0d227f;--navy-soft:#3349a3;--navy-strong:#081a5c;--navy-rgb:13,34,127;--navy-wash:#0d227f1a;--on-accent:#f5f1e4;--line:#0d227f26;--line-brass:#a66a0073;--line-navy:#0d227f80;--shadow:13,34,127;--grid-line:#0d227f0d;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#070a14;--bg-soft:#0b0e1c;--surface:#0f1324;--surface-2:#141a2e;--ink:#f4ecd8;--text:#e2e4f0;--text-2:#9296b8;--text-mute:#565a78;--brass:#dc9a2e;--brass-strong:#f0b74a;--brass-soft:#c98a1f;--brass-wash:#dc9a2e24;--brass-rgb:220,154,46;--navy:#5470dd;--navy-soft:#7d94ea;--navy-strong:#93a8f2;--navy-rgb:84,112,221;--navy-wash:#5470dd29;--on-accent:#f5f1e4;--line:#5470dd2e;--line-brass:#dc9a2e73;--line-navy:#5470dd80;--shadow:0,0,0;--grid-line:#5470dd0f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{height:100%;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;transition:background .35s,color .35s;overflow-x:hidden}::selection{background:var(--navy-wash);color:var(--ink)}html{scrollbar-color:var(--navy-soft) var(--bg-soft);scrollbar-width:thin}*{scrollbar-color:var(--navy-soft) transparent;scrollbar-width:thin}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background-color:var(--navy-soft);border:2px solid var(--bg);background-clip:padding-box;border-radius:8px}::-webkit-scrollbar-thumb:hover{background-color:var(--navy)}::-webkit-scrollbar-corner{background:0 0}.font-display{letter-spacing:-.01em;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-weight:800}.font-mono{font-family:ui-monospace,SF Mono,Cascadia Mono,IBM Plex Mono,Roboto Mono,Menlo,Consolas,monospace}.eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--text-mute);align-items:center;gap:6px;font-family:ui-monospace,SF Mono,IBM Plex Mono,monospace;font-size:10px;display:flex}.eyebrow:before{content:"";background:var(--navy);width:6px;height:1.4px;box-shadow:0 0 6px rgba(var(--navy-rgb),.9);flex-shrink:0}:root[data-theme=dark] .eyebrow:before{background:var(--navy-soft);box-shadow:0 0 6px rgba(var(--navy-rgb),.9)}.hud-corners{isolation:isolate;position:relative}.hud-corners:before{content:"";pointer-events:none;z-index:6;background:linear-gradient(var(--navy),var(--navy)) top left / 13px 1.6px no-repeat, linear-gradient(var(--navy),var(--navy)) top left / 1.6px 13px no-repeat, linear-gradient(var(--navy),var(--navy)) top right / 13px 1.6px no-repeat, linear-gradient(var(--navy),var(--navy)) top right / 1.6px 13px no-repeat, linear-gradient(var(--navy),var(--navy)) bottom left / 13px 1.6px no-repeat, linear-gradient(var(--navy),var(--navy)) bottom left / 1.6px 13px no-repeat, linear-gradient(var(--navy),var(--navy)) bottom right / 13px 1.6px no-repeat, linear-gradient(var(--navy),var(--navy)) bottom right / 1.6px 13px no-repeat;opacity:.6;filter:drop-shadow(0 0 3px rgba(var(--navy-rgb),.5));transition:opacity .2s;position:absolute;inset:0}:root[data-theme=dark] .hud-corners:before{background:linear-gradient(var(--navy-soft),var(--navy-soft)) top left / 13px 1.6px no-repeat, linear-gradient(var(--navy-soft),var(--navy-soft)) top left / 1.6px 13px no-repeat, linear-gradient(var(--navy-soft),var(--navy-soft)) top right / 13px 1.6px no-repeat, linear-gradient(var(--navy-soft),var(--navy-soft)) top right / 1.6px 13px no-repeat, linear-gradient(var(--navy-soft),var(--navy-soft)) bottom left / 13px 1.6px no-repeat, linear-gradient(var(--navy-soft),var(--navy-soft)) bottom left / 1.6px 13px no-repeat, linear-gradient(var(--navy-soft),var(--navy-soft)) bottom right / 13px 1.6px no-repeat, linear-gradient(var(--navy-soft),var(--navy-soft)) bottom right / 1.6px 13px no-repeat}.hud-corners:hover:before{opacity:1}.app{background:radial-gradient(1100px 560px at 85% -10%, rgba(var(--navy-rgb),.09), transparent 60%), radial-gradient(900px 560px at -8% 105%, rgba(var(--brass-rgb),.06), transparent 55%), repeating-linear-gradient(to bottom, var(--grid-line) 0, var(--grid-line) 1px, transparent 1px, transparent 34px), repeating-linear-gradient(to right, var(--grid-line) 0, var(--grid-line) 1px, transparent 1px, transparent 34px), var(--bg);min-height:100vh;position:relative}:root[data-theme=dark] .app{background:radial-gradient(1100px 560px at 85% -10%, rgba(var(--navy-rgb),.2), transparent 60%), radial-gradient(900px 620px at -8% 105%, rgba(var(--brass-rgb),.07), transparent 55%), repeating-linear-gradient(to bottom, var(--grid-line) 0, var(--grid-line) 1px, transparent 1px, transparent 34px), repeating-linear-gradient(to right, var(--grid-line) 0, var(--grid-line) 1px, transparent 1px, transparent 34px), var(--bg)}@keyframes markSpin{to{transform:rotate(360deg)}}.topbar{border-bottom:1px solid var(--line);z-index:30;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(#ffffff80,#0000);align-items:center;gap:20px;padding:16px 28px;display:flex;position:sticky;top:0}:root[data-theme=dark] .topbar{border-bottom:1px solid var(--line);box-shadow:0 1px 0 rgba(var(--navy-rgb),.25);background:linear-gradient(#05070fbf,#05070f59)}.brand{align-items:center;gap:12px;min-width:0;display:flex}.brand-text{min-width:0}.brand-mark{clip-path:polygon(50% 0%,93% 25%,93% 75%,50% 100%,7% 75%,7% 25%);background:linear-gradient(155deg, var(--navy-soft), var(--navy) 55%, var(--navy-strong));width:38px;height:38px;box-shadow:0 0 0 1px var(--line-navy), 0 0 16px rgba(var(--navy-rgb),.4), inset 0 1px 0 #ffffff4d;color:var(--on-accent);flex-shrink:0;place-items:center;display:grid;position:relative}.brand-mark:before{content:"";clip-path:polygon(50% 0%,93% 25%,93% 75%,50% 100%,7% 75%,7% 25%);border:1px solid rgba(var(--navy-rgb),.4);animation:16s linear infinite markSpin;position:absolute;inset:-6px}.brand-mark svg{z-index:1;width:16px;height:16px;stroke:var(--on-accent);position:relative}.brand-word{letter-spacing:.06em;text-transform:uppercase;color:var(--ink);white-space:nowrap;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-size:17px;font-weight:800}.brand-sub{letter-spacing:.15em;text-transform:uppercase;color:var(--text-mute);white-space:nowrap;text-overflow:ellipsis;max-width:100%;margin-top:2px;font-family:ui-monospace,SF Mono,IBM Plex Mono,monospace;font-size:10px;overflow:hidden}.topbar-spacer{flex:1}.user-email{color:var(--text-mute);white-space:nowrap;text-overflow:ellipsis;max-width:180px;margin-right:4px;font-family:ui-monospace,SF Mono,monospace;font-size:11.5px;overflow:hidden}.icon-btn{border:1px solid var(--line);background:var(--surface);width:38px;height:38px;color:var(--text-2);cursor:pointer;border-radius:10px;flex-shrink:0;place-items:center;transition:transform .15s,box-shadow .15s,border-color .15s,color .15s;display:grid}.icon-btn:hover{border-color:var(--line-navy);color:var(--navy);box-shadow:0 0 16px rgba(var(--navy-rgb),.3);transform:translateY(-1px)}:root[data-theme=dark] .icon-btn:hover{color:var(--navy-soft)}.icon-btn svg{width:17px;height:17px}.mobile-menu-btn{display:none}@media (max-width:920px){.mobile-menu-btn{display:grid}}.btn-primary{border:1px solid rgba(var(--navy-rgb),.5);cursor:pointer;letter-spacing:.02em;color:var(--on-accent);background:linear-gradient(155deg, var(--navy-soft), var(--navy) 55%, var(--navy-strong));box-shadow:0 0 0 1px #ffffff1f inset, 0 8px 20px -8px rgba(var(--navy-rgb),.6), 0 0 22px -4px rgba(var(--navy-rgb),.5);border-radius:10px;flex-shrink:0;align-items:center;gap:8px;padding:11px 20px 11px 16px;font-size:13.5px;font-weight:700;transition:transform .15s,box-shadow .15s;display:inline-flex;position:relative;overflow:hidden}.btn-primary:disabled{opacity:.55;cursor:not-allowed}.btn-primary:hover{box-shadow:0 0 0 1px #ffffff2e inset, 0 10px 24px -8px rgba(var(--navy-rgb),.65), 0 0 32px -2px rgba(var(--navy-rgb),.65);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-primary:after{content:"";background:linear-gradient(100deg,#0000,#fff6,#0000);width:40%;height:100%;position:absolute;top:0;left:-60%;transform:skew(-20deg)}.btn-primary:hover:after{animation:1s forwards sheen}@keyframes sheen{to{left:140%}}.btn-primary svg{width:15px;height:15px;stroke:var(--on-accent);flex-shrink:0}.layout{align-items:flex-start;max-width:1480px;margin:0 auto;display:flex}.sidebar{scrollbar-gutter:stable;flex-direction:column;flex-shrink:0;gap:16px;width:272px;max-height:calc(100vh - 75px);padding:22px 18px 30px;display:flex;position:sticky;top:75px;overflow-y:auto}.main{flex:1;min-width:0;padding:22px 26px 60px}.side-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:0 1px 2px rgba(var(--shadow),.04);padding:16px}.mini-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.mini-title{letter-spacing:.08em;text-transform:uppercase;color:var(--ink);font-family:ui-monospace,SF Mono,IBM Plex Mono,monospace;font-size:12.5px;font-weight:700}.mini-nav{gap:4px;display:flex}.mini-nav button{border:1px solid var(--line);width:22px;height:22px;color:var(--text-2);cursor:pointer;background:0 0;border-radius:6px;place-items:center;display:grid}.mini-nav button:hover{border-color:var(--line-navy);color:var(--navy)}:root[data-theme=dark] .mini-nav button:hover{color:var(--navy-soft)}.mini-nav svg{width:11px;height:11px}.mini-grid{text-align:center;grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.mini-dow{color:var(--text-mute);letter-spacing:.03em;padding-bottom:4px;font-size:9.5px}.mini-day{cursor:pointer;color:var(--text);background:0 0;border:none;border-radius:6px;width:100%;padding:5px 0;font-family:ui-monospace,SF Mono,IBM Plex Mono,monospace;font-size:11.5px;position:relative}.mini-day:hover{background:var(--navy-wash)}.mini-day.mute{color:var(--text-mute);opacity:.4}.mini-day.today{background:var(--navy);color:#fff;box-shadow:0 0 0 1px rgba(var(--navy-rgb),.5), 0 0 12px rgba(var(--navy-rgb),.55);font-weight:700}.mini-day.selected:not(.today){box-shadow:inset 0 0 0 1.4px var(--navy), 0 0 8px rgba(var(--navy-rgb),.4);font-weight:700}.mini-day .dot{background:var(--navy);width:3px;height:3px;box-shadow:0 0 4px rgba(var(--navy-rgb),.9);border-radius:50%;position:absolute;bottom:1.5px;left:50%;transform:translate(-50%)}:root[data-theme=dark] .mini-day .dot{background:var(--navy-soft)}.mini-day.today .dot{background:#fff}.side-label{margin:0}.side-label-row{cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;margin:0 0 12px;padding:0;display:flex}.collapse-chevron{width:13px;height:13px;color:var(--text-mute);flex-shrink:0;transition:transform .2s,color .2s}.side-label-row:hover .collapse-chevron{color:var(--navy)}:root[data-theme=dark] .side-label-row:hover .collapse-chevron{color:var(--navy-soft)}.collapse-chevron.collapsed{transform:rotate(-90deg)}.source-row{border-radius:10px;align-items:center;gap:10px;padding:9px 4px;display:flex}.source-row:hover{background:var(--surface-2)}.source-row.disabled{opacity:.5}.source-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;position:relative}.source-dot:after{content:"";opacity:.5;border:1px solid;border-radius:50%;animation:2.4s ease-in-out infinite dotPulse;position:absolute;inset:-4px}@keyframes dotPulse{0%,to{opacity:.6;transform:scale(.7)}50%{opacity:0;transform:scale(1.25)}}.source-info{flex:1;min-width:0}.source-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:600;overflow:hidden}.source-name-edit{text-align:left;cursor:text;width:100%;font:inherit;background:0 0;border:none;border-bottom:1px dashed #0000;margin:0;padding:0;display:block}.source-name-edit:hover{border-bottom-color:var(--line-navy)}.source-name-input{width:100%;color:var(--text);border:none;border-bottom:1px solid var(--navy);background:0 0;outline:none;margin:0;padding:0;font-size:13.5px;font-weight:600;display:block}.source-mail{color:var(--text-mute);white-space:nowrap;text-overflow:ellipsis;font-family:ui-monospace,SF Mono,monospace;font-size:11px;overflow:hidden}.source-soon{letter-spacing:.08em;text-transform:uppercase;color:var(--text-mute);border:1px solid var(--line);border-radius:5px;flex-shrink:0;padding:2px 6px;font-family:ui-monospace,SF Mono,monospace;font-size:9.5px}.switch{border:1px solid var(--line);background:var(--surface-2);cursor:pointer;border-radius:5px;flex-shrink:0;width:34px;height:19px;padding:0;transition:background .2s,border-color .2s,box-shadow .2s;position:relative}.switch:disabled{cursor:not-allowed;opacity:.5}.switch .knob{background:linear-gradient(160deg,#fffdf7,#d9d2bc);border-radius:3px;width:14px;height:14px;transition:transform .2s cubic-bezier(.4,0,.2,1);position:absolute;top:1.5px;left:1.5px;box-shadow:0 1px 2px #0000004d}.switch.on{background:linear-gradient(155deg, var(--navy-soft), var(--navy-strong));border-color:var(--navy);box-shadow:0 0 12px rgba(var(--navy-rgb),.45)}.switch.on .knob{background:#fff8ea;transform:translate(15px)}.source-account{margin-bottom:4px}.source-account+.source-account{border-top:1px solid var(--line);margin-top:6px;padding-top:6px}.source-account-head{align-items:center;gap:8px;padding:6px 4px 2px;display:flex}.source-account-info{flex:1;min-width:0}.account-collapse{width:20px;height:20px;color:var(--text-mute);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;flex-shrink:0;place-items:center;display:grid}.account-collapse:hover{border-color:var(--line);color:var(--ink);background:var(--surface-2)}.account-collapse .collapse-chevron{width:12px;height:12px}.account-reconnect{border:1px solid var(--line-navy);color:var(--navy);cursor:pointer;text-transform:uppercase;letter-spacing:.04em;background:0 0;border-radius:7px;flex-shrink:0;padding:4px 9px;font-size:10.5px;font-weight:700}:root[data-theme=dark] .account-reconnect{color:var(--navy-soft)}.account-reconnect:hover{background:var(--navy-wash)}.account-remove{width:20px;height:20px;color:var(--text-mute);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;flex-shrink:0;place-items:center;font-size:15px;line-height:1;display:grid}.account-remove:hover:not(:disabled){border-color:var(--line);color:var(--ink);background:var(--surface-2)}.account-remove:disabled{cursor:not-allowed;opacity:.35}.add-account-row{gap:8px;margin-top:6px;display:flex}.add-account{border:1px dashed var(--line-navy);color:var(--navy);cursor:pointer;background:0 0;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:6px;padding:9px 10px;font-size:12.5px;font-weight:600;display:flex}:root[data-theme=dark] .add-account{color:var(--navy-soft)}.add-account:hover{background:var(--navy-wash)}.add-account svg{width:12px;height:12px}.today-card{background:linear-gradient(155deg, var(--navy), #16227a 60%, #0a1a63);border-radius:var(--radius-lg);color:#eef0ff;box-shadow:0 0 0 1px rgba(var(--navy-rgb),.5), 0 18px 40px -18px rgba(var(--navy-rgb),.7);border:1px solid #ffffff14;flex-shrink:0;min-height:152px;padding:18px 16px 15px;position:relative;overflow:hidden}:root[data-theme=dark] .today-card{background:linear-gradient(155deg,#141d47,#0c1436 65%,#070c26)}.today-card:before{content:"";background:radial-gradient(220px 120px at 90% -20%, rgba(var(--brass-rgb),.35), transparent 60%);position:absolute;inset:0}.today-card:after{content:"";border:1px dashed rgba(var(--brass-rgb),.4);border-radius:50%;width:100px;height:100px;animation:24s linear infinite markSpin;position:absolute;top:-34px;right:-34px}.today-eyebrow{letter-spacing:.16em;text-transform:uppercase;color:#b9c3ff;align-items:center;gap:6px;font-family:ui-monospace,SF Mono,monospace;font-size:10px;display:flex;position:relative}.today-eyebrow:before{content:"";background:#ffd489;width:6px;height:1.4px;box-shadow:0 0 6px #ffd489e6}.today-num{text-shadow:0 0 24px rgba(var(--brass-rgb),.5);margin:4px 0 2px;font-size:36px;line-height:1;position:relative}.today-label{color:#c7cdff;text-transform:capitalize;font-size:12.5px;position:relative}.today-count{color:#dfe3ff;align-items:center;gap:6px;margin-top:10px;font-family:ui-monospace,SF Mono,monospace;font-size:11.5px;display:flex;position:relative}.today-count b{color:#ffd489;font-weight:700}.toolbar{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:18px;display:flex}.date-nav{align-items:center;gap:10px;display:flex}.date-nav button{border:1px solid var(--line);background:var(--surface);width:32px;height:32px;color:var(--text-2);cursor:pointer;border-radius:8px;place-items:center;transition:border-color .15s,color .15s,box-shadow .15s;display:grid}.date-nav button:hover{border-color:var(--line-navy);color:var(--navy);box-shadow:0 0 12px rgba(var(--navy-rgb),.3)}:root[data-theme=dark] .date-nav button:hover{color:var(--navy-soft)}.date-nav svg{width:14px;height:14px}.period-label{color:var(--ink);text-transform:uppercase;align-items:center;gap:8px;min-width:200px;font-size:23px;display:flex}.period-label:before{content:"//";color:var(--navy);opacity:.8;font-family:ui-monospace,SF Mono,monospace;font-size:16px;font-weight:600}:root[data-theme=dark] .period-label:before{color:var(--navy-soft)}.today-btn{border:1px solid var(--line);background:var(--surface);letter-spacing:.06em;text-transform:uppercase;color:var(--text-2);cursor:pointer;border-radius:8px;padding:7px 13px;font-family:ui-monospace,SF Mono,monospace;font-size:11.5px;font-weight:700;transition:border-color .15s,color .15s,box-shadow .15s}.today-btn:hover{border-color:var(--line-navy);color:var(--navy);box-shadow:0 0 12px rgba(var(--navy-rgb),.3)}:root[data-theme=dark] .today-btn:hover{color:var(--navy-soft)}.toolbar-spacer{flex:1}.dial{background:var(--surface-2);border:1px solid var(--line);border-radius:9px;gap:2px;padding:3px;display:flex;position:relative}.dial button{z-index:1;color:var(--text-2);cursor:pointer;letter-spacing:.08em;text-transform:uppercase;background:0 0;border:none;border-radius:7px;padding:7px 16px;font-family:ui-monospace,SF Mono,monospace;font-size:11.5px;font-weight:700;transition:color .25s;position:relative}.dial button.active{color:var(--on-accent)}.dial-indicator{background:linear-gradient(155deg, var(--navy-soft), var(--navy) 55%, var(--navy-strong));box-shadow:0 4px 10px -2px rgba(var(--navy-rgb),.5), 0 0 18px -2px rgba(var(--navy-rgb),.6), inset 0 1px 0 #ffffff59;border-radius:6px;transition:left .28s cubic-bezier(.4,0,.2,1),width .28s cubic-bezier(.4,0,.2,1);position:absolute;top:3px;bottom:3px}.grid-shell{position:relative}.grid-outer{border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--surface);overflow:hidden}.grid-scroll{overflow-x:auto}.dow-row{border-bottom:1px solid var(--line);grid-template-columns:repeat(7,minmax(120px,1fr));display:grid}.dow-cell{letter-spacing:.14em;text-transform:uppercase;color:var(--text-mute);text-align:left;padding:11px 12px;font-family:ui-monospace,SF Mono,monospace;font-size:10px}.month-grid{grid-template-columns:repeat(7,minmax(120px,1fr));display:grid}.day-cell{border-right:1px solid var(--line);border-bottom:1px solid var(--line);cursor:pointer;text-align:left;width:100%;min-height:118px;font:inherit;color:inherit;background:0 0;border-top:none;border-left:none;padding:8px;transition:background .15s;display:block;position:relative}.day-cell:nth-child(7n){border-right:none}.day-cell:hover{background:var(--surface-2)}.day-cell.outside{background:var(--bg-soft);opacity:.5}.day-cell.selected{box-shadow:inset 0 0 0 1.6px var(--navy), 0 0 16px -6px rgba(var(--navy-rgb),.7)}.day-cell.has-allday{background:color-mix(in srgb, var(--day-tint) 16%, var(--surface))}.day-cell.has-allday:hover{background:color-mix(in srgb, var(--day-tint) 26%, var(--surface))}.day-cell.has-allday.outside{background:color-mix(in srgb, var(--day-tint) 8%, var(--bg-soft))}.day-num{color:var(--text-2);border-radius:5px;justify-content:center;align-items:center;width:22px;height:22px;font-family:ui-monospace,SF Mono,IBM Plex Mono,monospace;font-size:12.5px;display:inline-flex}.day-cell.today .day-num{background:var(--navy);color:#fff;box-shadow:0 0 0 1px rgba(var(--navy-rgb),.6), 0 0 14px rgba(var(--navy-rgb),.6);font-weight:700}.day-events{flex-direction:column;gap:3px;margin-top:6px;display:flex}.day-add{border:1px solid var(--line-navy);width:19px;height:19px;color:var(--navy);background:var(--surface);cursor:pointer;border-radius:5px;justify-content:center;align-items:center;display:none;position:absolute;top:7px;right:7px}:root[data-theme=dark] .day-add{color:var(--navy-soft)}.day-cell:hover .day-add,.day-cell:focus-visible .day-add{display:flex}.day-add svg{width:10px;height:10px}.day-add:disabled{color:var(--text-mute);border-color:var(--line);cursor:not-allowed;opacity:.6}.evt-chip{background:var(--surface-2);color:var(--text);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;text-align:left;width:100%;font-size:11px;font:inherit;border:none;border-radius:5px;align-items:center;gap:5px;padding:3px 6px 3px 8px;display:flex;position:relative;overflow:hidden}.evt-chip:before{content:"";background:var(--dot-source,var(--navy));width:2.5px;box-shadow:0 0 6px var(--dot-source,var(--navy));border-radius:2px;position:absolute;top:2px;bottom:2px;left:0}.evt-chip:hover{background:var(--navy-wash)}.evt-chip .t{color:var(--text-mute);flex-shrink:0;font-family:ui-monospace,SF Mono,monospace;font-size:9.5px}.evt-chip .remote-ic{opacity:.7;flex-shrink:0;width:9px;height:9px}.evt-more{color:var(--navy);cursor:pointer;text-align:left;background:0 0;border:none;padding:2px 6px;font-family:ui-monospace,SF Mono,monospace;font-size:10.5px;font-weight:600}:root[data-theme=dark] .evt-more{color:var(--navy-soft)}.evt-more:hover{text-decoration:underline}.time-shell{position:relative}.time-grid-wrap{border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--surface);display:flex;overflow:hidden}.time-rail{border-right:1px solid var(--line);flex-shrink:0;width:56px}.time-rail .hr{height:56px;color:var(--text-mute);text-align:right;padding:0 8px;font-family:ui-monospace,monospace;font-size:10px;transform:translateY(-6px)}.week-cols{flex:1;display:grid;overflow-x:auto}.week-col{border-right:1px solid var(--line);position:relative}.week-col:last-child{border-right:none}.week-col.has-allday{background:color-mix(in srgb, var(--day-tint) 10%, var(--surface))}.week-col-head{border-bottom:1px solid var(--line);text-align:center;background:var(--surface);z-index:2;padding:10px 8px;position:sticky;top:0}.week-col-head .wd{letter-spacing:.1em;text-transform:uppercase;color:var(--text-mute);font-family:ui-monospace,monospace;font-size:10px}.week-col-head .wn{color:var(--ink);margin-top:2px;font-family:ui-monospace,SF Mono,monospace;font-size:17px;font-weight:700}.week-col-head.today .wn{color:var(--navy);text-shadow:0 0 10px rgba(var(--navy-rgb),.6)}:root[data-theme=dark] .week-col-head.today .wn{color:var(--navy-soft)}.week-col-body{position:relative}.hr-line{border-bottom:1px solid var(--line);height:56px}.week-event{background:var(--surface-2);border-left:2.5px solid var(--navy);cursor:pointer;box-shadow:0 2px 6px rgba(var(--shadow),.08), -2px 0 8px -3px var(--dot-source,transparent);text-align:left;font:inherit;border-top:none;border-bottom:none;border-right:none;border-radius:7px;padding:5px 7px;position:absolute;left:4px;right:4px;overflow:hidden}.week-event:hover{background:var(--navy-wash)}.week-event .ti{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:600;overflow:hidden}.week-event .tm{color:var(--text-mute);font-family:ui-monospace,monospace;font-size:9.5px}.week-allday-row{border-bottom:1px solid var(--line);display:flex}.week-allday-rail{border-right:1px solid var(--line);width:56px;color:var(--text-mute);text-align:center;flex-shrink:0;justify-content:center;align-items:center;padding:6px 2px;font-family:ui-monospace,monospace;font-size:9px;display:flex}.week-allday-cols{flex:1;display:grid}.week-allday-col{border-right:1px solid var(--line);flex-direction:column;gap:3px;min-height:32px;padding:5px;display:flex}.week-allday-col:last-child{border-right:none}.agenda-list{border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--surface);padding:6px}.agenda-list.has-allday{background:color-mix(in srgb, var(--day-tint) 12%, var(--surface))}.agenda-item{cursor:pointer;text-align:left;width:100%;font:inherit;color:inherit;background:0 0;border:none;border-radius:9px;align-items:flex-start;gap:14px;padding:14px 12px;display:flex}.agenda-item:hover{background:var(--surface-2)}.agenda-time{width:64px;color:var(--text-mute);flex-shrink:0;padding-top:2px;font-family:ui-monospace,monospace;font-size:12px}.agenda-bar{border-radius:2px;flex-shrink:0;align-self:stretch;width:2.5px;box-shadow:0 0 8px}.agenda-body{flex:1;min-width:0}.agenda-title{color:var(--text);font-size:14.5px;font-weight:600}.agenda-meta{color:var(--text-mute);flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;font-family:ui-monospace,SF Mono,monospace;font-size:11.5px;display:flex}.badge{border:1px solid var(--line);color:var(--text-2);border-radius:5px;align-items:center;gap:4px;padding:3px 8px;font-size:10px;display:inline-flex}.badge svg{width:9px;height:9px}.empty-agenda{text-align:center;color:var(--text-mute);padding:60px 20px}.empty-agenda .font-display{text-transform:uppercase;color:var(--ink);margin-bottom:6px;font-size:18px;display:block}.state-panel{border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--surface);text-align:center;color:var(--text-mute);letter-spacing:.03em;padding:60px 20px;font-family:ui-monospace,SF Mono,monospace;font-size:12.5px}.state-panel.error{color:var(--danger)}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#03040aa6;justify-content:center;align-items:flex-start;padding:5vh 16px;display:none;position:fixed;inset:0;overflow-y:auto}.modal-overlay.open{display:flex}.modal{background:var(--surface);border:1px solid var(--line-navy);width:100%;max-width:560px;box-shadow:0 30px 70px -20px #0009, 0 0 0 1px rgba(var(--navy-rgb),.2), 0 0 60px -10px rgba(var(--navy-rgb),.3);border-radius:16px;animation:.22s cubic-bezier(.2,.8,.3,1) modalIn;position:relative;overflow:hidden}@keyframes modalIn{0%{opacity:0;transform:translateY(14px)scale(.98)}to{opacity:1;transform:none}}.modal-head{border-bottom:1px solid var(--line);background:linear-gradient(155deg, var(--navy-wash), transparent);align-items:center;gap:12px;padding:20px 22px;display:flex}.modal-head-ic{background:linear-gradient(155deg, var(--navy-soft), var(--navy-strong));width:34px;height:34px;box-shadow:inset 0 1px 0 #ffffff59, 0 0 16px rgba(var(--navy-rgb),.5);border-radius:9px;flex-shrink:0;place-items:center;display:grid}.modal-head-ic svg{width:16px;height:16px;stroke:var(--on-accent)}.modal-title{letter-spacing:.04em;text-transform:uppercase;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-size:17px;font-weight:800}.modal-sub{color:var(--text-mute);margin-top:2px;font-family:ui-monospace,SF Mono,monospace;font-size:11px}.modal-close{border:1px solid var(--line);background:var(--surface);width:30px;height:30px;color:var(--text-2);cursor:pointer;border-radius:8px;place-items:center;margin-left:auto;transition:border-color .15s,color .15s,box-shadow .15s;display:grid}.modal-close:hover{border-color:var(--line-navy);color:var(--navy);box-shadow:0 0 12px rgba(var(--navy-rgb),.3)}:root[data-theme=dark] .modal-close:hover{color:var(--navy-soft)}.modal-close svg{width:13px;height:13px}.modal-body{flex-direction:column;gap:16px;max-height:62vh;padding:20px 22px;display:flex;overflow-y:auto}.field{flex-direction:column;gap:6px;display:flex}.field label{letter-spacing:.1em;color:var(--text-2);text-transform:uppercase;font-family:ui-monospace,SF Mono,monospace;font-size:10.5px;font-weight:700}.field input[type=text],.field input[type=date],.field input[type=time],.field textarea,.field select{border:1px solid var(--line);background:var(--bg-soft);width:100%;color:var(--text);border-radius:8px;padding:10px 12px;font-family:inherit;font-size:13.5px}:root[data-theme=dark] .field input,:root[data-theme=dark] .field textarea,:root[data-theme=dark] .field select{background:var(--surface-2)}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--navy);box-shadow:0 0 0 3px var(--navy-wash), 0 0 14px -4px rgba(var(--navy-rgb),.5);outline:none}:root[data-theme=dark] .field input:focus,:root[data-theme=dark] .field textarea:focus,:root[data-theme=dark] .field select:focus{border-color:var(--navy-soft)}.field textarea{resize:vertical;min-height:64px}.field-hint{color:var(--text-mute);font-size:11px}.field-hint-error{color:var(--danger);margin-top:4px}.row2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.row3{grid-template-columns:1fr 1fr 1fr;gap:12px;display:grid}.allday-row{justify-content:space-between;align-items:center;padding:2px 2px 0;display:flex}.allday-row label{color:var(--text-2);text-transform:none;letter-spacing:0;font-size:12.5px;font-weight:600}.seg{background:var(--bg-soft);border:1px solid var(--line);border-radius:9px;gap:3px;padding:3px;display:flex}:root[data-theme=dark] .seg{background:var(--surface-2)}.seg button{letter-spacing:.03em;color:var(--text-2);cursor:pointer;text-transform:uppercase;background:0 0;border:none;border-radius:7px;flex:1;justify-content:center;align-items:center;gap:6px;padding:9px 10px;font-size:12.5px;font-weight:700;display:flex}.seg button svg{width:14px;height:14px}.seg button.active{background:var(--surface);color:var(--ink);box-shadow:0 2px 6px rgba(var(--shadow),.1), inset 0 0 0 1px var(--line-navy), 0 0 14px -4px rgba(var(--navy-rgb),.5)}.platform-choice{grid-template-columns:1fr 1fr;gap:10px;display:grid}.platform-card{border:1.4px solid var(--line);cursor:pointer;background:var(--bg-soft);text-align:left;font:inherit;color:inherit;border-radius:10px;flex-direction:column;gap:8px;padding:12px;transition:border-color .15s,box-shadow .15s;display:flex}:root[data-theme=dark] .platform-card{background:var(--surface-2)}.platform-card:hover{border-color:var(--line-navy)}.platform-card.active{border-color:var(--navy);box-shadow:0 0 0 3px var(--navy-wash), 0 0 18px -4px rgba(var(--navy-rgb),.5)}:root[data-theme=dark] .platform-card.active{border-color:var(--navy-soft)}.platform-card .pi{border-radius:7px;place-items:center;width:26px;height:26px;display:grid}.platform-card .pn{color:var(--text);font-size:12.5px;font-weight:700}.platform-card .pd{color:var(--text-mute);font-family:ui-monospace,SF Mono,monospace;font-size:10.5px}.link-row{background:var(--bg-soft);border:1px solid var(--line);border-radius:10px;align-items:center;gap:8px;padding:9px 10px;display:flex}:root[data-theme=dark] .link-row{background:var(--surface-2)}.link-row input{color:var(--text-2);background:0 0;border:none;outline:none;flex:1;font-family:ui-monospace,monospace;font-size:12px}.link-row button{background:var(--surface);border:none;border:1px solid var(--line);color:var(--navy);cursor:pointer;border-radius:7px;flex-shrink:0;padding:6px 9px;font-size:11px;font-weight:600}:root[data-theme=dark] .link-row button{color:var(--navy-soft)}.link-row button:hover{border-color:var(--line-navy)}.link-row button:disabled{opacity:.5;cursor:not-allowed}.chips-input{border:1px solid var(--line);background:var(--bg-soft);border-radius:10px;flex-wrap:wrap;gap:6px;padding:8px;display:flex}:root[data-theme=dark] .chips-input{background:var(--surface-2)}.chips-input:focus-within{border-color:var(--navy);box-shadow:0 0 0 3px var(--navy-wash)}.chip{background:var(--surface);border:1px solid var(--line);color:var(--text);border-radius:999px;align-items:center;gap:5px;padding:3px 4px 3px 10px;font-size:12px;display:flex}.chip button{background:var(--surface-2);color:var(--text-mute);cursor:pointer;border:none;border-radius:50%;place-items:center;width:16px;height:16px;display:grid}.chips-input input{min-width:120px;color:var(--text);background:0 0;border:none;outline:none;flex:1;padding:4px;font-size:13px}.color-row{gap:9px;display:flex}.color-swatch{cursor:pointer;border:2px solid #0000;border-radius:6px;width:24px;height:24px;padding:0;position:relative}.color-swatch.active:after{content:"";border:1.5px solid var(--text);border-radius:8px;position:absolute;inset:-4px}.cal-select{flex-wrap:wrap;gap:8px;display:flex}.cal-pill{border:1.4px solid var(--line);cursor:pointer;color:var(--text-2);background:var(--surface);border-radius:8px;align-items:center;gap:7px;padding:8px 12px;font-family:ui-monospace,SF Mono,monospace;font-size:12px;font-weight:700;transition:border-color .15s,box-shadow .15s,color .15s;display:flex}.cal-pill .d{border-radius:50%;flex-shrink:0;width:7px;height:7px;box-shadow:0 0 5px}.cal-pill.active{border-color:var(--navy);color:var(--ink);background:var(--navy-wash);box-shadow:0 0 14px -4px rgba(var(--navy-rgb),.5)}:root[data-theme=dark] .cal-pill.active{border-color:var(--navy-soft)}.modal-foot{border-top:1px solid var(--line);align-items:center;gap:10px;padding:16px 22px;display:flex}.btn-ghost-danger{border:1px solid var(--line);color:var(--danger);cursor:pointer;background:0 0;border-radius:10px;padding:9px 14px;font-size:13px;font-weight:600}.btn-ghost-danger:hover{background:#b23a3a14;border-color:#b23a3a66}.modal-foot-spacer{flex:1}.btn-secondary{border:1px solid var(--line);background:var(--surface);color:var(--text-2);cursor:pointer;border-radius:10px;padding:9px 16px;font-size:13px;font-weight:600}.btn-secondary:hover{border-color:var(--line-navy);color:var(--text)}.toast-wrap{z-index:200;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast{background:var(--ink);color:var(--bg);letter-spacing:.03em;box-shadow:0 12px 30px #00000059, 0 0 0 1px rgba(var(--navy-rgb),.35);border-left:2.5px solid var(--navy);border-radius:8px;align-items:center;gap:9px;padding:10px 18px 10px 14px;font-family:ui-monospace,SF Mono,monospace;font-size:12.5px;font-weight:700;animation:.25s toastIn;display:flex}.toast.error{border-left-color:var(--danger)}:root[data-theme=dark] .toast{border-left-color:var(--navy-soft);color:var(--text);background:#0d1226}:root[data-theme=dark] .toast.error{border-left-color:var(--danger)}@keyframes toastIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.toast.leaving{opacity:0;transition:opacity .3s,transform .3s;transform:translateY(8px)}.signin-shell{background:radial-gradient(1100px 560px at 85% -10%, rgba(var(--navy-rgb),.09), transparent 60%), radial-gradient(900px 560px at -8% 105%, rgba(var(--brass-rgb),.06), transparent 55%), var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex;position:relative}:root[data-theme=dark] .signin-shell{background:radial-gradient(1100px 560px at 85% -10%, rgba(var(--navy-rgb),.2), transparent 60%), radial-gradient(900px 620px at -8% 105%, rgba(var(--brass-rgb),.07), transparent 55%), var(--bg)}.signin-card{background:var(--surface);border:1px solid var(--line-navy);border-radius:var(--radius-lg);text-align:center;width:100%;max-width:380px;box-shadow:0 30px 70px -20px #00000080, 0 0 60px -10px rgba(var(--navy-rgb),.25);padding:36px 30px 30px}.signin-mark{margin:0 auto 16px}.signin-word{margin-bottom:8px;font-size:22px}.signin-sub{color:var(--text-2);margin:0 0 24px;font-size:13px;line-height:1.5}.signin-btn{background:var(--surface);width:100%;color:var(--text);border:1px solid var(--line);box-shadow:none;justify-content:center}.signin-btn:hover{box-shadow:0 0 16px rgba(var(--navy-rgb),.25)}.signin-btn svg{width:16px;height:16px}.signin-scope-note{color:var(--text-mute);margin-top:16px;font-family:ui-monospace,SF Mono,monospace;font-size:10.5px;line-height:1.5}@media (max-width:920px){.sidebar{z-index:80;background:var(--bg);width:280px;padding-top:80px;transition:transform .25s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);box-shadow:20px 0 40px #0003}.sidebar.open{transform:translate(0)}.sidebar-scrim{z-index:70;background:#0006;display:none;position:fixed;inset:0}.sidebar-scrim.open{display:block}.period-label{min-width:0;font-size:20px}.row2,.row3,.platform-choice{grid-template-columns:1fr 1fr}}@media (max-width:560px){.topbar{padding:14px 16px}.brand-sub,.user-email{display:none}.main{padding:16px 14px 60px}.btn-primary span{display:none}.btn-primary{border-radius:50%;justify-content:center;width:40px;height:40px;padding:11px}.row2,.row3{grid-template-columns:1fr}}[role=button]{outline:none}[role=button]:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--navy);outline-offset:2px;border-radius:6px}:root[data-theme=dark] [role=button]:focus-visible,:root[data-theme=dark] button:focus-visible,:root[data-theme=dark] input:focus-visible,:root[data-theme=dark] textarea:focus-visible,:root[data-theme=dark] select:focus-visible,:root[data-theme=dark] [tabindex]:focus-visible{outline-color:var(--navy-soft)}.mini-day:focus-visible,.day-cell:focus-visible{outline-offset:-2px}[data-anim]{animation:.5s cubic-bezier(.2,.8,.3,1) both riseIn}@keyframes riseIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){*{transition-duration:1ms!important;animation-duration:1ms!important}}
