:root{--bg:#0a0c11;--bg-2:#0d1017;--surf:#11151d;--surf-2:#161b25;--surf-3:#1c2230;--line:rgba(255,255,255,0.07);--line-2:rgba(255,255,255,0.11);--line-3:rgba(255,255,255,0.18);--fg:#e7ecf3;--fg-2:#aab3c2;--fg-3:#6c7689;--muted:#5b657a;--accent:#10b981;--accent-2:#34d399;--accent-fg:#02110b;--met:#34d399;--short:#f87171;--danger:#f87171;--warn:#fbbf24;--mono:var(--font-mono);--kitchen:#10b981;--bar:#38bdf8;--hall:#f59e0b;--r-card:12px;--r-inner:10px;--r-sm:7px;--r-pill:999px;--shift-radius:7px;--shift-fill:1;--font:"Geist",ui-sans-serif,system-ui,-apple-system,"Helvetica Neue",sans-serif;--font-mono:"Geist Mono",ui-monospace,"JetBrains Mono",SFMono-Regular,Menlo,monospace}*{box-sizing:border-box}#root,body,html{height:100%}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"cv11","ss01";overflow:hidden}button{font-family:inherit;cursor:default}a{color:inherit}input{font-family:inherit}.muted{color:var(--muted)}.small{font-size:12px}.dot-sep{color:var(--muted)}.muted-link{color:var(--fg-3);text-decoration:none;font-size:12px}.muted-link:hover{color:var(--fg-2)}.btn-primary{display:inline-flex;align-items:center;gap:6px;background:var(--accent);color:var(--accent-fg);border:0;border-radius:var(--r-sm);padding:9px 14px;font-weight:600;font-size:13px;letter-spacing:-.005em;box-shadow:0 0 0 1px color-mix(in oklch,var(--accent) 60%,black),inset 0 1px 0 rgba(255,255,255,.18),0 6px 22px -8px color-mix(in oklch,var(--accent) 70%,transparent);transition:filter .12s ease,transform .12s ease}.btn-primary:hover{filter:brightness(1.06)}.btn-primary:active{transform:translateY(.5px)}.btn-ghost,.btn-primary.sm,.btn-secondary{padding:7px 11px;font-size:12.5px}.btn-ghost,.btn-secondary{display:inline-flex;align-items:center;gap:6px;background:var(--surf-2);color:var(--fg);border:1px solid var(--line-2);border-radius:var(--r-sm);font-weight:500;transition:background .12s ease,border-color .12s ease}.btn-ghost:hover,.btn-secondary:hover{background:var(--surf-3);border-color:var(--line-3)}.btn-ghost{background:transparent}a.btn-ghost,a.btn-primary,a.btn-secondary{text-decoration:none}.icon-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;color:var(--fg-2);border:1px solid var(--line);border-radius:var(--r-sm)}.icon-btn:hover{color:var(--fg);background:var(--surf-2);border-color:var(--line-2)}.icon-btn.sm{width:26px;height:26px;border-radius:6px}.bell-dot{position:absolute;top:6px;right:6px;width:7px;height:7px;background:var(--accent);border-radius:50%;box-shadow:0 0 0 2px var(--bg-2)}.notif-wrapper{position:relative}.notif-badge{top:2px;right:2px;min-width:15px;height:15px;align-items:center;justify-content:center;font-size:9.5px;font-weight:700;color:#06251a;background:var(--accent);border-radius:99px;padding:0 3px;box-shadow:0 0 0 2px var(--bg);pointer-events:none}.notif-badge,.notif-panel{position:absolute;display:flex}.notif-panel{top:calc(100% + 8px);right:0;width:380px;max-height:460px;background:var(--surf-2);border:1px solid var(--line-2);border-radius:12px;box-shadow:0 12px 32px rgba(0,0,0,.45),0 2px 8px rgba(0,0,0,.35);z-index:50;flex-direction:column;overflow:hidden}.notif-panel-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px 8px}.notif-panel-title{font-size:13px;font-weight:600;color:var(--fg)}.notif-mark-all{font-size:11.5px;font-weight:500;color:var(--accent);background:none;border:none;cursor:pointer;font-family:inherit;padding:2px 6px;border-radius:4px}.notif-mark-all:hover{background:rgba(52,211,153,.1)}.notif-tabs{display:flex;gap:4px;padding:0 14px 8px}.notif-tab{display:inline-flex;align-items:center;border:none;background:none;cursor:pointer;font-family:inherit;border-radius:6px;padding:3px 8px;font-size:11.5px;font-weight:500;color:var(--fg-3);transition:color .1s,background .1s}.notif-tab:hover{color:var(--fg-2)}.notif-tab.active{background:var(--surf-3);color:var(--fg)}.notif-tab-count{margin-left:6px;border-radius:99px;background:var(--accent);padding:1px 5px;font-size:10px;font-weight:600;color:#06251a}.notif-panel-list{overflow-y:auto;flex:1;min-height:0;border-top:1px solid var(--line);scrollbar-width:thin;scrollbar-gutter:stable}.notif-group-label{position:sticky;top:0;z-index:10;background:var(--surf-2);border-bottom:1px solid var(--line);padding:5px 14px;font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--fg-3)}.notif-group-body{padding:6px 8px}.notif-item{position:relative;display:flex;align-items:flex-start;gap:10px;width:100%;padding:8px 10px;border-radius:8px;cursor:pointer;text-align:left;color:var(--fg-2);transition:background .1s}.notif-item:hover{background:var(--surf-3)}.notif-item:focus-visible{outline:none;box-shadow:inset 0 0 0 1px var(--accent)}.notif-item.unread{background:rgba(255,255,255,.032)}.notif-item.unread:hover{background:var(--surf-3)}.notif-item.child{margin-left:38px;width:auto}.notif-item-badge{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;flex-shrink:0}.notif-item-content{flex:1;min-width:0}.notif-item-title{display:block;font-size:12.5px;line-height:17px;font-weight:500;color:var(--fg-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notif-item.unread .notif-item-title{font-weight:600;color:var(--fg)}.notif-item-body{font-size:11.5px;line-height:16px;color:var(--fg-3);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notif-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0;padding-top:1px}.notif-item-time{font-size:10.5px;line-height:1;color:var(--fg-3);font-family:var(--font-mono)}.notif-dotwrap{position:relative;width:18px;height:18px;display:flex;align-items:center;justify-content:center}.notif-unread-dot{width:7px;height:7px;border-radius:50%;transition:opacity .1s}.notif-item:hover .notif-unread-dot{opacity:0}.notif-markread{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;border:none;background:none;border-radius:50%;padding:0;cursor:pointer;color:var(--fg-3);opacity:0;pointer-events:none;transition:opacity .1s}.notif-item:hover .notif-markread,.notif-markread:focus-visible{opacity:1;pointer-events:auto;outline:none}.notif-markread:hover{color:var(--accent)}.notif-expand{display:flex;align-items:center;justify-content:center;width:18px;height:18px;margin-top:7px;flex-shrink:0;border:none;background:none;border-radius:4px;padding:0;cursor:pointer;color:var(--fg-3);transition:transform .15s,color .1s}.notif-expand:hover{color:var(--fg)}.notif-expand.open{transform:rotate(90deg)}.notif-empty{flex-direction:column;text-align:center;padding:40px 24px}.notif-empty,.notif-empty-icon{display:flex;align-items:center}.notif-empty-icon{justify-content:center;width:48px;height:48px;border-radius:50%;border:1px solid var(--line-2);background:var(--surf-3);color:var(--fg-3)}.notif-empty-title{margin-top:12px;font-size:13px;font-weight:600;color:var(--fg)}.notif-empty-sub{margin-top:4px;font-size:11.5px;line-height:16px;color:var(--fg-3)}.notif-skel{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;animation:notifPulse 1.6s ease-in-out infinite}.notif-skel-circle{width:30px;height:30px;border-radius:50%;background:var(--surf-3);flex-shrink:0}.notif-skel-line{height:10px;border-radius:4px;background:var(--surf-3)}@keyframes notifPulse{0%,to{opacity:1}50%{opacity:.45}}.notif-page .notif-group-label{padding:7px 18px;font-size:11px}.notif-page .notif-group-body{padding:8px 10px}.notif-page .notif-item{padding:11px 14px;gap:12px}.notif-page .notif-item-badge{width:34px;height:34px}.notif-page .notif-item-title{font-size:13.5px;line-height:19px}.notif-page .notif-item-body{font-size:12.5px;line-height:18px}.notif-page .notif-item-time{font-size:11px}.notif-page .notif-item.child{margin-left:46px}.notif-page .notif-empty{padding:56px 24px}.notif-footer{border-top:1px solid var(--line)}.notif-footer-btn{width:100%;padding:9px 0;text-align:center;font-size:11.5px;font-weight:500;color:var(--fg-2);background:none;border:none;cursor:pointer;font-family:inherit;transition:background .1s,color .1s}.notif-footer-btn:hover{background:var(--surf-3);color:var(--fg)}.notif-footer-btn:focus-visible{outline:none;box-shadow:inset 0 0 0 1px var(--accent)}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield;appearance:textfield}.memedit-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.memedit-grid .memedit-span2{grid-column:1/-1}@media (max-width:620px){.memedit-grid{grid-template-columns:1fr}.memedit-grid .memedit-span2{grid-column:auto}}.memedit-scroll{scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--line-3) transparent;overscroll-behavior:contain}.memedit-scroll::-webkit-scrollbar{width:10px}.memedit-scroll::-webkit-scrollbar-thumb{background:var(--line-3);border-radius:6px;border:3px solid var(--surf-2)}.memedit-scroll::-webkit-scrollbar-track{background:transparent}@keyframes memeditIn{0%{transform:translateY(8px) scale(.985);opacity:.6}to{transform:none;opacity:1}}@keyframes memeditDdIn{0%{transform:translateY(-4px)}to{transform:none}}.memedit-spin{animation:memeditSpin 1s linear infinite}@keyframes memeditSpin{to{transform:rotate(1turn)}}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex:none}.dot.pulse{background:var(--accent);box-shadow:0 0 0 0 color-mix(in oklch,var(--accent) 50%,transparent);animation:pulse 2.2s ease-out infinite}@keyframes pulse{0%{box-shadow:0 0 0 0 color-mix(in oklch,var(--accent) 50%,transparent)}70%{box-shadow:0 0 0 8px color-mix(in oklch,var(--accent) 0%,transparent)}to{box-shadow:0 0 0 0 transparent}}.kbd{font-family:var(--font-mono);font-size:10.5px;color:var(--fg-3);background:var(--surf-3);border:1px solid var(--line-2);border-radius:5px;padding:2px 6px;letter-spacing:.02em}.spinner{width:14px;height:14px;border-radius:50%;border:1.5px solid color-mix(in oklch,var(--accent-fg) 30%,transparent);border-top-color:var(--accent-fg);animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.login-root{display:grid;grid-template-columns:minmax(420px,1fr) 1.05fr;width:100%;height:100%;background:radial-gradient(1200px 700px at 12% 10%,color-mix(in oklch,var(--accent) 12%,transparent) 0,transparent 60%),var(--bg)}.login-left{display:flex;align-items:center;justify-content:center;padding:40px;overflow:auto}.login-left-inner{width:100%;max-width:380px;gap:36px}.login-card,.login-left-inner{display:flex;flex-direction:column}.login-card{gap:22px}.login-card header h1{margin:0 0 6px;font-size:24px;line-height:1.2;font-weight:600;letter-spacing:-.02em}.login-card header p{margin:0;color:var(--fg-3);font-size:13.5px}.login-form{gap:14px}.field,.login-form{display:flex;flex-direction:column}.field{gap:6px}.field>span:first-child{display:flex;justify-content:space-between;align-items:baseline;font-size:12.5px;color:var(--fg-2);font-weight:500}.field input{background:var(--surf);border:1px solid var(--line-2);color:var(--fg);border-radius:var(--r-sm);padding:10px 12px;font-size:14px;outline:none;width:100%;transition:border-color .12s ease,box-shadow .12s ease}.field input::placeholder{color:var(--fg-3)}.field input:disabled{color:var(--fg-3);background:var(--surf-2)}.field input:focus{border-color:color-mix(in oklch,var(--accent) 50%,var(--line-3));box-shadow:0 0 0 3px color-mix(in oklch,var(--accent) 18%,transparent)}.pwd-wrap input{padding-right:38px}.field-hint{font-size:11.5px;color:var(--fg-3);line-height:1.45}.field-err{font-size:11.5px;color:var(--danger);display:inline-flex;align-items:center;gap:5px}.pwd-wrap{position:relative}.pwd-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;color:var(--fg-3);border-radius:6px}.pwd-toggle:hover{color:var(--fg);background:var(--surf-2)}.checkrow{display:flex;gap:9px;font-size:12.5px;color:var(--fg-2)}.cbox,.checkrow{align-items:center}.cbox{width:16px;height:16px;border-radius:4px;background:var(--surf);border:1px solid var(--line-3);display:inline-flex;justify-content:center;color:var(--accent-fg)}.cbox.on{background:var(--accent);border-color:var(--accent)}.cbox-input{position:absolute;width:1px;height:1px;opacity:0;margin:0;pointer-events:none}.cbox-input:focus-visible+.cbox{box-shadow:0 0 0 3px color-mix(in oklch,var(--accent) 30%,transparent);border-color:var(--accent)}.divider{display:flex;align-items:center;gap:10px;color:var(--fg-3);font-size:11.5px;margin:2px 0}.divider:after,.divider:before{content:"";flex:1;height:1px;background:var(--line)}.login-error{display:flex;gap:9px;align-items:flex-start;padding:10px 12px;border-radius:var(--r-sm);font-size:12.5px;line-height:1.45;background:color-mix(in oklch,var(--danger) 12%,var(--surf));border:1px solid color-mix(in oklch,var(--danger) 34%,transparent);color:color-mix(in oklch,var(--danger) 55%,var(--fg))}.login-error svg{color:var(--danger);flex:none;margin-top:1px}.login-error strong{color:color-mix(in oklch,var(--danger) 30%,var(--fg));font-weight:600}.login-error.warn{background:color-mix(in oklch,var(--warn) 11%,var(--surf));border-color:color-mix(in oklch,var(--warn) 32%,transparent);color:color-mix(in oklch,var(--warn) 55%,var(--fg))}.login-error.warn svg{color:var(--warn)}.login-error.warn strong{color:color-mix(in oklch,var(--warn) 34%,var(--fg))}.login-card footer{font-size:13px;color:var(--fg-3)}.login-card footer a{color:var(--fg);text-decoration:none;border-bottom:1px solid var(--line-3)}.login-card footer a:hover{color:var(--accent-2);border-color:var(--accent)}.login-foot{display:flex;align-items:center;gap:10px;font-size:11.5px;color:var(--fg-3);flex-wrap:wrap}.login-foot a{text-decoration:none}.login-foot a:hover,.status-pill{color:var(--fg-2)}.status-pill{margin-left:auto;display:inline-flex;align-items:center;gap:6px;padding:3px 9px 3px 7px;background:var(--surf);border:1px solid var(--line);border-radius:var(--r-pill)}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px var(--accent)}.login-right{position:relative;border-left:1px solid var(--line);background:radial-gradient(900px 600px at 90% 0,color-mix(in oklch,var(--accent) 18%,transparent) 0,transparent 55%),linear-gradient(180deg,#0e1219 0,#0a0c11 100%);display:flex;align-items:center;justify-content:center;padding:52px 56px;overflow:hidden}.login-right:before{content:"";position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 0),linear-gradient(180deg,rgba(255,255,255,.025) 1px,transparent 0);background-size:36px 36px;-webkit-mask-image:radial-gradient(900px 700px at 60% 45%,#000 30%,transparent 80%);mask-image:radial-gradient(900px 700px at 60% 45%,#000 30%,transparent 80%);pointer-events:none}.preview-frame{position:relative;width:100%;max-width:640px;display:flex;flex-direction:column;gap:20px}.preview-glow{position:absolute;inset:-40px;background:radial-gradient(circle at 34% 0,color-mix(in oklch,var(--accent) 26%,transparent),transparent 60%);filter:blur(46px);pointer-events:none;z-index:0}.preview-window{position:relative;background:var(--surf);border:1px solid var(--line-2);border-radius:14px;overflow:hidden;box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 40px 80px -30px rgba(0,0,0,.7),0 20px 40px -20px rgba(0,0,0,.5);transform:perspective(1500px) rotateY(-5deg) rotateX(2deg);transform-origin:center center}.pw-chrome{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:10px 12px;border-bottom:1px solid var(--line);background:var(--surf-2)}.pw-dots{display:inline-flex;gap:6px}.pw-dots i{width:9px;height:9px;border-radius:50%;background:var(--line-3)}.pw-dots i:first-child{background:rgba(255,90,90,.5)}.pw-dots i:nth-child(2){background:rgba(245,180,60,.5)}.pw-dots i:nth-child(3){background:rgba(80,200,140,.5)}.pw-url{font-family:var(--font-mono);font-size:11px;color:var(--fg-3);background:var(--surf);border:1px solid var(--line);border-radius:6px;padding:3px 12px;width:fit-content;justify-self:center}.pw-spacer{width:48px}.pw-body{padding:14px 14px 15px;display:flex;flex-direction:column;gap:11px}.pw-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.pw-week{font-size:12.5px;font-weight:600;letter-spacing:-.01em;color:var(--fg)}.pw-counts{margin-top:3px;font-family:var(--font-mono);font-size:10px;color:var(--fg-3);letter-spacing:-.02em}.pw-areas{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.pw-area{display:inline-flex;align-items:center;gap:5px;font-size:9.5px;color:var(--fg-2);padding:2px 8px 2px 6px;background:var(--surf-2);border:1px solid var(--line);border-radius:var(--r-pill);white-space:nowrap}.pw-area .dot{display:inline-block;width:6px;height:6px;border-radius:50%;flex:none}.pw-grid{display:grid;grid-template-columns:112px repeat(7,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:9px;overflow:hidden}.pw-corner,.pw-day{background:var(--surf-2)}.pw-day{display:flex;flex-direction:column;align-items:center;gap:1px;padding:6px 3px 7px}.pw-day-name{font-weight:700;letter-spacing:.08em;text-transform:uppercase}.pw-day-date,.pw-day-name{font-size:9px;color:var(--fg-3)}.pw-day-date{font-family:var(--font-mono);letter-spacing:-.02em}.pw-day.today{background:color-mix(in oklch,#34d399 7%,var(--surf-2))}.pw-day.today .pw-day-date,.pw-day.today .pw-day-name{color:var(--accent-2)}.pw-staff{background:var(--surf);display:flex;align-items:center;gap:6px;padding:6px 5px 6px 8px;min-width:0}.pw-av{width:24px;height:24px;border-radius:50%;flex:none;display:grid;place-items:center;font-size:9px;font-weight:700;letter-spacing:.01em;border:1px solid}.pw-who{min-width:0;display:flex;flex-direction:column;gap:1px;line-height:1.15}.pw-who-name{font-size:11px;font-weight:600;color:var(--fg);letter-spacing:-.01em}.pw-who-area,.pw-who-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pw-who-area{font-size:9.5px;color:var(--fg-3)}.pw-staff-open .pw-av{color:#60a5fa;background:rgba(59,130,246,.14);border-color:rgba(59,130,246,.34);font-size:8.5px}.pw-staff-open .pw-who-name{color:var(--fg-2)}.pw-cell{background:var(--surf);padding:3px 2px;display:flex;align-items:center;min-height:36px}.pw-cell.today{background:color-mix(in oklch,#34d399 4%,var(--surf))}.pw-empty{width:100%;text-align:center;color:#2f3645;font-size:12px;line-height:1}.pw-chip{width:100%;min-width:0;border-radius:9px;padding:4px 3px 4px 5px;display:flex;flex-direction:column;gap:1px;overflow:hidden;border-left:2.5px solid var(--c);background:color-mix(in oklch,var(--c) 13%,transparent);box-shadow:inset 0 0 0 1px color-mix(in oklch,var(--c) 18%,transparent)}.pw-chip-time{font-family:var(--font-mono);font-size:8.5px;font-weight:500;letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:color-mix(in oklch,var(--c) 58%,white);white-space:nowrap;overflow:hidden;text-overflow:clip}.pw-chip-b{display:flex;align-items:baseline;justify-content:space-between;gap:4px;min-width:0}.pw-chip-type{font-size:8.5px;font-weight:600;letter-spacing:.005em;color:var(--c);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.pw-chip-len{font-family:var(--font-mono);font-size:8px;color:var(--fg-3);flex:none;letter-spacing:-.02em}.pw-chip-open{border:1.5px dashed color-mix(in oklch,#3b82f6 45%,transparent);background:color-mix(in oklch,#3b82f6 9%,transparent);box-shadow:none;padding:4px 4px 4px 5px}.pw-chip-open .pw-chip-time{color:#93c5fd}.pw-open-tag{margin-left:auto;font-family:var(--font-mono);font-size:8px;font-weight:700;letter-spacing:.06em;color:#60a5fa;flex:none}.preview-caption{display:flex;flex-direction:column;gap:4px;position:relative;z-index:1;color:var(--fg-2);font-size:13px;max-width:520px}.preview-caption strong{color:var(--fg);font-weight:600;letter-spacing:-.01em;font-size:13.5px}.preview-caption span{font-size:12px;color:var(--fg-3)}.auth-mono{font-family:var(--font-mono)}.auth-shell{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:40px;overflow:auto;background:radial-gradient(1000px 640px at 50% -10%,color-mix(in oklch,var(--accent) 11%,transparent) 0,transparent 60%),var(--bg)}.auth-card-wrap{width:100%;max-width:380px;display:flex;flex-direction:column;gap:34px}.btn-ghost.full,.btn-primary.full,.btn-secondary.full{width:100%;padding:11px 14px;justify-content:center}.btn-primary.loading{opacity:.9}.spinner.on-surf{border-color:color-mix(in oklch,var(--fg) 22%,transparent);border-top-color:var(--fg-2)}.back-link{display:inline-flex;align-items:center;gap:6px;background:transparent;border:0;padding:0;color:var(--fg-3);font-size:12.5px;margin-bottom:10px;text-decoration:none}.back-link:hover{color:var(--fg-2)}.auth-provider-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:10px 14px;background:var(--surf-2);border:1px solid var(--line-2);border-radius:var(--r-sm);color:var(--fg);font-size:13px;font-weight:500;transition:background .12s ease,border-color .12s ease}.auth-provider-btn:hover{background:var(--surf-3);border-color:var(--line-3)}.auth-provider-btn svg{flex:none}.auth-hint{font-size:11.5px;color:var(--fg-3);display:flex;align-items:center;gap:6px;justify-content:center;text-align:center}.auth-hint .auth-mono{color:var(--fg-2)}.auth-sso{position:relative;display:flex;flex-direction:column;gap:8px}.auth-sso-btn{display:flex;align-items:center;gap:9px;width:100%;padding:10px 12px;background:transparent;border:1px solid var(--line-2);border-radius:var(--r-sm);color:var(--fg-2);font-size:13px;transition:background .12s ease,border-color .12s ease,color .12s ease}.auth-sso-btn.open,.auth-sso-btn:hover{background:var(--surf-2);border-color:var(--line-3);color:var(--fg)}.auth-sso-btn .lock{color:var(--fg-3);flex:none}.auth-sso-btn .label{font-weight:500}.auth-ent-pill{margin-left:auto;display:inline-flex;align-items:center;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent-2);background:color-mix(in oklch,var(--accent) 14%,transparent);border:1px solid color-mix(in oklch,var(--accent) 30%,transparent);padding:2px 7px;border-radius:var(--r-pill)}.auth-popover{display:flex;gap:9px;align-items:flex-start;padding:11px 12px;background:var(--surf);border:1px solid var(--line-2);border-radius:var(--r-sm);font-size:12px;line-height:1.5;color:var(--fg-2);box-shadow:0 14px 34px -14px rgba(0,0,0,.6)}.auth-popover svg{color:var(--accent-2);flex:none;margin-top:1px}.auth-popover strong{color:var(--fg);font-weight:600}.auth-popover a{color:var(--fg);border-bottom:1px solid var(--line-3);text-decoration:none}.auth-popover a:hover{color:var(--accent-2);border-color:var(--accent)}.auth-identity{display:flex;align-items:center;gap:11px;padding:10px 12px;background:var(--surf-2);border:1px solid var(--line);border-radius:var(--r-sm)}.auth-identity .id-avatar{width:30px;height:30px;border-radius:50%;flex:none;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;border:1px solid}.auth-identity .id-meta{min-width:0;display:flex;flex-direction:column;gap:1px}.auth-identity .id-label{font-size:11px;color:var(--fg-3)}.auth-identity .id-mail{font-family:var(--font-mono);font-size:12.5px;color:var(--fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.auth-identity .id-lock{margin-left:auto;color:var(--fg-3);flex:none}.auth-note{display:flex;gap:9px;align-items:flex-start;padding:10px 12px;background:var(--surf-2);border:1px solid var(--line);border-radius:var(--r-sm);font-size:12.5px;line-height:1.5;color:var(--fg-2)}.auth-note svg{color:var(--fg-3);flex:none;margin-top:1px}.auth-note strong{color:var(--fg);font-weight:600}.auth-note.accent{background:color-mix(in oklch,var(--accent) 8%,var(--surf-2));border-color:color-mix(in oklch,var(--accent) 22%,transparent)}.auth-note.accent svg{color:var(--accent-2)}.auth-legal{font-size:11.5px;color:var(--fg-3);line-height:1.55}.auth-legal a{color:var(--fg-2);text-decoration:none;border-bottom:1px solid var(--line-3)}.auth-legal a:hover{color:var(--accent-2);border-color:var(--accent)}.auth-status-icon{width:46px;height:46px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;margin-bottom:4px}.auth-status-icon.accent{background:color-mix(in oklch,var(--accent) 18%,var(--surf-2));color:var(--accent-2);border:1px solid color-mix(in oklch,var(--accent) 30%,transparent)}.auth-status-icon.danger{background:color-mix(in oklch,var(--danger) 15%,var(--surf-2));color:var(--danger);border:1px solid color-mix(in oklch,var(--danger) 28%,transparent)}.auth-status-icon.warn{background:color-mix(in oklch,var(--warn) 15%,var(--surf-2));color:var(--warn);border:1px solid color-mix(in oklch,var(--warn) 28%,transparent)}.auth-actions{gap:8px}.auth-actions,.auth-strength{display:flex;flex-direction:column}.auth-strength{gap:9px;margin-top:4px}.auth-strength-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.auth-strength-bars{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;flex:1}.auth-strength-bars i{height:4px;border-radius:3px;background:var(--surf-3);transition:background .18s ease}.auth-strength.s1 .auth-strength-bars i:nth-child(-n+1){background:var(--danger)}.auth-strength.s2 .auth-strength-bars i:nth-child(-n+2){background:var(--warn)}.auth-strength.s3 .auth-strength-bars i:nth-child(-n+3){background:var(--accent-2)}.auth-strength.s4 .auth-strength-bars i{background:var(--accent)}.auth-strength-label{font-size:11.5px;font-weight:600;color:var(--fg-3);flex:none;letter-spacing:.01em}.auth-strength.s1 .auth-strength-label{color:var(--danger)}.auth-strength.s2 .auth-strength-label{color:var(--warn)}.auth-strength.s3 .auth-strength-label{color:var(--accent-2)}.auth-strength.s4 .auth-strength-label{color:var(--accent)}.auth-checklist{display:flex;flex-direction:column;gap:6px}.auth-check{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--fg-3);transition:color .15s ease}.auth-check .tick{width:15px;height:15px;border-radius:5px;border:1px solid var(--line-2);display:inline-flex;align-items:center;justify-content:center;color:transparent;flex:none;transition:background .15s ease,border-color .15s ease,color .15s ease}.auth-check.on{color:var(--fg-2)}.auth-check.on .tick{background:color-mix(in oklch,var(--accent) 20%,transparent);border-color:transparent;color:var(--accent-2)}.invite-orghead{display:flex;align-items:center;gap:11px}.invite-orghead .org-avatar{width:38px;height:38px;border-radius:10px;flex:none;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;letter-spacing:.02em;color:var(--accent-fg);background:linear-gradient(135deg,var(--accent-2),var(--accent));border:1px solid color-mix(in oklch,var(--accent) 40%,transparent)}.invite-orghead .org-name{font-weight:600;font-size:14px;letter-spacing:-.01em}.auth-loading{display:flex;flex-direction:column;align-items:center;gap:14px;padding:34px 0;color:var(--fg-3);font-size:13px;text-align:center}.auth-loading .spinner{width:24px;height:24px;border-width:2px;border-color:color-mix(in oklch,var(--fg) 15%,transparent);border-top-color:var(--accent-2)}@media (max-width:900px){.login-root{grid-template-columns:1fr}.login-right{display:none}.login-left{padding:20px}.login-left-inner{max-width:none}.auth-shell{padding:20px}.auth-card-wrap{max-width:none}}.app{display:grid;grid-template-columns:240px 1fr;width:100%;height:100%;background:var(--bg)}.app-main{display:flex;flex-direction:column;min-width:0;min-height:0}.trial-bar{flex:none;display:flex;align-items:center;gap:10px;padding:9px 28px;border-bottom:1px solid var(--line);background:color-mix(in oklch,var(--accent) 9%,var(--bg-2));font-size:12.5px;color:var(--fg-2);line-height:1.4}.trial-bar b{color:var(--fg);font-weight:600}.trial-dot{flex:none;width:7px;height:7px;border-radius:99px;background:var(--accent-2,var(--accent));box-shadow:0 0 8px var(--accent)}.trial-link{margin-left:auto;white-space:nowrap;color:var(--accent-2,var(--accent));font-weight:500}.trial-link:hover{text-decoration:underline}.trial-x{flex:none;width:22px;height:22px;border-radius:6px;display:grid;place-items:center;font-size:17px;line-height:1;color:var(--fg-3);background:none;border:none;cursor:pointer}.trial-x:hover{background:var(--surf-2);color:var(--fg)}@media (max-width:700px){.trial-bar{padding:9px 16px;font-size:12px;flex-wrap:wrap}.trial-link{margin-left:0}}.verify-bar{flex:none;display:flex;align-items:center;gap:10px;padding:9px 28px;border-bottom:1px solid var(--line);background:color-mix(in oklch,#fbbf24 10%,var(--bg-2));font-size:12.5px;color:var(--fg-2);line-height:1.4}.verify-bar b{color:var(--fg);font-weight:600}.verify-bar.ok{background:color-mix(in oklch,var(--accent) 9%,var(--bg-2))}.verify-dot{flex:none;width:7px;height:7px;border-radius:99px;background:#fbbf24;box-shadow:0 0 8px rgba(251,191,36,.6)}.verify-btn{margin-left:auto;white-space:nowrap;font:500 12px inherit;color:var(--fg);background:var(--surf-2);border:1px solid var(--line-2,var(--line));border-radius:7px;padding:4px 10px;cursor:pointer}.verify-btn:hover:not(:disabled){background:var(--hov,var(--surf-2))}.verify-btn:disabled{opacity:.6;cursor:default}.verify-note{margin-left:auto;white-space:nowrap;color:var(--fg-3);font-size:12px}@media (max-width:700px){.verify-bar{padding:9px 16px;font-size:12px;flex-wrap:wrap}.verify-btn,.verify-note{margin-left:0}}.sidebar{background:var(--bg-2);border-right:1px solid var(--line);padding:14px 12px 12px;display:flex;flex-direction:column;gap:6px;overflow-y:auto;scrollbar-gutter:stable}.sb-top{padding:6px 8px 10px}.org-mark{width:28px;height:28px;border-radius:6px;background:linear-gradient(135deg,#2a3140,#161b25);color:var(--fg);display:inline-flex;align-items:center;justify-content:center;font-weight:600;font-size:11px;letter-spacing:.02em;border:1px solid var(--line-2)}.org-meta{flex:1;min-width:0}.org-name{color:var(--fg);font-weight:600;font-size:13px;line-height:1.2}.org-sub{color:var(--fg-3);font-size:11px}.sb-section{text-transform:uppercase;font-size:10.5px;font-weight:600;letter-spacing:.08em;color:var(--fg-3);padding:10px 10px 4px}.sb-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px}.sb-item{width:100%;display:flex;align-items:center;gap:10px;padding:7px 10px;background:transparent;border:0;color:var(--fg-2);border-radius:7px;font-size:13px;text-align:left;transition:background .1s ease,color .1s ease}.sb-item.on,.sb-item:hover{background:var(--surf);color:var(--fg)}.sb-item.on{box-shadow:inset 0 0 0 1px var(--line-2)}.sb-item.on:before{content:"";width:3px;height:14px;background:var(--accent);border-radius:2px;margin-left:-10px;margin-right:7px}.sb-item>span{flex:1;min-width:0}.sb-badge{background:color-mix(in oklch,var(--accent) 18%,var(--surf-3));color:var(--accent-2);font-size:10.5px;font-weight:600;padding:1px 7px;border-radius:var(--r-pill);border:1px solid color-mix(in oklch,var(--accent) 30%,transparent);flex:none}.sb-item>.sb-sq{flex:none}.sb-sq{width:8px;height:8px;border-radius:2px}.sb-saved-view-row{position:relative}.sb-saved-view-row .sb-item{padding-right:34px}.sb-saved-view-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sb-saved-view-remove{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--fg-3);font-family:inherit;font-size:13px;line-height:1}.sb-saved-view-remove:focus-visible,.sb-saved-view-remove:hover{background:rgba(239,68,68,.12);border-color:rgba(239,68,68,.32);color:#f87171;outline:none}.sb-bottom{margin-top:auto;padding-top:12px;border-top:1px solid var(--line)}.sb-user{display:flex;align-items:center;gap:10px;padding:8px;border-radius:8px}.sb-user:hover{background:var(--surf)}.sb-avatar{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,#34d399,#10b981);color:#04130b;display:inline-flex;align-items:center;justify-content:center;font-weight:600;font-size:11px}.sb-user-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.sb-user-name{font-size:13px;font-weight:600;line-height:1.2;color:var(--fg)}.sb-user-name,.sb-user-role{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sb-user-role{font-size:9.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;line-height:1;color:var(--fg-3)}.sb-logout{border:0;background:transparent;color:var(--fg-3);width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px}.sb-logout:hover{color:var(--fg);background:var(--surf-3)}.topbar{justify-content:space-between;gap:24px;padding:12px 28px;border-bottom:1px solid var(--line);background:var(--bg);flex:none}.crumbs,.topbar{display:flex;align-items:center}.crumbs{gap:8px;font-size:13px;color:var(--fg)}.crumb-sep{color:var(--fg-3)}.topbar-actions{gap:10px}.search,.topbar-actions{display:flex;align-items:center}.search{gap:8px;width:360px;padding:7px 10px;background:var(--surf);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--fg-3);transition:border-color .12s}.search:focus-within{border-color:var(--line-3)}.search input{flex:1;border:0;background:transparent;outline:none;color:var(--fg);font-size:13px}.search input::placeholder{color:var(--fg-3)}.me{position:relative}.me-avatar{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,#34d399,#10b981);color:#04130b;display:inline-flex;align-items:center;justify-content:center;font-weight:600;font-size:11px;cursor:pointer;padding:0}.me-avatar,.user-menu{border:1px solid var(--line-2)}.user-menu{position:absolute;top:calc(100% + 8px);right:0;width:260px;background:var(--surf);border-radius:12px;box-shadow:0 16px 40px -8px rgba(0,0,0,.6),0 6px 16px -6px rgba(0,0,0,.4);z-index:90;padding:6px;animation:pop-in .12s ease}.user-menu-profile{display:flex;align-items:flex-start;gap:12px;padding:14px 14px 10px}.user-menu-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#34d399,#10b981);color:#04130b;display:inline-flex;align-items:center;justify-content:center;font-weight:600;font-size:12px;flex:none}.user-menu-info{flex:1;min-width:0}.user-menu-name{font-size:13.5px;font-weight:600;color:var(--fg)}.user-menu-email{font-size:11.5px;color:var(--fg-3);margin-top:1px}.user-menu-role{display:inline-flex;align-items:center;gap:6px;margin-top:6px;font-size:10.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#34d399;padding:2px 8px;background:color-mix(in oklch,#34d399 12%,var(--surf-2));border:1px solid color-mix(in oklch,#34d399 30%,transparent);border-radius:999px}.user-menu-role .dot{width:6px;height:6px;border-radius:50%;background:#34d399;box-shadow:0 0 6px #34d399;flex:none}.user-menu-divider{height:1px;background:var(--line);margin:4px 0}.user-menu-item{width:100%;display:flex;align-items:center;gap:10px;padding:8px 10px;background:transparent;border:0;color:var(--fg-2);font-size:13px;font-family:inherit;border-radius:7px;text-align:left;cursor:pointer}.user-menu-item:hover{background:var(--surf-2);color:var(--fg)}.user-menu-item.danger{color:#f87171}.user-menu-item.danger:hover{background:color-mix(in oklch,#f87171 12%,var(--surf-2))}.user-menu-item.danger svg{color:#f87171}.sb-org-wrap{position:relative;margin-bottom:14px}.sb-org{display:flex;align-items:center;gap:10px;padding:8px;background:var(--surf);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--fg-2);width:100%;text-align:left;font-family:inherit;cursor:pointer;transition:border-color .12s}.sb-org:hover{border-color:var(--line-3)}.ws-switcher{position:fixed;top:auto;left:16px;width:280px;background:var(--surf);border:1px solid var(--line-2);border-radius:12px;box-shadow:0 20px 48px -10px rgba(0,0,0,.55),0 8px 18px -8px rgba(0,0,0,.4);z-index:200;animation:pop-in .12s ease}.ws-switcher-head{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:600;color:var(--fg);padding:12px 14px;border-bottom:1px solid var(--line)}.ws-switcher-list{display:flex;flex-direction:column;gap:2px;padding:4px}.ws-switcher-item{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:9px 10px;background:transparent;border:0;border-radius:7px;color:var(--fg);font-size:13px;font-family:inherit;text-align:left;width:100%;cursor:pointer}.ws-switcher-item.on,.ws-switcher-item:hover{background:var(--surf-2)}.ws-switcher-item.on{box-shadow:inset 0 0 0 1px var(--line-2)}.ws-switcher-item.on svg{color:var(--accent-2)}.ws-switcher-mark{width:30px;height:30px;border-radius:7px;border:1px solid var(--line-2);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:11px;letter-spacing:.02em;flex:none}.ws-switcher-meta{flex:1;min-width:0}.ws-switcher-name{font-size:13px;font-weight:600;color:var(--fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ws-switcher-sub{font-size:11.5px;color:var(--fg-3);margin-top:1px}.ws-switcher-divider{height:1px;background:var(--line);margin:4px 0}.ws-switcher-action{width:100%;display:flex;align-items:center;gap:10px;padding:7px 10px;background:transparent;border:0;color:var(--fg-2);font-size:13px;font-family:inherit;border-radius:6px;text-align:left;cursor:pointer}.ws-switcher-actions{list-style:none;margin:0;padding:6px;display:flex;flex-direction:column;gap:1px}.ws-switcher-action:hover{background:var(--surf-2);color:var(--fg)}.page{flex:1;min-height:0;padding:24px 28px 28px;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;display:flex;flex-direction:column;gap:18px}.page:has(.schedule-shell),.page:has(.team-shell){overflow:hidden}.page-head{display:flex;align-items:end;justify-content:space-between;gap:20px}.page-head h1{margin:0;font-size:22px;font-weight:600;letter-spacing:-.02em}.page-head p{margin:4px 0 0;font-size:13.5px}.page-head-actions{display:inline-flex;gap:8px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stat-card{background:var(--surf);border:1px solid var(--line);border-radius:var(--r-card);padding:14px 16px 0;position:relative;overflow:hidden}.stat-top{display:flex;align-items:center;justify-content:space-between}.stat-label{font-size:12px;color:var(--fg-3);letter-spacing:.01em}.stat-delta{font-size:11px;font-weight:600;padding:2px 7px;border-radius:var(--r-pill);border:1px solid var(--line);color:var(--fg-2)}.stat-delta.up{color:#34d399;border-color:color-mix(in oklch,#34d399 25%,transparent)}.stat-delta.down{color:#f87171;border-color:color-mix(in oklch,#f87171 25%,transparent)}.stat-value{font-family:var(--font);font-size:32px;font-weight:600;letter-spacing:-.03em;line-height:1.1;margin-top:6px}.stat-spark{margin-top:6px;margin-left:-16px;margin-right:-16px}.main-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:12px;align-items:start}.hero{background:var(--surf);border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden;display:flex;flex-direction:column;min-width:0}.schedule-shell,.team-shell{height:100%;min-height:0;min-width:0;width:100%}.hero-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:14px 16px;border-bottom:1px solid var(--line);flex:none;min-width:0}.hero-title{min-width:260px;max-width:100%}.hero-title h2{margin:0;font-size:17px;font-weight:700;letter-spacing:-.015em}.hero-sub{font-size:12px;color:var(--fg-3);display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:3px}.hero-sub strong{color:var(--fg-2);font-weight:500}.view-chip{max-width:220px;gap:6px;padding:2px 7px;border:1px solid rgba(96,165,250,.18);border-radius:var(--r-pill);background:rgba(59,130,246,.06);line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.view-chip,.view-chip button{display:inline-flex;align-items:center;color:#93c5fd;font-size:11px}.view-chip button{flex:none;width:15px;height:15px;justify-content:center;border:0;border-radius:999px;background:transparent;line-height:1;padding:0}.view-chip button:hover{background:rgba(147,197,253,.16);color:#bfdbfe}.schedule-metrics{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:9px}.schedule-metrics span{display:inline-flex;align-items:baseline;gap:4px;padding:3px 9px;background:var(--surf-2);border:1px solid var(--line-2);border-radius:999px;color:var(--fg-3);font-size:11.5px;line-height:1.2}.schedule-metrics strong{color:var(--fg);font-family:var(--font-mono);font-weight:600}.schedule-metrics .warn{color:#fbbf24;border-color:rgba(251,191,36,.22);background:rgba(251,191,36,.07)}.status-chip{display:inline-flex;align-items:center;gap:6px;padding:2px 8px 2px 6px;background:color-mix(in oklch,var(--accent) 10%,var(--surf-2));border:1px solid color-mix(in oklch,var(--accent) 20%,transparent);color:var(--accent-2);border-radius:var(--r-pill);font-size:11px}.hero-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end;min-width:0}.schedule-toolbar{flex:1 1 620px;max-width:min(100%,860px);display:grid;grid-template-columns:minmax(0,1fr) auto minmax(188px,auto);align-items:start;justify-content:stretch}.schedule-toolbar-left{min-width:0;display:flex;align-items:center;gap:6px;flex-wrap:nowrap;overflow:hidden}.schedule-toolbar .wk-nav{justify-self:center}.schedule-toolbar-state{width:220px;min-height:34px;align-items:center;justify-content:flex-end;gap:8px;justify-self:end}.schedule-toolbar-state,.seg{display:inline-flex;flex-wrap:wrap}.seg{background:var(--surf-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:2px;gap:1px;max-width:100%;overflow:hidden;scrollbar-width:none}.seg::-webkit-scrollbar{display:none}.schedule-filter{flex:1 1 240px;min-width:0;max-width:min(100%,420px)}.seg button{display:inline-flex;align-items:center;gap:6px;background:transparent;border:0;color:var(--fg-3);font-size:12px;font-weight:500;padding:5px 10px;border-radius:5px;min-width:0;max-width:132px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:0 1 auto}.seg button.on,.seg button:hover{color:var(--fg)}.seg button.on{background:var(--surf);box-shadow:0 0 0 1px var(--line-2),0 1px 2px rgba(0,0,0,.3)}.wk-nav{width:136px;display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--surf-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:2px 4px}.wk-nav .wk-label{font-size:12px;color:var(--fg-2);padding:0 6px}.schedule-actionbar{padding:9px 16px;background:rgba(16,185,129,.055);border-bottom:1px solid var(--line);font-size:12px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex:none;min-width:0;max-width:100%;overflow-x:clip}.schedule-actionbar.active{background:rgba(16,185,129,.09)}.action-hint{display:inline-flex;align-items:center;gap:5px;color:var(--fg-3);padding:3px 8px;background:rgba(255,255,255,.025);border:1px solid var(--line);border-radius:6px}.grid-wrap{overflow:auto;scrollbar-gutter:stable;min-height:0;width:100%;max-width:100%}.schedule-shell .grid-wrap{scrollbar-width:thin;scrollbar-color:var(--line-3) transparent}.schedule-shell .grid-wrap::-webkit-scrollbar{width:10px;height:10px;display:initial}.grid{display:grid;grid-template-columns:220px repeat(7,minmax(116px,1fr));grid-auto-rows:minmax(var(--rowH),auto);align-items:stretch;width:max(100%,1032px);min-width:100%}.g-corner,.grid{background:var(--surf)}.g-corner{position:sticky;left:0;top:0;z-index:4;border-bottom:1px solid var(--line)}.g-corner-inner{display:flex;align-items:center;gap:6px;padding:14px 16px;font-size:12px;color:var(--fg-2);height:100%}.g-day{position:sticky;top:0;z-index:3;border-bottom:1px solid var(--line);border-left:1px solid var(--line);min-height:54px;padding:11px 12px;background:var(--surf)}.g-day-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.g-day-name{font-size:12px;font-weight:700;color:var(--fg-2);letter-spacing:.05em;text-transform:uppercase}.g-day-num{font-family:var(--font-mono);margin-top:1px}.g-day-meta,.g-day-num{font-size:11px;color:var(--fg-3)}.g-day-meta{display:inline-flex;align-items:baseline;gap:4px}.g-day-count{font-family:var(--font-mono);font-size:13px;color:var(--fg);font-weight:600;font-variant-numeric:tabular-nums}.g-day.today{background:color-mix(in oklch,var(--accent) 6%,var(--surf))}.g-day.today .g-day-name{color:var(--accent-2);font-weight:700}.g-day.today .g-day-num{color:var(--accent-2)}.g-name{position:sticky;left:0;z-index:2;display:flex;gap:10px;padding:0 16px;min-height:var(--rowH);height:auto;align-self:stretch;background:var(--surf);border-bottom:1px solid var(--line)}.g-avatar,.g-name{align-items:center}.g-avatar{width:32px;height:32px;border-radius:50%;display:inline-flex;justify-content:center;font-size:11px;font-weight:700;letter-spacing:.02em;border:1.5px solid;flex:none}.g-name-meta{min-width:0}.g-name-text{font-size:13px;font-weight:600;color:var(--fg);line-height:1.2}.g-name-role,.g-name-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.g-name-role{margin-top:2px}.g-name-role,.g-pref-hint{font-size:10.5px;color:var(--fg-3)}.g-pref-hint{opacity:.38;letter-spacing:.02em;pointer-events:none;user-select:none;border:1px solid var(--line-2);border-radius:var(--r-sm,7px);padding:4px 10px;width:calc(100% - 12px);text-align:center}.g-cell.empty{flex-direction:column;gap:2px}.g-cell{border-bottom:1px solid var(--line);border-left:1px solid var(--line);min-height:var(--rowH);height:auto;align-self:stretch;padding:8px;display:flex;align-items:center;background:var(--surf);transition:background .1s}.g-cell:hover{background:var(--surf-2)}.g-cell.today{background:color-mix(in oklch,var(--accent) 5%,var(--surf))}.g-cell.today:hover{background:color-mix(in oklch,var(--accent) 8%,var(--surf))}.g-cell.empty{color:var(--fg-3);justify-content:center}.empty-dash{font-size:14px;color:var(--line-3)}.empty-action{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:52px;min-height:28px;padding:4px 8px;border:1px dashed rgba(148,163,184,.22);border-radius:6px;color:rgba(148,163,184,.72);font-size:11.5px;font-weight:600;transition:color .1s ease,border-color .1s ease,background .1s ease}.g-cell.empty:hover .empty-action{color:var(--accent-2);border-color:rgba(52,211,153,.38);background:rgba(16,185,129,.06)}.shift{position:relative;width:100%;min-height:32px;display:flex;flex-direction:column;justify-content:center;padding:6px 11px;border:1px solid;border-radius:var(--shift-radius);font-family:var(--font-mono);font-size:12.5px;font-weight:600;letter-spacing:.01em;overflow:hidden;transition:transform .12s ease,box-shadow .12s ease,filter .12s ease}.shift:hover{transform:translateY(-1px);box-shadow:0 4px 16px -8px rgba(0,0,0,.7);filter:brightness(1.08)}.shift-time{position:relative;z-index:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-feature-settings:"tnum"}.shift-bar{position:absolute;left:0;top:0;bottom:0;width:3.5px}.cell-add-mini{width:100%;min-height:18px;display:inline-flex;align-items:center;justify-content:center;color:var(--fg-3);border:1px dashed transparent;border-radius:5px;opacity:.72;line-height:1}.cell-add-mini:hover{color:var(--accent-2);border-color:rgba(52,211,153,.25);background:rgba(16,185,129,.05);opacity:1}.hero-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 16px;border-top:1px solid var(--line);background:var(--surf);font-size:11.5px;flex:none}.legend{gap:12px;flex-wrap:wrap;justify-content:flex-end}.legend,.lg{display:inline-flex}.lg{align-items:center;gap:6px;font-size:11.5px;color:var(--fg-2)}.schedule-feedback{flex:none;max-height:min(28vh,240px);overflow:auto;scrollbar-gutter:stable}.team-shell{display:flex;flex-direction:column}.team-shell>div:nth-child(2)>div{transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.team-shell>div:nth-child(2)>div:hover{transform:translateY(-2px);box-shadow:0 6px 20px -8px rgba(0,0,0,.5);border-color:var(--line-2)!important}.team-table-region table thead th{font-size:11px!important;font-weight:600!important;letter-spacing:.06em!important;text-transform:uppercase!important;color:var(--fg-3)!important}.team-table-region table tbody tr{transition:background .1s ease!important}.team-table-region{min-height:0;display:flex;flex:1;flex-direction:column}.team-workarea-list{display:grid;max-height:min(28vh,260px);overflow-y:auto;scrollbar-gutter:stable}.team-workarea-list>div{transition:background .1s ease}.team-workarea-list>div:hover{background:var(--surf-2)}.ct-stat{transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.ct-stat:hover{transform:translateY(-2px);box-shadow:0 6px 20px -8px rgba(0,0,0,.5);border-color:var(--line-2)}.ct-stat strong{font-size:22px!important;font-weight:700!important;font-feature-settings:"tnum"}.ct-row{transition:background .1s ease!important}.ct-glyph{transition:transform .12s ease}.ct-row:hover .ct-glyph{transform:scale(1.06)}.team-restricted-body{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:24px}.team-restricted-card{width:min(520px,100%);border:1px solid var(--line);border-radius:var(--r-inner);background:var(--surf-1);padding:18px;color:var(--fg-2)}.rail{gap:12px;min-width:0}.rail,.rail-card{display:flex;flex-direction:column}.rail-card{background:var(--surf);border:1px solid var(--line);border-radius:var(--r-card);padding:14px 14px 12px;gap:10px}.rail-head{display:flex;align-items:baseline;justify-content:space-between}.rail-head h3{margin:0;font-size:13px;font-weight:600;letter-spacing:-.005em}.link{border:0;background:transparent;color:var(--accent-2);font-size:11.5px;font-weight:500}.link:hover{color:var(--accent)}.rail-clock{padding:4px 0 2px}.rail-time{font-family:var(--font-mono);font-size:32px;font-weight:500;letter-spacing:-.02em;display:flex;align-items:baseline}.rail-time span{color:var(--fg)}.rail-clock-sub{font-size:11.5px;color:var(--fg-3);display:flex;align-items:center;gap:6px;margin-top:2px}.rail-coverage{display:flex;flex-direction:column;gap:6px;padding-top:4px;border-top:1px solid var(--line)}.cov-row{display:flex;align-items:center;justify-content:space-between;font-size:11.5px;color:var(--fg)}.cov-bar{height:4px;background:var(--surf-3);border-radius:var(--r-pill);overflow:hidden}.cov-fill{height:100%;background:var(--accent);border-radius:inherit}.cov-fill.alt{background:#7dd3fc}.act-list,.up-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.up-list li{display:flex;align-items:center;gap:10px;padding:4px 0}.up-avatar{width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;border:1px solid;flex:none}.up-meta{flex:1;min-width:0}.up-name{font-size:12.5px;font-weight:500}.up-shift{font-size:11px}.up-in{font-family:var(--font-mono);font-size:10.5px;color:var(--fg-2);background:var(--surf-2);border:1px solid var(--line);border-radius:var(--r-pill);padding:2px 8px}.act-list li{display:grid;grid-template-columns:8px 1fr auto;gap:9px;align-items:start;padding:4px 0;font-size:12px;line-height:1.4}.act-pip{width:6px;height:6px;border-radius:50%;margin-top:7px;background:var(--fg-3)}.act-pip.request{background:#fbbf24}.act-pip.swap{background:#7dd3fc}.act-pip.pub{background:var(--accent)}.act-pip.clock{background:#a78bfa}.act-pip.warn{background:#f87171}.act-who{color:var(--fg);font-weight:500}.act-t{white-space:nowrap}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--surf-3);border:2px solid var(--bg);border-radius:8px}::-webkit-scrollbar-thumb:hover{background:var(--line-3)}::-webkit-scrollbar-corner{background:transparent}@media (max-width:1200px){.stats{grid-template-columns:repeat(2,1fr)}.main-grid{grid-template-columns:1fr}.schedule-toolbar{grid-template-columns:minmax(0,1fr) auto}.schedule-toolbar-state{grid-column:1/-1;justify-self:end}}@media (max-width:980px){.login-root{grid-template-columns:1fr}.login-right{display:none}.schedule-toolbar{grid-template-columns:1fr}.schedule-toolbar .wk-nav,.schedule-toolbar-state{justify-self:start}.schedule-toolbar-state{width:auto}}.modal-overlay{position:fixed;inset:0;background:rgba(3,7,13,.88);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .15s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-box{background:var(--surf);border:1px solid var(--line);border-radius:10px;box-shadow:0 24px 70px rgba(0,0,0,.56);max-height:90vh;overflow-y:auto;scrollbar-gutter:stable;animation:slideUp .2s ease}@keyframes slideUp{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--line)}.modal-body{padding:20px;display:flex;flex-direction:column;gap:16px}.modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:16px 20px;border-top:1px solid var(--line)}.modal-error{background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.3);color:#ef4444;padding:10px 14px;border-radius:8px;font-size:13px}.cmdk-overlay{position:fixed;inset:0;background:rgba(3,7,13,.7);backdrop-filter:blur(2px);display:flex;align-items:flex-start;justify-content:center;padding-top:14vh;z-index:1000;animation:fadeIn .12s ease}.cmdk-box{width:min(560px,92vw);background:var(--surf);border:1px solid var(--line);border-radius:10px;box-shadow:0 24px 70px rgba(0,0,0,.56);overflow:hidden;animation:slideUp .15s ease}.cmdk-input-row{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line);color:var(--fg-3)}.cmdk-input{flex:1;background:transparent;border:none;outline:none;color:var(--fg);font-size:14px}.cmdk-input::placeholder{color:var(--fg-3)}.cmdk-kbd{font-size:10px;color:var(--fg-3);background:var(--surf-2);border:1px solid var(--line);border-radius:4px;padding:1px 5px}.cmdk-list{max-height:340px;overflow-y:auto;scrollbar-gutter:stable;padding:6px}.cmdk-section{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--fg-3);padding:8px 10px 4px}.cmdk-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:none;background:transparent;color:var(--fg-2);font-size:13px;border-radius:7px;cursor:pointer;text-align:left}.cmdk-item.on{background:var(--surf-2);color:var(--fg)}.cmdk-item-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;color:var(--fg-3);flex-shrink:0}.cmdk-item-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmdk-item-sub{font-size:11px;color:var(--fg-3);flex-shrink:0}.cmdk-empty{padding:22px 12px;text-align:center;font-size:13px;color:var(--fg-3)}.form-group{display:flex;flex-direction:column;gap:6px}.form-label{font-size:12px;font-weight:600;color:var(--fg-2);letter-spacing:.02em}.form-input{background:var(--surf-2);border:1px solid var(--line);border-radius:8px;color:var(--fg);font-size:13px;padding:9px 12px;outline:none;transition:border-color .15s;width:100%}.form-input:focus{border-color:var(--accent)}.form-input:disabled{opacity:.5;cursor:not-allowed}select.form-input{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%23888' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}.ui-select{position:relative;width:100%}.ui-select-trigger{width:100%;min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);border-radius:8px;background:var(--surf-2);color:var(--fg);padding:0 10px;font-family:inherit;font-size:13px;font-weight:600;text-align:left;cursor:pointer;outline:none;transition:border-color .15s,box-shadow .15s,background .15s}.ui-select-trigger:hover{border-color:var(--line-2);background:color-mix(in oklch,var(--surf-2) 80%,white 4%)}.ui-select-trigger.is-open,.ui-select-trigger:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklch,var(--accent) 16%,transparent)}.ui-select-trigger:disabled{opacity:.55;cursor:not-allowed}.ui-select-value{min-width:0;display:inline-flex;align-items:center;gap:8px}.ui-select-value span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-select-chevron{color:var(--fg-3);line-height:0;flex:none;display:inline-flex;align-items:center;transition:transform .15s ease,color .15s ease}.ui-select-trigger:hover .ui-select-chevron{color:var(--fg-2)}.ui-select-trigger.is-open .ui-select-chevron{transform:rotate(180deg);color:var(--accent-2)}.ui-select-dot{width:8px;height:8px;border-radius:999px;flex:none}.ui-select-menu{position:fixed;z-index:9999;max-height:240px;overflow:auto;scrollbar-gutter:stable;display:grid;gap:2px;padding:6px;border:1px solid var(--line-2);border-radius:9px;background:#0f1724;box-shadow:0 18px 48px rgba(0,0,0,.46)}.ui-select-option{width:100%;min-height:32px;display:flex;align-items:center;gap:8px;border:0;border-radius:6px;background:transparent;color:var(--fg-2);padding:7px 9px;font-family:inherit;font-size:13px;font-weight:600;text-align:left;cursor:pointer}.ui-select-option.is-selected,.ui-select-option:hover{background:#1e3145;color:var(--fg)}.ui-select-option:disabled{opacity:.45;cursor:not-allowed}.ui-select-option-text{min-width:0;display:grid;gap:2px}.ui-select-option-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-select-option-meta{color:var(--fg-3);font-size:11px;font-weight:500}.modal-box{scrollbar-width:thin;scrollbar-color:var(--line-3) transparent}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.topbar-menu-btn{display:none;width:36px;height:36px;align-items:center;justify-content:center;background:transparent;border:1px solid var(--line);border-radius:var(--r-sm);color:var(--fg-2);flex:none}.topbar-menu-btn:hover{color:var(--fg);background:var(--surf-2)}.sb-close-mobile{display:none;width:30px;height:30px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:7px;background:transparent;color:var(--fg-3);margin-left:auto}.sb-close-mobile:hover{color:var(--fg);background:var(--surf-2)}.sb-overlay{display:none}@media (max-width:768px){body{overflow:auto}.app{grid-template-columns:1fr}.sidebar{position:fixed;inset:0;z-index:100;width:min(300px,85vw);transform:translateX(-100%);transition:transform .25s ease}.sidebar.open{transform:translateX(0)}.sb-overlay{display:block;position:fixed;inset:0;z-index:99;background:rgba(0,0,0,.5);backdrop-filter:blur(2px)}.sb-close-mobile,.topbar-menu-btn{display:inline-flex}.sb-top{display:flex;align-items:center}.topbar{padding:10px 14px;gap:10px}.crumbs{font-size:12px}.crumb-sep,.crumbs .muted{display:none}.search{width:auto;min-width:0;flex:1;max-width:200px}.search input::placeholder{font-size:11px}.search kbd{display:none}.page{padding:14px 12px 20px;gap:14px}.page-head{flex-direction:column;align-items:flex-start;gap:10px}.page-head h1{font-size:18px}.stats{grid-template-columns:repeat(2,1fr);gap:8px}.schedule-toolbar{grid-template-columns:1fr;gap:8px}.schedule-toolbar .wk-nav,.schedule-toolbar-state{justify-self:start}.schedule-toolbar-state{width:auto}.hero-head{flex-direction:column;gap:10px;padding:12px}.hero-title{min-width:0}.hero-actions{justify-content:flex-start;width:100%}.seg{overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap}.grid{grid-template-columns:160px repeat(7,minmax(100px,1fr));width:max(100%,860px)}.g-name{padding:0 8px}.g-name-text{font-size:11.5px}.g-avatar{width:24px;height:24px;font-size:9px}.g-cell{padding:6px}.shift{font-size:11px;padding:4px 7px;min-height:26px}.g-day{padding:8px;min-height:44px}.g-day-name{font-size:10.5px}.schedule-actionbar{padding:8px 12px;font-size:11px}.hero-foot{padding:8px 12px;font-size:10.5px;flex-wrap:wrap}.schedule-feedback{max-height:min(25vh,200px)}.notif-panel{right:-60px}.modal-box,.notif-panel{width:calc(100vw - 24px)}.modal-box{max-width:100%;margin:12px}.schedule-metrics{gap:4px;margin-top:6px}.schedule-metrics span{font-size:10.5px;padding:2px 6px}.se-drawer{max-width:100vw!important}.cov-panel,.se-drawer{width:100vw!important}.login-root{grid-template-columns:1fr}.login-right{display:none}.login-left{padding:20px}}@media (max-width:480px){.stats{grid-template-columns:1fr}.stat-value{font-size:24px}.search{display:none}.grid{grid-template-columns:120px repeat(7,minmax(88px,1fr));width:max(100%,740px)}.g-name-role{display:none}.g-avatar{width:22px;height:22px;font-size:8.5px}}.dv2{display:flex;flex-direction:column;gap:14px;padding:20px 24px;height:100%;overflow:hidden}.dv2-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.dv2-greeting{margin:0;font-size:24px;font-weight:700;color:var(--fg);letter-spacing:-.025em}.dv2-subtitle{margin:4px 0 0;font-size:13px;color:var(--fg-3)}.dv2-header-actions{display:flex;gap:8px;align-items:center}.dv2-muted{color:var(--fg-3)}.dv2-small{font-size:12px}.dv2-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex:none}.dv2-dot.pulse{background:var(--accent);box-shadow:0 0 0 0 color-mix(in oklch,var(--accent) 50%,transparent);animation:dv2-pulse 2.2s ease-out infinite}@keyframes dv2-pulse{0%{box-shadow:0 0 0 0 color-mix(in oklch,var(--accent) 50%,transparent)}70%{box-shadow:0 0 0 8px color-mix(in oklch,var(--accent) 0%,transparent)}to{box-shadow:0 0 0 0 transparent}}.dv2-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.dv2-stat{background:var(--surf);border:1px solid var(--line);border-radius:var(--r-card,12px);padding:14px 18px 0;position:relative;overflow:hidden;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}.dv2-stat:hover{border-color:var(--line-2);box-shadow:0 4px 20px -6px rgba(0,0,0,.3);transform:translateY(-1px)}.dv2-stat-top{display:flex;align-items:center;justify-content:space-between}.dv2-stat-label{font-size:12px;color:var(--fg-3);letter-spacing:.01em}.dv2-stat-delta{font-size:10.5px;font-weight:600;padding:3px 8px;border-radius:999px;border:1px solid var(--line);color:var(--fg-2);letter-spacing:.01em}.dv2-stat-delta.up{color:#34d399;background:rgba(52,211,153,.08);border-color:rgba(52,211,153,.22)}.dv2-stat-delta.down{color:#f87171;background:rgba(248,113,113,.08);border-color:rgba(248,113,113,.22)}.dv2-stat-value{font-size:36px;font-weight:700;letter-spacing:-.035em;line-height:1.05;margin-top:8px;color:var(--fg)}.dv2-spark{margin-top:8px;margin-left:-18px;margin-right:-18px}.dv2-main{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:12px;align-items:start;flex:1;min-height:0}.dv2-hero{background:var(--surf);border:1px solid var(--line);border-radius:var(--r-card,12px);overflow:hidden;display:flex;flex-direction:column;min-height:0;max-height:100%}.dv2-hero-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-bottom:1px solid var(--line);flex-wrap:wrap}.dv2-hero-title h2{margin:0;font-size:15px;font-weight:600;letter-spacing:-.01em}.dv2-hero-sub{font-size:12px;color:var(--fg-3);display:flex;align-items:center;gap:10px;margin-top:3px;flex-wrap:wrap}.dv2-hero-sub strong{color:var(--fg-2);font-weight:500}.dv2-status-chip{display:inline-flex;align-items:center;gap:6px;padding:2px 8px 2px 6px;background:color-mix(in oklch,var(--accent) 10%,var(--surf-2));border:1px solid color-mix(in oklch,var(--accent) 20%,transparent);color:var(--accent-2);border-radius:999px;font-size:11px}.dv2-hero-actions{display:flex;align-items:center;gap:8px}.dv2-dept-pills{display:inline-flex;gap:8px}.dv2-dept-pill{gap:5px;font-size:11.5px;color:var(--fg-2)}.dv2-dept-pill,.dv2-filter-group{display:inline-flex;align-items:center}.dv2-filter-group{gap:2px;background:var(--surf-2);border:1px solid var(--line-2);border-radius:999px;padding:3px 4px}.dv2-filter-pill{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:500;font-family:inherit;color:var(--fg-3);padding:4px 12px;border:1px solid transparent;background:transparent;border-radius:999px;cursor:pointer;transition:color .12s ease,background .12s ease,border-color .12s ease,box-shadow .12s ease;white-space:nowrap}.dv2-filter-pill:hover{color:var(--fg-2);background:var(--surf-3)}.dv2-filter-pill.active{color:var(--fg);background:var(--surf);border-color:var(--line-2);font-weight:600;box-shadow:0 1px 4px rgba(0,0,0,.15)}.dv2-fullview-btn{display:inline-flex;align-items:center;gap:6px;background:transparent;color:var(--fg-2);border:1px solid var(--line-2);border-radius:999px;padding:6px 14px 6px 12px;font-size:12.5px;font-weight:500;font-family:inherit;cursor:pointer;transition:all .12s ease}.dv2-fullview-btn:hover{color:var(--fg);border-color:var(--line-3);background:var(--surf-2);box-shadow:0 2px 8px rgba(0,0,0,.15)}.dv2-hero-empty{padding:48px 24px;text-align:center;color:var(--fg-3);display:flex;flex-direction:column;align-items:center;gap:12px}.dv2-hero-empty p{margin:0}.dv2-hero-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 16px;border-top:1px solid var(--line);font-size:11.5px}.dv2-legend{display:inline-flex;gap:12px}.dv2-lg{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--fg-2)}.dv2-grid-wrap{overflow:auto}.dv2-grid{display:grid;grid-template-columns:150px repeat(7,1fr);background:var(--surf)}.dv2-g-corner{position:sticky;left:0;top:0;z-index:3;background:var(--surf);border-bottom:1px solid var(--line);padding:10px;display:flex;align-items:center}.dv2-g-corner-text{font-size:12px;color:var(--fg-2)}.dv2-g-corner-text,.dv2-g-day{display:flex;gap:6px;align-items:center}.dv2-g-day{border-bottom:1px solid var(--line);border-left:1px solid var(--line);padding:8px 10px;background:var(--surf);justify-content:space-between}.dv2-g-day-top{display:flex;flex-direction:column}.dv2-g-day-name{font-size:11.5px;font-weight:600;color:var(--fg-2);letter-spacing:.06em;text-transform:uppercase}.dv2-g-day-num{font-size:10.5px;color:var(--fg-3);margin-top:1px}.dv2-g-day-count{font-size:10px;color:var(--fg-3)}.dv2-g-day.today{background:color-mix(in oklch,var(--accent) 6%,var(--surf))}.dv2-g-day.today .dv2-g-day-name,.dv2-g-day.today .dv2-g-day-num{color:var(--accent-2)}.dv2-g-row{display:contents}.dv2-g-name{position:sticky;left:0;z-index:2;display:flex;align-items:center;gap:8px;padding:0 10px;min-height:var(--rowH);background:var(--surf);border-bottom:1px solid var(--line)}.dv2-g-avatar{width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;letter-spacing:.02em;border:1px solid;flex:none}.dv2-g-name-meta{min-width:0}.dv2-g-name-text{font-size:12.5px;font-weight:500;color:var(--fg);line-height:1.2}.dv2-g-name-role,.dv2-g-name-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dv2-g-name-role{font-size:10px;color:var(--fg-3);margin-top:1px}.dv2-g-cell{border-bottom:1px solid var(--line);border-left:1px solid var(--line);min-height:var(--rowH);padding:4px;display:flex;flex-direction:column;justify-content:center;gap:3px;background:var(--surf);transition:background .1s}.dv2-g-cell:hover{background:var(--surf-2)}.dv2-g-cell.today{background:color-mix(in oklch,var(--accent) 3%,var(--surf))}.dv2-g-cell.today:hover{background:color-mix(in oklch,var(--accent) 6%,var(--surf))}.dv2-g-cell.empty{justify-content:center;align-items:center}.dv2-g-empty{font-size:14px;color:var(--line-3)}.dv2-g-shift{position:relative;width:100%;display:flex;flex-direction:column;justify-content:center;padding:6px 8px 6px 11px;border:1px solid;border-radius:7px;overflow:hidden;transition:transform .12s ease,box-shadow .12s ease}.dv2-g-shift:hover{transform:translateY(-1px);box-shadow:0 4px 16px -8px rgba(0,0,0,.7);filter:brightness(1.08)}.dv2-g-shift-time{position:relative;z-index:1;font-size:12px;font-weight:600;letter-spacing:.01em;font-feature-settings:"tnum";line-height:1.3}.dv2-g-shift-bar{position:absolute;left:0;top:0;bottom:0;width:3px}.dv2-rail{gap:12px;min-width:0;max-height:100%;overflow:hidden}.dv2-rail,.dv2-rail-card{display:flex;flex-direction:column}.dv2-rail-card{background:var(--surf);border:1px solid var(--line);border-radius:var(--r-card,12px);padding:14px 14px 12px;gap:10px;flex-shrink:0}.dv2-rail-card:last-child{flex-shrink:1;min-height:0;overflow:hidden}.dv2-rail-card.dv2-up-card{flex-shrink:1;min-height:150px;overflow:hidden}.dv2-rail-head{display:flex;align-items:baseline;justify-content:space-between}.dv2-rail-head h3{margin:0;font-size:13px;font-weight:600;letter-spacing:-.005em}.dv2-link{border:0;background:transparent;color:var(--accent-2);font-size:11.5px;font-weight:500;cursor:pointer;font-family:inherit;padding:0}.dv2-link:hover{color:var(--accent)}.dv2-rail-empty{font-size:12px;color:var(--fg-3);text-align:center;padding:12px 0}.dv2-rail-clock{padding:4px 0 2px}.dv2-rail-time{font-size:36px;font-weight:600;letter-spacing:-.025em;display:flex;align-items:baseline;color:var(--fg);font-feature-settings:"tnum"}.dv2-rail-clock-sub{font-size:11.5px;color:var(--fg-3);display:flex;align-items:center;gap:6px;margin-top:2px}.dv2-rail-coverage{display:flex;flex-direction:column;gap:6px;padding-top:8px;border-top:1px solid var(--line)}.dv2-cov-row{display:flex;align-items:center;justify-content:space-between;font-size:11.5px;color:var(--fg)}.dv2-cov-bar{height:4px;background:var(--surf-3);border-radius:999px;overflow:hidden}.dv2-cov-fill{height:100%;background:var(--accent);border-radius:inherit;transition:width .3s ease}.dv2-cov-fill.alt{background:#7dd3fc}.dv2-up-list{list-style:none;margin:0;padding:0 2px 0 0;display:flex;flex-direction:column;gap:8px;flex:1;min-height:0;overflow-y:auto}.dv2-up-list li{display:flex;align-items:center;gap:10px;padding:4px 0}.dv2-up-avatar{width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;border:1px solid;flex:none}.dv2-up-meta{flex:1;min-width:0}.dv2-up-name{font-size:12.5px;font-weight:500}.dv2-up-shift{font-size:11px}.dv2-up-in{font-size:10.5px;color:var(--fg-2);background:var(--surf-2);border:1px solid var(--line-2);border-radius:999px;padding:3px 9px;white-space:nowrap;font-weight:500;font-feature-settings:"tnum"}.dv2-act-list{list-style:none;margin:0;padding:0 0 8px;display:flex;flex-direction:column;gap:8px;overflow-y:auto;min-height:0;flex:1;mask-image:linear-gradient(180deg,#000 calc(100% - 28px),transparent);-webkit-mask-image:linear-gradient(180deg,#000 calc(100% - 28px),transparent)}.dv2-act-list::-webkit-scrollbar{width:4px}.dv2-act-list::-webkit-scrollbar-track{background:transparent}.dv2-act-list::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:4px}.dv2-act-list::-webkit-scrollbar-thumb:hover{background:var(--line-3)}.dv2-act-list li{display:grid;grid-template-columns:8px 1fr auto;gap:9px;align-items:start;padding:4px 0;font-size:12px;line-height:1.4}.dv2-act-pip{width:6px;height:6px;border-radius:50%;margin-top:7px;background:var(--fg-3)}.dv2-act-who{color:var(--fg);font-weight:500}.dv2-act-text{min-width:0}.dv2-act-t{white-space:nowrap}@media (max-width:1200px){.dv2-stats{grid-template-columns:repeat(2,1fr)}.dv2-main{grid-template-columns:1fr}.dv2{overflow:auto;height:auto}.dv2-rail{max-height:none;overflow:visible}.dv2-rail-card:last-child{flex-shrink:0;overflow:visible}.dv2-act-list{max-height:300px;mask-image:none;-webkit-mask-image:none}.dv2-act-list,.dv2-hero{max-height:none}}@media (max-width:768px){.dv2{padding:14px;gap:12px}.dv2-stats{grid-template-columns:repeat(2,1fr);gap:8px}.dv2-stat{padding:10px 12px 0}.dv2-stat-value{font-size:24px}.dv2-greeting{font-size:18px}.dv2-header-actions{width:100%}.dv2-header-actions .btn-primary,.dv2-header-actions .btn-secondary{flex:1}.dv2-rail-time{font-size:28px}.dv2-hero-head{flex-direction:column;gap:10px}.dv2-hero-actions{width:100%;justify-content:space-between}}@media (max-width:480px){.dv2-stats{grid-template-columns:1fr}}.set-grid{display:grid;grid-template-columns:220px minmax(0,1fr);gap:24px;align-items:start;height:100%}.set-side{position:sticky;top:0;display:flex;flex-direction:column;gap:4px;padding:20px 0}.set-side-section{text-transform:uppercase;font-size:10.5px;font-weight:600;letter-spacing:.08em;color:var(--fg-3);padding:6px 10px;margin-top:12px}.set-side-section:first-child{margin-top:0}.set-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px}.set-item{width:100%;text-align:left;border:0;background:transparent;color:var(--fg-2);font-size:13px;font-family:inherit;padding:7px 10px;border-radius:7px;cursor:pointer;display:flex;align-items:center;gap:8px;transition:background .1s ease,color .1s ease}.set-item:hover{background:var(--surf-2);color:var(--fg)}.set-item.on{background:var(--surf);color:var(--fg);font-weight:600;box-shadow:inset 3px 0 0 var(--accent)}.plan-card{margin-top:4px;position:relative;overflow:hidden;background:radial-gradient(120% 80% at 100% 0,color-mix(in oklch,var(--accent) 14%,transparent) 0,transparent 70%),var(--surf);border:1px solid color-mix(in oklch,var(--accent) 22%,var(--line-2));border-radius:11px;padding:14px 14px 0}.plan-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent)}.plan-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.plan-pill{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-fg,#fff);background:var(--accent);padding:3px 9px;border-radius:999px;box-shadow:inset 0 1px 0 rgba(255,255,255,.18)}.plan-card-body{display:flex;flex-direction:column;gap:6px;padding-bottom:12px}.plan-seat-row{display:flex;align-items:baseline;justify-content:space-between;font-size:11.5px;color:var(--fg-2)}.plan-seat-bar{height:4px;background:var(--surf-3);border-radius:999px;overflow:hidden}.plan-seat-fill{height:100%;background:linear-gradient(90deg,var(--accent) 0,var(--accent-2,var(--accent)) 100%);border-radius:inherit}.plan-card-meta{display:inline-flex;align-items:center;gap:6px;margin-top:2px;font-size:11.5px;color:var(--fg-3)}.plan-card-meta svg{color:var(--accent-2,var(--accent))}.plan-cta{width:calc(100% + 28px);margin:0 -14px;padding:9px 14px;display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.02);border:0;border-top:1px solid color-mix(in oklch,var(--accent) 20%,var(--line));color:var(--fg);font-size:12.5px;font-weight:500;font-family:inherit;cursor:pointer;transition:background .12s,color .12s}.plan-cta:hover{background:color-mix(in oklch,var(--accent) 8%,var(--surf-2));color:var(--accent-2,var(--accent))}.plan-cta svg{color:var(--fg-3);transition:transform .14s,color .12s}.plan-cta:hover svg{color:var(--accent-2,var(--accent));transform:translateX(2px)}.set-content{display:flex;flex-direction:column;gap:16px;min-width:0;padding:20px 0}.set-card{background:var(--surf);border:1px solid var(--line);border-radius:12px;overflow:hidden}.set-card>header{padding:18px 22px 14px;border-bottom:1px solid var(--line)}.set-card>header h2{margin:0 0 4px;font-size:15.5px;font-weight:600;letter-spacing:-.01em}.set-card>header p{margin:0;color:var(--fg-3);font-size:13px}.set-fields{gap:14px;padding:18px 22px}.set-field,.set-fields{display:flex;flex-direction:column}.set-field{gap:6px}.set-field label{font-size:12px;color:var(--fg-2);font-weight:500}.set-field input{background:var(--surf-2);border:1px solid var(--line-2);color:var(--fg);border-radius:8px;padding:9px 12px;font-size:13.5px;outline:none;font-family:inherit;transition:border-color .12s ease,box-shadow .12s ease}.set-field input:focus{border-color:color-mix(in oklch,var(--accent) 50%,var(--line-3));box-shadow:0 0 0 3px color-mix(in oklch,var(--accent) 18%,transparent)}.set-field input:disabled{opacity:.5;cursor:not-allowed}.set-field-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.set-hint{font-size:11.5px;color:var(--fg-3);line-height:1.45}.set-switches{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:10px;background:var(--surf-2);margin-top:4px;overflow:hidden}.set-switch{display:flex;align-items:flex-start;gap:14px;justify-content:space-between;padding:13px 14px;cursor:pointer;transition:background .12s ease}.set-switch+.set-switch{border-top:1px solid var(--line)}.set-switch:hover{background:color-mix(in oklch,var(--fg) 3%,transparent)}.set-switch.locked{cursor:default}.set-switch.locked:hover{background:transparent}.set-switch>div:first-child{flex:1;min-width:0;max-width:68ch;display:flex;flex-direction:column;gap:3px}.set-switch-title{font-size:13px;font-weight:500;color:var(--fg);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.set-switch-desc{font-size:11.5px;color:var(--fg-3);line-height:1.5}.set-switch>.tgl{margin-top:2px;flex-shrink:0}.set-plan-tag{font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--accent-2,#34d399);background:color-mix(in oklch,var(--accent-2,#34d399) 12%,transparent);border:1px solid color-mix(in oklch,var(--accent-2,#34d399) 30%,transparent);border-radius:4px;padding:1px 6px}.input-prefix{display:flex;align-items:stretch;background:var(--surf-2);border:1px solid var(--line-2);border-radius:var(--r-sm);overflow:hidden}.input-prefix:focus-within{border-color:color-mix(in oklch,var(--accent) 50%,var(--line-3));box-shadow:0 0 0 3px color-mix(in oklch,var(--accent) 18%,transparent)}.input-prefix .prefix{padding:9px 6px 9px 12px;border-right:1px solid var(--line)}.input-prefix .prefix,.input-prefix .suffix{font-family:var(--font-mono);font-size:12.5px;color:var(--fg-3);background:var(--surf-3);white-space:nowrap;display:inline-flex;align-items:center}.input-prefix .suffix{padding:9px 12px 9px 6px;border-left:1px solid var(--line)}.input-prefix input{flex:1;min-width:0;background:transparent;border:0;color:var(--fg);font:inherit;font-size:13.5px;padding:9px 12px;outline:none}.loc-list{display:flex;flex-direction:column;padding:6px 12px 12px}.loc-item{display:flex;align-items:center;gap:14px;padding:12px 10px;border-radius:8px}.loc-item+.loc-item{border-top:1px solid var(--line);border-radius:0}.loc-item:hover{background:var(--surf-2)}.loc-mark{width:34px;height:34px;border-radius:8px;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:600;font-size:11.5px;letter-spacing:.02em;flex:none}.loc-meta{flex:1;min-width:0}.loc-name{font-size:13.5px;font-weight:500;color:var(--fg);display:inline-flex;align-items:center;gap:8px}.set-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 22px;border-top:1px solid var(--line);background:var(--bg-2)}.set-foot>div{display:inline-flex;gap:8px}.set-avatar-row{display:flex;align-items:center;gap:16px;padding-bottom:6px}.set-dept-list{display:flex;flex-direction:column;padding:6px 12px 12px}.set-dept-row{display:flex;align-items:center;gap:14px;padding:12px 10px;border-radius:8px;transition:background .1s ease}.set-dept-row+.set-dept-row{border-top:1px solid var(--line);border-radius:0}.set-dept-row:hover{background:var(--surf-2)}.set-dept-dot{width:16px;height:16px;border-radius:4px;flex:none}.set-dept-meta{flex:1;min-width:0}.set-dept-name{font-size:13.5px;font-weight:500;color:var(--fg)}.set-dept-sub{font-size:11.5px;color:var(--fg-3);margin-top:1px}.set-dept-archived{opacity:.6}.set-dept-actions{display:flex;gap:6px;align-items:center;flex:none}.set-add-row{display:inline-flex;align-items:center;gap:8px;margin-top:6px;padding:9px 12px;background:transparent;border:1px dashed var(--line-2);border-radius:8px;color:var(--fg-3);font-size:12.5px;font-weight:500;font-family:inherit;align-self:flex-start;cursor:pointer;transition:color .1s,border-color .1s,background .1s}.set-add-row:hover{color:var(--fg);border-color:var(--line-3);background:var(--surf-2)}.dept-list{display:flex;flex-direction:column;padding:6px 12px 12px}.dept-row{display:flex;align-items:center;gap:14px;padding:12px 10px;border-radius:8px}.dept-row+.dept-row{border-top:1px solid var(--line);border-radius:0}.dept-row:hover{background:var(--surf-2)}.grip{color:var(--fg-3);display:inline-flex;cursor:grab;flex:none}.sw-lg{width:16px;height:16px;border-radius:4px;flex:none}.dept-meta{flex:1;min-width:0}.dept-name{font-size:13.5px;font-weight:500;color:var(--fg)}.dept-colors{display:inline-flex;gap:6px;flex:none}.sw-pick{width:16px;height:16px;border-radius:50%;border:1px solid var(--line-2);cursor:pointer;transition:box-shadow .1s}.sw-pick:hover{opacity:.8}.sw-pick.on{box-shadow:0 0 0 2px var(--bg-2),0 0 0 3px var(--fg)}.row-more{border:0;background:transparent;color:var(--fg-3);width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;cursor:pointer;flex:none}.row-more:hover{color:var(--fg);background:var(--surf-3)}.add-row{display:inline-flex;align-items:center;gap:8px;margin-top:6px;padding:9px 12px;background:transparent;border:1px dashed var(--line-2);border-radius:8px;color:var(--fg-3);font-size:12.5px;font-weight:500;font-family:inherit;align-self:flex-start;cursor:pointer}.add-row:hover{color:var(--fg);border-color:var(--line-3);background:var(--surf-2)}.set-avatar{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#34d399,#10b981);color:#04130b;display:inline-flex;align-items:center;justify-content:center;font-weight:600;font-size:18px;flex:none}.set-avatar,.set-field select{border:1px solid var(--line-2)}.set-field select{background:var(--surf-2);color:var(--fg);border-radius:var(--r-sm);font-size:13.5px;outline:none;font-family:inherit;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%236c7689' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>");background-repeat:no-repeat;background-position:right 12px center;padding:9px 32px 9px 12px;transition:border-color .12s ease,box-shadow .12s ease}.set-field select:focus{border-color:color-mix(in oklch,var(--accent) 50%,var(--line-3));box-shadow:0 0 0 3px color-mix(in oklch,var(--accent) 18%,transparent)}.tgl{width:34px;height:20px;border-radius:999px;background:var(--surf-3);border:1px solid var(--line-2);position:relative;flex:none;transition:background .15s ease,border-color .15s ease;padding:0;cursor:pointer}.tgl-thumb{position:absolute;top:1px;left:1px;width:16px;height:16px;border-radius:50%;background:var(--fg);transition:transform .15s ease,background .15s ease;pointer-events:none}.tgl.on{background:var(--accent);border-color:color-mix(in oklch,var(--accent) 70%,black)}.tgl.on .tgl-thumb{transform:translateX(14px);background:var(--accent-fg)}.notif-list{display:flex;flex-direction:column;padding:6px 12px 12px}.notif-row{display:flex;align-items:center;gap:14px;padding:12px 10px;border-radius:8px}.notif-row+.notif-row{border-top:1px solid var(--line);border-radius:0}.notif-title{font-size:13.5px;color:var(--fg);font-weight:500}.notif-row>div:first-child{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.notif-row .link{color:var(--accent-2);text-decoration:none;border-bottom:1px solid color-mix(in oklch,var(--accent) 35%,transparent)}.inline-select{background:var(--surf-2);border:1px solid var(--line-2);color:var(--fg);border-radius:7px;padding:6px 28px 6px 10px;font-size:12.5px;font-family:inherit;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%236c7689' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>");background-repeat:no-repeat;background-position:right 8px center;outline:none;cursor:pointer}.billing-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;border-bottom:1px solid var(--line)}.billing-plan{font-size:18px;font-weight:600;letter-spacing:-.01em;display:inline-flex;align-items:center;gap:10px;margin:4px 0 2px}.billing-card-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 22px}.cc{display:inline-flex;align-items:center;gap:12px}.cc-brand{font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.08em;padding:5px 9px;background:var(--surf-2);border:1px solid var(--line-2);border-radius:5px;color:var(--fg)}.cc-num{font-size:13.5px;color:var(--fg)}.badge-mini{font-size:10px;letter-spacing:.04em;text-transform:uppercase;padding:1px 6px;border-radius:var(--r-pill);background:var(--surf-3);color:var(--fg-2);border:1px solid var(--line-2);font-weight:600}.badge-mini.accent{background:color-mix(in oklch,var(--accent) 16%,var(--surf-3));color:var(--accent-2);border-color:color-mix(in oklch,var(--accent) 30%,transparent)}@media (max-width:720px){.set-grid{grid-template-columns:1fr}.set-side{position:static}.set-field-row{grid-template-columns:1fr}}