:root{--bg:#f4f7fb;--panel:#fff;--ink:#172033;--muted:#6f7b91;--line:#e3e8f0;--blue:#2563eb;--blue2:#1d4ed8;--cyan:#0ea5e9;--green:#16a34a;--orange:#ea580c;--red:#dc2626;--shadow:0 16px 40px rgba(31,45,75,.08);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);min-height:100vh}button,input,select,textarea{font:inherit}.splash{height:100vh;display:grid;place-content:center;text-align:center;color:var(--muted)}.brandmark{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;margin:auto;background:linear-gradient(145deg,var(--blue),var(--cyan));color:#fff;font-weight:800;box-shadow:var(--shadow)}
.login-page{min-height:100vh;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 50% 12%,#edf5ff 0,#f5f8fc 42%,#e9eef7 100%);position:relative;overflow:hidden}.login-page:before,.login-page:after{content:"";position:absolute;border-radius:999px;filter:blur(2px);pointer-events:none}.login-page:before{width:420px;height:420px;left:-170px;top:-190px;background:rgba(37,99,235,.09)}.login-page:after{width:360px;height:360px;right:-160px;bottom:-180px;background:rgba(14,165,233,.08)}.login-box{width:100%;display:grid;place-items:center;position:relative;z-index:1}.login-card{width:min(430px,100%);background:rgba(255,255,255,.96);border:1px solid rgba(214,223,236,.9);border-radius:22px;padding:38px 40px 30px;box-shadow:0 28px 70px rgba(31,48,81,.14)}.login-brand{display:flex;align-items:center;justify-content:center;gap:11px;margin-bottom:31px;color:#536078;font-size:13px;font-weight:750;letter-spacing:.02em}.login-brand .brandmark{margin:0;width:46px;height:46px;border-radius:14px}.login-heading{text-align:center;margin-bottom:25px}.login-card h2{font-size:31px;margin:0 0 9px;letter-spacing:-.02em}.login-card .field{text-align:left}.login-foot{text-align:center;color:#94a0b4;font-size:11px;margin:19px 0 0}.muted{color:var(--muted)}
.field{display:grid;gap:7px;margin:17px 0}.field label{font-size:13px;font-weight:700;color:#536078}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:11px;padding:12px 13px;background:#fff;color:var(--ink);outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:#7ba6ff;box-shadow:0 0 0 3px #e8f0ff}.btn{border:0;border-radius:10px;padding:11px 16px;font-weight:700;cursor:pointer;background:#e9eef6;color:#33415c}.btn:hover{filter:brightness(.97)}.btn.primary{background:var(--blue);color:#fff}.btn.primary:hover{background:var(--blue2)}.btn.danger{color:var(--red);background:#feecec}.btn.small{padding:7px 10px;font-size:12px}.btn:disabled{opacity:.55;cursor:not-allowed}.login-card .btn{width:100%;margin-top:7px;padding:13px}
.layout{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.sidebar{background:#111a2c;color:#d9e0ed;padding:24px 16px;position:sticky;top:0;height:100vh}.logo{display:flex;gap:12px;align-items:center;padding:4px 8px 25px;font-weight:800}.logo .brandmark{margin:0;width:40px;height:40px;border-radius:12px}.logo small{display:block;font-weight:500;color:#8190aa;margin-top:2px}.nav{display:grid;gap:5px}.nav button{border:0;background:transparent;color:#aab5c8;text-align:left;padding:11px 13px;border-radius:9px;cursor:pointer}.nav button.active,.nav button:hover{background:#202c42;color:#fff}.sidebar-foot{position:absolute;left:16px;right:16px;bottom:20px;border-top:1px solid #2b3548;padding-top:16px}.sidebar-foot strong{display:block;font-size:13px}.sidebar-foot span{font-size:12px;color:#8491a7}.sidebar-foot button{margin-top:12px;width:100%}
.main{min-width:0}.topbar{height:74px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 30px;position:sticky;top:0;z-index:5}.topbar h1{font-size:20px;margin:0}.content{padding:28px;max-width:1500px;margin:auto}.grid{display:grid;gap:16px}.cards{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:22px}.card{background:var(--panel);border:1px solid var(--line);border-radius:15px;padding:20px;box-shadow:0 7px 24px rgba(39,52,81,.04)}.stat span{font-size:13px;color:var(--muted);font-weight:600}.stat strong{display:block;font-size:30px;margin-top:9px}.stat em{font-style:normal;font-size:12px;color:var(--green)}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.section-head h2{font-size:17px;margin:0}.filters{display:flex;gap:9px;align-items:end;flex-wrap:wrap}.filters .field{margin:0}.filters input,.filters select{padding:8px 10px}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:13px;background:#fff}table{width:100%;border-collapse:collapse;white-space:nowrap}th,td{padding:13px 15px;text-align:left;border-bottom:1px solid #edf0f5;font-size:13px}th{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#718096;background:#f9fafc}tr:last-child td{border-bottom:0}.badge{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:11px;font-weight:700;background:#edf2f8;color:#506079}.badge.green{background:#e8f7ed;color:#16803b}.badge.blue{background:#e8f0ff;color:#245dcc}.badge.orange{background:#fff1e7;color:#b64d0d}.badge.red{background:#feebeb;color:#b42323}.actions{display:flex;gap:6px}
.import-table-wrap{overflow-x:hidden}.imports-table{table-layout:fixed;white-space:normal;min-width:0}.imports-table th,.imports-table td{padding:12px 9px;overflow-wrap:anywhere}.imports-table th:nth-child(1){width:12%}.imports-table th:nth-child(2){width:8%}.imports-table th:nth-child(3){width:11%}.imports-table th:nth-child(4){width:13%}.imports-table th:nth-child(5){width:30%}.imports-table th:nth-child(6){width:18%}.imports-table th:nth-child(7){width:8%}.imports-table td:nth-child(2),.imports-table td:nth-child(3),.imports-table td:nth-child(4),.imports-table td:nth-child(7){white-space:nowrap}.imports-table td:nth-child(6){white-space:normal}.imports-table .task-sub{line-height:1.35}
.list-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 10px}.list-search{display:flex;align-items:center;gap:7px;min-width:0}.list-search input{width:min(320px,44vw);border:1px solid var(--line);border-radius:9px;padding:8px 10px;outline:none}.list-search input:focus{border-color:#7ba6ff;box-shadow:0 0 0 3px #e8f0ff}.list-pager{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:11px;font-size:12px;color:var(--muted)}.table-no-results{padding:30px;text-align:center;color:var(--muted);border:1px solid var(--line);border-top:0;background:#fff}.report-head{align-items:flex-end}.report-head .filters{justify-content:flex-end}
.split{grid-template-columns:minmax(320px,.8fr) minmax(500px,1.5fr)}.empty{padding:45px;text-align:center;color:var(--muted)}.drop{border:2px dashed #cdd6e5;border-radius:14px;padding:25px;text-align:center;background:#f9fbff}.drop input{max-width:100%}.hint{font-size:12px;color:var(--muted);line-height:1.55}.notice{border-radius:11px;padding:12px 14px;background:#eef5ff;color:#28589d;font-size:13px}.notice.warn{background:#fff5e7;color:#96520c}.notice.good{background:#eaf8ef;color:#217a3e}.stack{display:grid;gap:14px}.bar-chart{display:flex;align-items:end;gap:9px;height:180px;padding-top:20px}.bar-col{flex:1;min-width:22px;display:flex;flex-direction:column;align-items:center;justify-content:end;height:100%}.bar{width:100%;max-width:44px;min-height:3px;background:linear-gradient(#3b82f6,#1d4ed8);border-radius:6px 6px 2px 2px}.bar-col small{font-size:9px;color:var(--muted);margin-top:6px;transform:rotate(-35deg);white-space:nowrap}.task-name{font-weight:750}.task-sub{display:block;color:var(--muted);font-size:11px;margin-top:3px}.status-row{display:flex;gap:7px}.status-row select{border:1px solid var(--line);border-radius:8px;padding:7px;max-width:190px}.toast{position:fixed;right:22px;bottom:22px;background:#172033;color:#fff;padding:13px 17px;border-radius:10px;box-shadow:var(--shadow);opacity:0;transform:translateY(15px);pointer-events:none;transition:.2s;z-index:20}.toast.show{opacity:1;transform:none}.toast.error{background:#a61b1b}.mobile-menu{display:none}.modal-layer{position:fixed;inset:0;background:rgba(15,23,42,.52);display:grid;place-items:center;padding:20px;z-index:100}.modal-card{width:min(460px,100%);background:#fff;border:1px solid var(--line);border-radius:17px;padding:22px;box-shadow:0 28px 80px rgba(15,23,42,.28)}.modal-card .section-head{margin-bottom:8px}.modal-card .section-head h2{font-size:19px}.modal-description{font-size:13px;line-height:1.55;margin:8px 0 12px}.modal-close{border:0;background:transparent;color:var(--muted);font-size:26px;line-height:1;cursor:pointer;padding:2px 5px}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:21px}.modal-actions .btn{min-width:100px}
@media(max-width:1000px){.cards{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}}
@media(max-width:720px){.layout{display:block}.sidebar{position:fixed;left:-270px;z-index:20;width:250px;transition:.2s}.sidebar.open{left:0}.mobile-menu{display:block}.topbar{padding:0 16px}.content{padding:16px}.cards{grid-template-columns:1fr 1fr}.card{padding:15px}.stat strong{font-size:24px}.table-wrap{border-radius:10px}.hide-mobile{display:none}.login-page{padding:18px}.login-card{padding:31px 22px 25px;border-radius:18px}.login-brand{margin-bottom:25px}.list-tools,.report-head{align-items:stretch;flex-direction:column}.list-search{width:100%}.list-search input{width:auto;min-width:0;flex:1}.report-head .filters{justify-content:flex-start}.report-head .filters .btn{flex:1}}

/* Refined application UI */
[hidden]{display:none!important}
body{background:#f3f6fb;color:#111b2e}
.layout{grid-template-columns:244px minmax(0,1fr)}
.sidebar{padding:22px 14px;background:linear-gradient(180deg,#101a2d 0%,#0d1728 100%);border-right:1px solid rgba(255,255,255,.04);box-shadow:8px 0 30px rgba(21,34,57,.05)}
.logo{padding:5px 8px 27px;font-size:15px;letter-spacing:.01em}.logo .brandmark{width:42px;height:42px;border-radius:13px;box-shadow:0 10px 26px rgba(14,165,233,.22)}.logo small{font-size:11px;color:#8fa0bc;margin-top:3px}
.logo-copy{min-width:0}.logo-copy strong{display:block;color:#fff;font-size:15px;line-height:1.25;white-space:nowrap}.login-brand span{font-size:16px;color:#26344b;font-weight:800}.splash p{margin:0;color:#25324a;font-weight:800;font-size:18px}.splash small{margin-top:8px;color:#7c899d}
.nav{gap:6px}.nav button{display:flex;align-items:center;gap:11px;min-height:44px;padding:11px 12px;color:#b7c3d7;border-radius:11px;font-size:14px;transition:background .18s,color .18s,transform .18s}.nav button:before{width:20px;text-align:center;color:#7185a7;font-weight:800;font-size:16px}.nav button[data-view="dashboard"]:before{content:"▦"}.nav button[data-view="imports"]:before{content:"⇧"}.nav button[data-view="staff"]:before{content:"◎"}.nav button[data-view="assignments"]:before{content:"↗"}.nav button[data-view="tasks"]:before{content:"◉"}.nav button[data-view="reports"]:before{content:"≡"}.nav button:hover{transform:translateX(2px)}.nav button.active{background:linear-gradient(135deg,#24334d,#1d2b43);box-shadow:inset 3px 0 #3b82f6;color:#fff}.nav button.active:before{color:#60a5fa}
.sidebar-foot{left:14px;right:14px;bottom:17px;padding:15px 5px 0}.sidebar-foot strong{font-size:13px;color:#fff}.sidebar-foot span{display:block;margin-top:3px;color:#8fa0bc}.sidebar-foot .btn{border:1px solid #2c3b54;background:#17243a;color:#dbe5f4}.sidebar-foot .btn:hover{background:#21314b;color:#fff}
.topbar{height:72px;padding:0 30px;border-bottom:1px solid #e5eaf2;box-shadow:0 1px 0 rgba(17,24,39,.01)}.topbar h1{font-size:20px;letter-spacing:-.015em}.topbar .muted{font-size:13px}
.content{padding:30px;max-width:1540px}.grid{gap:18px}.cards{gap:16px;margin-bottom:22px}
.card{position:relative;border:1px solid #e1e7f0;border-radius:18px;padding:21px;background:#fff;box-shadow:0 8px 28px rgba(24,39,67,.045)}
.stat{min-height:128px;padding:24px 21px 19px;overflow:hidden}.stat:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,#3b82f6,#38bdf8);opacity:.85}.stat span{font-size:12px;color:#66758e;font-weight:650}.stat strong{font-size:31px;line-height:1;margin-top:15px;letter-spacing:-.035em}.stat em{display:block;margin-top:10px;font-size:11px;color:#159447}
.section-head{margin-bottom:18px}.section-head h2{font-size:17px;letter-spacing:-.01em}.section-head .muted{display:block;margin-top:3px;font-size:13px;line-height:1.45}
.btn{min-height:38px;padding:9px 14px;border-radius:10px;background:#edf2f8;color:#36445d;transition:transform .15s,box-shadow .15s,background .15s}.btn:hover{filter:none;background:#e4ebf5;transform:translateY(-1px)}.btn:active{transform:none}.btn.primary{background:linear-gradient(135deg,#2f6df0,#215bdd);box-shadow:0 6px 15px rgba(37,99,235,.16)}.btn.primary:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 8px 18px rgba(37,99,235,.22)}.btn.danger{background:#fff0f0;color:#cf2c2c}.btn.danger:hover{background:#ffe5e5}.btn.ghost{background:transparent;color:#69778f}.btn.small{min-height:32px;padding:7px 10px}
.field{gap:7px;margin:15px 0}.field label{font-size:12px;color:#4d5c75}.field input,.field select,.field textarea{min-height:45px;border-color:#dce3ed;border-radius:11px;padding:11px 13px;background:#fff;transition:border .15s,box-shadow .15s}.field input:hover,.field select:hover,.field textarea:hover{border-color:#c6d1e0}.field input:focus,.field select:focus,.field textarea:focus{border-color:#6c9bf5;box-shadow:0 0 0 3px rgba(59,130,246,.11)}
.filters{gap:9px}.filters .field{min-width:140px}.filters input,.filters select{min-height:41px;border-radius:10px}.filters .btn{min-height:41px}
.table-wrap{border-color:#e1e7ef;border-radius:14px;box-shadow:0 1px 2px rgba(17,24,39,.02)}table{font-variant-numeric:tabular-nums}th,td{padding:13px 15px;border-bottom-color:#e9edf3}th{height:43px;background:#f7f9fc;color:#65748d;font-size:10px;letter-spacing:.055em}tbody tr{transition:background .15s}tbody tr:hover{background:#f8fbff}td{font-size:12px;color:#172238}td strong,.task-name{font-size:12px}.task-sub{color:#8490a4;font-size:10px;margin-top:4px;line-height:1.35}td select,.status-row select{min-width:132px;border:1px solid #d7e0eb;border-radius:9px;padding:7px 31px 7px 10px;background:#fff;color:#27344a;outline:none}td select:focus,.status-row select:focus{border-color:#74a0f3;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.actions{gap:5px;flex-wrap:wrap}
.badge{padding:5px 9px;font-size:10px;letter-spacing:.005em}.badge.green{background:#e8f8ee;color:#117a38}.badge.blue{background:#e8f0ff;color:#245dcc}.badge.orange{background:#fff2e8;color:#bb500d}.badge.red{background:#ffeded;color:#b42323}
.list-tools{min-height:44px;margin:0 0 11px;padding:0}.list-search{position:relative;gap:7px}.search-mark{position:absolute;left:12px;top:50%;z-index:1;transform:translateY(-52%);color:#8592a8;font-size:18px;pointer-events:none}.list-search input{height:39px;width:min(390px,42vw);padding:8px 12px 8px 36px;border-color:#dce3ed;background:#fbfcfe}.result-count{padding:6px 10px;border-radius:999px;background:#f0f4fa;color:#65748c;font-size:11px;font-weight:700;white-space:nowrap}.list-pager{justify-content:center;margin-top:14px}.list-pager span{min-width:90px;text-align:center;font-weight:650;color:#68778e}.table-no-results{border:1px dashed #d8e0ec;border-radius:12px;background:#fafcff;margin-top:10px}
.report-head{align-items:flex-end;margin:-2px 0 20px;padding-bottom:18px;border-bottom:1px solid #edf0f5}.report-head .filters{margin-left:auto}.report-head .filters .field{margin:0}.report-head .filters .btn{white-space:nowrap}
.bar-chart{height:210px;gap:12px;padding:18px 8px 0;border-bottom:1px solid #edf1f6;background:repeating-linear-gradient(to top,transparent 0,transparent 49px,#f1f4f8 50px)}.bar-col{min-width:25px;position:relative}.bar-col>strong{font-size:10px;color:#52617a;margin-bottom:5px}.bar-track{height:136px;width:100%;display:flex;align-items:flex-end;justify-content:center}.bar{width:min(38px,75%);background:linear-gradient(180deg,#4f8df7,#2463e8);box-shadow:0 5px 12px rgba(37,99,235,.15);border-radius:7px 7px 2px 2px}.bar-col small{transform:none;font-size:9px;margin-top:7px}.chart-empty{height:210px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#8a97aa}.chart-empty span{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:#eef4ff;color:#3473ea;font-size:20px;margin-bottom:10px}.chart-empty strong{font-size:13px;color:#4c5a70}.chart-empty small{max-width:280px;margin-top:5px;line-height:1.45}
.notice{padding:13px 15px;border-radius:12px}.drop{border-color:#cbd7e8;background:#f9fbfe;border-radius:15px}.empty{padding:42px;color:#8591a5}
.modal-layer{backdrop-filter:blur(3px)}.modal-card{border-radius:19px;padding:24px}
@media(max-width:1100px){.content{padding:22px}.cards{grid-template-columns:repeat(2,1fr)}.report-head{align-items:stretch;flex-direction:column}.report-head .filters{margin-left:0;justify-content:flex-start}.split{grid-template-columns:1fr}}
@media(max-width:720px){.layout{display:block}.content{padding:15px}.topbar{height:64px}.cards{grid-template-columns:1fr 1fr}.stat{min-height:112px;padding:20px 16px}.stat strong{font-size:27px}.card{padding:16px;border-radius:15px}.list-search{flex-wrap:wrap}.list-search input{width:100%;flex-basis:100%}.search-mark{top:19px}.result-count{align-self:flex-start}.report-head .filters{display:grid;grid-template-columns:1fr 1fr;width:100%}.report-head .filters .field{min-width:0}.report-head .filters .btn{width:100%}.bar-chart{overflow-x:auto}}
.duty-panel{margin:4px 0 16px;padding:18px;border:1px solid #dce6f3;border-radius:15px;background:linear-gradient(135deg,#f8fbff,#f4f8ff)}.duty-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:14px}.duty-heading h3{margin:0;font-size:15px}.duty-heading p{margin:5px 0 0;color:#718097;font-size:12px;line-height:1.45}.duty-grid{display:grid;grid-template-columns:repeat(4,minmax(170px,1fr));gap:9px}.duty-option{display:flex;align-items:center;gap:10px;min-height:62px;padding:10px 12px;border:1px solid #dce4ef;border-radius:12px;background:#fff;cursor:pointer;transition:border .15s,box-shadow .15s,transform .15s}.duty-option:hover{border-color:#9ebcf3;transform:translateY(-1px)}.duty-option.selected{border-color:#6496ef;background:#edf4ff;box-shadow:0 0 0 3px rgba(59,130,246,.08)}.duty-option input{position:absolute;opacity:0;pointer-events:none}.duty-check{width:24px;height:24px;display:grid;place-items:center;flex:0 0 auto;border:1px solid #cbd6e4;border-radius:7px;background:#f8fafc;color:transparent;font-size:13px;font-weight:900}.duty-option.selected .duty-check{border-color:#3474e8;background:#3474e8;color:#fff}.duty-option strong{display:block;font-size:12px;color:#25334a}.duty-option small{display:block;margin-top:4px;color:#8190a5;font-size:10px}.duty-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px;padding-top:14px;border-top:1px solid #e2e9f3}.duty-warning{margin:0 0 16px}@media(max-width:1200px){.duty-grid{grid-template-columns:repeat(3,minmax(170px,1fr))}}@media(max-width:850px){.duty-grid{grid-template-columns:repeat(2,minmax(150px,1fr))}}@media(max-width:520px){.duty-heading{flex-direction:column}.duty-grid{grid-template-columns:1fr}.duty-actions{flex-direction:column}.duty-actions .btn{width:100%}}
.duty-picker{max-width:560px}.duty-picker>label,.selected-duty-title{display:block;margin-bottom:7px;color:#53627a;font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.035em}.duty-search-box{position:relative}.duty-search-box>span{position:absolute;left:13px;top:11px;z-index:2;color:#8190a5;font-size:18px}.duty-search-box>input{width:100%;height:44px;padding:10px 13px 10px 39px;border:1px solid #d5dfec;border-radius:11px;background:#fff;outline:none}.duty-search-box>input:focus{border-color:#6f9df1;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.duty-menu{position:absolute;z-index:30;left:0;right:0;top:49px;max-height:330px;overflow:auto;padding:6px;border:1px solid #d8e1ed;border-radius:12px;background:#fff;box-shadow:0 18px 45px rgba(23,38,65,.16)}.duty-menu button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 11px;border:0;border-radius:9px;background:#fff;text-align:left;cursor:pointer}.duty-menu button:hover{background:#edf4ff}.duty-menu button strong{display:block;color:#223149;font-size:12px}.duty-menu button small{display:block;margin-top:3px;color:#8390a4;font-size:10px}.duty-menu button em{font-style:normal;color:#6f7e94;font-size:10px;white-space:nowrap}.duty-menu-empty{padding:18px;text-align:center;color:#8794a7;font-size:12px}.selected-duty{margin-top:16px}.selected-duty-list{min-height:54px;display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:9px;border:1px dashed #ccd8e8;border-radius:12px;background:rgba(255,255,255,.7)}.duty-chip{display:inline-flex;align-items:center;gap:10px;min-height:38px;padding:6px 7px 6px 11px;border:1px solid #c8d9f6;border-radius:10px;background:#eaf2ff;color:#25446f}.duty-chip strong{display:block;font-size:11px}.duty-chip small{display:block;margin-top:1px;color:#6d82a1;font-size:9px}.duty-chip button{width:25px;height:25px;border:0;border-radius:7px;background:#d7e6ff;color:#2c62b8;font-size:17px;line-height:1;cursor:pointer}.duty-chip button:hover{background:#c4d9fb}.duty-empty{padding:0 6px;color:#8996a9;font-size:11px}
.duty-select-row select{width:100%;height:44px;padding:9px 38px 9px 12px;border:1px solid #d5dfec;border-radius:11px;background:#fff;color:#26344a;outline:none;cursor:pointer}.duty-select-row select:hover{border-color:#b9c9de}.duty-select-row select:focus{border-color:#6f9df1;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.duty-select-row select:disabled{background:#f1f4f8;color:#8b97a8;cursor:not-allowed}
.danger-note{margin-bottom:14px;background:#fff0f0;color:#a92a2a}
.nav button[data-view="audit"]:before{content:"☷"}.audit-head{margin-bottom:4px}.audit-filters{align-items:end;flex-wrap:wrap;margin:6px 0 18px}.audit-filters .field{margin:0;min-width:150px}.audit-action-field{min-width:250px!important}.audit-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 11px;color:var(--muted);font-size:12px}.audit-summary strong{color:var(--ink);font-size:15px}.audit-action{background:#eef4ff;color:#255fc9;white-space:normal}.audit-date{white-space:nowrap}.audit-summary+.table-wrap code{font-size:11px;color:#526078;background:#f2f5f9;padding:4px 7px;border-radius:7px}@media(max-width:700px){.audit-filters{display:grid;grid-template-columns:1fr}.audit-filters .field,.audit-action-field{min-width:0!important}.audit-summary{align-items:flex-start;flex-direction:column}}
.report-insights{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr);gap:16px;margin:16px 0}.funnel-card,.timing-card,.campaign-card{box-shadow:none}.funnel-list{display:grid;gap:12px}.funnel-row{display:grid;grid-template-columns:145px minmax(100px,1fr) 60px;align-items:center;gap:12px}.funnel-row>div:first-child strong,.funnel-row>div:first-child span{display:block}.funnel-row>div:first-child strong{font-size:12px}.funnel-row>div:first-child span{margin-top:2px;color:var(--muted);font-size:10px}.funnel-track{height:11px;overflow:hidden;border-radius:999px;background:#edf1f7}.funnel-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2563eb,#38a5ee)}.funnel-row>b{color:#2f66c4;font-size:12px;text-align:right}.timing-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:17px}.timing-grid>div{padding:14px;border:1px solid #e0e7f1;border-radius:12px;background:#f8faff}.timing-grid span,.timing-grid small{display:block;color:var(--muted);font-size:10px}.timing-grid strong{display:block;margin:7px 0;font-size:21px}.timing-card>p{margin:15px 0 0;color:var(--muted);font-size:10px;line-height:1.5}.campaign-card{margin-top:16px}.campaign-card .table-wrap{margin-top:4px}@media(max-width:980px){.report-insights{grid-template-columns:1fr}}@media(max-width:620px){.funnel-row{grid-template-columns:110px minmax(70px,1fr) 50px}.timing-grid{grid-template-columns:1fr}}
.workspace-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:17px;padding:25px 28px;border-radius:18px;background:linear-gradient(125deg,#173b7d,#2563eb 62%,#169bdc);color:#fff;box-shadow:0 18px 42px rgba(37,99,235,.2)}.workspace-hero .eyebrow{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;opacity:.75}.workspace-hero h2{margin:5px 0 6px;font-size:25px}.workspace-hero p{margin:0;font-size:12px;opacity:.82}.workspace-next{background:#fff!important;color:#2456ad!important;box-shadow:0 8px 22px rgba(0,0,0,.12);white-space:nowrap}.workspace-next span{margin-left:10px;font-size:18px}.workspace-stats .urgent{border-color:#ffd9c2;background:linear-gradient(145deg,#fff,#fff8f3)}.workspace-stats .urgent strong,.workspace-stats .urgent em{color:#c65116}.workspace-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px}.workspace-queue{min-width:0}.queue-list{display:grid;gap:7px;margin-top:15px}.queue-item{display:grid;grid-template-columns:28px minmax(190px,1fr) 105px auto auto;align-items:center;gap:10px;padding:11px 12px;border:1px solid #e2e8f1;border-radius:12px;background:#fff}.queue-item:hover{border-color:#c6d8f4;background:#fbfdff}.queue-rank{width:25px;height:25px;display:grid;place-items:center;border-radius:8px;background:#eef4ff;color:#356ac2;font-size:10px;font-weight:800}.queue-member strong,.queue-member small{display:block}.queue-member strong{font-size:12px}.queue-member small{margin-top:3px;color:var(--muted);font-size:10px}.queue-member p{max-width:390px;margin:6px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#6b7890;font-size:10px;font-style:italic}.queue-priority{padding:5px 7px;border-radius:8px;font-size:9px;font-weight:750;text-align:center}.queue-priority.overdue{background:#fff0e6;color:#b6490d}.queue-priority.today{background:#fff8dd;color:#9b6a00}.queue-priority.new{background:#eaf2ff;color:#2860bc}.queue-priority.active{background:#edf7ef;color:#21803a}.workspace-empty{display:grid;place-items:center;gap:7px;padding:65px 20px;color:var(--muted);text-align:center}.workspace-empty strong{color:var(--ink);font-size:16px}.workspace-progress{display:flex;flex-direction:column}.progress-ring{--progress:0;width:164px;height:164px;display:grid;place-items:center;margin:25px auto 18px;border-radius:50%;background:conic-gradient(#2563eb calc(var(--progress)*1%),#e8edf5 0);position:relative}.progress-ring:before{content:"";position:absolute;inset:13px;border-radius:50%;background:#fff}.progress-ring>div{position:relative;text-align:center}.progress-ring strong,.progress-ring span{display:block}.progress-ring strong{font-size:27px}.progress-ring span{margin-top:4px;color:var(--muted);font-size:9px}.progress-copy{text-align:center}.progress-copy strong,.progress-copy span{display:block}.progress-copy span{margin-top:3px;color:var(--muted);font-size:10px}.mini-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:auto;padding-top:22px}.mini-metrics>div{padding:10px 5px;border-radius:10px;background:#f4f7fb;text-align:center}.mini-metrics strong,.mini-metrics span{display:block}.mini-metrics strong{font-size:15px}.mini-metrics span{margin-top:3px;color:var(--muted);font-size:9px}@media(max-width:1100px){.workspace-grid{grid-template-columns:1fr}.workspace-progress{display:grid;grid-template-columns:auto 1fr;align-items:center}.workspace-progress .section-head{grid-column:1/-1}.progress-ring{margin:15px 25px}.mini-metrics{margin:0;padding:0}}@media(max-width:760px){.workspace-hero{align-items:flex-start;flex-direction:column}.workspace-next{width:100%}.queue-item{grid-template-columns:28px 1fr auto}.queue-priority{grid-column:2}.queue-item .btn{grid-row:2}.workspace-progress{display:flex}.progress-ring{margin:20px auto}.mini-metrics{width:100%;margin-top:16px}}
.topbar-actions{position:relative;display:flex;align-items:center;gap:13px}.notification-button{position:relative;width:38px;height:38px;border:1px solid #dce4ef;border-radius:11px;background:#f7f9fc;color:#35506f;font-size:18px;cursor:pointer}.notification-button:hover{background:#edf4ff;border-color:#cbdaf0}.notification-button>span{position:absolute;right:-5px;top:-6px;min-width:19px;height:19px;padding:0 5px;display:grid;place-items:center;border:2px solid #fff;border-radius:999px;background:#e23c3c;color:#fff;font-size:9px;font-weight:800}.notification-panel{position:absolute;z-index:80;right:0;top:48px;width:min(390px,calc(100vw - 24px));overflow:hidden;border:1px solid #dce4ef;border-radius:16px;background:#fff;box-shadow:0 22px 60px rgba(22,37,65,.2)}.notification-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 16px;border-bottom:1px solid #e6ebf2}.notification-head strong,.notification-head span{display:block}.notification-head span{margin-top:2px;color:var(--muted);font-size:10px}.notification-list{max-height:430px;overflow:auto;padding:7px}.notification-item{width:100%;display:grid;grid-template-columns:9px 1fr;gap:10px;padding:12px 10px;border:0;border-radius:10px;background:#fff;text-align:left;cursor:pointer}.notification-item:hover{background:#f4f7fb}.notification-item.unread{background:#eef5ff}.notification-item>i{width:8px;height:8px;margin-top:4px;border-radius:50%;background:#cbd4e1}.notification-item.unread>i{background:#2e6de0}.notification-item strong,.notification-item small,.notification-item time{display:block}.notification-item strong{color:#26344a;font-size:12px}.notification-item small{margin-top:4px;color:#68768b;font-size:10px;line-height:1.4}.notification-item time{margin-top:5px;color:#96a1b1;font-size:9px}.notification-empty{padding:45px 15px;text-align:center;color:var(--muted);font-size:12px}@media(max-width:600px){.topbar-actions>.muted{display:none}.notification-panel{position:fixed;top:65px;right:12px}}
.nav button[data-view="security"]:before{content:"◇"}.security-grid{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(430px,1.2fr);gap:16px}.security-state{display:flex;align-items:flex-start;gap:13px;margin:14px 0 18px;padding:15px;border:1px solid #f1d9bd;border-radius:13px;background:#fff8ed}.security-state.enabled{border-color:#cde8d4;background:#f0faf3}.security-state>i{width:29px;height:29px;display:grid;place-items:center;flex:0 0 auto;border-radius:9px;background:#ffe8ca;color:#b76516;font-style:normal;font-weight:900}.security-state.enabled>i{background:#d9f2df;color:#25813d}.security-state strong,.security-state span{display:block}.security-state strong{font-size:12px}.security-state span{margin-top:4px;color:#68768b;font-size:10px;line-height:1.5}.setup-secret{display:grid;gap:10px;margin:16px 0;padding:15px;border:1px solid #cfe0f8;border-radius:12px;background:#f2f7ff}.setup-secret>span{color:#4d5f78;font-size:11px;line-height:1.5}.setup-secret code{display:block;overflow-wrap:anywhere;padding:11px;border-radius:9px;background:#17243a;color:#fff;font-size:14px;letter-spacing:.08em}.setup-secret .btn{justify-self:start}.session-list{display:grid;gap:8px;margin-top:14px}.session-item{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:11px;padding:13px;border:1px solid #e1e7f0;border-radius:12px}.session-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:#edf3fc;color:#3a6cb8}.session-item strong,.session-item span,.session-item small{display:block}.session-item strong{font-size:12px}.session-item strong .badge{display:inline-flex;margin-left:6px}.session-item span{margin-top:4px;color:#637188;font-size:10px}.session-item small{margin-top:3px;color:#929dad;font-size:9px}@media(max-width:980px){.security-grid{grid-template-columns:1fr}}@media(max-width:600px){.session-item{grid-template-columns:34px 1fr}.session-item>.btn{grid-column:2;width:100%}}
.nav button[data-view="retention"]:before{content:"▤"}.retention-forever{font-size:24px!important}.retention-grid{display:grid;grid-template-columns:minmax(360px,.9fr) minmax(420px,1.1fr);gap:16px;margin:16px 0}.input-suffix{display:flex;align-items:center;border:1px solid var(--line);border-radius:11px;background:#fff}.input-suffix input{border:0!important;box-shadow:none!important}.input-suffix span{padding:0 13px;color:var(--muted);font-size:11px}.field>small{color:var(--muted);font-size:9px;line-height:1.5}.retention-clean{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:22px;padding-top:18px;border-top:1px solid #e3e8f0}.retention-clean strong,.retention-clean span{display:block}.retention-clean strong{font-size:12px}.retention-clean span{margin-top:3px;color:var(--muted);font-size:10px}.archive-action .notice{margin-top:14px}.archive-history{margin-top:0}.archive-download{display:inline-flex;text-decoration:none;white-space:nowrap}.checksum{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}@media(max-width:980px){.retention-grid{grid-template-columns:1fr}}@media(max-width:600px){.retention-clean{align-items:flex-start;flex-direction:column}.retention-clean .btn{width:100%}}
.campaign-filter-bar{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;margin:15px 0;padding:13px 15px;border:1px solid #dce5f1;border-radius:13px;background:#f7faff}.campaign-filter-bar>div{display:grid;gap:6px;min-width:280px}.campaign-filter-bar label,.assignment-campaign label{color:#53627a;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.campaign-filter-bar select,.assignment-campaign select{height:42px;padding:8px 38px 8px 12px;border:1px solid #d3deeb;border-radius:10px;background:#fff;color:#26344a}.campaign-filter-bar>span{text-align:right}.campaign-filter-bar>span strong,.campaign-filter-bar>span small,.assignment-campaign-info strong,.assignment-campaign-info span{display:block}.campaign-filter-bar>span strong{font-size:12px}.campaign-filter-bar>span small{margin-top:4px;color:var(--muted);font-size:10px}.campaign-name{display:inline-flex;padding:5px 8px;border:1px solid #d8e5f6;border-radius:8px;background:#f2f7ff;color:#315f9f;font-size:10px;font-weight:700}.assignment-campaign{display:grid;grid-template-columns:minmax(280px,1fr) minmax(180px,.55fr) auto;align-items:end;gap:14px;margin:5px 0 16px;padding:16px;border:1px solid #cddcf0;border-radius:14px;background:linear-gradient(145deg,#f7faff,#eef5ff)}.assignment-campaign>div:first-child{display:grid;gap:6px}.assignment-campaign-info{align-self:center}.assignment-campaign-info strong{font-size:12px}.assignment-campaign-info span{margin-top:4px;color:var(--muted);font-size:10px}.assignment-campaign-actions{display:flex;gap:7px}.assignment-campaign-actions .btn{white-space:nowrap}@media(max-width:1000px){.assignment-campaign{grid-template-columns:1fr 1fr}.assignment-campaign-actions{grid-column:1/-1}}@media(max-width:650px){.campaign-filter-bar{align-items:stretch;flex-direction:column}.campaign-filter-bar>div{min-width:0}.campaign-filter-bar>span{text-align:left}.assignment-campaign{grid-template-columns:1fr}.assignment-campaign-actions{grid-column:auto;flex-direction:column}.assignment-campaign-actions .btn{width:100%}}
.upload-limit{display:grid;gap:4px;margin:15px 0}.upload-limit strong{font-size:11px}.upload-limit span{font-size:10px;line-height:1.5}
.excel-guide{margin:0 0 14px;padding:13px;border:1px solid #d9e4f2;border-radius:13px;background:#f8fbff}.excel-guide-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.excel-guide-head>div{display:grid;gap:2px}.excel-guide-head strong{font-size:12px;color:#172033}.excel-guide-head span:not(.badge){font-size:10px;color:var(--muted)}.excel-preview{display:grid;grid-template-columns:24px minmax(55px,.8fr) minmax(60px,.9fr) minmax(88px,1.35fr) minmax(104px,1.5fr);border:1px solid #b8c6d8;border-radius:7px;overflow:hidden;background:#fff;font-size:9px}.excel-corner,.excel-letter,.excel-rowno{display:grid;place-items:center;background:#eef2f6;color:#68758a;font-weight:700}.excel-letter,.excel-cell{border-left:1px solid #ccd5e1}.excel-rowno,.excel-cell{border-top:1px solid #ccd5e1}.excel-cell{padding:7px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.excel-header{background:#edf8f0;color:#245c35;font-weight:800}.excel-header.required{color:#b54708}.excel-guide-note{margin:9px 1px 0;font-size:10px;line-height:1.45;color:var(--muted)}.excel-guide-note strong{color:#b54708}@media(max-width:520px){.excel-guide-head .badge{display:none}.excel-preview{grid-template-columns:20px minmax(43px,.7fr) minmax(48px,.75fr) minmax(72px,1.1fr) minmax(92px,1.35fr);font-size:8px}.excel-cell{padding:6px 4px}}
.rate-pill{display:inline-flex;min-width:48px;justify-content:center;padding:5px 8px;border-radius:999px;background:#edf3fb;color:#37516f;font-weight:800;font-size:11px}.rate-pill.good{background:#e8f8ee;color:#16733a}.performance-table table{min-width:820px}.performance-layer{padding:24px}.performance-modal{width:min(1180px,calc(100vw - 48px));max-height:calc(100vh - 48px);overflow:auto;padding:24px}.performance-title{position:sticky;top:-24px;z-index:3;margin:-24px -24px 20px;padding:22px 24px 17px;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}.performance-stats{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:12px}.performance-stats>div{display:grid;gap:4px;min-height:105px;padding:17px;border:1px solid var(--line);border-radius:14px;background:#f8fbff}.performance-stats span{font-size:11px;color:var(--muted)}.performance-stats strong{font-size:25px;color:#172033}.performance-stats small{font-size:10px;color:#58708f}.performance-section{margin-top:20px;padding-top:19px;border-top:1px solid var(--line)}.performance-section h3{margin:0;font-size:16px}.performance-activity{max-height:320px;overflow:auto}.performance-activity table{min-width:880px}.performance-activity thead{position:sticky;top:0;z-index:1}.performance-activity td{vertical-align:top}@media(max-width:800px){.performance-layer{padding:10px}.performance-modal{width:calc(100vw - 20px);max-height:calc(100vh - 20px);padding:16px}.performance-title{top:-16px;margin:-16px -16px 16px;padding:17px 16px}.performance-stats{grid-template-columns:repeat(2,minmax(120px,1fr))}}
.capacity-cell{display:grid;gap:3px}.capacity-cell input{width:92px;height:34px;padding:6px 8px;border:1px solid #d7e0eb;border-radius:8px}.capacity-cell small{color:#8390a4;font-size:9px}.preset-bar{display:flex;align-items:flex-end;gap:7px;margin:-3px 0 16px;padding:12px;border:1px solid #dfe7f2;border-radius:12px;background:#fff}.preset-bar>div{display:grid;gap:5px;min-width:250px;margin-right:auto}.preset-bar label{color:#5e6d84;font-size:10px;font-weight:750;text-transform:uppercase}.preset-bar select{height:38px;padding:7px 10px;border:1px solid #d6e0ec;border-radius:9px;background:#fff}@media(max-width:760px){.preset-bar{align-items:stretch;flex-direction:column}.preset-bar>div{min-width:0;margin:0}.preset-bar .btn{width:100%}}
.task-link{display:block;padding:0;border:0;background:transparent;text-align:left;cursor:pointer}.task-link:hover .task-name{color:#2563eb}.last-note{display:block;max-width:220px;margin-top:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#66758b;font-size:10px;font-style:italic}.follow-badge{display:inline-flex;padding:5px 8px;border-radius:8px;background:#eef4ff;color:#3267ba;font-size:10px;font-weight:700;white-space:nowrap}.follow-badge.overdue{background:#fff0e6;color:#b74c0d}.detail-layer{position:fixed;inset:0;z-index:90;background:rgba(14,23,39,.48);backdrop-filter:blur(2px)}.detail-drawer{position:absolute;top:0;right:0;width:min(590px,100%);height:100%;display:grid;grid-template-rows:auto 1fr auto;background:#f6f8fc;box-shadow:-24px 0 70px rgba(13,25,46,.22);animation:drawer-in .2s ease-out}@keyframes drawer-in{from{transform:translateX(35px);opacity:.6}to{transform:none;opacity:1}}.detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding:24px 25px 20px;border-bottom:1px solid #e1e7f0;background:#fff}.detail-header .eyebrow{display:block;margin-bottom:5px;color:#3974dc;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.detail-header h2{margin:0;font-size:22px}.detail-header p{margin:5px 0 0;color:#7a879b;font-size:12px}.detail-close{width:36px;height:36px;border:0;border-radius:10px;background:#eef2f7;color:#5f6d83;font-size:24px;cursor:pointer}.detail-close:hover{background:#e3e9f2}.detail-body{overflow:auto;padding:20px 22px 30px}.detail-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:15px}.detail-summary>div{padding:13px 14px;border:1px solid #e0e6ef;border-radius:12px;background:#fff}.detail-summary span{display:block;color:#7b889c;font-size:10px;text-transform:uppercase;letter-spacing:.04em}.detail-summary strong{display:block;margin-top:5px;color:#26344a;font-size:12px}.detail-section{margin-top:14px;padding:17px;border:1px solid #e0e6ef;border-radius:14px;background:#fff}.detail-section h3{margin:0 0 12px;font-size:14px}.detail-section>select{width:100%;height:42px;padding:8px 11px;border:1px solid #d7e0eb;border-radius:10px;background:#fff}.detail-form-actions{display:flex;justify-content:flex-end;gap:8px}.detail-title-row{display:flex;align-items:center;justify-content:space-between}.detail-title-row span{color:#7d8a9e;font-size:10px}.timeline{position:relative}.timeline-item{position:relative;display:grid;grid-template-columns:16px 1fr;gap:9px;padding:0 0 17px}.timeline-item:not(:last-child):before{content:"";position:absolute;left:5px;top:10px;bottom:0;width:1px;background:#dfe6f0}.timeline-item i{position:relative;z-index:1;width:11px;height:11px;margin-top:3px;border:3px solid #cfe0ff;border-radius:999px;background:#3475e8}.timeline-item strong{display:block;color:#2b394e;font-size:11px}.timeline-item p{margin:6px 0;padding:9px 10px;border-radius:9px;background:#f4f7fb;color:#526077;font-size:11px;line-height:1.5;white-space:pre-wrap}.timeline-item small{display:block;margin-top:4px;color:#8a96a8;font-size:9px}.detail-footer{display:flex;justify-content:flex-end;padding:15px 22px;border-top:1px solid #dfe5ee;background:#fff}.detail-footer .btn{min-width:150px}@media(max-width:600px){.detail-header{padding:19px}.detail-body{padding:15px}.detail-summary{grid-template-columns:1fr}.detail-form-actions{flex-direction:column}.detail-form-actions .btn{width:100%}}
