:root{--primary: #4f46e5;--primary-dark: #4338ca;--primary-soft: #eef2ff;--bg: #f8f8fc;--card: #ffffff;--border: #e6e6f0;--text: #17171f;--muted: #6e6e80;--green: #15803d;--green-soft: #eaf6ef;--amber: #b45309;--amber-soft: #fdf3e7;--red: #b91c1c;--red-soft: #fdeeee;--weekend: #f4f4fa;--rail: #14121f;--rail-text: #c9c8dd;--rail-dim: #8b89a6;--rule: #f0f0f6}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.45}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}.shell{display:flex;min-height:100vh}.shell{--rail-w: 216px}.shell.rail-collapsed{--rail-w: 64px}.side{width:var(--rail-w);transition:width .16s ease-out;background:var(--rail);color:var(--rail-text);padding:20px 14px;flex-shrink:0;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto}.railtoggle{align-self:flex-end;margin-bottom:10px;border:1px solid rgba(255,255,255,.22);background:#ffffff1a;color:#fff;border-radius:9px;width:30px;height:30px;font-size:16px;font-weight:700;line-height:1;cursor:pointer;flex-shrink:0;transition:background .14s ease-out,border-color .14s ease-out}.railtoggle:hover{background:#fff3;border-color:#ffffff73}.railtoggle:focus-visible{outline:2px solid #fff;outline-offset:2px}.side.collapsed .railtoggle{align-self:center}.side.collapsed .foot{padding-top:10px}.side.collapsed .signout{display:flex;align-items:center;width:100%}.side.collapsed .railhide{display:none}.side.collapsed{font-size:0;overflow-x:hidden}.side.collapsed .ico{font-size:15px}.side.collapsed{padding-left:8px;padding-right:8px;align-items:center}.side.collapsed .logo{justify-content:center;margin-bottom:14px}.side.collapsed .mark{margin:0}.side.collapsed nav{width:100%}.side.collapsed .navlink,.side.collapsed .navitem,.side.collapsed .signout{justify-content:center;padding-left:0;padding-right:0}.side.collapsed .envtext,.side.collapsed .envtag{display:block;width:100%;height:4px;padding:0;margin:0 0 14px;overflow:hidden;text-indent:-999px;border-radius:2px}.side.collapsed .badge{position:absolute;top:5px;right:9px;min-width:8px;width:8px;height:8px;padding:0;overflow:hidden;text-indent:-999px;border-radius:50%}.side.collapsed .navlink,.side.collapsed .navitem{position:relative}.tenantchip{display:none}.side.collapsed .tenantchip{display:flex;align-items:center;justify-content:center;width:30px;height:30px;margin:0 auto 10px;border-radius:9px;background:#6366f140;color:#fff;font-size:12px;font-weight:800;border:0;cursor:pointer}.side .logo{display:flex;align-items:center;gap:10px;margin-bottom:8px;padding:0 6px}.mark{width:34px;height:34px;border-radius:9px;background:linear-gradient(135deg,#6366f1,#4338ca);display:flex;align-items:center;justify-content:center;flex-shrink:0}.side .logo .t{font-size:15px;font-weight:700;color:#fff}.side .logo .s{font-size:10.5px;color:var(--rail-dim)}.side .adminchip{margin:0 6px 20px;align-self:flex-start;padding:2px 9px;background:#6366f140;color:#b9bcf7;font-size:10px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;border-radius:10px}.side .navlbl{font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:var(--rail-dim);margin:16px 6px 6px}.side .tenantswitch{margin:4px 6px 0}.side .tenantswitch .navlbl{margin:14px 0 4px}.side .tenantswitch select{width:100%;padding:7px 8px;border:1px solid rgba(255,255,255,.14);border-radius:9px;background:#ffffff0f;color:#fff;font-family:inherit;font-size:13px;cursor:pointer}.side .tenantswitch select:focus-visible{outline:2px solid rgba(99,102,241,.9);outline-offset:1px}.side .navitem{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:9px;color:var(--rail-text);text-decoration:none;font-size:13.5px;margin-bottom:2px;width:100%;background:none;border:none;cursor:pointer;text-align:left}.side .navitem.active{background:#6366f138;color:#fff;font-weight:600}.side .navitem:hover:not(.active){background:#ffffff0f}.side .ico{width:18px;text-align:center;font-size:13px;opacity:.85}.side .badge{margin-left:auto;background:#d97706;color:#fff;font-size:10px;font-weight:800;border-radius:10px;padding:1px 7px}.side .foot{margin-top:auto;padding:12px 10px 0;border-top:1px solid rgba(255,255,255,.08);font-size:11.5px;color:var(--rail-dim)}.side .foot b{color:var(--rail-text);display:block;font-size:12px;word-break:break-all}.side .foot .signout{display:block;margin-top:8px;background:none;border:none;color:#b9bcf7;font-size:11.5px;font-weight:600;cursor:pointer;padding:0}.envtag{display:inline-block;margin:0 6px 10px;padding:2px 8px;border-radius:8px;background:#d9770633;color:#f0c98d;font-size:10px;font-weight:800;letter-spacing:.6px;text-transform:uppercase}.shell-body{flex:1;min-width:0}.main{padding:22px 28px 60px;max-width:1140px;margin-inline:auto}.main.with-actionbar{padding-bottom:120px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.topbar h1{font-size:19px;font-weight:800}.topbar .sub{font-size:12.5px;color:var(--muted);margin-top:2px}.crumb{font-size:12px;color:var(--muted);margin-bottom:8px}.crumb button{color:var(--primary);background:none;border:none;padding:0;cursor:pointer;font-weight:600}.monthnav{display:flex;align-items:center;gap:8px}.monthnav button{border:1px solid var(--border);background:var(--card);border-radius:9px;width:32px;height:32px;font-size:14px;cursor:pointer;color:var(--muted)}.monthnav .cur{border:1px solid var(--border);background:var(--card);border-radius:9px;padding:6px 16px;font-weight:700;font-size:13.5px;white-space:nowrap}select.cur{appearance:none;-webkit-appearance:none;cursor:pointer;color:inherit;font-family:inherit;text-align:center;padding-right:30px;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 16px) 14px,calc(100% - 11px) 14px;background-size:5px 5px,5px 5px;background-repeat:no-repeat}select.cur:hover{border-color:var(--primary)}select.cur:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.monthnav button:disabled{opacity:.4;cursor:not-allowed}.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.tile{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:14px 16px}.tile .lbl{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);font-weight:700;margin-bottom:4px}.tile .val{font-size:22px;font-weight:800;letter-spacing:-.3px;font-variant-numeric:tabular-nums}.tile .hint{font-size:11.5px;color:var(--muted);margin-top:2px}.tile.accent .val{color:var(--primary-dark)}.tile.warn .val{color:var(--amber)}.tile.changed{border-color:#f0c98d;background:#fffdf8}.tile.changed .val{color:var(--amber)}.cols{display:grid;grid-template-columns:1fr 340px;gap:16px;align-items:start}.cols.narrow-aside{grid-template-columns:1fr 320px}.panel{background:var(--card);border:1px solid var(--border);border-radius:14px;margin-bottom:16px;overflow:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 18px;border-bottom:1px solid var(--border)}.panel-head h2{font-size:13.5px;font-weight:800}.panel-head .hint,.panel-head .more{font-size:11.5px;color:var(--muted)}.panel-body{padding:14px 18px}.panel-empty{padding:18px;font-size:12.5px;color:var(--muted)}.q{display:flex;align-items:center;gap:14px;padding:12px 18px;border-bottom:1px solid var(--rule)}.q:last-child{border-bottom:none}.q .who{flex:1;min-width:0}.q .who b{display:block;font-size:13.5px}.q .who span{font-size:12px;color:var(--muted)}.q .nums{text-align:right;font-size:12px;color:var(--muted);white-space:nowrap}.q .nums b{display:block;font-size:14px;color:var(--text);font-variant-numeric:tabular-nums}.av{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;color:#fff;flex-shrink:0}.av.lg{width:44px;height:44px}.av.sm{width:22px;height:22px;font-size:9px}.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border-radius:20px;font-size:11px;font-weight:700;white-space:nowrap}.chip .dot{width:7px;height:7px;border-radius:50%}.rolechip{display:inline-block;margin-left:7px;padding:1px 7px;border:1px solid var(--border);border-radius:10px;font-size:10px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:var(--muted);vertical-align:1px}.rolechip.admin{border-color:#c7cbf5;background:var(--primary-soft);color:var(--primary-dark)}.chip.submitted{background:var(--amber-soft);color:var(--amber)}.chip.submitted .dot{background:#d97706}.chip.approved{background:var(--green-soft);color:var(--green)}.chip.approved .dot{background:#16a34a}.chip.invoiced{background:var(--primary-soft);color:var(--primary-dark)}.chip.invoiced .dot{background:var(--primary)}.chip.unpaid{background:var(--red-soft);color:var(--red)}.chip.unpaid .dot{background:#dc2626}.chip.draft{background:#efeff5;color:#55546a}.chip.draft .dot{background:var(--rail-dim)}.chip.rejected{background:var(--red-soft);color:var(--red)}.chip.rejected .dot{background:#b91c1c}.btn{border:1px solid var(--border);background:var(--card);border-radius:9px;padding:6px 13px;font-size:12px;font-weight:600;cursor:pointer;color:var(--text);text-decoration:none;display:inline-block;white-space:nowrap}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary:disabled,.btn.danger-solid:disabled{opacity:1;background:transparent;border-color:var(--border);color:var(--muted)}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn.amber{background:var(--amber);border-color:var(--amber);color:#fff}.btn.danger{background:#fff;border-color:#efb9b9;color:var(--red)}.btn.big{padding:9px 20px;font-size:13px}.btn.small{padding:5px 10px;font-size:11.5px}.btn.link{border:none;background:none;color:var(--primary);padding:0;font-weight:600}.wk{display:grid;grid-template-columns:92px 1fr 56px;align-items:center;gap:10px;margin-bottom:9px;font-size:12px}.wk .lbl{color:var(--muted)}.wk .track{height:14px;border-radius:4px;background:var(--rule);overflow:hidden}.wk .bar{height:100%;border-radius:4px;background:var(--primary);opacity:.9}.wk .v{text-align:right;font-weight:700;font-variant-numeric:tabular-nums}.legendnote{font-size:11px;color:var(--muted);margin-top:6px}.kv{display:flex;justify-content:space-between;gap:12px;font-size:12.5px;padding:7px 0;border-bottom:1px solid var(--rule)}.kv:last-child{border-bottom:none}.kv .k{color:var(--muted)}.kv .v{font-weight:600;white-space:nowrap}.kv .v.accent{color:var(--primary-dark)}.tablewrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);font-weight:700;padding:8px 14px;border-bottom:1px solid var(--border);background:#fbfbfe}th.r,td.r{text-align:right}td{padding:6px 14px;border-bottom:1px solid var(--rule);font-size:13px;vertical-align:middle;font-variant-numeric:tabular-nums}tr:last-child td{border-bottom:none}tr.weekend td{background:var(--weekend);color:#9b9aae;font-size:12px}tr.overridden td{background:#fff9ee;border-top:1px solid #f0c98d;border-bottom:1px solid #f0c98d}.d{font-weight:700}.dayname{color:var(--muted);font-size:12px}.code{font-size:12px;color:#444}.typ{display:inline-block;padding:2px 9px;border-radius:12px;font-size:10.5px;font-weight:700}.typ.billable{background:var(--green-soft);color:var(--green)}.typ.leave{background:var(--red-soft);color:var(--red)}.typ.weekend{background:#ececf3;color:#9b9aae}.typ.flagged{background:var(--amber-soft);color:var(--amber)}.edit-link{font-size:11px;color:var(--primary);font-weight:700;opacity:.75;background:none;border:none;cursor:pointer;padding:0}.edit-link:disabled{color:var(--muted);cursor:not-allowed}.ov-box{padding:12px 14px;background:#fff4e0;border-top:1px solid #f0c98d;border-bottom:1px solid #f0c98d}.ov-box .t{font-size:12px;font-weight:800;color:var(--amber);margin-bottom:8px}.ov-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.ov-row label{font-size:11.5px;color:#7a4a10;font-weight:600}.ov-row input[type=text]{border:1px solid #e4c089;border-radius:8px;padding:6px 10px;font-size:12.5px;background:#fff}.hours-inp{width:72px;text-align:right;font-weight:700}.reason{flex:1;min-width:240px}.ov-error{margin-top:8px;font-size:12px;color:var(--red);font-weight:600}.strike{text-decoration:line-through;color:#9b9aae;margin-right:6px;font-weight:400}.newv{font-weight:800;color:var(--amber)}.sidepanel{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:16px 18px;margin-bottom:14px}.sidepanel h3{font-size:12.5px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:#55546a;margin-bottom:12px}.audit{position:relative;padding-left:18px}.audit:before{content:"";position:absolute;left:5px;top:4px;bottom:4px;width:2px;background:#ededf4}.ev{position:relative;margin-bottom:14px;font-size:12.5px}.ev:last-child{margin-bottom:0}.ev:before{content:"";position:absolute;left:-18px;top:4px;width:8px;height:8px;border-radius:50%;background:#c7c6d9;border:2px solid #fff}.ev.warn:before{background:#d97706}.ev.ok:before{background:#16a34a}.ev.bad:before{background:#dc2626}.ev b{display:block}.ev .when{font-size:11px;color:var(--muted)}.ev .why{margin-top:3px;padding:6px 9px;background:#fbfbfe;border-radius:8px;font-size:11.5px;color:#55546a}.ev.othermonth{opacity:.55}.actionbar{position:fixed;bottom:0;left:var(--rail-w, 216px);right:0;background:#fff;border-top:1px solid var(--border);padding:12px 28px;display:flex;align-items:center;justify-content:space-between;gap:16px;box-shadow:0 -4px 16px #17171f0d;flex-wrap:wrap}.actionbar .totals{display:flex;gap:26px;font-size:12.5px;color:var(--muted)}.actionbar .totals b{display:block;font-size:16px;color:var(--text);font-variant-numeric:tabular-nums}.actionbar .acts{display:flex;gap:10px;align-items:center}.locknote{font-size:11.5px;color:var(--muted);max-width:340px}.person{padding:16px 18px;border-bottom:1px solid var(--rule);display:grid;grid-template-columns:250px 1fr 130px;gap:18px;align-items:start}.person:last-child{border-bottom:none}.pid{display:flex;gap:12px;align-items:flex-start}.pid b{display:block;font-size:13.5px}.pid span{font-size:11.5px;color:var(--muted);display:block}.engs{margin-top:7px;border:1px solid #efeff6;border-radius:10px;overflow:hidden}.engs .eh,.engs .er{display:grid;grid-template-columns:1fr 110px 110px 90px;gap:8px;align-items:center}.engs .eh{padding:5px 10px;background:#fbfbfe;font-size:9.5px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);font-weight:700}.engs .er{padding:6px 10px;border-top:1px solid var(--rule);font-size:12px}.engs .er .c{font-weight:700}.engs .er .codes{font-size:10.5px;color:var(--muted);font-weight:400}.engs .er .r{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.engs .er .future{color:#adacc0;font-weight:400;font-size:11px;text-align:right}.engs .empty{padding:8px 10px;font-size:11.5px;color:var(--muted)}.invmode{margin-top:7px;display:flex;align-items:center;gap:8px;font-size:11.5px;flex-wrap:wrap}.invmode .lbl{color:var(--muted)}.seg{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.seg button{padding:3px 10px;font-size:10.5px;font-weight:700;color:var(--muted);background:none;border:none;cursor:pointer}.seg button.on{background:var(--primary-soft);color:var(--primary-dark)}.pacts{display:flex;flex-direction:column;gap:6px}.codetag{font-weight:800;font-size:12.5px;white-space:nowrap}.mut{color:var(--muted);font-size:11.5px}.pill{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:14px;font-size:10.5px;font-weight:700}.pill.on{background:var(--green-soft);color:var(--green)}.pill.off{background:#efeff5;color:#77768c}.cchip{display:inline-block;font-size:10.5px;font-weight:700;padding:3px 9px;border-radius:12px;background:var(--primary-soft);color:var(--primary-dark);margin:1px 2px 1px 0}.assignees{display:flex;gap:4px}.notecall{margin-top:4px;padding:10px 14px;background:var(--primary-soft);border-radius:10px;font-size:12px;color:var(--primary-dark)}.backdrop{position:fixed;inset:0;background:#17171f73;display:flex;align-items:center;justify-content:center;padding:24px;z-index:40}.dialog{background:var(--card);border-radius:14px;width:100%;max-width:520px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #17171f40}.dialog.wide{max-width:760px}.dialog header{padding:16px 20px;border-bottom:1px solid var(--border)}.dialog header h2{font-size:15px;font-weight:800}.dialog header p{font-size:12px;color:var(--muted);margin-top:3px}.dialog .body{padding:18px 20px;display:flex;flex-direction:column;gap:12px}.dialog footer{padding:14px 20px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:flex-end;gap:10px}.combo{position:relative;display:flex;flex-direction:column}.combo-toggle{position:absolute;top:0;right:0;height:33px;width:30px;border:0;background:transparent;color:var(--muted);font-size:11px;cursor:pointer}.combo-list{position:absolute;z-index:20;top:calc(100% + 2px);left:0;right:0;max-height:220px;overflow-y:auto;margin:0;padding:4px;list-style:none;background:var(--card);border:1px solid var(--border);border-radius:9px;box-shadow:0 8px 20px #17171f1f}.combo-opt{display:block;width:100%;text-align:left;border:0;background:transparent;border-radius:6px;padding:5px 8px;font-size:12.5px;font-family:inherit;color:var(--text);cursor:pointer}.combo-opt:hover{background:var(--primary-soft)}.combo-opt.current{color:var(--primary);font-weight:700}.combo-empty{padding:6px 8px;font-size:11.5px;color:var(--muted)}.field{display:flex;flex-direction:column;gap:4px}.field label{font-size:11.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}.field input,.field select,.field textarea{border:1px solid var(--border);border-radius:9px;padding:8px 11px;font-size:13px;background:#fff}.field .note{font-size:11.5px;color:var(--muted)}.field.checks{flex-direction:row;gap:16px;align-items:center}.field.checks span{display:inline-flex;align-items:center;gap:6px;font-size:12.5px}.formerror{font-size:12.5px;color:var(--red);font-weight:600}.signin{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--rail)}.signin .card{background:var(--card);border-radius:16px;padding:28px;width:100%;max-width:400px}.signin .brand{display:flex;align-items:center;gap:10px;margin-bottom:18px}.signin h1{font-size:18px;font-weight:800;margin-bottom:4px}.signin p.sub{font-size:12.5px;color:var(--muted);margin-bottom:18px}.signin form{display:flex;flex-direction:column;gap:12px}.signin .otp{letter-spacing:6px;font-size:18px;text-align:center;font-variant-numeric:tabular-nums}.signin-note{margin:4px 0 0;padding-top:14px;border-top:1px solid var(--border);font-size:12.5px;line-height:1.5;color:var(--muted)}.fullpage{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;text-align:center}.muted{color:var(--muted)}.error{color:var(--red);font-weight:600;font-size:13px}.banner{border-radius:10px;padding:10px 14px;font-size:12.5px;margin-bottom:14px}.banner.bad{background:var(--red-soft);color:var(--red)}.banner.good{background:var(--green-soft);color:var(--green)}.banner.warn{background:var(--amber-soft);color:var(--amber)}.mobilebar{display:none}@media(max-width:1000px){.cols,.cols.narrow-aside{grid-template-columns:1fr}.tiles{grid-template-columns:repeat(2,1fr)}.person{grid-template-columns:1fr}.pacts{flex-direction:row}}@media(max-width:900px){.side{position:fixed;inset:0 auto 0 0;z-index:30;transform:translate(-100%);transition:transform .18s ease}.side.open{transform:translate(0)}.mobilebar{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--rail);color:#fff}.mobilebar .menubtn{background:none;border:none;color:#fff;font-size:20px;cursor:pointer}.main{padding:16px 16px 60px}.main.with-actionbar{padding-bottom:150px}.actionbar{left:0;padding:12px 16px}.q{flex-wrap:wrap}}.msum-idle td{color:var(--muted)}.msum-total td{border-top:2px solid var(--text);border-bottom:none;padding-top:10px;padding-bottom:10px}.msum-total .mut{font-weight:500}.dialog.statement{max-width:640px}.sheet-print{padding:24px 26px}.sheet-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:14px;border-bottom:2px solid var(--text);margin-bottom:16px}.sheet-head h2{font-size:17px;font-weight:800}.sheet-head p{font-size:12.5px;color:var(--muted);margin-top:2px}.sheet-meta{font-size:11.5px;color:var(--muted);text-align:right;line-height:1.6}.sheet-table{width:100%;border-collapse:collapse;margin-bottom:14px}.sheet-table th{padding:6px 8px;background:none;border-bottom:1px solid var(--border)}.sheet-table td{padding:7px 8px;font-size:13px}.sheet-table tr.sheet-total td{border-top:2px solid var(--text);border-bottom:none;font-variant-numeric:tabular-nums}.sheet-note{font-size:11.5px;color:var(--muted);margin-top:8px}.sheet-note.warn{color:var(--amber);font-weight:600}@media print{body{background:#fff}.side,.mobilebar,.actionbar,.no-print{display:none!important}.backdrop{position:static;background:none;padding:0;display:block}.dialog,.dialog.statement{max-width:none;max-height:none;overflow:visible;box-shadow:none;border-radius:0}.main{display:none}}.notice-block{border:1px solid var(--border);border-left:3px solid var(--primary);background:var(--primary-soft);border-radius:0 8px 8px 0;padding:14px 16px;margin-bottom:22px}.notice-title{margin:0 0 6px;font-weight:700;color:var(--text);font-size:15px}.notice-body{margin:0 0 6px;color:var(--muted);font-size:14px;line-height:1.5}.notice-body:last-child{margin-bottom:0}.notice-link{color:var(--primary-dark);font-weight:600}.error-note{color:var(--red)}.btn.danger-solid{background:var(--red);border-color:var(--red);color:#fff}.btn.danger-solid:disabled{opacity:.45;cursor:not-allowed}.envchip{display:inline-flex;align-items:center;gap:7px;padding:6px 13px;border-radius:20px;font-size:11.5px;font-weight:800;letter-spacing:.3px;text-transform:uppercase;white-space:nowrap}.envchip .dot{width:8px;height:8px;border-radius:50%}.envchip.prod{background:var(--red-soft);color:var(--red);border:1px solid #efb9b9}.envchip.prod .dot{background:#dc2626}.envchip.sandbox{background:#efeff5;color:#55546a;border:1px solid var(--border)}.envchip.sandbox .dot{background:#8b89a6}.setting{padding:12px 18px;border-bottom:1px solid #f0f0f6;display:flex;justify-content:space-between;align-items:center;gap:20px}.setting:last-child{border-bottom:none}.setting .l b{display:block;font-size:13px}.setting .l span{font-size:11.5px;color:var(--muted)}.setting .v{font-weight:700;font-size:13px;white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums}.setting .v .mut{font-weight:400;color:var(--muted);font-size:11.5px;display:block}.danger{background:var(--card);border:1px solid #efb9b9;border-radius:14px;margin-bottom:18px;overflow:hidden}.danger-head{padding:13px 18px;border-bottom:1px solid #f7dede}.danger-head h2{font-size:14px;font-weight:800;color:var(--red)}.danger-head .sub{font-size:11.5px;color:var(--muted);margin-top:2px}.danger-row{padding:14px 18px;border-bottom:1px solid #f7dede;display:flex;justify-content:space-between;align-items:flex-start;gap:24px}.danger-row:last-child{border-bottom:none}.danger-row .l b{display:block;font-size:13px;margin-bottom:3px}.danger-row .l p{font-size:11.5px;color:var(--muted);max-width:640px}.danger-foot{padding:11px 18px;background:var(--red-soft);font-size:11.5px;color:#7a2020}.losing,.keeping{border-radius:10px;padding:11px 13px;margin-bottom:12px}.losing{border:1px solid #efb9b9;background:snow}.keeping{border:1px solid #d6e9dc;background:#fafdfb;margin-bottom:14px}.losing .t,.keeping .t{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;margin-bottom:6px}.losing .t{color:var(--red)}.keeping .t{color:var(--green)}.losing ul,.keeping ul{list-style:none;margin:0;padding:0}.losing li{font-size:12.5px;padding:2px 0;display:flex;justify-content:space-between;gap:14px;font-variant-numeric:tabular-nums}.losing li span{color:var(--muted)}.keeping li{font-size:12.5px;padding:2px 0;color:#3d4a42}.why{display:block;font-size:11px;color:var(--muted);margin-top:2px}.listbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:11px 18px;border-bottom:1px solid var(--border);background:#fbfbfe}.listsearch{flex:1;min-width:210px;border:1px solid var(--border);border-radius:9px;padding:7px 11px;font-size:12.5px;font-family:inherit;background:#fff}.listsearch:focus{outline:2px solid var(--primary-soft);border-color:var(--primary)}.chipgroup{display:inline-flex;gap:4px;flex-wrap:wrap}.filterchip{border:1px solid var(--border);background:#fff;border-radius:20px;padding:5px 11px;font-size:11.5px;font-weight:600;color:#55546a;cursor:pointer;font-family:inherit;display:inline-flex;align-items:center;gap:6px}.filterchip:hover{border-color:var(--primary)}.filterchip.on{background:var(--primary-soft);border-color:var(--primary);color:var(--primary-dark)}.filterchip .n{font-variant-numeric:tabular-nums;font-weight:800;opacity:.65}.pager{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:11px 18px;border-top:1px solid var(--border);background:#fbfbfe}.pagecount{font-size:11.5px;color:var(--muted);font-variant-numeric:tabular-nums}.pagebtns{display:inline-flex;align-items:center;gap:4px}.pagegap{color:var(--muted);padding:0 2px;font-size:12px}.topacts{display:flex;align-items:center;gap:10px}.showmore{margin-top:6px;font-size:11.5px}.sidepanel.danger-side{border-color:#efb9b9}.sidepanel.danger-side h3{color:var(--red)}@media(min-width:1400px){.main{max-width:1440px}.cols{grid-template-columns:1fr 380px}}.rates{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap}.ratesgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px 12px;margin-bottom:10px}.ratedefault{padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid var(--rule, var(--border))}.rateonly{margin-bottom:12px}.ratesfoot{display:flex;align-items:center;gap:8px}.ratesfoot .rtcur{margin-right:auto;padding-bottom:0}.rt{display:flex;flex-direction:column;justify-content:flex-end;gap:3px}.ratesgrid .rt input{width:100%}.rt label{font-size:10px;text-transform:uppercase;letter-spacing:.4px;font-weight:700;color:var(--muted)}.rt input{width:104px;border:1px solid var(--border);border-radius:9px;padding:7px 9px;font-size:13px;font-variant-numeric:tabular-nums}.rtcur{padding-bottom:8px}.bands{display:flex;flex-wrap:wrap;gap:8px}.bandrow{display:inline-flex;align-items:center;gap:6px;padding:3px 6px 3px 9px;border:1px solid var(--border);border-radius:9px;background:var(--bg)}.bandrow code{font-size:11.5px;font-weight:700;color:var(--text)}.bandrow select{font-size:11.5px;padding:3px 6px}.ratecard{display:flex;align-items:flex-end;gap:8px;margin-top:8px}.ratecard-row{display:flex;flex-direction:column;gap:3px}.ratecard-row label{font-size:10.5px;text-transform:uppercase;letter-spacing:.4px;font-weight:700;color:var(--muted)}.ratecard-row input{width:108px}.bandtag{display:inline-block;margin-left:6px;padding:0 6px;border-radius:9px;background:var(--bg);border:1px solid var(--border);font-size:10px;font-weight:800;letter-spacing:.3px;text-transform:uppercase;color:var(--muted)}.linecomment{display:block;margin-top:2px;font-size:11.5px;color:var(--muted);font-style:italic}.checkrow{display:flex;gap:9px;align-items:flex-start;padding:11px 12px;border:1px solid var(--border);border-radius:10px;background:#fbfbfe;cursor:pointer;text-transform:none;letter-spacing:0;font-size:12.5px;color:var(--text);font-weight:400}.checkrow input{margin-top:2px}.checkrow b{font-weight:700}.checkrow:has(input:checked){border-color:#c7cbf5;background:var(--primary-soft)}.checksub{display:block;font-size:11.5px;color:var(--muted);margin-top:1px}.bandsplit{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.bandcell{border:1px solid var(--border);border-radius:10px;padding:8px 12px;background:var(--card);min-width:150px}.bandcell .bl{font-size:10px;font-weight:800;letter-spacing:.4px;text-transform:uppercase}.bandcell .bh{font-size:15px;font-weight:800;font-variant-numeric:tabular-nums;margin-top:2px}.bandcell .bm{font-size:11.5px;color:var(--muted);font-variant-numeric:tabular-nums}.bandcell .bl{color:var(--primary-dark);text-transform:none;letter-spacing:0;font-size:11px}.bandcell .bp{font-size:10.5px;color:var(--muted);margin-top:3px}.crumbs{font-size:12px;margin-bottom:8px}.btnrow{display:flex;gap:8px;align-items:center}.panelbody{padding:14px 16px}table.coderows th{font-size:10px;text-transform:uppercase;letter-spacing:.5px}table.coderows td{vertical-align:middle}table.coderows input{width:100%}.lockedcode{display:inline-flex;align-items:center;gap:6px;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:6px 9px;font-size:12.5px}.inlinecheck{display:inline-flex;align-items:center;gap:6px;font-size:12px}.rowbtn{border:none;background:none;color:var(--muted);cursor:pointer;font-size:13px;padding:4px 6px;border-radius:6px}.rowbtn:hover{background:var(--bg);color:var(--text)}@media(max-width:900px){.side,.side.collapsed{width:216px;padding-left:14px;padding-right:14px;align-items:stretch}.side.collapsed .logo-text,.side.collapsed .navlbl,.side.collapsed .side-foot,.side.collapsed .tenantname,.side.collapsed .tenantswitch select,.side.collapsed .navlink .label,.side.collapsed .navitem .label{display:revert}.side.collapsed .tenantchip{display:none}}tr.engopen>td{background:var(--bg);border-bottom:0}tr.engeditor>td{background:var(--bg);padding-top:0}.engedit{border-left:3px solid var(--primary);padding:4px 0 12px 14px}.engedit .note{margin-top:10px;max-width:640px}.addeng{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin-bottom:12px}.addeng select{width:100%;border:1px solid var(--border);border-radius:9px;padding:7px 9px;font-size:13px;font-family:inherit}.engacts{width:210px}.engacts .btn{width:100%;margin:0}.engacts>.btn:nth-of-type(1),.engacts>.btn:nth-of-type(2){width:calc(50% - 3px);display:inline-block}.engacts>.btn:nth-of-type(2){margin-left:6px}.engacts>.btn:nth-of-type(3){margin-top:6px}.engacts .why{margin-top:6px}.namerow{display:flex;align-items:center;gap:6px}.nameinput{flex:1 1 auto;min-width:0;border:1px solid var(--primary);border-radius:8px;padding:5px 9px;font-size:13px;font-weight:600;color:var(--text);background:var(--card)}.btn.ghost{background:transparent;border-color:transparent;color:var(--muted)}.btn.ghost:hover:not(:disabled){background:var(--primary-soft);color:var(--primary-dark)}.linkish{border:0;background:none;padding:0;font:inherit;color:var(--primary);font-weight:700;cursor:pointer;text-decoration:underline}.mut.err{color:var(--red)}
