@import url("https://fonts.googleapis.com/css2?family=Barlow:wght@400;500;700&family=Barlow+Condensed:wght@400;600&display=swap");:root{--color-bg:#f2f2f3;--color-surface:#e9e9ea;--color-text:#1d1f20;--color-accent:#5980a6;--color-accent-2:#728fab;--color-divider:color-mix(in srgb,#1d1f20 16%,transparent);--color-neutral-100:#f5f5f8;--color-neutral-200:#e7e7ea;--color-neutral-300:#d4d4d7;--color-neutral-400:#b7b7ba;--color-neutral-500:#98989b;--color-neutral-600:#7a7a7d;--color-neutral-700:#5d5d60;--color-neutral-800:#424244;--color-neutral-900:#2b2b2d;--color-accent-100:#eef6ff;--color-accent-200:#d6ebff;--color-accent-300:#b5d9fd;--color-accent-400:#94bce3;--color-accent-500:#749dc4;--color-accent-600:#597ea3;--color-accent-700:#416180;--color-accent-800:#2c455d;--color-accent-900:#1d2d3d;--color-accent-2-100:#eef6ff;--color-accent-2-200:#d6ebff;--color-accent-2-300:#bdd8f2;--color-accent-2-400:#9ebbd8;--color-accent-2-500:#7e9cb8;--color-accent-2-600:#627d98;--color-accent-2-700:#486077;--color-accent-2-800:#314457;--color-accent-2-900:#1f2d3a;--font-heading:"Barlow Condensed",system-ui,sans-serif;--font-heading-weight:600;--font-body:"Barlow",system-ui,sans-serif;--space-1:3.4px;--space-2:6.8px;--space-3:10.2px;--space-4:13.6px;--space-6:20.4px;--space-8:27.2px;--radius-sm:2px;--radius-md:4px;--radius-lg:7px;--shadow-sm:0 1px 2px color-mix(in srgb,#2b2b2d 14%,transparent);--shadow-md:0 3px 10px color-mix(in srgb,#2b2b2d 16%,transparent);--shadow-lg:0 12px 32px color-mix(in srgb,#2b2b2d 22%,transparent)}body{color:var(--color-text);font-family:var(--font-body)}h1,h2,h3,h4{font-family:var(--font-heading);font-weight:var(--font-heading-weight)}.blueprint{position:relative;border:1px solid var(--color-divider);border-radius:0}.blueprint.duotone,.blueprint.halftone,.blueprint.plate{overflow:visible}.blueprint>.corner{position:absolute;width:11px;height:11px;color:color-mix(in srgb,var(--color-text) 55%,transparent)}.blueprint>.corner:after,.blueprint>.corner:before{content:"";position:absolute;background:currentColor}.blueprint>.corner:before{left:5px;top:0;width:1px;height:100%}.blueprint>.corner:after{top:5px;left:0;width:100%;height:1px}.blueprint>.corner.tl{top:-6px;left:-6px}.blueprint>.corner.tr{top:-6px;right:-6px}.blueprint>.corner.bl{bottom:-6px;left:-6px}.blueprint>.corner.br{bottom:-6px;right:-6px}.duotone{position:relative;overflow:hidden}.duotone:after{content:"";position:absolute;inset:0;pointer-events:none;background:var(--color-accent);mix-blend-mode:color}*,:after,:before{box-sizing:border-box}body{font-weight:400}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--font-heading-weight);line-height:1.12;letter-spacing:-.015em;margin:0 0 var(--space-2)}h1{font-size:42px}h2{font-size:32px}h3{font-size:25px}h4{font-size:20px}h5{font-size:16px}h6{font-size:13px;letter-spacing:.08em;text-transform:uppercase}p{margin:0 0 var(--space-3)}a{color:var(--color-accent);text-underline-offset:3px}img{display:block;max-width:100%}figure{margin:0}figcaption{font-size:11px;margin-top:var(--space-1)}.text-muted,figcaption{color:color-mix(in srgb,var(--color-text) 55%,transparent)}:focus{outline:none}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}::selection{background:color-mix(in srgb,var(--color-accent) 30%,transparent)}.hr{height:1px;border:0;margin:var(--space-4) 0;background:var(--color-divider)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;text-decoration:none;font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:14px;line-height:1.2;color:var(--color-text);background:transparent;border:1px solid transparent;padding:var(--space-2) calc(var(--space-3) * 1.2);border-radius:var(--radius-md)}.btn svg{display:block}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--color-accent);color:var(--color-bg)}.btn-primary:hover{background:var(--color-accent-600)}.btn-primary:active{background:var(--color-accent-700)}.btn-secondary{border-color:var(--color-divider)}.btn-secondary:hover{background:color-mix(in srgb,var(--color-text) 7%,transparent)}.btn-secondary:active{background:color-mix(in srgb,var(--color-text) 14%,transparent)}.btn-ghost{color:var(--color-accent);padding-inline:var(--space-1)}.btn-ghost:hover{background:color-mix(in srgb,var(--color-accent) 10%,transparent)}.btn-ghost:active{background:color-mix(in srgb,var(--color-accent) 18%,transparent)}.btn-icon{width:36px;height:36px;padding:0}.btn-block{width:100%;margin-top:var(--space-2)}.field>label{display:block;font-size:12px;margin-bottom:5px;color:color-mix(in srgb,var(--color-text) 70%,transparent)}.input{width:100%;min-height:36px;padding:6px 10px;font:inherit;font-size:14px;color:var(--color-text);caret-color:var(--color-accent);background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-md)}.input:hover{border-color:color-mix(in srgb,var(--color-text) 45%,transparent)}.input:focus-visible{border-color:var(--color-accent);outline-offset:0}textarea.input{min-height:90px;resize:vertical}.radio{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:14px}.radio input,.seg-opt input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.radio .dot{width:16px;height:16px;flex:none;border-radius:50%;border:1.5px solid var(--color-divider)}.radio input:checked+.dot,.radio:hover .dot{border-color:var(--color-accent)}.radio input:checked+.dot{background:var(--color-accent);box-shadow:inset 0 0 0 4px var(--color-bg)}.radio input:focus-visible+.dot{outline:2px solid var(--color-accent);outline-offset:2px}.seg{border:1px solid var(--color-divider);border-radius:var(--radius-md)}.seg,.seg-opt{display:inline-flex}.seg-opt{align-items:center;gap:6px;padding:7px 12px;font-size:13px;cursor:pointer}.seg-opt+.seg-opt{border-left:1px solid var(--color-divider)}.seg-opt:has(input:checked){background:var(--color-accent);color:var(--color-bg)}.seg-opt:not(:has(input:checked)):hover{background:color-mix(in srgb,var(--color-text) 7%,transparent)}.seg-opt:has(input:focus-visible){outline:2px solid var(--color-accent);outline-offset:-2px}.card{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-surface)}.card-kicker{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent)}.card-title{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:17px;line-height:1.2}.card-body{margin:0;font-size:13px;opacity:.8;flex:1 1}.card-meta{display:flex;align-items:center;gap:6px;font-size:11px;color:color-mix(in srgb,var(--color-text) 50%,transparent)}.elev-sm{box-shadow:var(--shadow-sm)}.elev-md{box-shadow:var(--shadow-md)}.elev-lg{box-shadow:var(--shadow-lg)}.tag{display:inline-flex;align-items:center;font-size:11px;letter-spacing:.02em;padding:3px 10px;border-radius:calc(var(--radius-md) * .75)}.tag-accent{background:var(--color-accent-100);color:var(--color-accent-800)}.tag-accent-2{background:var(--color-accent-2-100);color:var(--color-accent-2-800)}.tag-neutral{background:var(--color-neutral-100);color:var(--color-neutral-800)}.tag-outline{border:1px solid var(--color-accent);color:var(--color-accent)}.nav{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);border-bottom:none}.nav-brand{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:18px;margin-right:auto}.nav a{color:inherit;text-decoration:none;font-size:14px}.nav a:hover,.nav a[aria-current=page]{color:var(--color-accent)}.table{width:100%;border-collapse:collapse;font-size:14px}.table th{text-align:left;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb,var(--color-text) 60%,transparent);border-bottom:1px solid var(--color-divider)}.table td,.table th{padding:var(--space-2)}.table td{border-bottom:1px solid color-mix(in srgb,var(--color-text) 8%,transparent)}.table tbody tr:hover{background:color-mix(in srgb,var(--color-text) 4%,transparent)}.dialog-backdrop{position:fixed;inset:0;display:grid;place-items:center;padding:var(--space-4);background:color-mix(in srgb,var(--color-neutral-900) 50%,transparent)}.dialog{width:min(440px,100%);display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-lg)}.dialog-title{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:20px}.dialog-body{font-size:14px;opacity:.85}.dialog-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-2)}.btn,.card,.dialog,.input,.seg,.tag{border-radius:0}.card,.dialog{background:transparent}.btn,.card,.dialog{border:1px solid var(--color-divider)}.btn-primary{border-color:var(--color-accent)}.btn-ghost{border-color:transparent}:root{--color-accent:#1d4ed8;--color-accent-100:#eef3ff;--color-accent-200:#dce6fe;--color-accent-300:#bccffd;--color-accent-400:#8eaffb;--color-accent-500:#3d6ef0;--color-accent-600:#1a45c4;--color-accent-700:#1a3ba6;--color-accent-800:#172f80;--color-accent-900:#12245e;--color-accent-2:#1d4ed8;--color-surface:#ffffff;--color-divider:color-mix(in srgb,#1d1f20 11%,transparent);--card:#ffffff;--r-card:12px;--r-ctl:8px;--shadow-card:0 1px 2px color-mix(in srgb,#2b2b2d 8%,transparent),0 2px 8px color-mix(in srgb,#2b2b2d 5%,transparent)}body{margin:0;background:var(--color-bg)}a{color:var(--color-accent-700)}a:hover{color:var(--color-accent-800)}select.input{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.blueprint>.corner{display:none}.blueprint{background:var(--card);border-radius:var(--r-card);box-shadow:var(--shadow-card);overflow:hidden}.dialog,.dialog.blueprint{border-radius:16px;box-shadow:var(--shadow-lg);border:0}.dialog-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.btn{border-radius:var(--r-ctl);font-weight:500;transition:background .15s,box-shadow .15s}.btn-primary{box-shadow:0 1px 2px color-mix(in srgb,var(--color-accent-900) 30%,transparent),inset 0 1px 0 color-mix(in srgb,#fff 18%,transparent)}.btn-secondary{box-shadow:var(--shadow-sm)}.btn-secondary,.input{background:var(--card)}.input{border-radius:var(--r-ctl)}.input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-200)}.tag{border-radius:999px;padding-inline:8px}.seg{border-radius:var(--r-ctl);overflow:hidden;background:var(--card)}.seg-opt{border-radius:6px}.table{background:var(--card);border-radius:var(--r-card);box-shadow:var(--shadow-card);border-collapse:separate;border-spacing:0;overflow:hidden}.table th{background:color-mix(in srgb,var(--color-text) 3%,var(--card))}aside{background:var(--card)}aside>div{border-radius:var(--r-ctl)}[style*="border: 1px solid"],[style*="border:1px solid"]{border-radius:10px}[style*="cursor: grab"],[style*="cursor:grab"]{background:var(--card)!important;box-shadow:var(--shadow-sm)}[style*="border-bottom: 1px solid var(--color-text)"],[style*="border-bottom:1px solid var(--color-text)"]{border-bottom-color:var(--color-divider)!important}[style*="height: 6px"],[style*="height: 8px"],[style*="height:6px"],[style*="height:8px"]{border-radius:999px;overflow:hidden}*{box-sizing:border-box}body{font-size:15px;line-height:1.55}.brand{font-family:var(--font-heading);font-weight:600;font-size:20px;letter-spacing:.06em}.shell{min-height:100vh;display:grid;grid-template-columns:224px minmax(0,1fr);background:var(--color-bg)}.sidebar{position:-webkit-sticky;position:sticky;top:0;height:100vh;border-right:1px solid var(--color-divider);padding:28px 16px;display:flex;flex-direction:column;gap:2px;background:var(--card)}html.desktop .sidebar{padding-top:44px;-webkit-app-region:drag}html.desktop .sidebar a,html.desktop .sidebar button{-webkit-app-region:no-drag}.sidebar .brand{padding:0 10px;margin-bottom:20px}.nav-item{padding:9px 10px;font-size:14px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;border-radius:var(--r-ctl);color:var(--color-text);text-decoration:none}.nav-item:hover{background:color-mix(in srgb,var(--color-accent) 10%,transparent);color:var(--color-text)}.nav-item.active{background:var(--color-accent-100);color:var(--color-accent-800);font-weight:500}.nav-item .badge{font-size:11px;color:var(--color-accent-700)}.notif-btn{border:1px solid var(--color-divider);margin-bottom:16px}.sidebar-foot{margin-top:auto;border-top:1px solid var(--color-divider);padding:16px 10px 0;display:flex;flex-direction:column;gap:2px}.sidebar-foot .who{font-weight:500;font-size:14px}.sidebar-foot .role{font-size:12px;color:var(--color-neutral-700)}.main{padding:32px 40px 64px;min-width:0}.kicker{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent-700);margin-bottom:4px}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:24px}.page-head h1{margin:0}.grid{display:grid;grid-gap:16px;gap:16px}.empty{padding:32px;text-align:center}.empty,.link-btn{color:var(--color-neutral-700)}.link-btn{background:none;border:0;padding:0;font:inherit;cursor:pointer;text-align:left;font-size:13px}.link-btn:hover{color:var(--color-text)}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:40px;background:var(--color-bg)}.login-card{width:min(460px,100%);padding:32px;display:flex;flex-direction:column;gap:18px}.ms-btn{justify-content:center;gap:10px}.ms-btn,.pick-user{display:flex;align-items:center}.pick-user{justify-content:space-between;padding:9px 12px;border:1px solid var(--color-divider);border-radius:10px;background:var(--card);cursor:pointer;font:inherit;font-size:14px;width:100%;text-align:left}.pick-user:hover{border-color:var(--color-accent)}.error-box,.pick-user:hover{background:var(--color-accent-100)}.error-box{padding:10px 12px;border-radius:var(--r-ctl);color:var(--color-accent-900);font-size:14px}.main{display:flex;flex-direction:column;gap:32px}.sec-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;padding-bottom:10px;border-bottom:1px solid var(--color-text)}.sec-title{font-family:var(--font-heading);font-weight:600;font-size:20px}.sec-note{font-size:12px}.muted,.sec-note{color:var(--color-neutral-700)}.small{font-size:13px}.xs{font-size:12px}.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.btn-sm{font-size:12px;padding:4px 10px}.row{gap:8px;align-items:center;flex-wrap:wrap}.row,.stack{display:flex}.stack{flex-direction:column}.list-row{padding:13px 0;border-bottom:1px solid var(--color-divider)}.check{width:16px;height:16px;flex:none;border:1px solid var(--color-neutral-600);background:transparent;color:var(--color-bg);font-size:11px;line-height:14px;text-align:center;border-radius:4px;cursor:pointer;padding:0}.check.on{background:var(--color-accent);border-color:var(--color-accent)}.check-row{display:flex;gap:10px;align-items:center;cursor:pointer;font-size:14px;background:none;border:0;padding:0;font:inherit;color:inherit;text-align:left}.table td .input,.table td select.input{min-height:30px;padding:3px 8px}.table tr.click{cursor:pointer}.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:60;background:var(--color-text);color:var(--color-bg);padding:10px 18px;font-size:14px;box-shadow:var(--shadow-lg);border-radius:var(--r-ctl);max-width:min(640px,90vw)}.toast.err{background:var(--color-accent-900)}.dialog-backdrop{z-index:50}.dialog{background:var(--card);width:min(520px,100%);padding:24px;max-height:90vh;overflow:auto}.dropzone{display:grid;place-items:center;text-align:center;padding:0 16px;min-height:90px;border:1px dashed var(--color-neutral-500);border-radius:10px;font-size:13px;color:var(--color-neutral-700);cursor:pointer}.dropzone.over{border-color:var(--color-accent)}.callout,.dropzone.over{background:var(--color-accent-100)}.callout{font-size:14px;padding:10px 12px;border:1px solid var(--color-accent);color:var(--color-accent-900);border-radius:10px}.attn-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.attn-cell{padding:16px 20px;display:flex;flex-direction:column;gap:6px;box-shadow:-1px 0 0 var(--color-divider),0 -1px 0 var(--color-divider)}.attn-kind{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent-700)}.attn-title{font-family:var(--font-heading);font-weight:600;font-size:19px;line-height:1.15}.tiles{display:grid}.tile{padding:18px 22px;display:flex;flex-direction:column;gap:8px;box-shadow:-1px 0 0 var(--color-divider)}.tile-label{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--color-neutral-700)}.tile-value{font-family:var(--font-heading);font-weight:600;font-size:40px;line-height:1}.tile-unit{font-size:18px;color:var(--color-neutral-700)}.tile.hl{background:var(--color-accent-100)}.tile.hl .tile-label,.tile.hl .tile-note{color:var(--color-accent-800)}.tile.hl .tile-value{color:var(--color-accent-900)}.tile-note{font-size:12px;color:var(--color-neutral-700)}.bar{height:6px;border:1px solid var(--color-divider);border-radius:999px;overflow:hidden}.bar>div{height:100%;background:var(--color-accent)}.ladder{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));grid-gap:3px;gap:3px}.ladder>span{height:6px;border-radius:999px;background:var(--color-accent-300)}.ladder>span.on{background:var(--color-accent-700)}.seg-link{padding:7px 12px;font-size:13px;text-decoration:none;color:var(--color-text);display:inline-block}.seg-link+.seg-link{border-left:1px solid var(--color-divider)}.seg-link.on{background:var(--color-accent);color:var(--color-bg)}.kv{display:grid;grid-template-columns:110px minmax(0,1fr);grid-gap:10px 16px;gap:10px 16px;font-size:14px;align-items:center;overflow-wrap:anywhere}.kv>.k{color:var(--color-neutral-700)}.msg{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border:1px solid var(--color-divider);border-radius:10px}.msg.open{border-color:var(--color-accent);background:var(--color-accent-100)}.thumb{aspect-ratio:4/3;border:1px solid var(--color-divider);border-radius:10px;background:repeating-linear-gradient(135deg,var(--color-neutral-200) 0 6px,transparent 6px 12px);display:grid;place-items:center;overflow:hidden}.thumb img{width:100%;height:100%;object-fit:cover}.thumb .kind{font-family:ui-monospace,monospace;font-size:11px;color:var(--color-neutral-700);background:var(--color-bg);padding:2px 6px;border-radius:4px}.pipe{display:grid;grid-template-columns:repeat(5,minmax(200px,1fr));grid-gap:14px;gap:14px;overflow-x:auto;align-items:start}.pipe-col{display:flex;flex-direction:column;gap:10px;min-height:480px;padding:10px;border:1px solid var(--color-divider);border-radius:12px}.pipe-col.over{background:var(--color-accent-100)}.pipe-card{padding:10px 12px;border:1px solid var(--color-divider);border-radius:10px;background:var(--card);box-shadow:var(--shadow-sm);cursor:-webkit-grab;cursor:grab;display:flex;flex-direction:column;gap:3px;color:inherit;text-decoration:none}.cal{display:grid;grid-template-columns:64px repeat(5,minmax(0,1fr))}.cal-head{padding:10px 12px;border-bottom:1px solid var(--color-divider);border-left:1px solid var(--color-divider);font-family:var(--font-heading);font-weight:600;font-size:16px}.cal-head.today{background:var(--color-accent-100)}.cal-hour{height:72px;padding:4px 8px 0 0;text-align:right;font-size:11px;color:var(--color-neutral-700)}.cal-day{position:relative;height:720px;border-left:1px solid var(--color-divider);background:repeating-linear-gradient(180deg,transparent 0 71px,color-mix(in srgb,var(--color-text) 8%,transparent) 71px 72px)}.cal-block{position:absolute;left:4px;right:4px;padding:3px 8px;border:1px solid var(--color-accent);border-radius:6px;background:var(--color-bg);overflow:hidden;display:flex;flex-direction:column;gap:1px;color:inherit;text-decoration:none}.cal-block.confirmed{background:var(--color-accent-100)}.cal-block .t{font-size:12px;font-weight:500}.cal-block .s,.cal-block .t{line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-block .s{font-size:11px}.cal-block .s,.timer-low,.timer-over{color:var(--color-accent-800)}.timer-over{font-weight:700}.req-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:20px;gap:20px}.req-card{padding:16px 18px;display:flex;flex-direction:column;gap:8px}.settings-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}.settings-grid .field{padding:16px 20px}.settings-grid .field+.field{border-left:1px solid var(--color-divider)}