:root{--brand:#f0703a;--on-brand:#fff;--bg:#f6f4ef;--card:#fff;--ink:#1a1d23;--muted:#5c636e;--line:#e2ded5;--soft:#edeae3;--s1:#2a78d6;--s2:#eb6834;--s3:#1baf7a;--t1:#0d366b;--t2:#1c5cab;--t3:#3987e5;--t4:#86b6ef;--on-t1:#fff;--on-t2:#fff;--on-t3:#fff;--on-t4:#0b1a2e;--good:#0ca30c;--warn:#fab219;--serious:#ec835a;--crit:#d03b3b;--violet:#7c5cd6;--axis:#c9c4b8;--err:#b91c1c;--scrim:#11131673;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#111316;--card:#1b1e23;--ink:#ecedef;--muted:#a6acb6;--line:#2f343b;--soft:#262a30;--s1:#3987e5;--s2:#d95926;--s3:#199e70;--t1:#b7d3f6;--t2:#6da7ec;--t3:#2a78d6;--t4:#184f95;--on-t1:#0b1a2e;--on-t2:#0b1a2e;--on-t3:#fff;--on-t4:#fff;--axis:#3a3f47;--err:#f87171;--scrim:#0009;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#111316;--card:#1b1e23;--ink:#ecedef;--muted:#a6acb6;--line:#2f343b;--soft:#262a30;--s1:#3987e5;--s2:#d95926;--s3:#199e70;--t1:#b7d3f6;--t2:#6da7ec;--t3:#2a78d6;--t4:#184f95;--on-t1:#0b1a2e;--on-t2:#0b1a2e;--on-t3:#fff;--on-t4:#fff;--axis:#3a3f47;--err:#f87171;--scrim:#0009;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,system-ui,sans-serif;font-size:14px;line-height:1.4}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.h1{letter-spacing:-.01em;margin:0;font-size:24px;font-weight:800}.h2{margin:0;font-size:17px;font-weight:700}.h3{margin:0;font-size:15px;font-weight:700}.sub{color:var(--muted);margin:2px 0 0;font-size:13px}.tiny{color:var(--muted);font-size:12px}.num{font-variant-numeric:tabular-nums}.row{align-items:center;gap:10px;display:flex}.between{justify-content:space-between}.wrap{flex-wrap:wrap;gap:8px;display:flex}.grow{flex:1;min-width:0}.mt8{margin-top:8px}.mt12{margin-top:12px}.mt16{margin-top:16px}.mb8{margin-bottom:8px}.mb12{margin-bottom:12px}.sr{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px}.lbl{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin:14px 0 6px;font-size:12px;font-weight:700;display:block}.field{border:1px solid var(--line);background:var(--card);border-radius:10px;width:100%;min-height:40px;padding:0 12px;font-size:14px}textarea.field{resize:vertical;min-height:84px;padding:10px 12px}select.field{padding-right:28px}.btn{border:1px solid var(--line);background:var(--card);white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 14px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{background:var(--soft)}.btn.pri{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}.btn.pri:hover{filter:brightness(.95)}.btn.danger{color:var(--crit)}.btn.sm{border-radius:8px;min-height:32px;padding:0 10px;font-size:13px}.btn.wide{width:100%}.btn:disabled{opacity:.45;cursor:not-allowed}.link{color:var(--brand);text-underline-offset:3px;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.iconbtn{border:1px solid var(--line);background:var(--card);border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex;position:relative}.iconbtn:hover{background:var(--soft)}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--line);background:var(--card);white-space:nowrap;border-radius:999px;min-height:32px;padding:0 12px;font-size:13px;font-weight:600}.help{vertical-align:middle;margin-left:6px;display:inline-block;position:relative}.help>summary{cursor:pointer;border:1px solid var(--line);width:18px;height:18px;color:var(--muted);border-radius:50%;justify-content:center;align-items:center;font-size:11px;font-weight:700;list-style:none;display:inline-flex}.help>summary::-webkit-details-marker{display:none}.help-pop{z-index:20;background:var(--card);border:1px solid var(--line);width:min(280px,80vw);color:var(--ink);border-radius:10px;padding:8px 10px;font-weight:400;position:absolute;top:22px;left:0;box-shadow:0 6px 18px #0000001f}.tilebox{display:grid;position:relative}.tilebox>.tile{padding-right:30px}.tilebox>.help{margin:0;position:absolute;top:10px;right:10px}.tilebox>.help .help-pop,.ptitle .help .help-pop{left:auto;right:0}.hit{cursor:pointer}button.hb,button.dl{width:100%;color:inherit;font:inherit;text-align:left;background:0 0;border:0;border-radius:6px}button.dl{padding:3px 0}button.hb:hover .l,button.dl:hover span span{text-decoration:underline}g.hit:hover rect,circle.hit:hover{opacity:.8}.critpop{position:relative}.critpop>summary{cursor:pointer;list-style:none}.critpop>summary::-webkit-details-marker{display:none}.critpop-body{z-index:25;background:var(--card);border:1px solid var(--line);border-radius:12px;gap:10px;width:min(340px,92vw);padding:12px;display:grid;position:absolute;top:40px;right:0;box-shadow:0 8px 24px #00000024}.critpop-body label{color:var(--muted);gap:4px;font-size:12px;font-weight:600;display:grid}.crumbs{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:10px;font-size:13px;display:flex}.chip.on{background:var(--ink);border-color:var(--ink);color:var(--card)}.switch{background:var(--axis);border:0;border-radius:999px;flex-shrink:0;width:42px;height:24px;padding:0;position:relative}.switch span{background:#fff;border-radius:50%;width:18px;height:18px;transition:left .15s;position:absolute;top:3px;left:3px}.switch.on{background:var(--brand)}.switch.on span{left:21px}.err{color:var(--err);margin:8px 0 0;font-size:13px;font-weight:600}.logo{background:var(--brand);width:36px;height:36px;color:var(--on-brand);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-size:15px;font-weight:800;display:flex;overflow:hidden}.logo img{object-fit:contain;background:#fff;width:100%;height:100%}.badge{background:var(--crit);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:11px;font-weight:800;display:inline-flex}.tag{background:var(--soft);color:var(--ink);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:2px 9px;font-size:12px;font-weight:700;display:inline-flex}.tag.ok{background:color-mix(in srgb, var(--good) 16%, transparent);color:var(--good)}.tag.warn{background:color-mix(in srgb, var(--warn) 22%, transparent);color:color-mix(in srgb, var(--warn) 60%, var(--ink))}.tag.bad{background:color-mix(in srgb, var(--crit) 14%, transparent);color:var(--crit)}.tag.info{background:color-mix(in srgb, var(--s1) 14%, transparent);color:var(--s1)}.tag.violet{background:color-mix(in srgb, var(--violet) 16%, transparent);color:var(--violet)}.tag.unplanned{background:color-mix(in srgb, var(--s2) 16%, transparent);color:color-mix(in srgb, var(--s2) 80%, var(--ink))}.tag.st{background:color-mix(in srgb, var(--c) 16%, transparent);color:color-mix(in srgb, var(--c) 72%, var(--ink))}.tag.pending{border:1px dashed var(--muted);color:var(--muted);background:0 0}.tier{color:#fff;border-radius:6px;justify-content:center;align-items:center;min-width:26px;height:22px;padding:0 5px;font-size:12px;font-weight:800;display:inline-flex}.shell{height:100%;display:flex}.side{background:var(--card);border-right:1px solid var(--line);flex-direction:column;flex-shrink:0;width:236px;display:flex;overflow-y:auto}.brandrow{align-items:center;gap:10px;padding:16px 16px 12px;display:flex}.nav{flex:1;padding:4px 10px 12px}.navh{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:14px 8px 4px;font-size:11px;font-weight:700}.navb{min-height:36px;color:var(--ink);border-radius:9px;align-items:center;gap:10px;padding:0 10px;font-weight:600;text-decoration:none;display:flex}.navb:hover{background:var(--soft)}.navb.active{background:var(--brand);color:var(--on-brand)}.navb .badge{margin-left:auto}.who{border-top:1px solid var(--line);padding:12px 14px}.main{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{border-bottom:1px solid var(--line);background:var(--card);flex-wrap:wrap;align-items:center;gap:8px;min-height:57px;padding:10px 20px;display:flex}.topbar .field{width:auto;min-height:34px;font-size:13px}.vsep{background:var(--line);align-self:stretch;width:1px;margin:0 4px}.page{flex:1;min-height:0;padding:20px 24px 40px;overflow-y:auto}.pagehead{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px;display:flex}.acts{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.crit{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.menu-btn{display:none}.grid{grid-template-columns:repeat(6,minmax(0,1fr));align-items:start;gap:14px;display:grid}.grid>*{grid-column:span 6}.grid>.w1{grid-column:span 2}.grid>.w2{grid-column:span 3}.grid>.w4{grid-column:span 4}.ptitle{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:10px;display:flex}.tiles{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;display:grid}.tile{text-align:left;background:var(--card);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:2px;padding:12px;display:flex}button.tile:hover{border-color:var(--muted)}.tile .v{letter-spacing:-.02em;font-size:26px;font-weight:800}.tile .v small,.tile .k{color:var(--muted);font-size:13px;font-weight:600}.mini{background:var(--soft);border-radius:3px;height:6px;margin-top:8px;position:relative;overflow:visible}.mini i{border-radius:3px;position:absolute;top:0;bottom:0;left:0}.mini b{background:var(--ink);width:2px;position:absolute;top:-3px;bottom:-3px}.stat{align-items:center;gap:4px;font-size:12px;font-weight:600;display:flex}.tile .delta{color:var(--muted);white-space:nowrap;font-size:12px;font-weight:600}.tile .delta.up{color:var(--good)}.tile .delta.down{color:var(--crit)}.pbadge{background:var(--soft);min-width:24px;color:var(--ink);text-align:center;font-variant-numeric:tabular-nums;border-radius:6px;margin-right:6px;padding:0 5px;font-size:11px;font-weight:700;line-height:18px;display:inline-block}.cellwrap{overflow-wrap:anywhere;min-width:0;display:block}.nowrap{white-space:nowrap}.hb{grid-template-columns:150px minmax(0,1fr) max-content;align-items:center;gap:8px;padding:4px 0;font-size:13px;display:grid}.hb .l{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hb .tr{background:var(--soft);border-radius:2px;height:10px;position:relative}.hb .tr i{border-radius:0 3px 3px 0;position:absolute;top:0;bottom:0;left:0}.hb .tr b{background:var(--ink);width:2px;position:absolute;top:-3px;bottom:-3px}.hb .vl{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:60px;font-weight:700}.lg{color:var(--muted);flex-wrap:wrap;gap:14px;margin-top:8px;font-size:12px;display:flex}.lg span{align-items:center;gap:6px;display:inline-flex}.lg i{border-radius:2px;width:10px;height:10px;display:inline-block}.cols svg,.donut svg{width:100%;height:auto;display:block}.donut{align-items:center;gap:14px;display:flex}.donut svg{flex-shrink:0;width:140px}.tblwrap{overflow-x:auto}.tbl{border-collapse:collapse;width:100%;font-size:13px}.tbl th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;padding:6px;font-size:12px;font-weight:700}.tbl th button{font:inherit;color:inherit;background:0 0;border:0;align-items:center;gap:4px;padding:0;display:inline-flex}.tbl td{border-bottom:1px solid var(--line);vertical-align:middle;padding:7px 6px}.tbl tr:last-child td{border-bottom:0}.tbl td.r,.tbl th.r{text-align:right}.tbl tr.sel td{background:var(--soft)}.tbl tr.off td{color:var(--muted)}.tbl .lk{text-align:left;text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line);background:0 0;border:0;padding:0;font-weight:600}.tbl .lk:hover{-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}.tbl .sub2{color:var(--muted);font-size:11px;font-weight:400;display:block}.tbl .bar{align-items:center;gap:6px;min-width:110px;display:flex}.tbl .bar .tr{background:var(--soft);border-radius:2px;flex:1;height:8px;position:relative}.tbl .bar .tr i{border-radius:0 3px 3px 0;position:absolute;top:0;bottom:0;left:0}.tbl .bar .tr b{background:var(--ink);width:2px;position:absolute;top:-3px;bottom:-3px}.tbl .bar span{text-align:right;font-variant-numeric:tabular-nums;width:56px;font-weight:700}.tbl .chk{border:2px solid var(--muted);background:var(--card);border-radius:6px;justify-content:center;align-items:center;width:22px;height:22px;padding:0;display:inline-flex}.tbl .chk.on{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}.tbl .cin{width:90px;min-height:32px;padding:0 8px;font-size:13px}.cbtns{justify-content:flex-end;gap:4px;display:flex}.more{justify-content:space-between;align-items:center;margin-top:8px;display:flex}.colpick{align-items:center;display:inline-flex;position:relative}.more .link{align-items:center;gap:4px;font-size:13px;line-height:20px;display:inline-flex}input[type=checkbox],input[type=radio],input[type=date],input[type=time],input[type=range],progress{accent-color:var(--brand)}input[type=checkbox],input[type=radio]{cursor:pointer;width:16px;height:16px}.colpick>.link{align-items:center;gap:4px;display:inline-flex}.colmenu{z-index:20;background:var(--card);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:2px;min-width:200px;max-height:320px;padding:8px;display:flex;position:absolute;bottom:calc(100% + 6px);right:0;overflow-y:auto;box-shadow:0 8px 30px #00000026}.colmenu label{cursor:pointer;white-space:nowrap;border-radius:6px;align-items:center;gap:8px;padding:5px 6px;font-size:13px;display:flex}.colmenu label:hover{background:var(--soft)}.colmenu>.link{align-self:flex-start;padding:6px}.grid>.rcard{flex-direction:column;align-self:stretch;display:flex}.rcard .rabout{flex:1;margin:0 0 12px;font-size:13px}.ins{border-top:1px solid var(--line);align-items:flex-start;gap:10px;padding:8px 0;font-size:13px;display:flex}.ins:first-child{border-top:0}.kv{grid-template-columns:max-content 1fr;gap:6px 14px;margin:0;font-size:13px;display:grid}.kv dt{color:var(--muted)}.kv dd{overflow-wrap:anywhere;min-width:0;margin:0;font-weight:600}.tl{flex-direction:column;gap:10px;display:flex}.tl .s{border-left:3px solid var(--line);padding-left:10px}.tl .s.done{border-color:var(--good)}.tl .s.bad{border-color:var(--crit)}.tl .s.cur{border-color:var(--warn)}.tl .tlh{flex-wrap:wrap;align-items:center;gap:4px 8px;min-width:0;display:flex}.tl .tlh b{overflow-wrap:anywhere;min-width:0}.tl .tiny{overflow-wrap:anywhere}.kv.dtl dt.chg{color:var(--ink);font-weight:600}.kv.dtl .was{color:var(--muted);font-weight:500;text-decoration:line-through}.kv.dtl .arr{color:var(--muted);margin:0 6px}.kv.dtl .now{background:color-mix(in srgb, var(--good) 16%, transparent);color:var(--ink);-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:4px;padding:0 4px}@media (width<=480px){.kv.dtl{grid-template-columns:minmax(0,40%) minmax(0,1fr)}.kv.dtl dt{overflow-wrap:anywhere}}.form{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px;display:grid}.form .full{grid-column:1/-1}.form .lbl:first-child{margin-top:4px}.pgrid{grid-template-columns:70px repeat(var(--days), minmax(110px, 1fr));border:1px solid var(--line);border-radius:10px;font-size:12px;display:grid;overflow:hidden}.pgrid>div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:64px;padding:6px}.pgrid .hd{min-height:auto;color:var(--muted);background:var(--soft);font-weight:700}.pgrid .off{background:repeating-linear-gradient(135deg, var(--soft), var(--soft) 6px, transparent 6px, transparent 12px);color:var(--muted)}.pgrid .out{background:var(--bg)}.pgrid .dn{justify-content:space-between;margin-bottom:4px;font-weight:700;display:flex}.pgrid .doc{align-items:center;gap:4px;padding:1px 0;display:flex}.pgrid .doc i{border-radius:2px;flex-shrink:0;width:8px;height:8px}.pgrid .doc.done span{text-decoration:none}.pgrid .doc.def span{color:var(--muted);text-decoration:line-through}.cal{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.cal .dow{color:var(--muted);text-align:center;font-size:11px;font-weight:700}.cal .d{border:1px solid var(--line);background:var(--card);border-radius:8px;min-height:52px;padding:4px 6px;font-size:12px}.cal .d.off{background:var(--soft);color:var(--muted)}.cal .d.hol{background:color-mix(in srgb, var(--warn) 14%, var(--card))}.cal .d.leave{background:color-mix(in srgb, var(--violet) 12%, var(--card))}.wmap{border:1px solid var(--line);background:var(--soft);border-radius:12px;overflow:hidden}.wmap svg{width:100%;height:auto;display:block}.overlay{z-index:50;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.scrim{background:var(--scrim);border:0;position:absolute;inset:0}.dialog{background:var(--bg);border-radius:16px;width:720px;max-width:100%;max-height:calc(100vh - 48px);padding:20px 22px;position:relative;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.dialog.wide{width:1040px}.dialog.narrow{width:460px}.dfoot{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.drawer-overlay{justify-content:flex-end;padding:0}.drawer{background:var(--bg);width:560px;max-width:100%;height:100%;padding:20px 22px;position:relative;overflow-y:auto;box-shadow:-10px 0 40px #00000040}.toast{z-index:60;background:var(--ink);width:380px;max-width:calc(100% - 32px);color:var(--card);border-radius:12px;padding:12px 14px;font-weight:600;position:fixed;bottom:24px;right:24px;box-shadow:0 10px 30px #00000040}.toast.bad{background:var(--crit);color:#fff}.empty{text-align:center;color:var(--muted);padding:28px 12px;font-weight:600}.skel{background:linear-gradient(90deg, var(--soft), var(--line), var(--soft));background-size:200% 100%;border-radius:10px;min-height:80px;animation:1.2s infinite sk}@keyframes sk{0%{background-position:200% 0}to{background-position:-200% 0}}.auth{--brand:#f0703a;--brand-2:#c2410c;--on-brand:#fff;--bg:#fff4ed;--card:#fff;--soft:#fff4ed;--ink:#0f1729;--muted:#5b6474;--line:#f1e4da;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--ink);background:radial-gradient(900px 520px at 100% 0,#f0703a2e,#0000 60%),radial-gradient(700px 480px at 0 100%,#c2410c1a,#0000 60%),#fff4ed;justify-content:center;align-items:center;min-height:100vh;padding:40px 24px;font-family:Outfit,Segoe UI,system-ui,sans-serif;display:flex;position:relative;overflow:hidden}.auth-shell{grid-template-columns:minmax(0,1fr) 400px;align-items:center;gap:96px;width:100%;max-width:1080px;display:grid}.auth-brand{align-items:center;margin-bottom:40px;display:flex}.auth-copy h1{letter-spacing:-.03em;color:var(--ink);max-width:520px;margin:0;font-size:44px;font-weight:700;line-height:1.1}.auth-copy .accent{background:linear-gradient(90deg,#f0703a,#c2410c);color:#0000;-webkit-background-clip:text;background-clip:text}.auth-copy p{color:var(--muted);margin:16px 0 0;font-size:17px}.auth-chips{flex-wrap:wrap;gap:8px;margin-top:28px;display:flex}.auth-chips span{color:#9a3412;background:#ffffffb3;border:1px solid #f6d5c2;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:500}.auth-box{background:var(--card);border:1px solid var(--line);border-radius:20px;width:100%;padding:32px;box-shadow:0 24px 60px -24px #c2410c47}.auth-head{margin-bottom:22px}.auth-head h2{letter-spacing:-.02em;color:var(--ink);margin:0;font-size:24px;font-weight:700}.auth-head p{color:var(--muted);overflow-wrap:anywhere;margin:4px 0 0;font-size:14px}.auth-form{flex-direction:column;gap:16px;display:flex}.auth .lbl{color:var(--ink);text-transform:none;letter-spacing:0;margin:0 0 6px;font-size:13px;font-weight:500}.auth .field{color:var(--ink);background:#fff;border-color:#e7ddd5;font-family:inherit}.auth .field::placeholder{color:#a3a9b5}.auth-input{position:relative}.auth-input .field{border-radius:12px;height:44px;padding-left:40px}.auth-input .field:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px #f0703a29}.auth-input:has(.eye) .field{padding-right:44px}.auth-input-icon{color:#a3a9b5;pointer-events:none;display:inline-flex;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.auth-input .eye{width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.auth-input .eye:hover{background:var(--soft);color:var(--ink)}.auth-actions{flex-direction:column;gap:10px;margin-top:4px;display:flex}.auth .btn.pri{color:#fff;background:linear-gradient(135deg,#f0703a,#c2410c);border:0;border-radius:12px;gap:8px;min-height:46px;font-family:inherit;font-size:15px;font-weight:600;box-shadow:0 10px 24px -10px #c2410c99}.auth .btn.pri:hover{filter:brightness(1.05)}.auth .btn.pri:disabled{opacity:.6}.auth-link{color:#c2410c;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;align-self:center;padding:6px 10px;font-size:14px;font-weight:600;text-decoration:none}.auth-link:hover{background:var(--soft)}.auth-foot{border-top:1px solid var(--line);justify-content:center;margin-top:18px;padding-top:16px;display:flex}.auth .err{color:#dc2626;margin:0}.auth .orgs{border:1px solid var(--line);border-radius:14px;overflow:hidden}.auth .orgs .ddlist{max-height:320px}.auth .opt.on,.auth .opt:hover{background:var(--soft)}@media (width<=1000px){.auth-shell{grid-template-columns:minmax(0,1fr);gap:0;max-width:400px}.auth-copy,.auth-chips{display:none}.auth-brand{justify-content:center;margin:0 auto 28px}}@media (width<=640px){.auth{align-items:flex-start;padding:48px 16px 24px}.auth-box{padding:26px 20px 22px}}.pff-logo{align-items:center;gap:.4em;line-height:1;display:inline-flex}.pff-mark{filter:drop-shadow(0 4px 8px #c2410c47);flex:none}.pff-word{letter-spacing:-.03em;color:#18191b;font-family:Poppins,Outfit,Segoe UI,system-ui,sans-serif;font-weight:700}.pff-word b{background:linear-gradient(90deg,#f0703a,#c2410c);color:#0000;-webkit-background-clip:text;background-clip:text}.orgswitch{border:1px solid var(--line);background:var(--card);max-width:260px;color:var(--ink);font:inherit;cursor:pointer;border-radius:10px;align-items:center;gap:8px;padding:4px 10px 4px 4px;font-size:14px;font-weight:600;display:inline-flex}.orgswitch:hover{background:var(--soft)}.orgswitch-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (width<=1499px){.orgswitch-name{display:none}.orgswitch{padding-right:8px}}.logo.sm{border-radius:8px;width:28px;height:28px;font-size:12px}.orgs .opt .grow{min-width:0}.steps{gap:6px;margin-top:14px;display:flex}.steps i{background:var(--line);border-radius:2px;flex:1;height:4px}.steps i.on{background:var(--brand)}.pack{text-align:left;border:1px solid var(--line);background:var(--card);border-radius:12px;width:100%;padding:10px 12px}.pack.on{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}.paper{color:#111;--card:#fff;--ink:#111;--line:#ddd;--soft:#f1f1f1;--muted:#555;background:#fff;border-radius:6px;max-width:1040px;margin:0 auto;padding:28px 32px;box-shadow:0 2px 12px #0000001f}.paper .card{border:0;border-top:2px solid var(--brand);border-radius:0;padding:12px 0 0}.papertop{border-bottom:2px solid var(--brand);align-items:center;gap:12px;margin-bottom:14px;padding-bottom:12px;display:flex}.phone{border:8px solid var(--ink);background:var(--bg);border-radius:24px;width:220px;margin:0 auto;overflow:hidden}.phone .bar{background:var(--brand);color:var(--on-brand);align-items:center;gap:8px;padding:12px;font-weight:700;display:flex}@media (width<=1100px){.grid>.w1,.grid>.w2,.grid>.w4{grid-column:span 6}}@media (width<=760px){.side{z-index:40;transition:transform .2s;position:fixed;inset:0 auto 0 0;transform:translate(-100%);box-shadow:10px 0 30px #0003}.side.open{transform:none}.menu-btn{display:inline-flex}.page{padding:16px}.topbar{padding:8px 16px}.pagehead{flex-direction:column}.acts{justify-content:flex-start}.form{grid-template-columns:1fr}.hb{grid-template-columns:110px minmax(0,1fr) max-content}.overlay{padding:0}.dialog{border-radius:0;height:100%;max-height:100%}}@media print{:root:not(#print){--bg:#fff;--card:#fff;--ink:#1a1d23;--muted:#5c636e;--line:#e2ded5;--soft:#edeae3;--axis:#c9c4b8;--s1:#2a78d6;--s2:#eb6834;--s3:#1baf7a;--t1:#0d366b;--t2:#1c5cab;--t3:#3987e5;--t4:#86b6ef;--on-t1:#fff;--on-t2:#fff;--on-t3:#fff;--on-t4:#0b1a2e;--err:#b91c1c;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.side,.topbar,.acts,.crit,.toast,.more button,.colpick,.noprint{display:none!important}.shell,.main,.page{height:auto;padding:0;display:block;overflow:visible}.paper{box-shadow:none;max-width:none}.tblwrap,.cols,.card{overflow:visible}.tbl{font-size:11px}.tbl th,.tbl td{white-space:normal;padding:4px}.card{break-inside:avoid}}.gaptags{flex-wrap:wrap;gap:4px;max-width:320px;display:flex}.gaptags .sub2{flex-basis:100%}.flagtxt{min-width:240px;max-width:460px;display:block}.flagstate{min-width:150px;max-width:260px;display:block}.flagstate .sub2{margin-top:3px}.flagacts{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:inline-flex}.tbl tr.dim td{color:var(--muted)}.tbl tr.dim .tag{opacity:.7}@media print{.flagacts{display:none}}.pop{z-index:1000;background:var(--card);border:1px solid var(--line);border-radius:12px;position:fixed;overflow:hidden;box-shadow:0 12px 40px #0000002e}.datebtn,.ddbtn{text-align:left;cursor:pointer;color:var(--ink);font:inherit;align-items:center;gap:8px;font-size:14px;display:inline-flex}.datebtn .muted,.ddbtn .muted{color:var(--muted)}.datebtn .clr{color:var(--muted);margin-left:auto}.datebtn .clr:hover{color:var(--ink)}.ddbtn{justify-content:space-between}.datebtn>span,.ddbtn>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.datebtn>svg{flex:none}.tbl .datebtn.cin{gap:5px;width:118px}.ddbtn .chev{color:var(--muted);flex:none}.dpick{padding:10px}.calhead{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.calhead .iconbtn{border-radius:8px;width:30px;height:30px}.calmonth{font-size:14px;font-weight:700}.calgrid{grid-template-columns:repeat(7,34px);gap:2px;display:grid}.calgrid .dow{text-align:center;color:var(--muted);padding:4px 0;font-size:11px;font-weight:700}.calgrid .day{height:32px;font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:8px;font-size:13px}.calgrid .day:hover{background:var(--soft)}.calgrid .day.out{color:var(--axis)}.calgrid .day.today{box-shadow:inset 0 0 0 1px var(--brand);font-weight:700}.calgrid .day.on{background:var(--brand);color:var(--on-brand);font-weight:700}.calgrid .day:disabled{color:var(--axis);cursor:not-allowed;background:0 0}.calfoot{justify-content:space-between;margin-top:8px;padding:0 4px;display:flex}.dd{flex-direction:column;max-height:320px;display:flex}.ddsearch{border-bottom:1px solid var(--line);color:var(--muted);align-items:center;gap:8px;padding:8px 10px;display:flex}.ddsearch input{font:inherit;color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:14px}.ddlist{padding:6px;overflow-y:auto}.opt{text-align:left;width:100%;font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;padding:8px 10px;font-size:14px;display:flex}.opt .sub2{color:var(--muted);font-size:11px;display:block}.opt.active{background:var(--soft)}.opt.on{color:var(--brand);font-weight:700}.opt.muted{color:var(--muted);cursor:default}.spin{flex:none;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.pwd{display:block;position:relative}.pwd .field{padding-right:42px}.pwd .eye{width:34px;height:34px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.pwd .eye:hover{color:var(--ink);background:var(--soft)}.tpick{padding:10px}.tcols{grid-template-columns:1fr 1fr 1fr;gap:6px;display:grid}.tcol{scrollbar-width:thin;flex-direction:column;gap:2px;max-height:216px;display:flex;overflow-y:auto}.tcol button{font:inherit;color:var(--ink);cursor:pointer;font-variant-numeric:tabular-nums;background:0 0;border:0;border-radius:8px;padding:7px 0;font-size:14px}.tcol button:hover{background:var(--soft)}.tcol button.on{background:var(--brand);color:var(--on-brand);font-weight:700}.tcol.ampm{justify-content:flex-start}.drp-btn{cursor:pointer;text-align:left;width:auto;min-width:260px;font:inherit;color:var(--ink);align-items:center;gap:10px;display:inline-flex}.drp-btn>svg:first-child{color:var(--brand);flex:none}.drp-btn .chev{color:var(--muted);flex:none;margin-left:auto}.drp-group{align-items:center;gap:4px;min-width:0;max-width:100%;display:inline-flex}.drp-group .drp-step{border-radius:8px;flex:none;width:30px;height:34px}@media (width<=480px){.drp-group{flex:1 1 0}.drp-group .drp-btn{flex:auto;min-width:0}.drp-text{min-width:0;overflow:hidden}.drp-text>span{text-overflow:ellipsis;min-width:0;overflow:hidden}}.drp-text{white-space:nowrap;align-items:baseline;gap:8px;font-size:14px;display:inline-flex}.drp-text b{font-weight:700}.drp-text b+span{color:var(--muted);font-size:13px}.drp{width:auto;max-width:calc(100vw - 16px);display:flex}.drp-presets{border-right:1px solid var(--line);background:var(--soft);flex-direction:column;gap:2px;min-width:190px;padding:10px;display:flex}.drp-presets button{font:inherit;text-align:left;cursor:pointer;color:var(--ink);background:0 0;border:0;border-radius:10px;flex-direction:column;align-items:flex-start;gap:2px;padding:9px 12px;display:flex}.drp-presets button span{font-size:14px;font-weight:600}.drp-presets button small{color:var(--muted);font-size:11px}.drp-presets button:hover{background:var(--card)}.drp-presets button.on{background:var(--brand);color:var(--on-brand)}.drp-presets button.on small{color:var(--on-brand);opacity:.85}.drp-main{flex-direction:column;padding:12px 14px;display:flex}.drp-months{grid-template-columns:repeat(2,260px);gap:24px;display:grid}.drp-head{grid-template-columns:30px 1fr 30px;align-items:center;margin-bottom:8px;display:grid}.drp-head .iconbtn{border-radius:8px;width:30px;height:30px}.drp-sel{justify-content:center;gap:4px;display:flex}.drp-sel select{font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:4px 6px;font-size:14px;font-weight:700}.drp-sel select:hover{background:var(--soft)}.drp-grid{grid-template-columns:repeat(7,1fr);row-gap:2px;display:grid}.drp-grid .dow{text-align:center;color:var(--muted);padding:4px 0 6px;font-size:11px;font-weight:700}.drp-grid .blank{height:34px}.drp-grid .day{height:34px;font:inherit;color:var(--ink);cursor:pointer;font-variant-numeric:tabular-nums;background:0 0;border:0;border-radius:0;font-size:13px}.drp-grid .day:hover{background:var(--soft);border-radius:8px}.drp-grid .day.in{background:color-mix(in srgb, var(--brand) 13%, transparent);border-radius:0}.drp-grid .day.lo{border-top-left-radius:8px;border-bottom-left-radius:8px}.drp-grid .day.hi{border-top-right-radius:8px;border-bottom-right-radius:8px}.drp-grid .day.on{background:var(--brand);color:var(--on-brand);font-weight:700}.drp-grid .day.today:not(.on){box-shadow:inset 0 0 0 1px var(--brand);border-radius:8px;font-weight:700}.drp-foot{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding-top:12px;display:flex}.drp-picked{font-size:13px;font-weight:600}.drp-picked .muted{color:var(--muted)}@media (width<=860px){.drp{flex-direction:column}.drp-presets{border-right:0;border-bottom:1px solid var(--line);flex-flow:wrap;min-width:0}.drp-presets button small{display:none}.drp-months{grid-template-columns:minmax(0,280px)}.drp-months>div+div{display:none}}.collapse-head{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0;display:inline-flex}.collapse-head svg{color:var(--muted);transition:transform .15s}.collapse-head svg.up{transform:rotate(180deg)}.dpanels{min-width:0}.dpanels-sw{cursor:pointer;font-size:14px}.dpanels-h{color:var(--muted);margin:10px 0 6px;font-size:12px;font-weight:700}.dpanels .chip{white-space:normal;text-align:left;max-width:100%;padding-top:5px;padding-bottom:5px;line-height:1.25}.rowacts{flex-wrap:nowrap;justify-content:flex-end;gap:6px;display:inline-flex}.rowact{border:1px solid var(--line);background:var(--card);cursor:pointer;border-radius:8px;flex:none;justify-content:center;align-items:center;width:32px;height:32px;transition:background .12s,border-color .12s;display:inline-flex}.rowact.done{color:var(--good)}.rowact.done:hover:not(:disabled){background:color-mix(in srgb, var(--good) 12%, var(--card));border-color:var(--good)}.rowact.defer{color:color-mix(in srgb, var(--warn) 70%, var(--ink))}.rowact.defer:hover{background:color-mix(in srgb, var(--warn) 14%, var(--card));border-color:var(--warn)}.rowact:disabled{color:var(--axis);cursor:not-allowed;background:var(--card)}@media print{.rowacts{display:none!important}}.calv-head{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.calv-head .iconbtn{border-radius:8px;width:32px;height:32px}.calv-head .iconbtn:disabled{opacity:.4;cursor:default}.calv-month{text-align:center;min-width:140px;font-size:16px;font-weight:700}.calv-legend{flex-wrap:wrap;gap:6px;display:flex}.calv-grid{border:1px solid var(--line);border-radius:12px;grid-template-columns:repeat(7,minmax(0,1fr));display:grid;overflow:hidden}.calv-dow{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;background:var(--soft);border-bottom:1px solid var(--line);padding:8px;font-size:11px;font-weight:700}.calv-day{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--card);flex-direction:column;gap:3px;min-width:0;min-height:116px;padding:6px;display:flex}.calv-day:nth-child(7n+7){border-right:0}.calv-day.out{background:var(--soft)}.calv-day.out .calv-num b{color:var(--axis)}.calv-day.today{box-shadow:inset 0 0 0 2px var(--brand)}.calv-num{font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;padding:2px 2px 4px;display:flex}.calv-num:disabled{cursor:default}.calv-num b{font-size:13px;font-weight:700}.calv-num span{color:var(--muted);background:var(--soft);border-radius:999px;padding:1px 7px;font-size:11px;font-weight:700}.calv-day.today .calv-num b{color:var(--brand)}.calv-call{text-align:left;border:0;border-left:3px solid var(--line);width:100%;font:inherit;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:var(--soft);color:var(--ink);border-radius:6px;padding:3px 6px;font-size:11.5px;font-weight:600;line-height:1.3;display:block;overflow:hidden}.calv-call:hover{filter:brightness(.96)}.calv-call.info{border-left-color:var(--s1);background:color-mix(in srgb, var(--s1) 10%, var(--card))}.calv-call.ok{border-left-color:var(--good);background:color-mix(in srgb, var(--good) 10%, var(--card))}.calv-call.warn{border-left-color:var(--warn);background:color-mix(in srgb, var(--warn) 14%, var(--card))}.calv-call.bad{border-left-color:var(--crit);background:color-mix(in srgb, var(--crit) 10%, var(--card))}.calv-call.violet{border-left-color:var(--violet);background:color-mix(in srgb, var(--violet) 10%, var(--card))}.calv-more{font:inherit;color:var(--brand);cursor:pointer;background:0 0;border:0;border-radius:6px;align-self:flex-start;padding:1px 4px;font-size:11.5px;font-weight:700}.calv-more:hover{background:var(--soft)}@media (width<=760px){.calv-day{min-height:64px;padding:4px}.calv-call,.calv-more{display:none}.calv-num{flex-direction:column;align-items:flex-start;gap:2px}.calv-legend{display:none}}@media print{.calv-head .iconbtn{display:none}.calv-day{min-height:90px}}.seg{border:1px solid var(--line);background:var(--card);border-radius:10px;flex:none;gap:2px;padding:3px;display:inline-flex}.seg button{min-height:30px;font:inherit;color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:7px;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:600;display:inline-flex}.seg button svg{flex:none}.seg button:hover{color:var(--ink)}.seg button.on{background:var(--ink);color:var(--card)}@media print{.seg{display:none}}.calv-call.st{border-left-color:var(--c);background:color-mix(in srgb, var(--c) 12%, var(--card))}.calv-call.unplanned{border-left-color:var(--s2);background:color-mix(in srgb, var(--s2) 12%, var(--card))}
