:root{--primary:#0f766e;--primary-dark:#0d5f57;--primary-hover:#115e59;--primary-soft:#ccfbf1;--primary-tint:#f0fdfa;--gold:#d97706;--gold-soft:#fef3c7;--gold-tint:#fffbeb;--done:#059669;--done-soft:#d1fae5;--done-tint:#ecfdf5;--danger:#dc2626;--danger-soft:#fee2e2;--danger-tint:#fef2f2;--info:#0ea5e9;--info-soft:#e0f2fe;--ink:#0f172a;--ink-mid:#334155;--muted:#64748b;--muted-2:#94a3b8;--line:#e2e8f0;--line-soft:#f1f5f9;--surface:#fff;--bg:#f8fafc;--bg-2:#f1f5f9;--radius:12px;--radius-sm:8px;--radius-lg:16px;--radius-xl:20px;--shadow-xs:0 1px 2px rgba(15,23,42,.04);--shadow-sm:0 1px 3px rgba(15,23,42,.06),0 1px 2px rgba(15,23,42,.04);--shadow:0 4px 6px -1px rgba(15,23,42,.06),0 2px 4px -2px rgba(15,23,42,.04);--shadow-md:0 10px 15px -3px rgba(15,23,42,.08),0 4px 6px -4px rgba(15,23,42,.04);--shadow-lg:0 20px 25px -5px rgba(15,23,42,.1),0 8px 10px -6px rgba(15,23,42,.04);--ease-out:cubic-bezier(.4,0,.2,1);--ease-back:cubic-bezier(.34,1.56,.64,1);--ease-smooth:cubic-bezier(.16,1,.3,1)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:14px;scroll-behavior:smooth}body{font-family:Cairo,Segoe UI,Tahoma,Arial,sans-serif;background:var(--bg);color:var(--ink);direction:rtl;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"lnum" 1,"tnum" 1;min-height:100vh}a{color:var(--primary);text-decoration:none;transition:color .15s var(--ease-out)}a:hover{color:var(--primary-hover)}button,input,select,textarea{font-family:inherit;font-size:inherit}button{cursor:pointer;background:none;border:none}::selection{background:var(--primary-soft);color:var(--primary-dark)}.chip,.code-cell,.count-cell,.diff-card,.kpi,.last-cell,.mini-kpi,.num,table{font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"lnum" 1,"tnum" 1,tabular-nums lining-nums}input,select,textarea{width:100%;border:1.5px solid var(--line);border-radius:var(--radius-sm);padding:10px 14px;background:#fff;color:var(--ink);font-size:13.5px;transition:all .18s var(--ease-out)}input::placeholder,textarea::placeholder{color:var(--muted-2)}input:hover,select:hover,textarea:hover{border-color:#cbd5e1}input:focus,select:focus,textarea:focus{outline:none;box-shadow:0 0 0 4px rgba(15,118,110,.12)}input:disabled,select:disabled,textarea:disabled{background:var(--bg-2);color:var(--muted)}select{cursor:pointer;-webkit-padding-end:32px;padding-inline-end:32px;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-color:#f7fdfb;border-color:var(--primary);font-weight:600;color:var(--primary-dark);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7' viewBox='0 0 12 7'%3E%3Cpath fill='none' stroke='%230f766e' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:left 12px center}select:hover:not(:disabled){background-color:#eefaf6;border-color:var(--primary-dark)!important;box-shadow:0 2px 8px rgba(15,118,110,.14)}select:focus{background-color:#fff;box-shadow:0 0 0 4px rgba(15,118,110,.18)!important}select:invalid,select[data-empty=true]{color:var(--muted-2);font-weight:500}select option{color:var(--ink);font-weight:500;background:#fff;padding:8px}select:disabled{background-color:var(--bg-2)!important;border-color:var(--line)!important;color:var(--muted)!important;font-weight:500}label{display:block;font-size:12px;font-weight:600;color:var(--ink-mid);margin-bottom:6px;letter-spacing:.1px}.req{color:var(--danger);font-weight:700;-webkit-margin-start:2px;margin-inline-start:2px}.btn-clear,.btn-danger,.btn-export,.btn-ftoggle,.btn-ghost,.btn-primary,.btn-today{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 18px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;letter-spacing:.1px;white-space:nowrap;transition:all .15s var(--ease-out);border:1.5px solid transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none}.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;box-shadow:0 1px 2px rgba(15,118,110,.15),0 2px 4px rgba(15,118,110,.1)}.btn-primary:hover:not(:disabled){box-shadow:0 4px 8px rgba(15,118,110,.25),0 2px 4px rgba(15,118,110,.15)}.btn-primary:active{box-shadow:0 1px 2px rgba(15,118,110,.15)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{background:#fff;border-color:var(--line);color:var(--ink-mid);box-shadow:var(--shadow-xs)}.btn-ghost:hover{background:var(--primary-tint);border-color:var(--primary);color:var(--primary-dark)}.btn-danger{background:var(--danger);color:#fff;box-shadow:var(--shadow-xs)}.btn-danger:hover{background:#b91c1c;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-clear{background:transparent;border-color:var(--line);color:var(--muted);font-size:12px;padding:7px 14px}.btn-clear:hover{background:var(--bg-2);color:var(--ink)}.btn-ftoggle{background:#fff;border-color:var(--line);color:var(--ink-mid);font-size:12.5px;box-shadow:var(--shadow-xs)}.btn-ftoggle:hover{background:var(--primary-tint);border-color:var(--primary);color:var(--primary-dark)}.btn-export{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;font-size:12.5px;box-shadow:0 1px 2px rgba(15,118,110,.15)}.btn-export:hover{transform:translateY(-1px);box-shadow:0 4px 8px rgba(15,118,110,.2)}.btn-today{background:var(--primary-tint);border-color:var(--primary-soft);color:var(--primary-dark);font-size:12px}.btn-today:hover{background:var(--primary-soft)}.nav{background:hsla(0,0%,100%,.85);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;z-index:20;box-shadow:var(--shadow-xs)}.nav-top{max-width:100%;padding:12px 32px 8px;justify-content:space-between;gap:16px}.nav-brand,.nav-top{display:flex;align-items:center}.nav-brand{gap:12px}.nav-logo-img{height:42px;width:auto}.nav-title{font-size:15px;font-weight:700;background:linear-gradient(135deg,var(--primary),var(--primary-dark));-webkit-background-clip:text;background-clip:text;color:transparent;letter-spacing:.3px}.tabs{max-width:100%;padding:4px 32px 0;display:flex;gap:6px;border-top:1px solid var(--line-soft)}.tab{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;font-size:13.5px;font-weight:600;color:var(--muted);border-radius:10px 10px 0 0;border-bottom:3px solid transparent;margin-bottom:-1px;transition:all .18s var(--ease-out);position:relative}.tab:hover:not(.active){color:var(--primary-dark)}.tab.active{color:var(--primary);border-bottom-color:var(--primary);background:linear-gradient(180deg,transparent 0,var(--primary-tint) 100%)}.tab-icon{font-size:18px;opacity:.9}.nav-user{position:relative;display:flex!important;flex-direction:row}.nav-user,.user-btn{align-items:center;gap:10px}.user-btn{display:flex;border:1.5px solid var(--line);border-radius:999px;padding:5px 16px 5px 5px;background:#fff;transition:all .15s var(--ease-out);box-shadow:var(--shadow-xs)}.user-btn:hover{border-color:var(--primary);box-shadow:var(--shadow-sm)}.avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;box-shadow:inset 0 -2px 4px rgba(0,0,0,.1)}.user-meta{text-align:right;line-height:1.2}.user-name{display:block;font-size:12.5px;font-weight:600}.user-role{display:block;font-size:10.5px}.caret,.user-role{color:var(--muted)}.caret{font-size:10px}.user-menu{position:absolute;top:100%;left:0;right:0;margin-top:8px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lg);overflow:hidden;z-index:30;animation:dropIn .18s var(--ease-back)}@keyframes dropIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}.user-menu button{width:100%;padding:12px 16px;text-align:right;font-weight:600;color:var(--danger);font-size:13px;transition:background .12s}.user-menu button:hover{background:var(--danger-tint)}.page{max-width:100%;padding:28px 32px 60px;display:flex;flex-direction:column;gap:6px}.page-head{margin-bottom:24px}.page-title{font-size:22px;font-weight:700;color:var(--ink);display:flex;align-items:center;gap:12px;letter-spacing:-.2px}.page-title:before{content:"";width:5px;height:24px;border-radius:3px;background:linear-gradient(180deg,var(--primary),var(--primary-dark))}@media (min-width:1600px){.nav-top,.tabs{padding-inline:48px}.page{padding:32px 48px 60px}}@media (max-width:900px){.nav-top,.tabs{padding-inline:16px}.page{padding:20px 16px 40px}}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px;box-shadow:var(--shadow-sm);transition:all .2s var(--ease-out)}.card:hover{box-shadow:var(--shadow-md);border-color:#cbd5e1}.card h3{font-size:15px;font-weight:700;color:var(--ink);margin-bottom:16px;letter-spacing:-.1px}.card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.card-head h3{margin-bottom:0;-webkit-padding-start:12px;padding-inline-start:12px;-webkit-border-start:3px solid var(--primary);border-inline-start:3px solid var(--primary)}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));grid-gap:14px;gap:14px;margin-bottom:22px}.kpi{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px;text-align:center;box-shadow:var(--shadow-xs);transition:all .2s var(--ease-out);position:relative;overflow:hidden}.kpi:before{content:"";position:absolute;top:0;inset-inline-start:0;width:40px;height:40px;background:radial-gradient(circle at top left,var(--primary-tint),transparent 70%);opacity:0;transition:opacity .3s}.kpi:hover{border-color:var(--primary);transform:translateY(-3px);box-shadow:0 8px 16px rgba(15,118,110,.1)}.kpi:hover:before{opacity:1}.kpi span{display:block;font-size:12px;color:var(--muted);margin-bottom:6px}.kpi b{font-size:28px;font-weight:700;letter-spacing:-.5px}.chips{flex-wrap:wrap;margin-bottom:16px}.chip,.chips{display:flex;gap:10px}.chip{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:12px 18px;align-items:center;font-size:13px;white-space:nowrap;box-shadow:var(--shadow-xs);transition:all .18s var(--ease-out)}.chip:hover{border-color:#cbd5e1;box-shadow:var(--shadow-sm)}.chip b{font-size:19px;font-weight:700}.chip.done{border-color:var(--done);background:var(--done-tint)}.chip.done b{color:var(--done)}.chip.pending{border-color:var(--danger);background:var(--danger-tint)}.chip.pending b{color:var(--danger)}.dot{width:8px;height:8px;border-radius:50%;display:inline-block}.dot.done{background:var(--done);box-shadow:0 0 0 2px var(--done-tint)}.dot.pending{background:var(--danger);box-shadow:0 0 0 2px var(--danger-tint)}.filter-bar{position:-webkit-sticky;position:sticky;top:92px;z-index:15;background:rgba(248,250,252,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:10px 0;margin:0 -32px;padding-inline:32px}@media (min-width:1600px){.filter-bar{margin:0 -48px;padding-inline:48px}}@media (max-width:900px){.filter-bar{margin:0 -16px;padding-inline:16px}}.filter-main{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.filter-main .search-input,.filter-main select{font-size:12px!important;padding:7px 14px!important;max-width:140px!important;border-radius:999px!important;border-width:1px!important;background-color:#fff;box-shadow:var(--shadow-xs)}.filter-main .search-input{max-width:280px!important;-webkit-padding-start:32px!important;padding-inline-start:32px!important;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='M21 21l-4.35-4.35'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.filter-main select{padding-inline:30px 14px!important}.filter-main .btn-clear,.filter-main .btn-export,.filter-main .btn-ftoggle,.filter-main .btn-restore-months{border-radius:999px!important;padding:7px 14px!important;font-size:12px!important;height:32px}.filter-main .fbadge{background:var(--primary);color:#fff;font-size:10px;font-weight:700;min-width:18px;height:18px;padding:0 5px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px}.btn-restore-months{background:var(--gold-soft);border:1px solid #fde68a;color:#b45309;font-weight:600;display:inline-flex;align-items:center;gap:6px}.btn-restore-months:hover{background:#fde68a;transform:translateY(-1px)}.filter-saved{display:inline-flex;align-items:center;gap:4px;background:var(--done-soft);color:var(--done);border-radius:999px;padding:3px 11px;font-size:11px;font-weight:600}.filter-panel{margin-top:12px;padding:20px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);animation:panelSlide .22s var(--ease-back);transform-origin:top}@keyframes panelSlide{0%{opacity:0;transform:scaleY(.92) translateY(-8px)}to{opacity:1;transform:none}}.fp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));grid-gap:14px;gap:14px}.fp-f label{font-size:11px;margin-bottom:5px}.fp-f input,.fp-f select{padding:8px 12px;font-size:12.5px;border-radius:var(--radius-sm)}.date-range,.fp-multi{grid-column:span 2}.date-row{display:flex;gap:6px}.date-row input{flex:1 1}.mine-toggle{display:flex;align-items:center;gap:8px;font-size:13px;margin-top:14px;font-weight:600;cursor:pointer;color:var(--ink-mid)}.mine-toggle input{width:16px;height:16px;accent-color:var(--primary)}.chip-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.chip-tag{display:inline-flex;align-items:center;gap:4px;background:var(--primary-soft);color:var(--primary-dark);border:1px solid var(--primary);border-radius:999px;padding:4px 12px;font-size:12px;font-weight:600;cursor:pointer;animation:chipIn .2s var(--ease-back);transition:all .15s var(--ease-out)}.chip-tag:hover{background:var(--danger);color:#fff;border-color:var(--danger);transform:scale(.96)}@keyframes chipIn{0%{opacity:0;transform:scale(.7)}to{opacity:1}}.months-mini{display:flex;flex-wrap:wrap;gap:5px;margin-top:4px}.month-mini{display:inline-flex;align-items:center;justify-content:center;padding:5px 12px;border:1px solid var(--line);border-radius:999px;font-size:11.5px;font-weight:600;color:var(--muted);background:#fff;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;min-width:50px;transition:all .12s var(--ease-out)}.month-mini:hover{border-color:var(--primary);color:var(--primary-dark);transform:translateY(-1px)}.month-mini.on{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;border-color:var(--primary);box-shadow:0 2px 6px rgba(15,118,110,.35)}.seg{display:inline-flex;background:var(--bg-2);padding:3px;border-radius:var(--radius-sm)}.seg button{padding:7px 14px;font-size:12px;font-weight:600;color:var(--muted-2);background:transparent;border-radius:6px;transition:all .15s var(--ease-out)}.seg button:hover{color:var(--ink)}.seg button.on{background:#fff;color:var(--primary);box-shadow:var(--shadow-xs)}.seg button.on.done{color:var(--done)}.seg button.on.blank{color:var(--danger)}.year-seg{-webkit-margin-end:4px;margin-inline-end:4px}.year-seg button{padding:7px 18px;font-size:13px;font-weight:700;letter-spacing:.5px}.months-year-tabs{display:flex;gap:4px;margin-bottom:6px}.month-year-tab{padding:4px 16px;font-size:12px;font-weight:700;border-radius:6px;border:1.5px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;transition:background .15s,color .15s}.month-year-tab:hover:not(:disabled){background:var(--primary-tint);border-color:var(--primary)}.month-year-tab.on{background:var(--primary);color:#fff;border-color:var(--primary)}.month-year-tab:disabled{opacity:.45;cursor:default}.col-toggles{display:flex;flex-wrap:wrap;gap:6px}.col-toggle{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border:1px solid var(--line);border-radius:999px;font-size:12.5px;font-weight:600;background:#fff;color:var(--muted);cursor:pointer;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:all .12s var(--ease-out)}.col-toggle:has(input:checked){background:var(--primary-tint);border-color:var(--primary);color:var(--primary-dark)}.col-toggle input{accent-color:var(--primary);width:14px;height:14px}.dash-controls-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.table-wrap{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:auto;box-shadow:var(--shadow-sm);max-height:calc(100vh - 260px);scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}.table-wrap::-webkit-scrollbar{width:10px;height:10px}.table-wrap::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:8px;border:2px solid transparent;background-clip:padding-box}.table-wrap::-webkit-scrollbar-thumb:hover{background:#94a3b8;background-clip:padding-box}.table-wrap::-webkit-scrollbar-track{background:transparent}table{width:100%;border-collapse:collapse;min-width:max-content}table td,table th{padding:12px 14px;font-size:12.5px;border-bottom:1px solid var(--line-soft);text-align:center;white-space:nowrap;vertical-align:middle}thead{position:-webkit-sticky;position:sticky;top:0;z-index:4}thead th{background:#fafbfc;font-size:11.5px;color:var(--muted);letter-spacing:.3px;border-bottom:2px solid var(--line)!important;text-transform:uppercase}tbody tr{transition:all .15s var(--ease-out);position:relative}tbody tr:hover{background:linear-gradient(90deg,var(--primary-tint) 0,#e6fffa 50%,var(--primary-tint) 100%);box-shadow:inset 4px 0 0 var(--primary),0 2px 8px rgba(15,118,110,.08);transform:translateX(-2px)}tbody tr:hover td{color:var(--primary-dark)}tbody tr:hover .code-cell,tbody tr:hover .code-copy{color:var(--primary);font-weight:800}tr.clickable{cursor:pointer}tbody tr.row-complete td:first-child{box-shadow:inset 3px 0 0 var(--done)}tbody tr.row-overdue td:first-child{box-shadow:inset 3px 0 0 var(--danger)}tbody tr.sel{background:var(--primary-soft)}.chk-col{width:42px;position:-webkit-sticky;position:sticky;inset-inline-start:0;background:#fff;z-index:2}thead .chk-col{background:#fafbfc;z-index:6}.chk-col input{width:16px;height:16px;accent-color:var(--primary)}.sticky-col2b{position:-webkit-sticky;position:sticky;inset-inline-start:42px;background:#fff;z-index:2}thead .sticky-col2b{background:#fafbfc;z-index:6}.code-cell,.code-copy{color:var(--primary-dark);font-weight:700}.code-copy{background:none;border:none;padding:4px 8px;border-radius:6px;transition:all .12s}.code-copy:hover{background:var(--primary-soft)}.name-cell{font-weight:600;text-align:right}.count-cell{font-weight:700;color:var(--primary-dark)}.last-cell,.wa-cell{font-size:12px;color:var(--muted)}.wa-cell{max-width:180px;overflow:hidden;text-overflow:ellipsis;text-align:right}.rx-link{color:var(--primary-dark);background:var(--primary-tint);font-weight:600;font-size:11.5px;padding:5px 12px;border-radius:var(--radius-sm);white-space:nowrap;text-decoration:none;display:inline-block;border:1px solid var(--primary-soft);transition:all .12s var(--ease-out)}.rx-link:hover{background:var(--primary-soft);transform:translateY(-1px)}.rx-link.stmt{background:var(--gold-tint);color:#b45309;border-color:var(--gold-soft)}.rx-link.stmt:hover{background:var(--gold-soft)}.mcell{padding:5px 4px!important}.mbox{width:32px;height:32px;border-radius:8px;border:none;font-size:13px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .12s var(--ease-back),box-shadow .12s}.mbox:hover:not(:disabled){transform:scale(1.18);box-shadow:0 4px 10px rgba(0,0,0,.15)}.mbox:active{transform:scale(.94)}.mbox.done{background:linear-gradient(135deg,var(--done),#047857);color:#fff;box-shadow:0 1px 2px rgba(5,150,105,.3)}.mbox.overdue{background:var(--danger-tint);color:var(--danger)}.mbox.none{background:var(--line-soft);color:#cbd5e1;cursor:default}.mcol{min-width:46px;position:relative}.mcol-head{flex-direction:column;gap:3px;position:relative}.mcol-head,.mcol-hide{display:flex;align-items:center}.mcol-hide{position:absolute;top:-8px;inset-inline-end:-6px;width:18px;height:18px;padding:0;border-radius:50%;background:transparent;color:#cbd5e1;font-size:14px;line-height:1;justify-content:center;opacity:0;transition:all .15s var(--ease-out)}th.mcol:hover .mcol-hide{opacity:1}.mcol-hide:hover{background:var(--danger);color:#fff;transform:scale(1.2)}.status-pill{display:inline-block;font-size:11px;font-weight:700;padding:4px 12px;border-radius:999px;letter-spacing:.2px}.status-pill.ok{background:var(--done-tint);color:var(--done)}.status-pill.off{background:var(--danger-tint);color:var(--danger)}.role-pill{background:var(--primary-tint);color:var(--primary-dark);font-size:11px;padding:4px 12px}.renew-badge,.role-pill{border-radius:999px;font-weight:700}.renew-badge{-webkit-margin-start:6px;margin-inline-start:6px;background:linear-gradient(135deg,var(--gold),#b45309);color:#fff;font-size:10px;padding:3px 10px;box-shadow:0 1px 3px rgba(217,119,6,.4)}.action-pill{font-size:10.5px}.action-pill.create{background:var(--done-tint);color:var(--done)}.action-pill.update{background:var(--primary-tint);color:var(--primary-dark)}.action-pill.dispense{background:var(--info-soft);color:#0369a1}.action-pill.bulk{background:var(--gold-tint);color:#b45309}.appr-col{min-width:220px}.appr-wrap{align-items:center;gap:8px}.appr-chips,.appr-wrap{display:flex;justify-content:center}.appr-chips{flex-wrap:wrap;gap:4px}.appr-chip{font-size:10px;font-weight:700;padding:3px 9px;border-radius:6px;line-height:1.4}.appr-chip.ok{background:var(--done-tint);color:var(--done)}.appr-chip.no{background:var(--danger-tint);color:var(--danger)}.appr-count{font-size:11px;font-weight:700;color:var(--muted)}.tr-select{border:1px solid var(--line);border-radius:var(--radius-sm);padding:5px 10px;font-size:12px;max-width:130px;background:#fff}.actions-cell{white-space:nowrap}.act-btn{background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);padding:6px 10px;font-size:14px;cursor:pointer;margin-inline:2px;transition:all .12s var(--ease-out)}.act-btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.act-btn.key:hover{background:var(--primary-tint);border-color:var(--primary)}.act-btn.del:hover{background:var(--danger-tint);border-color:var(--danger)}.online-dot{background:var(--done);box-shadow:0 0 0 3px var(--done-soft);animation:pulse 1.6s ease-in-out infinite}.offline-dot,.online-dot{display:inline-block;width:10px;height:10px;border-radius:50%}.offline-dot{background:#cbd5e1}@keyframes pulse{0%,to{box-shadow:0 0 0 3px var(--done-soft)}50%{box-shadow:0 0 0 7px rgba(5,150,105,.1)}}.bulkbar{position:-webkit-sticky;position:sticky;top:156px;z-index:14;display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:linear-gradient(135deg,var(--ink),#1e293b);color:#fff;border-radius:var(--radius);padding:12px 18px;margin-bottom:14px;box-shadow:0 10px 25px rgba(15,23,42,.2),0 4px 10px rgba(15,23,42,.1);animation:bulkSlide .28s var(--ease-back)}@keyframes bulkSlide{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:none}}.bulk-count{font-size:13px}.bulk-count b{font-size:15px}.bulkbar .btn-ghost.sm,.bulkbar .btn-primary.sm{padding:7px 14px;font-size:12px}.bulkbar .btn-ghost{color:#fff;border-color:hsla(0,0%,100%,.25);background:hsla(0,0%,100%,.05)}.bulkbar .btn-ghost:hover{background:hsla(0,0%,100%,.15);border-color:hsla(0,0%,100%,.5)}.pager{display:flex;align-items:center;justify-content:center;gap:16px;padding:20px 0;font-size:13px;color:var(--muted)}.pager button{background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);padding:9px 22px;font-weight:600;box-shadow:var(--shadow-xs);transition:all .15s var(--ease-out)}.pager button:hover:not(:disabled){background:var(--primary-tint);border-color:var(--primary);color:var(--primary-dark);transform:translateY(-1px)}.pager button:disabled{opacity:.4;cursor:not-allowed}.overlay{position:fixed;inset:0;background:rgba(15,23,42,.5);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:50;display:flex;align-items:center;justify-content:center;padding:24px;animation:fadeIn .2s var(--ease-out)}.modal{background:#fff;border-radius:var(--radius-lg);width:580px;max-width:96vw;max-height:92vh;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);animation:modalIn .25s var(--ease-back);border:1px solid var(--line)}.modal.small{width:500px}.modal.wide{width:900px}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;padding:22px 24px 18px;border-bottom:1px solid var(--line)}.modal-head h2{font-size:17px;font-weight:700;letter-spacing:-.2px}.modal-head .sub{font-size:12.5px;color:var(--muted);margin-top:4px}.x{font-size:24px;color:var(--muted);padding:4px 12px;border-radius:8px;transition:all .12s var(--ease-out)}.x:hover{background:var(--danger-tint);color:var(--danger)}.modal-body{padding:20px 24px;overflow-y:auto;flex:1 1}.modal-foot{padding:16px 24px;border-top:1px solid var(--line);background:#fafbfc;display:flex;justify-content:flex-end;gap:10px;border-radius:0 0 var(--radius-lg) var(--radius-lg)}.grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.g3{grid-template-columns:repeat(3,1fr)}.f{display:flex;flex-direction:column;gap:6px}.f.full,.hint.full{grid-column:1/-1}.hint{font-size:12px;color:var(--muted)}.sec-title{font-size:13px;font-weight:700;color:var(--primary);margin:20px 0 12px;padding-bottom:8px;border-bottom:2px solid var(--primary-soft);letter-spacing:.2px}.sec-title:first-child{margin-top:0}.toggle-row{flex-direction:row!important;align-items:center;gap:8px}@media (max-width:800px){.g3{grid-template-columns:1fr 1fr}}@media (max-width:500px){.g3,.grid{grid-template-columns:1fr}}.err-box,.ok-box,.warn-box{border-radius:var(--radius-sm);padding:12px 16px;font-weight:600;font-size:13px;-webkit-border-start:3px solid;border-inline-start:3px solid}.ok-box{background:var(--done-tint);border-color:var(--done);color:var(--done)}.err-box{background:var(--danger-tint);border-color:var(--danger);color:var(--danger)}.warn-box{background:var(--gold-tint);border-color:var(--gold);color:#b45309}.err-banner{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--danger-tint);border:1px solid var(--danger-soft);color:var(--danger);border-radius:var(--radius);padding:14px 18px;margin-bottom:16px;font-size:13px}.err-banner b{font-size:13.5px}.err-banner span{color:#991b1b;flex:1 1;min-width:200px}.err-banner button{background:var(--danger);padding:8px 18px;border-radius:var(--radius-sm);font-size:12px}.err-banner button,.toast{color:#fff;font-weight:600}.toast{position:fixed;bottom:32px;inset-inline-start:50%;transform:translateX(50%);background:var(--ink);padding:14px 24px;border-radius:var(--radius);font-size:13.5px;box-shadow:var(--shadow-lg);z-index:100;animation:toastRise .35s var(--ease-back)}@keyframes toastRise{0%{opacity:0;transform:translateX(50%) translateY(24px)}to{opacity:1;transform:translateX(50%)}}.state{text-align:center;padding:60px 20px;color:var(--muted)}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 50%,#134e4a 100%);background-size:200% 200%;animation:bgShift 18s ease infinite;padding:20px}@keyframes bgShift{0%,to{background-position:0 50%}50%{background-position:100% 50%}}.login-card{background:hsla(0,0%,100%,.95);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:var(--radius-lg);padding:44px 40px;width:420px;max-width:92vw;box-shadow:0 25px 50px rgba(0,0,0,.15),0 10px 20px rgba(0,0,0,.1);text-align:center;animation:modalIn .35s var(--ease-back);border:1px solid hsla(0,0%,100%,.5)}.login-card img{height:64px;margin-bottom:20px}.login-card h1{font-size:20px;margin-bottom:28px;background:linear-gradient(135deg,var(--primary),var(--primary-dark));-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:700}.login-card .f{margin-bottom:16px;text-align:right}.login-brand h1{margin-bottom:4px}.login-brand p{color:var(--muted);font-size:13px;margin:0 0 26px}.login-card .f input{width:100%;padding:11px 14px;font-size:14px}.pass-wrap{position:relative}.pass-wrap input{-webkit-padding-end:44px!important;padding-inline-end:44px!important}.pass-toggle{position:absolute;inset-inline-end:6px;top:50%;transform:translateY(-50%);width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:15px;opacity:.65;transition:opacity .15s,background .15s}.pass-toggle:hover{opacity:1;background:var(--primary-tint)}.caps-warn{margin-top:6px;font-size:11.5px;font-weight:600;color:var(--gold)}.login-err{background:var(--danger-tint);color:var(--danger);border:1px solid var(--danger-soft);-webkit-border-start:4px solid var(--danger);border-inline-start:4px solid var(--danger);border-radius:10px;padding:10px 12px;margin-bottom:14px;font-size:13px;font-weight:600;text-align:right;animation:dropIn .18s var(--ease-back)}.login-btn{width:100%;padding:12px;font-size:15px;font-weight:700;margin-top:6px}.login-foot{margin-top:22px;font-size:11.5px;color:var(--muted-2)}.users-grid{display:grid;grid-template-columns:1fr;grid-gap:20px;gap:20px}.users-grid>.card:first-child{max-width:760px}.dash{display:grid;grid-gap:20px;gap:20px}.dash-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:6px}.dash-toolbar .spacer{flex:1 1}.filter-chip-bar{background:linear-gradient(135deg,var(--primary-tint),#ecfeff);border:1px solid var(--primary-soft);border-radius:var(--radius);padding:12px 16px;display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:13px}.filter-chip,.filter-chip-bar b{color:var(--primary-dark)}.filter-chip{background:#fff;border:1px solid var(--primary-soft);font-size:12px;padding:4px 12px;border-radius:999px;font-weight:600;box-shadow:var(--shadow-xs)}.dash-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));grid-gap:18px;gap:18px}.dash-grid>.card{transition:transform .2s var(--ease-out),box-shadow .2s;animation:cardEnter .35s var(--ease-smooth) backwards}.dash-grid>.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}@keyframes cardEnter{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.dash-grid>.card:first-child{animation-delay:.03s}.dash-grid>.card:nth-child(2){animation-delay:.06s}.dash-grid>.card:nth-child(3){animation-delay:.09s}.dash-grid>.card:nth-child(4){animation-delay:.12s}.dash-grid>.card:nth-child(5){animation-delay:.15s}.dash-grid>.card:nth-child(6){animation-delay:.18s}.bar-track{background:var(--line-soft);border-radius:999px;overflow:hidden;height:8px;width:100%}.bar-fill{height:100%;border-radius:999px;transition:width .4s var(--ease-out);background:linear-gradient(90deg,var(--primary),var(--primary-dark))}.mini-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));grid-gap:12px;gap:12px}.mini-kpi{background:linear-gradient(135deg,#fff,#fafbfc);border:1px solid var(--line);border-radius:var(--radius);padding:14px;text-align:center;transition:all .18s var(--ease-out)}.mini-kpi:hover{border-color:#cbd5e1;box-shadow:var(--shadow-sm)}.mini-kpi span{display:block;font-size:11px;color:var(--muted);margin-bottom:6px}.mini-kpi b{font-size:24px;font-weight:700;letter-spacing:-.3px}.mini-kpi.ok{border-color:var(--done);background:linear-gradient(135deg,#fff,var(--done-tint))}.mini-kpi.ok b{color:var(--done)}.mini-kpi.warn{border-color:var(--gold);background:linear-gradient(135deg,#fff,var(--gold-tint))}.mini-kpi.warn b{color:#b45309}.mini-kpi.neutral b{color:var(--muted)}.import-wrap{max-width:800px}.dropzone{display:flex;flex-direction:column;align-items:center;gap:12px;padding:48px 24px;border:2px dashed var(--line);border-radius:var(--radius);cursor:pointer;color:var(--muted);background:#fafbfc;transition:all .2s var(--ease-out)}.dropzone:hover{border-color:var(--primary);background:var(--primary-tint);color:var(--primary-dark);transform:scale(1.005)}.dz-icon{font-size:36px;opacity:.7}.diff-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:14px;gap:14px;margin-bottom:18px}.diff-card{border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;display:flex;flex-direction:column;gap:4px;transition:all .18s var(--ease-out)}.diff-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}.diff-card span{font-size:12px;color:var(--muted)}.diff-card b{font-size:24px;letter-spacing:-.3px}.diff-card.new{border-top:3px solid var(--done)}.diff-card.new b{color:var(--done)}.diff-card.del{border-top:3px solid var(--danger)}.diff-card.del b{color:var(--danger)}.diff-card.mod{border-top:3px solid var(--gold)}.diff-card.mod b{color:var(--gold)}.diff-totals{background:linear-gradient(135deg,#fafbfc,#f1f5f9);border-radius:var(--radius);padding:14px 18px;font-size:13.5px;display:flex;flex-direction:column;gap:6px}.diff-totals .to{color:var(--primary-dark);font-weight:700}.sample{font-size:12px;color:var(--muted);margin-top:6px;direction:ltr;text-align:right}.sample-box{background:var(--gold-tint);border:1px solid var(--gold-soft);border-radius:var(--radius);padding:14px 18px;margin-top:14px;font-size:13px}.apply-warn{background:var(--danger-tint);color:var(--danger);border:1px solid var(--danger-soft);border-radius:var(--radius-sm);padding:12px 16px;margin:18px 0 6px;font-size:13px;font-weight:600}.audit-wrap{display:grid;grid-gap:20px;gap:20px}.fbadge{background:var(--primary-tint);color:var(--primary-dark);font-size:11px;padding:3px 10px;border-radius:999px;font-weight:600;display:inline-flex;align-items:center}.newcase-fullscreen{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:32px 36px;width:100%}.newcase-fullscreen .grid.g3{grid-template-columns:repeat(3,1fr);gap:18px}.newcase-fullscreen .sec-title{font-size:14px;margin-top:24px;margin-bottom:14px}.newcase-foot{display:flex;justify-content:flex-end;gap:12px;margin-top:28px;padding-top:20px;border-top:1px solid var(--line)}@media (max-width:900px){.newcase-fullscreen .grid.g3{grid-template-columns:1fr 1fr}}@media (max-width:640px){.newcase-fullscreen .grid.g3{grid-template-columns:1fr}}.months-quick{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;align-items:center}.months-quick .hint{-webkit-margin-end:4px;margin-inline-end:4px}.quick-chip{background:var(--bg-2);border:1px solid var(--line);color:var(--ink-mid);font-size:11.5px;font-weight:600;padding:5px 14px;cursor:pointer;transition:all .12s var(--ease-out)}.quick-chip:hover{background:var(--primary-tint);border-color:var(--primary);color:var(--primary-dark);transform:translateY(-1px)}.link-with-btn{display:flex;gap:6px;align-items:stretch}.link-with-btn input{flex:1 1}.btn-open-link{display:inline-flex;align-items:center;gap:4px;padding:9px 16px;background:var(--primary-tint);color:var(--primary-dark);border:1px solid var(--primary-soft);border-radius:var(--radius-sm);font-size:12.5px;font-weight:600;white-space:nowrap;text-decoration:none;transition:all .12s var(--ease-out)}.btn-open-link:hover{background:var(--primary);color:#fff;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-open-link.stmt{background:var(--gold-tint);color:#b45309;border-color:var(--gold-soft)}.btn-open-link.stmt:hover{background:var(--gold);color:#fff}.tab-badge{background:var(--danger);color:#fff;font-size:10.5px;font-weight:700;min-width:20px;height:20px;padding:0 6px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;-webkit-margin-start:4px;margin-inline-start:4px;animation:pulse 1.6s ease-in-out infinite}.chat-case-btn{background:var(--gold-tint);color:#b45309;border:1px solid var(--gold-soft);border-radius:999px;padding:6px 14px;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .12s var(--ease-out);-webkit-margin-start:auto;margin-inline-start:auto}.chat-case-btn:hover{background:var(--gold);color:#fff;transform:translateY(-1px)}.msg-fab{position:fixed;bottom:28px;inset-inline-end:28px;width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;font-size:26px;border:none;cursor:pointer;box-shadow:0 8px 24px rgba(15,118,110,.35),0 3px 6px rgba(15,118,110,.2);z-index:90;display:flex;align-items:center;justify-content:center;transition:all .22s var(--ease-back);animation:fabPulseSoft 3s ease-in-out infinite}.msg-fab:hover{transform:scale(1.12) rotate(-8deg);box-shadow:0 14px 34px rgba(15,118,110,.45),0 4px 8px rgba(15,118,110,.25);animation:none}.msg-fab.has-unread{animation:fabPulseStrong 1.4s ease-in-out infinite}@keyframes fabPulseSoft{0%,to{box-shadow:0 8px 24px rgba(15,118,110,.35),0 3px 6px rgba(15,118,110,.2);transform:scale(1)}50%{box-shadow:0 8px 24px rgba(15,118,110,.35),0 3px 6px rgba(15,118,110,.2),0 0 0 10px rgba(15,118,110,.08);transform:scale(1.04)}}@keyframes fabPulseStrong{0%,to{box-shadow:0 8px 24px rgba(15,118,110,.4),0 3px 6px rgba(15,118,110,.2);transform:scale(1)}40%{box-shadow:0 8px 24px rgba(15,118,110,.4),0 3px 6px rgba(15,118,110,.2),0 0 0 8px rgba(220,38,38,.25),0 0 0 16px rgba(220,38,38,.1);transform:scale(1.08)}80%{box-shadow:0 8px 24px rgba(15,118,110,.4),0 3px 6px rgba(15,118,110,.2),0 0 0 18px rgba(220,38,38,0);transform:scale(1)}}.msg-fab-badge{position:absolute;top:-4px;inset-inline-start:-4px;background:linear-gradient(135deg,var(--danger),#b91c1c);color:#fff;min-width:22px;height:22px;padding:0 7px;border-radius:999px;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;border:2.5px solid #fff;box-shadow:0 2px 6px rgba(220,38,38,.35)}.msg-popup{position:fixed;bottom:100px;inset-inline-end:28px;width:400px;max-width:calc(100vw - 56px);max-height:580px;background:hsla(0,0%,100%,.98);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border-radius:var(--radius-lg);box-shadow:0 24px 60px rgba(15,23,42,.18),0 8px 20px rgba(15,23,42,.08);border:1px solid var(--line);z-index:89;display:flex;flex-direction:column;animation:popupIn .28s var(--ease-back);overflow:hidden}@keyframes popupIn{0%{opacity:0;transform:translateY(24px) scale(.9)}to{opacity:1;transform:none}}.msg-popup-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;gap:8px}.msg-popup-head b{font-size:14.5px;letter-spacing:.1px}.msg-popup-head .x{color:hsla(0,0%,100%,.9);padding:4px 10px;-webkit-margin-start:4px;margin-inline-start:4px;border-radius:6px}.msg-popup-head .x:hover{background:hsla(0,0%,100%,.2);color:#fff}.msg-popup-body{padding:14px;overflow-y:auto;flex:1 1;display:flex;flex-direction:column;gap:10px;background:linear-gradient(180deg,#f8fafc,#fff)}.msg-item{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;cursor:pointer;transition:all .15s var(--ease-out);box-shadow:var(--shadow-xs)}.msg-item:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.msg-item.unread{background:var(--primary-tint);border-color:var(--primary-soft)}.msg-item-head{display:flex;align-items:center;gap:6px;margin-bottom:5px;font-size:12.5px}.msg-item-body{font-size:12.5px;color:var(--ink);line-height:1.5}.msg-item-time{font-size:10.5px;color:var(--muted);margin-top:5px}.msg-case-tag{background:var(--gold-tint);color:#b45309;font-size:10px;padding:2px 9px;border-radius:999px;font-weight:700}.unread-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--primary);-webkit-margin-start:8px;margin-inline-start:8px;animation:pulse 1.6s ease-in-out infinite}.chat-list{flex:1 1;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding:6px 0;min-height:280px;max-height:400px}.chat-bubble{max-width:80%;padding:10px 14px;border-radius:14px;font-size:13px;line-height:1.5;animation:bubbleIn .22s var(--ease-back);box-shadow:var(--shadow-xs)}@keyframes bubbleIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.chat-bubble.mine{align-self:flex-end;background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;border-bottom-right-radius:4px}.chat-bubble.theirs{align-self:flex-start;background:#fff;color:var(--ink);border:1px solid var(--line);border-bottom-left-radius:4px}.chat-text{white-space:pre-wrap}.chat-time{font-size:10px;opacity:.75;margin-top:5px;text-align:end}.chat-input{display:flex;gap:8px;padding-top:10px;border-top:1px solid var(--line);margin-top:10px}.chat-input textarea{flex:1 1;resize:none;font-size:13px;border-radius:var(--radius-sm);padding:8px 12px}.chat-input .btn-primary{padding:8px 16px;font-size:16px;border-radius:var(--radius-sm)}.msg-card{border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;background:#fff;cursor:pointer;transition:all .15s var(--ease-out);box-shadow:var(--shadow-xs)}.msg-card:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.msg-card.unread{background:var(--primary-tint);border-color:var(--primary-soft)}.msg-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;gap:8px;flex-wrap:wrap}.msg-body{color:var(--ink);white-space:pre-wrap;font-size:13.5px;line-height:1.7}.thread-unread-badge{background:var(--primary);color:#fff;font-size:10px;font-weight:700;min-width:20px;height:20px;padding:0 6px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;-webkit-margin-start:auto;margin-inline-start:auto}.chat-del{background:none;border:none;cursor:pointer;font-size:11px;opacity:0;-webkit-margin-start:6px;margin-inline-start:6px;transition:opacity .12s}.chat-bubble:hover .chat-del{opacity:.7}.chat-del:hover{opacity:1!important}.chip.filtered{background:linear-gradient(135deg,var(--primary-tint),var(--primary-soft));box-shadow:0 2px 8px rgba(15,118,110,.15);animation:chipHighlight .5s var(--ease-back)}.chip.filtered b{color:var(--primary-dark)}.filter-count-label{font-size:11px;color:var(--muted);-webkit-margin-start:6px;margin-inline-start:6px;background:hsla(0,0%,100%,.7);padding:2px 8px;border-radius:999px;font-weight:600}@keyframes chipHighlight{0%{transform:scale(.94);opacity:.5}60%{transform:scale(1.04)}to{transform:scale(1);opacity:1}}.user-menu-link{display:block;padding:12px 16px;color:var(--ink-mid);font-weight:600;font-size:13px;border-bottom:1px solid var(--line-soft);text-decoration:none;transition:all .12s var(--ease-out)}.user-menu-link:hover{background:var(--primary-tint);color:var(--primary-dark)}.user-wrap{position:relative}.user-btn .caret{transition:transform .18s var(--ease-out)}.user-btn.open{border-color:var(--primary);box-shadow:var(--ring)}.user-btn.open .caret{transform:rotate(180deg)}.user-wrap .user-menu{left:0;right:auto;min-width:210px}.user-menu-head{display:flex;align-items:center;gap:10px;padding:12px 16px;background:linear-gradient(180deg,var(--primary-tint),#fff);border-bottom:1px solid var(--line-soft)}.login-logo-img{height:80px;width:auto;margin-bottom:12px;filter:drop-shadow(0 4px 8px rgba(15,118,110,.15))}.role-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;box-shadow:var(--shadow-xs);transition:all .18s var(--ease-out)}.role-card:hover{border-color:var(--primary);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.role-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--line-soft)}.role-card-head b{font-size:13.5px;color:var(--primary-dark)}.role-count{background:var(--primary-tint);color:var(--primary-dark);font-size:11px;padding:2px 10px;border-radius:999px;font-weight:600}.role-caps-list{display:flex;flex-direction:column;gap:2px}.cap-line{font-size:11.5px;padding:2px 0}.cap-line.on{color:var(--done)}.cap-line.off{color:var(--muted-2);opacity:.6}.cap-line span{display:inline-block;width:14px;font-weight:700}.case-tabs{display:flex;gap:4px;padding:0 20px;border-bottom:1px solid var(--line);background:#fafbfc}.case-tab{padding:12px 20px;font-size:13px;font-weight:600;color:var(--muted);border-bottom:3px solid transparent;margin-bottom:-1px;transition:all .15s var(--ease-out)}.case-tab:hover:not(.active){color:var(--primary-dark);background:var(--primary-tint)}.case-tab.active{color:var(--primary);border-bottom-color:var(--primary);background:#fff}.notif-bell{position:relative;width:42px;height:42px;background:#fff;border:1.5px solid var(--line);border-radius:50%;font-size:17px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s var(--ease-out);box-shadow:var(--shadow-xs)}.notif-bell:hover{border-color:var(--primary);box-shadow:var(--shadow-sm)}.notif-badge{position:absolute;top:-4px;inset-inline-end:-4px;min-width:18px;height:18px;padding:0 5px;background:var(--danger);color:#fff;border:2px solid #fff;border-radius:999px;font-size:10px;font-weight:800;display:flex;align-items:center;justify-content:center;animation:notifPulse 1.5s ease-in-out infinite}@keyframes notifPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1);box-shadow:0 0 0 4px rgba(220,38,38,.2)}}.notif-panel{position:absolute;top:calc(100% + 8px);inset-inline-end:0;width:380px;max-width:90vw;max-height:500px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 40px rgba(0,0,0,.15);z-index:200;overflow:hidden;display:flex;flex-direction:column;animation:notifSlide .18s var(--ease-out)}@keyframes notifSlide{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.notif-panel-head{padding:14px 18px;background:linear-gradient(135deg,var(--primary-tint),#fff);border-bottom:1px solid var(--line-soft);display:flex;align-items:center;justify-content:space-between}.notif-panel-head b{color:var(--primary-dark);font-size:14px}.notif-panel-body{flex:1 1;overflow-y:auto;padding:4px 0}.notif-item{padding:12px 16px;display:flex;gap:10px;border-bottom:1px solid var(--line-soft);cursor:pointer;transition:background .12s;position:relative}.notif-item:hover{background:var(--primary-tint)}.notif-item.unread{background:#eff6ff}.notif-item.unread:hover{background:#dbeafe}.notif-icon{flex-shrink:0;font-size:18px;margin-top:2px}.notif-content{flex:1 1;min-width:0}.notif-text{font-size:12.5px;color:var(--ink);line-height:1.5}.notif-text b{color:var(--primary-dark)}.notif-meta{display:flex;gap:8px;margin-top:4px;align-items:center}.notif-case{background:var(--gold-tint);color:var(--gold);font-size:10px;padding:1px 8px;border-radius:999px;font-weight:600}.notif-time{font-size:10.5px;color:var(--muted-2)}.notif-dot{position:absolute;top:16px;inset-inline-end:12px;width:8px;height:8px;background:var(--danger);border-radius:50%}.dt-chip{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6px 14px;background:#fff;border:1.5px solid var(--line);border-radius:999px;box-shadow:var(--shadow-xs);transition:all .15s var(--ease-out);min-width:120px}.dt-chip:hover{border-color:var(--primary);box-shadow:var(--shadow-sm)}.dt-time{font-size:15px;font-weight:700;color:var(--primary-dark);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1}.dt-date{font-size:10px;color:var(--muted);margin-top:3px;font-weight:600}.chip .chip-text{display:flex;flex-direction:column;gap:1px}.chip .chip-text span{font-size:12px;font-weight:600}.chip .chip-text small{font-size:10px;opacity:.7}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes slideRight{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes pulseGreen{0%,to{box-shadow:0 0 0 0 rgba(34,139,34,.5)}50%{box-shadow:0 0 0 8px rgba(34,139,34,0)}}.table-wrap tbody tr{animation:fadeIn .28s var(--ease-out) backwards}.table-wrap tbody tr:nth-child(n+6){animation-delay:75ms}.table-wrap tbody tr:hover{background:linear-gradient(90deg,var(--primary-tint),transparent);cursor:pointer;transition:background .15s var(--ease-out)}.card{transition:box-shadow .2s var(--ease-out),transform .2s var(--ease-out)}.card:hover{box-shadow:0 6px 24px rgba(0,0,0,.06)}.chip{transition:all .2s var(--ease-out)}.chip:hover{box-shadow:0 4px 12px rgba(0,0,0,.08)}.btn-ghost,.btn-primary{transition:all .18s var(--ease-out);position:relative;overflow:hidden}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,100,60,.25)}.btn-primary:active{transform:translateY(0)}.filter-panel{animation:fadeIn .25s var(--ease-out)}.modal,.modal-body{animation:fadeIn .2s var(--ease-out)}.loading-shimmer{background:linear-gradient(90deg,#f0f0f0,#f8f8f8,#f0f0f0);background-size:200px 100%;animation:shimmer 1.5s infinite}.audit-table{width:100%;min-width:780px;table-layout:fixed}.audit-table td:first-child,.audit-table th:first-child{width:13%}.audit-table td:nth-child(2),.audit-table th:nth-child(2){width:12%}.audit-table td:nth-child(3),.audit-table th:nth-child(3){width:22%}.audit-table td:nth-child(4),.audit-table th:nth-child(4){width:9%}.audit-table td:nth-child(5),.audit-table th:nth-child(5){width:12%}.audit-table td:nth-child(6),.audit-table th:nth-child(6){width:32%}.audit-table td{vertical-align:middle;padding:10px 12px;font-size:12.5px}.audit-table td:nth-child(3){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.diff-cell{max-width:0}.diff{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;min-width:0}.diff-old{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca;border-radius:6px;text-decoration:line-through;-webkit-text-decoration-color:#ef4444;text-decoration-color:#ef4444}.diff-new,.diff-old{padding:4px 10px;font-size:12px;flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.diff-new{background:#f0fdf4;color:#15803d;border:1px solid #bbf7d0;border-radius:6px;font-weight:600}.diff-arrow{color:var(--muted);font-size:14px;font-weight:700;flex:0 0 auto}.diff-cell>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;color:var(--ink-mid)}.refresh-dot{display:inline-block;width:8px;height:8px;background:var(--primary);border-radius:50%;-webkit-margin-start:8px;margin-inline-start:8px;animation:pulseGreen 2s infinite}.toast{animation:slideRight .3s var(--ease-out)}.mbox{transition:all .15s var(--ease-out)}.mbox:hover:not(:disabled){transform:scale(1.15)}.page-title{animation:fadeIn .4s var(--ease-out)}.nav-tab{transition:all .18s var(--ease-out);position:relative}.nav-tab.active:after{content:"";position:absolute;bottom:-2px;left:20%;right:20%;height:3px;background:var(--primary);border-radius:3px;animation:fadeIn .3s var(--ease-out)}.chip b{transition:color .3s var(--ease-out)}@keyframes bellShake{0%,to{transform:rotate(0)}10%,30%,50%,70%,90%{transform:rotate(-8deg)}20%,40%,60%,80%{transform:rotate(8deg)}}.notif-bell:has(.notif-badge){animation:bellShake 5s ease-in-out infinite}input:focus,select:focus,textarea:focus{outline:2px solid var(--primary);outline-offset:1px;border-color:var(--primary)}.page-head{background:linear-gradient(135deg,#fff,var(--primary-tint));border-radius:12px;padding:16px 20px;margin-bottom:16px}th.mcol[draggable=true]{cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}th.mcol[draggable=true]:active{cursor:-webkit-grabbing;cursor:grabbing}th.mcol[draggable=true]:hover{background:var(--primary-tint)!important;border-color:var(--primary)}@keyframes loadingBar{0%{transform:translateX(100%)}to{transform:translateX(-100%)}}.top-loader{position:fixed;top:0;inset-inline:0;height:3px;z-index:9999;background:linear-gradient(90deg,transparent,var(--primary),var(--primary-dark),transparent);animation:loadingBar 1.1s ease-in-out infinite}.mbox{transition:transform .14s var(--ease-out),box-shadow .14s var(--ease-out),background .14s}.mbox:hover:not(:disabled){transform:scale(1.14);z-index:5;box-shadow:0 3px 10px rgba(0,0,0,.16)}.mbox:active:not(:disabled){transform:scale(.96)}.table-wrap thead th{position:-webkit-sticky;position:sticky;top:0;z-index:6;background:var(--bg-2);box-shadow:inset 0 -1px 0 var(--line)}.table-wrap tbody tr:nth-child(2n){background:#fcfdfd}.table-wrap tbody tr:nth-child(2n):hover{background:linear-gradient(90deg,var(--primary-tint),transparent)}.btn-clear:active,.btn-export:active,.btn-ghost:active,.btn-primary:active{transform:translateY(1px)!important}th.mcol:hover{background:var(--primary-tint)!important}@keyframes modalIn{0%{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal,.modal-card{animation:modalIn .2s var(--ease-out)}@keyframes toastIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.toast{animation:toastIn .25s var(--ease-out)}.chip b{transition:color .25s var(--ease-out),transform .25s var(--ease-out)}textarea.expandable{resize:vertical;min-height:42px;max-height:400px;font-family:inherit;line-height:1.6;transition:min-height .2s ease,box-shadow .15s ease}textarea.expandable:focus{min-height:120px}.f label span{-webkit-margin-start:6px;margin-inline-start:6px;font-weight:400}.perms-modal{max-width:640px;width:640px}.perms-info{padding:12px 14px;background:linear-gradient(135deg,#f0fdf4,#ecfdf5);border:1px solid #bbf7d0;border-radius:10px;margin-bottom:16px;font-size:13px;line-height:1.7}.perms-info b{color:#065f46}.perms-presets{margin-bottom:16px}.perms-presets-label{font-weight:700;margin-bottom:8px;font-size:13px;color:var(--ink);display:flex;align-items:center;gap:6px}.perms-preset-btns{display:flex;gap:8px;flex-wrap:wrap}.perms-preset-btns .btn-ghost{padding:8px 14px!important;font-size:12.5px!important;border-radius:8px!important;font-weight:600!important;transition:all .15s ease}.perms-preset-btns .btn-ghost:hover{background:var(--primary-tint)!important;border-color:var(--primary)!important;transform:translateY(-1px)}.perms-group{margin-bottom:12px;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}.perms-group-head{padding:10px 14px;background:#f8fafb;font-weight:700;font-size:13.5px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:8px}.perms-group-body{padding:4px 6px}.perms-cap{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:8px;cursor:pointer;transition:background .1s;font-size:13px}.perms-cap:hover{background:#f8fafb}.perms-cap.custom{background:#fef9c3!important}.perms-cap input[type=checkbox]{width:17px;height:17px;cursor:pointer;accent-color:var(--primary);flex-shrink:0}.perms-cap-label{flex:1 1}.perms-cap-badge{font-size:10px;color:#a16207;font-weight:700;padding:2px 8px;background:#fde68a;border-radius:4px}.perms-footnote{font-size:11.5px;color:var(--muted);padding:10px 6px 0;line-height:1.7}.chip{transition:transform .15s ease,box-shadow .15s ease}.chip:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.chip.filtered{background:linear-gradient(135deg,var(--primary-tint),#fff);border-color:var(--primary)}.btn-primary{background:linear-gradient(180deg,var(--primary),var(--primary-hover))!important;border:none!important;color:#fff!important;transition:all .18s var(--ease-out)!important;box-shadow:0 2px 4px rgba(15,118,110,.2)!important}.btn-primary:hover:not(:disabled){background:linear-gradient(180deg,var(--primary-hover),var(--primary-dark))!important;box-shadow:0 4px 12px rgba(15,118,110,.28)!important;transform:translateY(-1px)}input[type=date]{cursor:pointer}input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;filter:opacity(.6);-webkit-transition:filter .15s;transition:filter .15s}input[type=date]:hover::-webkit-calendar-picker-indicator{filter:opacity(1)}input:not([type=checkbox]):not([type=radio]),textarea{transition:border-color .15s,box-shadow .15s,background .15s}input:focus:not([type=checkbox]):not([type=radio]),select:focus,textarea:focus{border-color:var(--primary)!important;box-shadow:0 0 0 3px rgba(15,118,110,.15)!important;outline:none!important}input:disabled,textarea:disabled{background:#f8fafc!important;color:var(--muted)!important;cursor:not-allowed;border-color:var(--line)!important}.modal{box-shadow:0 25px 60px rgba(15,23,42,.18),0 10px 25px rgba(15,23,42,.08)!important}.table-wrap{border-radius:var(--radius)!important}.table-wrap thead th{background:linear-gradient(180deg,#f8fafc,#f1f5f9)!important;font-weight:700!important;color:var(--ink-mid)!important;border-bottom:2px solid var(--line)!important}.table-wrap tbody tr.sel{background:linear-gradient(90deg,var(--primary-tint),transparent)!important;box-shadow:inset 4px 0 0 var(--primary)}.action-pill{padding:3px 10px;border-radius:999px;font-size:11.5px;font-weight:700;display:inline-block}.action-pill.dispense{background:#d1fae5;color:#065f46}.action-pill.update{background:#dbeafe;color:#1e40af}.action-pill.create{background:#fef3c7;color:#92400e}.action-pill.bulk{background:#f3e8ff;color:#6b21a8}.action-pill.delete{background:#fee2e2;color:#991b1b}.topnav{box-shadow:0 1px 3px rgba(15,23,42,.05)}.topnav .tab{transition:background .15s,color .15s;border-radius:8px}.topnav .tab:hover{background:var(--primary-tint)}.topnav .tab.active{background:var(--primary);color:#fff!important}.chip b{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.3px}.warn-box{background:linear-gradient(135deg,#fef3c7,#fff);border:1px solid #fbbf24;color:#92400e;padding:12px 16px;border-radius:10px;font-weight:600}.toast{background:linear-gradient(180deg,#fff,#f8fafc)!important;color:var(--ink)!important;border:1px solid var(--line)!important;box-shadow:0 10px 25px rgba(15,23,42,.15)!important;border-radius:12px!important}.toast.success{border-left:4px solid var(--done)!important}.toast.error{border-left:4px solid var(--danger)!important}.months-picker{display:flex;flex-wrap:wrap;gap:6px;padding:10px;border:1px solid var(--line);border-radius:10px;background:#f8fafb}.month-chip{display:flex;align-items:center;gap:5px;padding:5px 10px;border-radius:999px;background:#fff;border:1px solid var(--line);cursor:pointer;font-size:12.5px;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:all .12s ease}.month-chip.checked,.month-chip:hover{border-color:var(--primary)}.month-chip.checked{background:var(--primary);color:#fff;font-weight:600}.month-chip input{width:13px;height:13px;cursor:pointer;accent-color:#fff}.month-chip.checked input{accent-color:var(--primary)}.field-hint{display:block;font-size:11px;color:var(--muted);margin-top:4px}.table-wrap tbody tr{animation:rowFadeIn .28s var(--ease-smooth) backwards}@keyframes rowFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.table-wrap tbody tr:first-child{animation-delay:0ms}.table-wrap tbody tr:nth-child(2){animation-delay:15ms}.table-wrap tbody tr:nth-child(3){animation-delay:30ms}.table-wrap tbody tr:nth-child(4){animation-delay:45ms}.table-wrap tbody tr:nth-child(5){animation-delay:60ms}.table-wrap tbody tr:nth-child(6){animation-delay:75ms}.table-wrap tbody tr:nth-child(7){animation-delay:90ms}.table-wrap tbody tr:nth-child(8){animation-delay:105ms}.table-wrap tbody tr:nth-child(9){animation-delay:.12s}.table-wrap tbody tr:nth-child(10){animation-delay:135ms}.table-wrap tbody tr:nth-child(11){animation-delay:.15s}.table-wrap tbody tr:nth-child(12){animation-delay:165ms}.table-wrap.is-refreshing tbody tr{animation:none}.table-wrap tbody tr{transition:background-color .12s ease,box-shadow .12s ease}input[type=checkbox]{transition:transform .1s ease}input[type=checkbox]:active{transform:scale(.85)}input[type=checkbox]:checked{animation:checkPop .18s var(--ease-back)}@keyframes checkPop{0%{transform:scale(.6)}60%{transform:scale(1.15)}to{transform:scale(1)}}button{transition:transform .1s ease,box-shadow .15s ease,background .15s ease}button:active:not(:disabled){transform:scale(.97)}.action-pill{animation:pillIn .22s var(--ease-back)}@keyframes pillIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.spin-icon{animation:spinSlow 1s linear infinite}@keyframes spinSlow{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.progress-shimmer{background:linear-gradient(90deg,var(--primary-tint) 25%,#fff 50%,var(--primary-tint) 75%);background-size:200% 100%;animation:shimmer 1.4s ease-in-out infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.tab-content{animation:tabSlide .22s var(--ease-smooth)}@keyframes tabSlide{0%{opacity:0;transform:translateX(6px)}to{opacity:1;transform:none}}[dir=rtl] .tab-content{animation-name:tabSlideRtl}@keyframes tabSlideRtl{0%{opacity:0;transform:translateX(-6px)}to{opacity:1;transform:none}}select{transition:box-shadow .15s ease,border-color .15s ease}.success-check{animation:successPop .4s var(--ease-back)}@keyframes successPop{0%{transform:scale(0) rotate(-45deg);opacity:0}60%{transform:scale(1.2) rotate(0deg);opacity:1}to{transform:scale(1) rotate(0deg)}}.card{animation:cardFadeUp .3s var(--ease-smooth) backwards}@keyframes cardFadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.search-box input{transition:width .2s ease,box-shadow .15s ease}.perms-preset-btns .btn-ghost{animation:presetIn .2s var(--ease-back) backwards}.perms-preset-btns .btn-ghost:first-child{animation-delay:0ms}.perms-preset-btns .btn-ghost:nth-child(2){animation-delay:30ms}.perms-preset-btns .btn-ghost:nth-child(3){animation-delay:60ms}.perms-preset-btns .btn-ghost:nth-child(4){animation-delay:90ms}.perms-preset-btns .btn-ghost:nth-child(5){animation-delay:.12s}.perms-preset-btns .btn-ghost:nth-child(6){animation-delay:.15s}@keyframes presetIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:root{--ring:0 0 0 3px rgba(15,118,110,.18);--head-bg:#f6f8fa;--row-alt:#fbfcfd;--row-hover:#f0fdfa}body{background:radial-gradient(1200px 400px at 100% -10%,#e6fffa 0,transparent 60%),var(--bg);background-attachment:fixed;overflow-x:hidden}:focus-visible{outline:none;box-shadow:var(--ring);border-radius:8px}input:not([type=checkbox]):not([type=radio]),select,textarea{transition:border-color .15s var(--ease-out),box-shadow .15s var(--ease-out)}input:not([type=checkbox]):not([type=radio]):focus,select:focus,textarea:focus{border-color:var(--primary)!important;box-shadow:var(--ring)!important;outline:none}input:disabled,select:disabled,textarea:disabled{background:var(--bg-2)!important;color:var(--ink-mid);cursor:not-allowed}.nav{box-shadow:0 1px 0 var(--line),0 6px 20px -12px rgba(15,23,42,.12);border-bottom:none}.nav-title{font-size:17px;font-weight:800}.tabs{gap:4px;padding-bottom:6px;justify-content:center;flex-wrap:wrap}.tab{border-radius:999px;border-bottom:none;margin:4px 0 0;padding:9px 18px;white-space:nowrap}.tab.active{background:var(--primary);color:#fff;box-shadow:0 4px 12px -4px rgba(15,118,110,.45)}.tab.active .tab-icon{filter:brightness(0) invert(1)}.tab:hover:not(.active){background:var(--primary-tint)}.filter-bar{padding-block:12px;border-bottom:1px solid var(--line);box-shadow:0 8px 16px -14px rgba(15,23,42,.18)}.filter-main{gap:10px}.filter-main select{background-position:left 12px center!important;padding-inline:14px 34px!important}.year-seg{background:#fff;border:1px solid var(--line);border-radius:999px;padding:3px;box-shadow:var(--shadow-xs)}.year-seg button{border-radius:999px;padding:6px 18px;color:var(--muted)}.year-seg button.on{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;box-shadow:0 3px 8px -2px rgba(15,118,110,.45)}.table-wrap{border-radius:var(--radius-lg);border-color:var(--line);box-shadow:0 1px 2px rgba(15,23,42,.04),0 8px 24px -16px rgba(15,23,42,.16)}thead th{color:var(--ink-mid);font-size:12px;font-weight:700;text-transform:none;letter-spacing:0;border-bottom:1px solid var(--line)!important;box-shadow:inset 0 -1px 0 var(--line)}thead .chk-col,thead .sticky-col2b,thead th{background:var(--head-bg)!important}tbody tr:nth-child(2n) .chk-col,tbody tr:nth-child(2n) .sticky-col2b,tbody tr:nth-child(2n) td{background-color:var(--row-alt)}.table-wrap tbody tr:hover,tbody tr:hover{transform:none!important;background:none;box-shadow:none}tbody tr:hover .chk-col,tbody tr:hover .sticky-col2b,tbody tr:hover td{background-color:var(--row-hover)!important}tbody tr:hover td:first-child{box-shadow:inset 3px 0 0 var(--primary)}table td,table th{padding:11px 14px}tbody tr.sel .chk-col,tbody tr.sel .sticky-col2b,tbody tr.sel td{background-color:var(--primary-soft)!important}.mbox{border-radius:9px;width:30px;height:30px}.mbox.overdue{box-shadow:inset 0 0 0 1.5px rgba(220,38,38,.35)}.mbox.none{background:transparent;box-shadow:inset 0 0 0 1px var(--line)}.status-pill{display:inline-flex;align-items:center;gap:6px}.status-pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.8}.card,.kpi{border-radius:var(--radius-lg);transition:box-shadow .2s var(--ease-out),transform .2s var(--ease-out)}.kpi:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-danger,.btn-ghost,.btn-primary{border-radius:10px}.btn-ghost:hover{box-shadow:var(--shadow-sm)}.overlay{background:rgba(15,23,42,.42)}.modal{border:none;box-shadow:0 24px 60px -12px rgba(15,23,42,.35)}.modal-head{background:linear-gradient(180deg,var(--primary-tint),#fff);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.modal-head h2{color:var(--primary-dark)}.sec-title{display:flex;align-items:center;gap:8px;border-bottom:none;padding:0;margin:22px 0 12px;color:var(--ink);font-size:13.5px}.sec-title:before{content:"";width:4px;height:16px;border-radius:4px;background:linear-gradient(180deg,var(--primary),var(--gold))}.sec-title:after{content:"";flex:1 1;height:1px;background:var(--line)}.f label{font-size:12px;font-weight:600;color:var(--ink-mid)}.months-picker{gap:8px!important}.month-chip{border-radius:999px!important;padding:6px 14px!important;transition:all .15s var(--ease-out)}.month-chip.checked{box-shadow:0 3px 8px -3px rgba(15,118,110,.5)}.month-chip small,.quick-chip small{font-size:10px;font-weight:700}.quick-chip{border-radius:999px}textarea.written-approval{min-height:130px;font-size:14px;line-height:1.8;resize:vertical}.err-box,.ok-box,.warn-box{border-radius:10px;border-inline-start-width:4px;border-inline-start-style:solid}.ok-box{border-inline-start-color:var(--done)}.err-box{border-inline-start-color:var(--danger)}.warn-box{border-inline-start-color:var(--gold)}.pager button{border-radius:999px}@media (max-width:900px){.dt-chip{display:none!important}.user-btn .user-meta{display:none}.tabs{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;scrollbar-width:none;padding-inline:10px}.tabs::-webkit-scrollbar{display:none}.tab{padding:8px 12px;font-size:13px}}@media (prefers-reduced-motion:reduce){*,:after,:before{transition:none!important;animation:none!important}}@media (min-width:900px){table.tracker .sticky-col2b{box-sizing:border-box;width:84px;min-width:84px;max-width:84px}table.tracker .sticky-name{position:-webkit-sticky;position:sticky;inset-inline-start:126px;z-index:2;background:#fff;max-width:220px;overflow:hidden;text-overflow:ellipsis;box-shadow:inset -1px 0 0 var(--line),-8px 0 10px -10px rgba(15,23,42,.25)}table.tracker thead .sticky-name{background:var(--head-bg)!important;z-index:6}table.tracker tbody tr:nth-child(2n) .sticky-name{background-color:var(--row-alt)}table.tracker tbody tr:hover .sticky-name{background-color:var(--row-hover)!important}table.tracker tbody tr.sel .sticky-name{background-color:var(--primary-soft)!important}}table.tracker th.mcol.cur{color:var(--primary);background:var(--primary-tint)!important;box-shadow:inset 0 -3px 0 var(--primary)}table.tracker td.mcell.cur{background-color:rgba(15,118,110,.06)!important}.mcol-now{font-size:9.5px;font-weight:800;color:#fff;background:var(--primary);border-radius:999px;padding:1px 7px}.legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;font-size:11.5px;color:var(--muted);margin:-4px 2px 12px}.legend span{gap:6px}.legend span,.lg-box{display:inline-flex;align-items:center}.lg-box{width:18px;height:18px;border-radius:6px;font-style:normal;font-size:11px;font-weight:800;justify-content:center}.lg-box.done{background:linear-gradient(135deg,var(--done),#047857);color:#fff}.lg-box.overdue{background:var(--danger-tint);color:var(--danger);box-shadow:inset 0 0 0 1.5px rgba(220,38,38,.35)}.lg-box.none{background:transparent;box-shadow:inset 0 0 0 1px var(--line)}.lg-bar{width:4px;height:16px;border-radius:2px}.lg-bar.complete{background:var(--done)}.lg-bar.overdue{background:var(--danger)}.lg-sep{width:1px;height:14px;background:var(--line)}@media (max-width:900px){.legend .lg-sep{display:none}.legend{gap:6px 12px;font-size:11px}}.gov-diff{display:inline-flex;align-items:center;justify-content:center;-webkit-margin-start:6px;margin-inline-start:6px;width:18px;height:18px;border-radius:50%;background:var(--gold-soft);color:var(--gold);font-size:11px;cursor:help}.cs-hint{margin-top:5px;font-size:11.5px;color:var(--muted)}.cs-hint b{color:var(--primary-dark)}.cs-sync{display:grid;grid-gap:12px;gap:12px}.cs-sync-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.cs-sync-head h3{margin:0}.cs-sync-stats{display:flex;flex-wrap:wrap;gap:10px}.cs-sync-stats>div{background:var(--bg-2);border-radius:10px;padding:8px 14px;font-size:12px;color:var(--muted)}.cs-sync-stats b{display:block;font-size:17px;color:var(--ink)}.cc{display:grid;grid-gap:16px;gap:16px}.cc-tabs{display:flex;gap:10px;flex-wrap:wrap}.cc-tab{display:inline-flex;align-items:center;gap:10px;padding:12px 22px;border-radius:14px;font-weight:700;font-size:14.5px;background:#fff;border:1.5px solid var(--line);color:var(--ink-mid);box-shadow:var(--shadow-xs);transition:all .15s var(--ease-out)}.cc-tab:hover{border-color:var(--primary)}.cc-tab.on{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;border-color:transparent;box-shadow:0 6px 16px -6px rgba(15,118,110,.5)}.cc-count{min-width:26px;padding:2px 8px;border-radius:999px;background:var(--primary-tint);color:var(--primary-dark);font-size:12px}.cc-tab.on .cc-count{background:hsla(0,0%,100%,.22);color:#fff}.cc-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.cc-bar .search-input{flex:1 1;min-width:200px;max-width:360px}.cc-note{font-size:12px;color:var(--muted)}.cc-empty{display:grid!important;grid-gap:6px;gap:6px;padding:28px;text-align:center;color:var(--ink-mid)}.cc-empty small{color:var(--muted)}.cc-day{display:grid;grid-gap:8px;gap:8px}.cc-day header{gap:12px;flex-wrap:wrap}.cc-day h3,.cc-day header{display:flex;align-items:center}.cc-day h3{margin:0;font-size:15px;gap:8px}.cc-day.past h3{color:var(--muted)}.cc-badge{font-size:10.5px;font-weight:800;border-radius:999px;padding:2px 9px}.cc-badge.today{background:var(--primary);color:#fff}.cc-badge.past{background:var(--gold-soft);color:var(--gold)}.cc-day-stats{font-size:12px;color:var(--muted)}.cc-progress{flex:1 1;min-width:120px;max-width:260px;height:6px;border-radius:999px;background:var(--line-soft);overflow:hidden}.cc-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--done),#34d399);border-radius:999px;transition:width .3s var(--ease-out)}.cc-table td{vertical-align:middle}.cc-table tbody tr.cc-ok td{background-color:var(--done-tint)!important}.cc-rx{-webkit-margin-start:8px;margin-inline-start:8px;font-size:10.5px;font-weight:700;color:var(--info);background:var(--info-soft);border-radius:999px;padding:2px 8px}.cc-phone{color:var(--primary-dark);font-weight:600;text-decoration:none;direction:ltr;unicode-bidi:plaintext}.cc-attempt{display:table-cell;min-width:190px}.cc-attempt>*{display:flex;margin:3px auto}.cc-attempt input[type=date],.cc-attempt select{width:170px;font-size:12px;padding:5px 8px}.cc-attempt.done{background-color:rgba(15,118,110,.04)}.cc-check{align-items:center;gap:6px;justify-content:center;font-weight:700;font-size:12px;color:var(--ink-mid);cursor:pointer}.cc-check input{width:16px;height:16px;accent-color:var(--primary)}.cc-steps{display:flex;gap:4px;justify-content:center;margin-bottom:6px}.cc-steps i{width:26px;height:6px;border-radius:999px;background:var(--line)}.cc-steps i.on{background:var(--primary)}.cc-final{display:inline-block;font-size:11.5px;font-weight:700;padding:3px 10px;border-radius:999px;background:var(--bg-2);color:var(--muted);white-space:nowrap}.cc-final.ok{background:var(--done-soft);color:#065f46}.cc-final.warn{background:var(--gold-soft);color:#92400e}.cc-send-btn{background:linear-gradient(135deg,#0ea5e9,#0369a1)!important}.cc-send-count{font-size:16px;font-weight:800;color:var(--primary-dark);margin-bottom:14px;display:grid;grid-gap:2px;gap:2px}.cc-send-count small{font-size:11.5px;font-weight:500;color:var(--muted)}.cc-pick{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px}.cc-pick button{padding:12px 8px;border-radius:12px;border:1.5px solid var(--line);background:#fff;font-weight:700}.cc-pick button.on{border-color:var(--primary);background:var(--primary-tint);color:var(--primary-dark);box-shadow:var(--ring)}.cc-plan{display:grid;grid-gap:6px;gap:6px}.cc-plan-row{display:grid;grid-template-columns:64px 1fr 96px auto 32px;grid-gap:8px;gap:8px;align-items:center}.cc-plan-day{font-weight:700;font-size:12.5px;color:var(--primary-dark)}.cc-plan-row input{width:100%}.cc-plan-unit{font-size:12px;color:var(--muted)}.cc-plan-sum{margin-top:10px;font-size:13px;font-weight:700;padding:8px 12px;border-radius:10px}.cc-plan-sum.ok{background:var(--done-tint);color:#065f46}.cc-plan-sum.left{background:var(--gold-tint);color:#92400e}.cc-plan-sum.over{background:var(--danger-tint);color:var(--danger)}.fp-hint{font-weight:500;color:var(--muted);font-size:10.5px}.mpick{position:relative}.mpick-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 12px;border:1.5px solid var(--primary-soft);border-radius:10px;background:#fff;font-size:13px;text-align:right;color:var(--ink-mid)}.mpick.active .mpick-btn{border-color:var(--primary);background:var(--primary-tint);color:var(--primary-dark);font-weight:700}.mpick-sum{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mpick-caret{color:var(--primary);font-size:11px}.mpick-pop{position:absolute;inset-inline:0;top:calc(100% + 6px);z-index:40;min-width:240px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-lg);padding:8px;animation:dropIn .15s var(--ease-back)}.mpick-q{width:100%;margin-bottom:6px;padding:7px 10px;font-size:12.5px}.mpick-actions{display:flex;gap:6px;margin-bottom:6px;flex-wrap:wrap}.mpick-actions button{font-size:11.5px;font-weight:700;padding:4px 10px;border-radius:999px;background:var(--bg-2);color:var(--ink-mid)}.mpick-actions button:hover{background:var(--primary-tint);color:var(--primary-dark)}.mpick-list{max-height:260px;overflow:auto;display:grid;grid-gap:1px;gap:1px}.mpick-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:8px;font-size:13px;cursor:pointer}.mpick-item:hover{background:var(--primary-tint)}.mpick-item input{width:16px;height:16px;accent-color:var(--primary)}.mpick-item.blank span{color:var(--muted);font-style:italic}.mpick-empty{padding:10px;color:var(--muted);font-size:12px;text-align:center}.cc-notes{min-width:220px;max-width:320px;text-align:right;white-space:normal!important}.cc-note{font-size:11.5px;line-height:1.6;padding:4px 8px;border-radius:8px;margin-bottom:4px}.cc-note.case{background:var(--bg-2);color:var(--ink-mid)}.cc-note.ph{background:var(--gold-tint);color:#92400e}.cc-note.cc{background:var(--info-soft);color:#075985}.cc-note-input{width:100%;font-size:12px;padding:6px 8px;resize:vertical;min-height:38px}.fp-section{margin-top:14px;padding-top:12px;border-top:1px dashed var(--line)}.fp-section-title{font-size:13px;margin-bottom:8px}.btn-ftoggle.on,.fp-section-title{font-weight:700;color:var(--primary-dark)}.btn-ftoggle.on{background:var(--primary-tint);border-color:var(--primary)}.inj-cell{text-align:center}.inj-chk{width:17px;height:17px;accent-color:var(--primary);cursor:pointer;vertical-align:middle}.inj-chk:disabled{cursor:default;opacity:.75}.inj-toggle{display:flex;align-items:center;gap:8px;min-height:38px;font-size:13px;cursor:pointer;font-weight:500}.fx-panel{margin-top:12px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg,16px);box-shadow:var(--shadow-md);overflow:hidden;animation:panelSlide .22s var(--ease-back);transform-origin:top;max-height:calc(100vh - 190px);display:flex;flex-direction:column}.fx-head{gap:16px;flex-wrap:wrap;padding:14px 20px;background:linear-gradient(135deg,var(--primary-tint),#fff 70%);border-bottom:1px solid var(--line)}.fx-head,.fx-title{display:flex;align-items:center}.fx-title{gap:10px}.fx-title b{display:block;font-size:15px;color:var(--ink)}.fx-title small{display:block;font-size:11.5px;color:var(--muted);margin-top:1px}.fx-ico{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;font-size:17px;background:var(--primary);color:#fff;box-shadow:0 4px 10px -4px var(--primary)}.fx-result{display:flex;align-items:baseline;gap:6px;padding:6px 16px;border-radius:999px;background:#fff;border:1px solid var(--primary-soft,var(--line));color:var(--ink-mid);font-size:12px;transition:background .2s,border-color .2s}.fx-result b{font-size:20px;color:var(--primary-dark);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-width:1.5ch;text-align:center}.fx-result.busy b{color:var(--muted)}.fx-result.zero{background:var(--danger-tint,#fef2f2);border-color:var(--danger)}.fx-result.zero b{color:var(--danger)}.fx-actions{-webkit-margin-start:auto;margin-inline-start:auto;display:flex;gap:8px}.fx-clear,.fx-close{font-size:12px;font-weight:700;padding:7px 14px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--ink-mid)}.fx-clear{color:var(--danger);border-color:var(--danger-soft,var(--line))}.fx-clear:hover{background:var(--danger-tint,#fef2f2)}.fx-close:hover{background:var(--bg-2)}.fx-sections{overflow:auto;padding:14px 16px 18px;display:grid;grid-gap:12px;gap:12px;background:var(--bg,#f8fafc)}.fx-sec{background:#fff;border:1px solid var(--line);border-radius:var(--radius,12px)}.fx-sec.has{border-color:var(--primary-soft,var(--primary));box-shadow:inset 3px 0 0 var(--primary)}.fx-sec-head{width:100%;display:flex;align-items:center;gap:10px;padding:11px 16px;background:none;border:0;font-size:13.5px;font-weight:700;color:var(--ink);cursor:pointer;text-align:start}.fx-sec-head:hover{background:var(--bg-2)}.fx-sec:not(.collapsed) .fx-sec-head{border-bottom:1px dashed var(--line)}.fx-sec-ico{font-size:16px}.fx-sec-badge{font-size:11px;font-weight:800;min-width:22px;height:22px;padding:0 7px;border-radius:999px;display:inline-grid;place-items:center;background:var(--primary);color:#fff}.fx-sec-caret{-webkit-margin-start:auto;margin-inline-start:auto;color:var(--muted);font-size:12px}.fx-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:14px 16px;gap:14px 16px;padding:14px 16px 16px}.fx-f{min-width:0;display:flex;flex-direction:column;gap:6px}.fx-f.wide{grid-column:span 2}.fx-f>label{font-size:11.5px;font-weight:700;color:var(--ink-mid);display:flex;align-items:baseline;gap:6px;margin:0}.fx-f>label small{font-weight:500;color:var(--muted);font-size:10.5px}.fx-f.on>label{color:var(--primary-dark)}.fx-f.on>label:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--primary);align-self:center}.fx-f input:not([type=checkbox]),.fx-f select{width:100%;padding:8px 12px;font-size:12.5px;border-radius:var(--radius-sm,8px)}.fx-f input.is-on,.fx-f select.is-on{border-color:var(--primary);background-color:var(--primary-tint);color:var(--primary-dark);font-weight:700}.fx-dates{display:flex;align-items:center;gap:6px}.fx-dates input{flex:1 1;min-width:0}.fx-dates span{color:var(--muted);font-size:12px}.fx-stack{display:grid;grid-gap:6px;gap:6px}.fx-chipset{display:flex;flex-wrap:wrap;gap:6px}.fx-chipset button{font-size:12px;padding:5px 12px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--ink-mid);transition:all .15s}.fx-chipset button:hover{border-color:var(--primary);color:var(--primary-dark)}.fx-chipset button.on{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:700}.fx-seg{display:flex;background:var(--bg-2);border-radius:999px;padding:3px;gap:2px}.fx-seg button{flex:1 1;font-size:11.5px;padding:4px 8px;border-radius:999px;border:0;background:none;color:var(--ink-mid);font-weight:600}.fx-seg button.on{background:#fff;color:var(--primary-dark);box-shadow:var(--shadow-xs);font-weight:800}.fx-scope{font-size:11px;color:var(--muted);-webkit-padding-start:4px;padding-inline-start:4px}.fx-switch{display:flex;align-items:center;gap:8px;min-height:38px;font-size:13px;font-weight:600;cursor:pointer}.fx-switch input{width:17px;height:17px;accent-color:var(--primary)}.fx-note{margin:0 16px 14px;padding:10px 12px;font-size:12px;line-height:1.8;color:var(--ink-mid);border-radius:8px}.fx-note,.mpick-hint{background:var(--gold-tint,#fffbeb)}.mpick-hint{font-size:11.5px;color:var(--gold,#b45309);padding:6px 8px;border-radius:6px;margin-bottom:6px}@media (max-width:640px){.fx-f.wide{grid-column:auto}.fx-actions{-webkit-margin-start:0;margin-inline-start:0;width:100%}.fx-panel{max-height:none}}.af-wrap{margin:10px 0 12px;display:grid;grid-gap:10px;gap:10px}.af-bar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 12px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-xs)}.af-lbl{font-size:11.5px;font-weight:800;color:var(--muted);-webkit-margin-end:4px;margin-inline-end:4px}.af-chip{display:inline-flex;align-items:center;gap:6px;max-width:360px;padding:4px 4px 4px 10px;padding-inline:10px 4px;background:var(--primary-tint);border:1px solid var(--primary-soft,var(--primary));border-radius:999px;font-size:12px;color:var(--primary-dark)}.af-chip b{font-weight:800;white-space:nowrap}.af-chip>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-mid)}.af-chip button{width:20px;height:20px;border-radius:50%;border:0;display:grid;place-items:center;flex-shrink:0;background:rgba(15,118,110,.12);color:var(--primary-dark);font-size:14px;line-height:1;padding:0}.af-chip button:hover{background:var(--danger);color:#fff}.af-chip.bad{background:var(--danger-tint,#fef2f2);border-color:var(--danger)}.af-chip.bad,.af-chip.bad>span{color:var(--danger)}.af-clear,.af-edit{font-size:11.5px;font-weight:700;padding:4px 12px;border-radius:999px;border:1px solid var(--line);background:#fff}.af-clear{color:var(--danger)}.af-edit{color:var(--primary-dark);-webkit-margin-start:auto;margin-inline-start:auto}.af-why{background:#fff;border:1px solid var(--danger-soft,#fecaca);border-radius:14px;overflow:hidden;box-shadow:0 10px 24px -18px rgba(220,38,38,.5);animation:panelSlide .22s var(--ease-back)}.af-why-head{display:flex;gap:12px;align-items:center;padding:12px 16px;background:var(--danger-tint,#fef2f2)}.af-why-ico{font-size:22px}.af-why-head b{display:block;font-size:14px;color:var(--danger)}.af-why-head small{display:block;font-size:12px;color:var(--ink-mid);margin-top:2px}.af-why-list,.af-why-row{display:grid}.af-why-row{grid-template-columns:minmax(160px,1.4fr) auto minmax(140px,1fr) auto;align-items:center;grid-gap:12px;gap:12px;padding:10px 16px;border-top:1px solid var(--line-soft,var(--line));font-size:12.5px}.af-why-row.bad{background:#fff7f7}.af-why-row.best{background:var(--done-tint,#f0fdf4)}.af-why-name b{display:block;font-size:12.5px}.af-why-name span{display:block;overflow:hidden;text-overflow:ellipsis}.af-why-name span,.af-why-nums{color:var(--muted);font-size:11.5px;white-space:nowrap}.af-why-nums{display:flex;gap:12px}.af-why-nums b{color:var(--ink);font-size:13px}.af-why-row.bad .af-why-nums span:first-child b{color:var(--danger)}.af-why-row.best .af-why-nums span:last-child b{color:var(--done)}.af-why-msg{font-size:12px;font-weight:700;color:var(--ink-mid)}.af-why-row.bad .af-why-msg{color:var(--danger)}.af-why-row.best .af-why-msg{color:var(--done)}.af-why-row button{font-size:12px;font-weight:800;padding:5px 14px;border-radius:999px;background:var(--primary);color:#fff;border:0}.af-why-tip{padding:10px 16px;font-size:12px;color:var(--ink-mid);background:var(--gold-tint,#fffbeb);border-top:1px solid var(--line)}@media (max-width:760px){.af-why-row{grid-template-columns:1fr auto}.af-why-msg,.af-why-nums{grid-column:1/-1}}.fx-f .mpick-btn{min-height:38px;padding:8px 12px;font-size:12.5px;border-radius:var(--radius-sm,8px)}.fx-years{display:grid;grid-gap:6px;gap:6px}.fx-year{display:flex;align-items:center;gap:8px}.fx-year-lbl{flex-shrink:0;width:52px;font-size:12px;font-weight:800;padding:5px 0;border-radius:8px;background:var(--bg-2);color:var(--ink-mid);border:1px solid transparent;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.fx-year-lbl:hover{border-color:var(--primary);color:var(--primary-dark)}.fx-year-lbl.on{background:var(--primary-dark);color:#fff}.fx-year .fx-chipset button{padding:4px 10px}.fx-f:has(.fx-years){grid-column:1/-1}.fx-switch.sm{min-height:0;font-size:12px;font-weight:600;color:var(--ink-mid)}.ph-cell{min-width:170px;max-width:240px}.ph-btn,.ph-text{display:block;width:100%;text-align:start;font-size:12px;line-height:1.5;padding:5px 8px;border-radius:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}.ph-btn{background:var(--gold-tint,#fffbeb);border:1px solid transparent;cursor:text}.ph-btn:hover{border-color:var(--gold,#b45309)}.ph-btn.empty{background:none;color:var(--muted);border:1px dashed var(--line)}.ph-btn.empty:hover{border-color:var(--primary);color:var(--primary-dark)}.ph-input{width:100%;min-width:170px;font-size:12px;padding:6px 8px;border-radius:8px;border:1.5px solid var(--primary);resize:vertical}.fx-blank{display:grid;grid-template-columns:1fr 1fr;grid-gap:6px;gap:6px}@media (max-width:640px){.fx-blank{grid-template-columns:1fr}}.cs-hint.override{color:var(--gold,#b45309);display:flex;flex-wrap:wrap;gap:6px;align-items:center}.cs-hint .link-btn{background:none;border:0;padding:0;color:var(--primary-dark);font-weight:700;text-decoration:underline;cursor:pointer;font-size:inherit}.th-f{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.hf-btn{width:20px;height:20px;display:inline-grid;place-items:center;padding:0;border-radius:5px;flex-shrink:0;border:1px solid var(--line);background:#fff;color:var(--muted);font-size:10px;line-height:1;cursor:pointer}.hf-btn:hover{color:var(--primary-dark)}.hf-btn.on,.hf-btn:hover{border-color:var(--primary)}.hf-btn.on{background:var(--primary);color:#fff}.mcol-head .hf-btn{width:18px;height:18px}.hf-pop{position:fixed;z-index:1000;width:300px;max-height:min(480px,calc(100vh - 120px));display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-lg);font-size:13px;text-align:start;animation:panelSlide .16s var(--ease-out)}.hf-q{margin:10px 10px 4px;padding:7px 10px;font-size:12.5px}.hf-err{margin:8px 10px;color:var(--danger);font-size:12px}.hf-body{overflow:auto;padding:4px 6px}.hf-sec+.hf-sec{border-top:1px dashed var(--line);margin-top:4px;padding-top:4px}.hf-sec-title{font-size:11.5px;font-weight:800;color:var(--primary-dark);padding:6px 6px 2px}.hf-loading{padding:10px;color:var(--muted);font-size:12px;text-align:center}.hf-list{max-height:240px;overflow:auto}.hf-item{display:flex;align-items:center;gap:8px;padding:5px 6px;border-radius:7px;cursor:pointer;font-weight:500;color:var(--ink)}.hf-item:hover{background:var(--primary-tint)}.hf-item input{width:15px;height:15px;accent-color:var(--primary);flex-shrink:0}.hf-item.all{font-weight:800}.hf-item.blank .hf-lbl{color:var(--muted);font-style:italic}.hf-lbl{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hf-n{font-size:11px;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;background:var(--bg-2);border-radius:999px;padding:1px 7px}.hf-foot{display:flex;align-items:center;gap:6px;padding:8px 10px;border-top:1px solid var(--line);background:var(--bg,#f8fafc);border-radius:0 0 12px 12px}.hf-foot button{font-size:12px;font-weight:700;padding:6px 12px;border-radius:8px;border:1px solid var(--line);background:#fff}.hf-ok{background:var(--primary)!important;color:#fff;border-color:var(--primary)!important}.hf-ok:disabled{opacity:.5}.hf-clear{color:var(--danger)}.hf-clear:disabled{opacity:.4}.hf-more{font-size:11px;color:var(--gold,#b45309);background:var(--gold-tint,#fffbeb);border-radius:6px;padding:6px 8px;margin:6px 4px 2px;line-height:1.6}.sticky-col2b .th-f,.sticky-name .th-f{justify-content:center}.btn-export-top{display:inline-flex;align-items:center;gap:8px;padding:8px 16px!important;font-size:13px!important;font-weight:800;text-decoration:none;border-radius:999px}.btn-export-top b{background:hsla(0,0%,100%,.22);border-radius:999px;padding:1px 9px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.chip.base{border-color:var(--primary);background:var(--primary-tint)}.chip.base span{color:var(--primary-dark);font-weight:800}.th-sub{font-size:10px;font-weight:600;color:var(--muted)}.cc-cell{white-space:nowrap}.cc-tag{display:inline-block;font-size:11.5px;padding:2px 9px;border-radius:999px;background:var(--primary-tint);color:var(--primary-dark);font-weight:700;max-width:180px;overflow:hidden;text-overflow:ellipsis}.cc-none{font-size:11.5px;color:var(--muted)}button.hf-sec-title{width:100%;display:flex;align-items:center;gap:6px;background:none;border:0;text-align:start;cursor:pointer;padding:8px 6px;border-radius:6px}button.hf-sec-title:hover{background:var(--bg-2)}button.hf-sec-title.on{color:var(--primary)}button.hf-sec-title i{font-style:normal;font-size:9px;color:var(--primary)}.hf-caret{-webkit-margin-start:auto;margin-inline-start:auto;color:var(--muted);font-size:11px}.hf-body,.hf-pop{min-height:0}.hf-body{flex:1 1 auto}.hf-foot{flex-shrink:0}.cc-badge.kind.inj{background:#fde7f3;color:#be185d}.cc-badge.kind.reg{background:var(--info-soft);color:var(--info)}.cc-day.inj header h3{color:#9d174d}.cc-day.inj .cc-progress i{background:#db2777}.cc-spec{font-size:12.5px;white-space:nowrap}.cc-inj{-webkit-margin-start:4px;margin-inline-start:4px}.cc-msg-btn{display:block;margin-top:4px;font-size:11px;font-weight:700;color:var(--primary-dark);background:var(--primary-soft);border:0;border-radius:6px;padding:2px 8px;cursor:pointer;font-family:inherit}.cc-msg-btn:hover{background:var(--primary);color:#fff}.cc-inj-n{width:-moz-fit-content;width:fit-content;display:inline-block;-webkit-margin-start:10px;margin-inline-start:10px;font-size:12.5px;color:#be185d;background:#fde7f3;border-radius:999px;padding:2px 10px}.cc-split{display:flex;gap:10px;align-items:flex-start;margin-top:14px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fdf2f8;cursor:pointer}.cc-split input{width:17px;height:17px;margin-top:2px;accent-color:#db2777}.cc-split span{display:grid;grid-gap:2px;gap:2px}.cc-split small{font-size:11.5px;color:var(--muted)}.cc-plan-sec.inj>label{color:#be185d}.cc-plan-pool{font-weight:400;color:var(--muted)}.cc-plan-none{font-size:12px;color:var(--muted);padding:6px 0}@media (min-width:900px){table.tracker .sticky-name{box-sizing:border-box;width:190px;min-width:190px;max-width:190px}table.tracker .sticky-spec{position:-webkit-sticky;position:sticky;inset-inline-start:316px;z-index:2;background:#fff;max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;box-shadow:inset -1px 0 0 var(--line),-8px 0 10px -10px rgba(15,23,42,.25)}table.tracker thead .sticky-spec{background:var(--head-bg)!important;z-index:6;overflow:visible}table.tracker tbody tr:nth-child(2n) .sticky-spec{background-color:var(--row-alt)}table.tracker tbody tr:hover .sticky-spec{background-color:var(--row-hover)!important}table.tracker tbody tr.sel .sticky-spec{background-color:var(--primary-soft)!important}}.inj-sel{font-size:12px;padding:3px 6px;border-radius:8px;border:1px solid var(--line);background:#fff;font-family:inherit;min-width:96px;cursor:pointer}.inj-sel.iv{background:#fde7f3;color:#9d174d;border-color:#f9a8d4;font-weight:700}.inj-sel.sc{background:#ede9fe;color:#5b21b6;border-color:#c4b5fd;font-weight:700}.inj-sel.unk{background:#fef3c7;color:#92400e;border-color:#fcd34d;font-weight:700}.inj-sel:disabled{cursor:default;opacity:.85}.cc-badge.kind.iv{background:#fde7f3;color:#be185d}.cc-badge.kind.sc{background:#ede9fe;color:#6d28d9}.cc-badge.kind.inj{background:#fef3c7;color:#92400e}.cc-day.k-sc header h3{color:#5b21b6}.cc-day.k-sc .cc-progress i{background:#7c3aed}.cc-day.k-inj header h3{color:#92400e}.cc-inj-tag{display:inline-block;-webkit-margin-start:6px;margin-inline-start:6px;font-size:10.5px;font-weight:700;border-radius:999px;padding:1px 7px;background:#fde7f3;color:#be185d}.cc-inj-tag.sc{background:#ede9fe;color:#6d28d9}.cc-inj-tag.inj{background:#fef3c7;color:#92400e}.cc-inj-n.sc{background:#ede9fe;color:#6d28d9}.cc-inj-n.unk{background:#fef3c7;color:#92400e}.cc-plan-sec.iv>label{color:#be185d}.cc-plan-sec.sc>label{color:#6d28d9}.cc-plan-sec.inj>label{color:#92400e}.cc-inj-row{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 2px}.cc-inj-row .cc-inj-n{-webkit-margin-start:0;margin-inline-start:0}.cc-wa{font-size:12px;min-width:160px;max-width:220px;white-space:normal;line-height:1.5;cursor:help}.cc-clamp{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.cc-contrib{font-size:12.5px;white-space:nowrap}.cc-who{padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#fff;font-family:inherit;font-size:13px;min-width:170px}.cc-who.on{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-dark);font-weight:700}.cc-load{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.cc-load-lbl{font-size:12px;color:var(--muted);font-weight:700}.cc-load-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:4px 12px;font-family:inherit;font-size:12.5px;cursor:pointer}.cc-load-chip b{color:var(--primary-dark)}.cc-load-chip small{color:var(--muted);font-size:11px}.cc-load-chip.none b{color:#b45309}.cc-load-chip.on{border-color:var(--primary);background:var(--primary-soft)}.cc-owner{white-space:nowrap;font-size:12.5px;font-weight:700}.cc-owner select{font-family:inherit;font-size:12px;padding:4px 6px;border:1px solid var(--line);border-radius:8px;background:#fff;max-width:150px}.cc-owner.none select{border-color:#fcd34d;background:#fffbeb;color:#92400e}.cc-owner.me{color:var(--primary-dark)}.cc-owner.me select{border-color:var(--primary);background:var(--primary-soft)}.cc-assign-btn{border-color:var(--primary)!important;color:var(--primary-dark)!important}.cc-staff{display:grid;grid-gap:6px;gap:6px;max-height:320px;overflow:auto}.cc-staff-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;cursor:pointer}.cc-staff-item.on{border-color:var(--primary);background:var(--primary-soft)}.cc-staff-item input{width:16px;height:16px;accent-color:var(--primary)}.cc-staff-name{flex:1 1;font-weight:600;font-size:13px}.cc-staff-load{color:var(--muted);font-size:11.5px}.cc-staff-share{color:var(--primary-dark);font-size:13px;min-width:40px;text-align:end}.cc-empty .link-btn{background:none;border:0;padding:0;color:var(--primary-dark);font-weight:700;text-decoration:underline;cursor:pointer;font-size:inherit;font-family:inherit}.cc-bar .cc-who{width:auto;flex:0 0 auto}.cc-mine{-webkit-margin-start:6px;margin-inline-start:6px;font-size:11px;font-weight:800;background:#fef3c7;color:#92400e;border-radius:999px;padding:1px 8px}.cc-chk{width:36px;text-align:center}.cc-chk input{width:16px;height:16px;accent-color:var(--primary);cursor:pointer}.cc-table tr.sel td{background:var(--primary-soft)!important}.cc-bulkbar{top:72px}.cc-bulk-grp{display:inline-flex;align-items:center;gap:6px;-webkit-padding-start:12px;padding-inline-start:12px;-webkit-border-start:1px solid hsla(0,0%,100%,.2);border-inline-start:1px solid hsla(0,0%,100%,.2)}.cc-bulk-grp input,.cc-bulk-grp select{font-family:inherit;font-size:12px;padding:6px 8px;border-radius:8px;border:0;background:#fff;color:var(--ink)}.cc-bulkbar .cc-bulk-del{border-color:#fca5a5!important;color:#fecaca!important}.cc-bulkbar .cc-bulk-del:hover{background:#dc2626!important;color:#fff!important}.cc-table{table-layout:fixed;width:max-content;min-width:100%}.cc-table td,.cc-table th{vertical-align:top;padding:10px;text-align:right;white-space:normal;overflow-wrap:anywhere;font-size:12.5px;line-height:1.6}.cc-table th{white-space:nowrap;font-size:12px}.cc-table td.cc-chk,.cc-table th.cc-chk{text-align:center}.cc-table td.cc-attempt{min-width:0}.cc-table .cc-attempt>*{margin:0 0 6px}.cc-table .cc-attempt input[type=date],.cc-table .cc-attempt select{width:100%}.cc-table .cc-owner select{width:100%;max-width:none}.cc-table .cc-contrib,.cc-table .cc-spec{white-space:normal}.cc-table .cc-wa{cursor:auto}.cc-table .cc-notes,.cc-table .cc-wa{min-width:0;max-width:none}.mt-clamp{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.mt-full{white-space:pre-wrap}.mt-more{display:inline-block;margin-top:2px;padding:0;border:0;background:none;color:var(--primary-dark);font:inherit;font-size:11px;font-weight:700;cursor:pointer}.mt-more:hover{text-decoration:underline}.pickup-chk{accent-color:#7c3aed}.pickup-badge{display:inline-block;-webkit-margin-end:4px;margin-inline-end:4px;font-size:13px}table.tracker tbody tr.row-pickup td:first-child{box-shadow:inset 3px 0 0 #7c3aed}table.tracker tbody tr.row-pickup .name-cell{color:#5b21b6;font-weight:700}.rep{display:grid;grid-gap:14px;gap:14px}.rep-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 14px}.rep-bar select,.rep-f input{font-family:inherit;font-size:13px;padding:7px 10px;border:1px solid var(--line);border-radius:10px;background:#fff}.rep-f{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600}.rep-f,.rep-hint{color:var(--muted)}.rep-hint{font-size:12px;margin-top:-6px}.rep-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:10px;gap:10px}.rep-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;display:grid;grid-gap:4px;gap:4px}.rep-card span{font-size:12.5px;color:var(--muted);font-weight:700}.rep-card b{font-size:24px;color:var(--ink)}.rep-card small{font-size:12px;color:var(--muted)}.rep-card.ok b{color:var(--done,#059669)}.rep-card.warn b{color:#b45309}.rep-card.info b{color:var(--primary-dark)}.rep-card.muted b{color:var(--muted)}.rep-table{width:100%}.rep-table td,.rep-table th{text-align:center;padding:10px 12px;white-space:nowrap;font-size:13px}.rep-table td small{display:block;font-size:11px;color:var(--muted)}.rep-table .rep-name{text-align:right;font-weight:700}.rep-table td.ok{color:var(--done,#059669);font-weight:700}.rep-table td.warn{color:#b45309;font-weight:700}.rep-table td.muted{color:var(--muted)}.rep-table tr.rep-none td{background:#fffbeb}.rep-table tr.rep-total td{background:var(--bg-2,#f1f5f9);font-weight:800;border-top:2px solid var(--line)}.rep-empty{padding:30px!important;color:var(--muted)}.rep-bar-pct{height:6px;background:var(--bg-2,#eef2f7);border-radius:999px;overflow:hidden;min-width:70px}.rep-bar-pct i{display:block;height:100%;background:var(--primary);border-radius:999px}.rep-bar select{width:auto;flex:0 0 auto;min-width:160px}.rxv{position:fixed;inset:0;z-index:1000;background:rgba(15,23,42,.82);display:flex;flex-direction:column;animation:rxvIn .15s ease-out}@keyframes rxvIn{0%{opacity:0}to{opacity:1}}.rxv-bar{display:flex;align-items:center;gap:8px;padding:10px 16px;background:rgba(15,23,42,.95);color:#fff;font-size:13px}.rxv-bar a,.rxv-bar button{color:#fff;background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.18);border-radius:8px;padding:6px 12px;font:inherit;font-size:12.5px;cursor:pointer;text-decoration:none}.rxv-bar a:hover,.rxv-bar button:hover{background:hsla(0,0%,100%,.22)}.rxv-bar .rxv-x{background:#dc2626;border-color:#dc2626}.rxv-zoom{min-width:44px;text-align:center;font-weight:700}.rxv-body{flex:1 1;overflow:auto;display:flex;align-items:center;justify-content:center;padding:20px;position:relative}.rxv-body img{max-width:100%;max-height:100%;object-fit:contain;transition:transform .15s ease,opacity .15s;background:#fff;border-radius:6px;box-shadow:0 10px 40px rgba(0,0,0,.4)}.rxv-pdf{width:min(1000px,100%);height:100%;border:0;border-radius:6px;background:#fff}.rxv-loading{position:absolute;color:#fff;font-size:14px}.rxv-loading a{color:#93c5fd}.inq{display:grid;grid-gap:12px;gap:12px}.inq-head{display:flex;align-items:center;justify-content:space-between}.inq-sel{width:auto;flex:0 0 auto;min-width:170px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#fff;font-family:inherit}.inq-mine{display:inline-flex;align-items:center;gap:6px;font-size:13px;cursor:pointer}.inq-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--muted)}.inq-dot.new,.inq-st.new{background:#2563eb}.inq-dot.wip,.inq-st.wip{background:#d97706}.inq-dot.done,.inq-st.done{background:#059669}.inq-dot.closed,.inq-st.closed{background:#64748b}.inq-st{display:inline-block;color:#fff;font-size:11.5px;font-weight:700;border-radius:999px;padding:3px 10px;white-space:nowrap}.inq-table{table-layout:fixed;width:100%}.inq-table td,.inq-table th{text-align:right;vertical-align:top;padding:10px;font-size:12.5px;line-height:1.6;white-space:normal;overflow-wrap:anywhere}.inq-table tr.inq-row.new td:first-child{box-shadow:inset 3px 0 0 #2563eb}.inq-table tr.inq-row.new td{font-weight:600}.inq-sub{display:block;color:var(--muted);font-size:11px;font-weight:400}.inq-clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.req{color:#dc2626;-webkit-margin-start:3px;margin-inline-start:3px}.inq-ok{color:#059669;font-size:11.5px}.inq-warn{color:#b45309;font-size:11.5px}.inq-chips{display:flex;flex-wrap:wrap;gap:6px}.inq-chips button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:4px 10px;font:inherit;font-size:12px;cursor:pointer}.inq-chips button.on{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-dark);font-weight:700}.inq-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px 14px;gap:8px 14px}.inq-f{display:grid;grid-gap:2px;gap:2px;font-size:13px}.inq-f span{color:var(--muted);font-size:11.5px}.inq-box{margin-top:12px;background:var(--bg-2,#f1f5f9);border-radius:12px;padding:10px 14px}.inq-box span{font-size:11.5px;color:var(--muted);font-weight:700}.inq-box p{margin:4px 0 0;white-space:pre-wrap;line-height:1.8;font-size:13.5px}.inq-box.note{background:var(--gold-tint,#fffbeb)}.inq-thread{display:grid;grid-gap:8px;gap:8px;max-height:280px;overflow:auto}.inq-msg{border:1px solid var(--line);border-radius:12px;padding:8px 12px;background:#fff}.inq-msg.ph{background:var(--primary-soft);border-color:var(--primary)}.inq-msg-h{display:flex;align-items:center;gap:8px;font-size:12.5px}.inq-msg-h small{color:var(--muted)}.inq-msg p{margin:4px 0 0;white-space:pre-wrap;font-size:13px;line-height:1.7}.inq-reply{width:100%;margin-top:10px;font-family:inherit;font-size:13px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;resize:vertical}.inq-stbtn.done{border-color:#059669!important;color:#059669!important}.inq-stbtn.wip{border-color:#d97706!important;color:#b45309!important}.inq-stbtn.closed{border-color:#64748b!important;color:#475569!important}@media (max-width:800px){.inq-grid{grid-template-columns:1fr 1fr}}.sys-down{position:fixed;inset:0;z-index:2000;background:rgba(15,23,42,.55);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:16px}.sys-down-box{background:#fff;border-radius:18px;padding:28px 32px;max-width:460px;text-align:center;display:grid;grid-gap:10px;gap:10px;justify-items:center;box-shadow:0 20px 60px rgba(0,0,0,.25)}.sys-down-box b{font-size:17px;color:var(--primary-dark)}.sys-down-box span{font-size:13.5px;color:var(--ink-mid,#334155);line-height:1.7}.sys-down-box small{font-size:12px;color:var(--muted)}.sys-down-spin{width:42px;height:42px;border-radius:50%;border:4px solid var(--primary-soft);border-top-color:var(--primary);animation:sysSpin 1s linear infinite}@keyframes sysSpin{to{transform:rotate(1turn)}}.nav2 .nav-top{padding:8px 24px;gap:14px}.nav2 .nav-brand{flex:0 0 auto;text-decoration:none}.nav2 .nav-logo-img{height:36px}.nav2 .nav-title{font-size:15px;font-weight:800;white-space:nowrap}.nav2 .tabs{flex:1 1 auto;border-top:0;padding:0;margin:0;display:flex;justify-content:center;align-items:center;gap:4px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.nav2 .tabs::-webkit-scrollbar{display:none}.nav2 .tab{margin:0;padding:8px 14px;border-radius:10px;font-size:13px;font-weight:600;color:var(--ink-mid,#475569);background:transparent;border:0;white-space:nowrap;gap:6px;cursor:pointer;font-family:inherit}.nav2 .tab:hover:not(.active){background:var(--primary-tint);color:var(--primary-dark)}.nav2 .tab.active{background:var(--primary);color:#fff;box-shadow:0 4px 12px -4px rgba(15,118,110,.5)}.nav2 .tab.active .tab-icon{filter:none}.nav2 .tab-icon{font-size:15px}.nav2 .tab .caret{font-size:9px;opacity:.7}.nav2 .tab-badge{-webkit-margin-start:2px;margin-inline-start:2px}.nav2 .nav-user{flex:0 0 auto}.tab-more{position:relative}.tab-menu{position:absolute;top:calc(100% + 6px);inset-inline-end:0;min-width:200px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-lg);padding:6px;display:grid;grid-gap:2px;gap:2px;z-index:40;animation:dropIn .15s var(--ease-back)}.tab-menu a{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:8px;font-size:13px;font-weight:600;color:var(--ink);text-decoration:none}.tab-menu a:hover{background:var(--primary-tint)}.tab-menu a.on{background:var(--primary-soft);color:var(--primary-dark)}@media (max-width:1350px){.nav2 .tab{padding:8px 10px}.nav2 .nav-title{display:none}}@media (max-width:1100px){.nav2 .tab-label{display:none}.nav2 .tab.active .tab-label{display:inline}}@media (max-width:760px){.nav2 .nav-top{flex-wrap:wrap}.nav2 .tabs{order:3;flex-basis:100%;justify-content:flex-start}}.nav-ico,.tab-more{flex:0 0 auto}.nav-ico{display:block}.nav2 .tab .nav-ico{opacity:.85}.nav2 .tab.active .nav-ico,.nav2 .tab:hover .nav-ico{opacity:1}.tab-menu a .nav-ico{color:var(--primary)}.tab-menu a.on .nav-ico{color:var(--primary-dark)}.cc-queued{display:inline-grid;gap:1px;font-size:12px;font-weight:700;color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;padding:3px 8px}.cc-queued small{font-size:10.5px;font-weight:500;color:#3b82f6}.rep-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.rep-tabs button{font-size:13.5px;padding:8px 16px}.rep-table th.rep-grp{background:#fff7ed;color:#9a3412}.rep-table tr.rep-cur td{background:var(--primary-tint,#f0fdfa);font-weight:700}.rep-num{background:none;border:0;padding:2px 6px;border-radius:6px;font:inherit;color:inherit;cursor:pointer;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;text-underline-offset:3px}.rep-num:hover{background:var(--primary-soft);color:var(--primary-dark);text-decoration:underline}.rep-num.b{font-weight:800}.modal.rep-detail{width:min(1400px,96vw);max-height:92vh;display:flex;flex-direction:column}.rep-detail-bar{display:flex;align-items:center;gap:10px;padding:10px 20px;border-bottom:1px solid var(--line);flex-wrap:wrap}.rep-detail-bar .search-input{flex:1 1;min-width:220px}.rep-detail-n{font-size:13px;color:var(--muted)}.rep-detail-n b{color:var(--ink)}.rep-detail-body{overflow:auto;padding:0!important}.rep-detail-table{width:100%;border-collapse:collapse;font-size:12.5px}.rep-detail-table th{position:-webkit-sticky;position:sticky;top:0;background:var(--head-bg,#f8fafc);z-index:1;white-space:nowrap;padding:9px 10px;text-align:right}.rep-detail-table td{padding:8px 10px;border-top:1px solid var(--line-soft,#eef2f7);vertical-align:top;max-width:260px;white-space:normal;overflow-wrap:anywhere;line-height:1.6}.rep-detail-table tbody tr:hover td{background:var(--row-hover,#f8fafc)}