:root{font-family:"Segoe UI Variable","Segoe UI","Microsoft YaHei UI",sans-serif;color:#e7e9ee;background:#17191d;font-synthesis:none;--panel:#22252b;--border:#3a3e47;--muted:#aeb4c0;--blue:#7ab2ff;--surface:#2c3038}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer;border:1px solid transparent;border-radius:7px;padding:9px 15px;background:#343942;color:#eef0f4;transition:background .15s}button:hover{background:#424954}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid #9ac6ff;outline-offset:3px}button:disabled{opacity:.55;cursor:wait}.primary{background:#91bdff;color:#152031;font-weight:600}.primary:hover{background:#b0cfff}.subtle{background:#282c33;border-color:var(--border)}.text-button{background:none;color:#a4c9ff;padding:5px 8px}.hidden{display:none!important}.muted,small{color:var(--muted);font-size:13px;line-height:1.65}.eyebrow{font-size:11px;letter-spacing:2px;color:#a4b0c4}h1,h2,p{margin-top:0}h1{font-size:27px;font-weight:650;margin-bottom:0}h2{font-size:17px;font-weight:600;margin-bottom:0}.lead{color:#b9c0cc;line-height:1.7;margin:16px 0 26px}input,textarea,select{background:#191c21;border:1px solid #4a505a;border-radius:6px;color:#eceef3;padding:10px 12px;max-width:100%}textarea{resize:vertical;line-height:1.65}input[type=datetime-local],input[type=date],input[type=time]{color-scheme:dark}label{display:flex;flex-direction:column;gap:8px;margin:16px 0;font-size:13px;color:#c8cdd6}label input,label select,label textarea{width:100%}a{color:#a8ccff;text-decoration:none}a:hover{text-decoration:underline}.login-view{min-height:100vh;display:grid;place-items:center;background:radial-gradient(ellipse at 40% 10%,#29364b 0,transparent 55%)}.login-card{width:420px;max-width:calc(100% - 32px);background:#22252b;border:1px solid #3a414d;border-radius:16px;padding:38px;box-shadow:0 25px 90px #0004}.login-card h1{font-size:40px;margin-top:12px}.login-card button{width:100%;margin-top:10px}.error{color:#ffaaa9;font-size:13px;line-height:1.6;margin:14px 0}.app-shell{display:flex;min-height:100vh}.sidebar{width:220px;background:#1d2025;border-right:1px solid #30353f;padding:28px 16px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0}.brand{display:flex;gap:12px;align-items:center;padding:0 12px 30px}.brand-mark{width:38px;height:38px;background:#8dbaff;border-radius:10px;color:#17283e;display:grid;place-items:center;font-size:24px;font-weight:700}.brand strong{display:block;font-size:20px}.brand small{font-size:11px;letter-spacing:1px}.sidebar nav{display:flex;flex-direction:column;gap:6px}.nav{text-align:left;background:transparent;color:#aeb5c2;padding:13px 18px}.nav.active{background:#303b4d;color:#c0daff;box-shadow:inset 3px 0 #8dbaff}.sidebar-bottom{margin-top:auto;padding:20px 12px 0;display:flex;flex-direction:column;gap:8px}.sidebar-bottom span{font-size:14px}.sidebar-bottom .subtle{margin-top:10px}main{margin-left:220px;padding:36px 40px 20px;max-width:1700px;width:calc(100% - 220px)}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}header h1{margin-top:9px}.sync{display:flex;align-items:center;gap:14px;font-size:12px;color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:24px}.stats article{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:23px}.stats span{display:block;color:var(--muted);font-size:13px}.stats strong{display:block;font-size:36px;font-weight:600;margin-top:12px}.grid-two{display:grid;grid-template-columns:1fr 1fr;gap:20px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:22px}.section-title{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:20px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:22px}.toolbar input[type=search]{width:350px}.toolbar>div{display:flex;gap:10px}.toolbar p{margin:0;max-width:650px}.card-list{display:flex;flex-direction:column;gap:12px}.task-card,.promotion-card,.row-card{background:var(--panel);border:1px solid var(--border);border-radius:9px;padding:20px;display:flex;justify-content:space-between;gap:20px}.card-main{min-width:0;flex:1}.card-heading{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}.card-heading h3{font-size:16px;font-weight:600;line-height:1.6;margin:0;overflow-wrap:anywhere}.card-description{font-size:13px;line-height:1.75;color:#b2b9c5;white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0}.card-meta{font-size:12px;line-height:1.8;color:#929caa;display:flex;gap:16px;flex-wrap:wrap}.card-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end;align-content:center}.card-actions button{font-size:12px;padding:7px 11px}.badge{display:inline-flex;align-items:center;font-size:11px;line-height:1.3;padding:5px 8px;border-radius:5px;background:#343a45;color:#c2cad8;white-space:nowrap}.badge.completed{background:#253e34;color:#a0d1b8}.badge.cancelled{background:#38383e;color:#b5b4bd}.badge.inProgress{background:#29405c;color:#a6cffd}.badge.overdue,.badge.tentative{background:#4b3e26;color:#e3c188}.badge.confirmed{background:#283d35;color:#a7d0ba}.badge.incentive{background:#3b304c;color:#d4b6f3}.empty{color:#8f99a8;font-size:14px;padding:34px 5px;text-align:center}.mini-item{padding:14px 0;border-bottom:1px solid #363b44}.mini-item:last-child{border:0}.mini-item strong{display:block;font-size:14px;line-height:1.6;margin-bottom:6px}.mini-item small{display:block}.notice{padding:13px 17px;border:1px solid #425474;background:#263448;border-radius:8px;margin-bottom:24px;font-size:13px;line-height:1.6}.notice.error{background:#402e30;border-color:#75494d;color:#ffc0be}.price{font-size:23px;line-height:1.5;color:#d7e5fa;margin:9px 0}.change{color:#b9ccea;font-size:12px;line-height:1.7;margin-top:10px}footer{padding:36px 0 6px;color:#7d8797;font-size:12px}dialog{border:1px solid #495160;border-radius:13px;background:#252930;color:#e9ecf2;padding:28px;max-width:680px;width:calc(100% - 36px);max-height:90vh;box-shadow:0 30px 100px #0008}dialog::backdrop{background:#05080b99;backdrop-filter:blur(3px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:20px}.dialog-heading .subtle{padding:6px 11px}dialog form>button.primary{margin-top:10px}#promotionJson{font-family:Consolas,monospace;font-size:12px}#detailBody{font-size:14px;line-height:1.8;overflow-wrap:anywhere}.audit-list{padding-left:18px;margin-top:20px}.audit-list li{padding:5px 0;color:#b6bfcd}.weekdays{display:flex;flex-wrap:wrap;gap:15px}.check-label{display:flex;flex-direction:row;align-items:center;gap:8px}.check-label input{width:auto}.weekdays label{display:flex;flex-direction:row;align-items:center;gap:6px}.weekdays input{width:auto}fieldset{border:1px solid #444c58;border-radius:7px;font-size:13px;padding:6px 15px}legend{padding:0 8px;color:#b9c2d1}@media(max-width:1100px){main{padding:28px 24px}.grid-two{grid-template-columns:1fr}.task-card,.promotion-card{flex-direction:column}.card-actions{justify-content:flex-start}}@media(max-width:700px){.sidebar{width:75px;padding:22px 8px}.brand{padding:0 9px 20px}.brand>div,.sidebar-bottom span,.sidebar-bottom small{display:none}.nav{font-size:12px;padding:12px 7px}.sidebar-bottom{padding:0}.sidebar-bottom button{padding:8px 4px;font-size:11px}main{margin-left:75px;width:calc(100% - 75px);padding:22px 15px}.stats{gap:8px}.stats article{padding:13px}.stats strong{font-size:28px}.stats span{font-size:11px}.toolbar{align-items:stretch;flex-direction:column}.toolbar input[type=search]{width:100%}header{gap:12px;align-items:flex-start}.sync{flex-direction:column;align-items:flex-end;font-size:10px}h1{font-size:23px}.panel{padding:16px}}

.subheading{margin:28px 0 16px}.shift-times{display:flex;gap:30px;flex-wrap:wrap;margin:18px 0;color:#aebbd0;font-size:13px}.shift-times strong{font-size:18px;color:#e2eaf7;margin-left:10px}.goal-card{padding:24px;background:var(--panel);border:1px solid var(--border);border-radius:10px}.goal-progress{display:flex;align-items:baseline;gap:18px;margin:20px 0;flex-wrap:wrap}.goal-progress>span{color:var(--muted);font-size:13px}.goal-progress>strong{font-size:30px;font-weight:600}.tier-list{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:16px}.tier{min-width:190px;flex:1;background:#1c2026;border:1px solid #39424e;padding:15px;border-radius:8px;display:flex;gap:9px;flex-direction:column;font-size:13px}.tier>strong{color:#b7d2fa}.tier>p{margin:4px 0 0;color:var(--muted);line-height:1.7}.goal-actions{display:flex;gap:10px;align-items:center;margin-top:20px}#workbenchJson{font-family:Consolas,monospace;font-size:12px}
.availability-panel{margin:16px 0;padding:14px;border:1px solid var(--border,#dce2e9);border-radius:10px;background:var(--surface,#f7f9fc)}
.availability-panel h3{margin:0 0 8px;font-size:15px}
.availability-person{display:grid;grid-template-columns:1fr auto;gap:6px 10px;padding:9px 0;border-bottom:1px solid var(--border,#dce2e9)}
.availability-person:last-child{border-bottom:0}
.availability-person small{grid-column:1/-1;color:var(--muted,#667085);line-height:1.65}
.assignment-warning{color:#8c530d;font-size:13px;line-height:1.6;margin-bottom:0}
.search-form label{display:block;font-weight:600;margin-bottom:8px}
.search-form input{flex:1;min-width:160px}
.search-candidates{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.search-explanation p{margin:6px 0}
.search-group{margin-top:24px}
