:root{--bg:#f5f6f3;--panel:#fff;--ink:#25372f;--muted:#7c8982;--line:#e7ece6;--green:#4d7f65;--pale:#eaf2ec;--amber:#ad7a34;--red:#b56454;--shadow:0 4px 22px #25372f04;font-family:'Segoe UI','Microsoft YaHei',sans-serif;font-size:14px;color:var(--ink);background:var(--bg)}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button,input,select,textarea{outline-color:#91b29a}button:disabled{cursor:not-allowed;opacity:.5}button{transition:background .15s,transform .15s}button:active{transform:translateY(1px)}a{color:var(--green)}svg{flex-shrink:0}.icon{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.shell{min-height:100vh;display:grid;grid-template-columns:224px minmax(0,1fr)}
.sidebar{background:#fdfdfa;border-right:1px solid var(--line);padding:32px 19px 20px;position:fixed;inset:0 auto 0 0;width:224px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:10px;padding:0 13px 29px}.brand-mark{width:78px;flex-shrink:0;line-height:0}.brand-logo{display:block;width:100%;height:auto}.brand-line{height:25px;border-left:1px solid #d7e0d8;margin-left:5px}.brand-name{font-size:12px;line-height:1.7;color:#7a8b80}.workspace{margin:0 9px 27px;background:#f0f3ed;border:1px solid #e6ebe0;border-radius:9px;padding:12px;display:flex;align-items:center;gap:11px;font-size:12px}.workspace .icon{color:var(--green)}.workspace strong{display:block;font-size:13px;margin-bottom:4px}.workspace small{color:var(--muted)}.nav-label{font-size:10px;color:#a2aca5;letter-spacing:2px;padding:0 15px;margin:0 0 9px}.nav-item{width:100%;border:0;background:transparent;display:flex;align-items:center;gap:13px;color:#78867c;text-align:left;padding:13px 15px;margin:3px 0;border-radius:8px;font-size:13px}.nav-item:hover{background:#f1f5ef}.nav-item.active{background:#e8f0e8;color:#37684c;font-weight:600}.nav-item.active:after{content:'';height:6px;width:6px;border-radius:50%;background:#6e9b7b;margin-left:auto}.sidebar-bottom{margin-top:auto}.data-switch{padding:12px 10px;border-top:1px solid var(--line);margin-top:30px}.data-switch label{display:block;font-size:11px;color:var(--muted);margin-bottom:8px}.data-switch select{width:100%;padding:8px;font-size:12px;background:white;border:1px solid var(--line);border-radius:6px;color:var(--ink)}.profile{display:flex;gap:10px;align-items:center;padding:17px 10px 0}.avatar{width:32px;height:32px;background:#e7ece1;display:grid;place-items:center;border-radius:50%;font-size:11px;color:#6d826c}.profile strong{font-size:12px}.profile small{display:block;font-size:10px;color:var(--muted);margin-top:3px}
.main{grid-column:2;min-width:0}.topbar{height:75px;display:flex;align-items:center;justify-content:space-between;padding:0 38px;background:#fdfefb;border-bottom:1px solid var(--line)}.breadcrumb{font-size:12px;color:#8d998f}.breadcrumb span{color:var(--ink);margin-left:10px}.top-tools{display:flex;gap:16px;align-items:center;font-size:11px;color:var(--muted)}.status-dot{display:inline-block;width:6px;height:6px;background:#8caa8c;border-radius:50%;margin-right:7px}.badge{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;padding:4px 8px;border-radius:5px;font-size:10px;background:#f3f5f0;color:#71816f}.badge.demo{background:#fbf2df;color:#a07b39}.badge.green{background:var(--pale);color:var(--green)}.badge.red{background:#fbede8;color:var(--red)}.content{padding:31px 38px 45px;max-width:1660px;margin:auto}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:23px}.eyebrow{color:#8f9e92;font-size:10px;letter-spacing:2px;margin-bottom:9px}h1{margin:0;font-size:26px;letter-spacing:-.6px;font-weight:600}h2{margin:0;font-size:15px;font-weight:600}h3{margin:0;font-size:13px}.subtitle{color:#89958b;font-size:12px;margin:9px 0 0;line-height:1.8}.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.btn{display:inline-flex;justify-content:center;align-items:center;gap:7px;padding:9px 14px;border:1px solid #dfe7dd;background:white;border-radius:7px;color:#617563;font-size:12px;line-height:20px;text-decoration:none}.btn .icon{width:15px;height:15px}.btn:hover{background:#f6f9f4}.btn.primary{background:var(--green);border-color:var(--green);color:white}.btn.primary:hover{background:#426f56}.btn.flat{border:0;background:transparent;padding:5px}.input,select.input{border:1px solid #dfe6dd;border-radius:6px;padding:9px 11px;color:#596f5d;background:white;font-size:12px;min-height:38px}.toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:22px}.toolbar .spacer{flex:1}.segmented{display:flex;border:1px solid #e0e7dc;border-radius:7px;background:#eef2eb;padding:3px}.segmented button{border:0;background:transparent;font-size:11px;color:#81917f;border-radius:4px;padding:7px 12px}.segmented button.active{background:white;color:#42674f;box-shadow:0 1px 4px #273a2c0b}.small{font-size:11px;color:var(--muted);line-height:1.8}.notice{border:1px solid #e4e9d9;background:#f3f6ed;border-radius:8px;padding:11px 14px;display:flex;gap:10px;align-items:center;font-size:11px;color:#6d7f5a;line-height:1.8;margin:0 0 21px}.notice.amber{background:#fffaf0;border-color:#f0e9d6;color:#9e824c}.notice .icon{width:16px;height:16px}.notice a,.notice button{margin-left:auto;color:inherit;white-space:nowrap}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:24px}.metric{background:white;border:1px solid var(--line);border-radius:11px;padding:19px 20px 17px;box-shadow:var(--shadow)}.metric-top{display:flex;align-items:center;justify-content:space-between;color:#829081;font-size:11px}.metric-icon{height:29px;width:29px;display:grid;place-items:center;background:#f0f5ee;border-radius:7px;color:#739270}.metric-icon .icon{width:15px;height:15px}.metric-number{font-size:29px;letter-spacing:-1px;font-weight:600;margin:13px 0 10px;font-variant-numeric:tabular-nums}.metric-number small{font-size:11px;font-weight:400;letter-spacing:0;color:#99a395;margin-left:5px}.metric-footer{font-size:10px;color:#909c8e;display:flex;align-items:center;gap:6px}.metric-footer .icon{width:12px;height:12px}.metric.warn .metric-number{color:var(--amber)}.grid-main{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:20px;margin-bottom:24px}.panel{background:white;border:1px solid var(--line);border-radius:11px;box-shadow:var(--shadow);overflow:hidden}.panel-head{display:flex;justify-content:space-between;align-items:center;padding:21px 23px 10px;gap:15px}.panel-head p{margin:6px 0 0;color:#99a294;font-size:10px}.legend{display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:#879382;font-size:10px}.legend i{display:inline-block;width:7px;height:7px;border-radius:2px;margin-right:5px}.chart-wrap{padding:8px 20px 9px}.chart-wrap svg{display:block;width:100%;height:auto;max-height:275px}.chart-empty{padding:80px 20px;text-align:center;color:var(--muted)}.panel-foot{border-top:1px solid #f0f2eb;padding:12px 23px;display:flex;align-items:center;gap:8px;color:#96a18f;font-size:10px}.quality{padding:23px}.quality h2{margin-bottom:21px}.quality-big{font-size:34px;letter-spacing:-1px;margin-bottom:2px;font-weight:600}.quality-bar{height:5px;background:#edf1e9;border-radius:4px;overflow:hidden;margin:17px 0 21px}.quality-bar span{display:block;height:100%;background:#7da087}.quality-row{display:flex;justify-content:space-between;margin:14px 0;font-size:11px;color:#889582}.quality-row strong{font-weight:500;color:#596d55}.quality-link{margin-top:23px;width:100%}.section-heading{display:flex;justify-content:space-between;align-items:center;margin:26px 0 15px;gap:10px}.section-heading small{color:#98a18f;font-size:10px}.stage-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px}.stage-card{background:white;border:1px solid var(--line);border-radius:9px;padding:17px 15px}.stage-head{display:flex;align-items:center;gap:8px;font-size:12px}.stage-dot{width:7px;height:7px;border-radius:50%}.stage-number{font-size:23px;font-weight:600;margin:17px 0 4px;letter-spacing:-.5px}.stage-number small{font-size:10px;color:#9aa393;font-weight:400;margin-left:3px}.stage-volume{font-size:10px;color:#9ba393;min-height:28px;line-height:1.6}.stage-detail{display:flex;justify-content:space-between;font-size:10px;color:#87967e;padding-top:14px;border-top:1px solid #f1f3ed;margin-top:9px}.load-track{height:4px;border-radius:5px;background:#eef2e9;margin:11px 0}.load-track span{display:block;height:100%;border-radius:5px}.stage-bottom{display:flex;justify-content:space-between;font-size:10px;color:#99a291;gap:5px}.footnote{color:#9aa290;font-size:10px;line-height:1.9;margin-top:17px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;white-space:nowrap;text-align:left;font-size:12px}th{font-weight:400;background:#f8faf5;color:#92a08b;padding:12px 18px;border-bottom:1px solid var(--line);font-size:10px}td{padding:15px 18px;border-bottom:1px solid #f0f3eb;color:#5f725b;font-variant-numeric:tabular-nums}tbody tr:hover{background:#fbfcf8}tbody tr:last-child td{border-bottom:0}.numeric{text-align:right}.secondary{color:#9aa58f;font-size:10px;display:block;margin-top:4px}.table-summary{padding:13px 19px;font-size:11px;color:#8e9c85}.empty{padding:55px 25px;text-align:center;color:#8e9c85;font-size:12px;line-height:2}.empty .icon{display:block;margin:0 auto 12px;height:30px;width:30px;color:#b4c2a9}.rule-group{margin-bottom:20px}.rule-label{display:flex;align-items:center;gap:9px;padding:17px 22px;border-bottom:1px solid var(--line);font-size:13px}.rule-formula{background:#edf3e8;padding:17px 22px;border-radius:8px;color:#6f8263;font-size:12px;margin-bottom:22px}.rule-formula strong{color:#416746}.rule-versions{font-size:10px;color:#9ba68f}.schedule-table td{padding:10px;text-align:center;vertical-align:top;min-width:115px}.schedule-table td:first-child,.schedule-table th:first-child{text-align:left;min-width:130px;position:sticky;left:0;background:white;z-index:2;padding:16px}.schedule-table th{padding:13px 12px;text-align:center}.schedule-cell{background:#f1f6ed;border:1px solid #e9efe1;border-radius:6px;padding:8px;min-height:57px;text-align:left;color:#617952;font-size:10px;line-height:1.7;cursor:pointer}.schedule-cell:hover{border-color:#9fbb90}.schedule-cell.off{background:transparent;border:1px dashed #e7ecdf;color:#b1bba3;text-align:center;display:grid;place-items:center}.schedule-cell strong{font-size:11px;display:block;font-weight:500}.schedule-cell small{font-size:10px;color:#9ba88c}.schedule-cell .actual{color:#63805b}.today-col{background:#f0f5eb!important}.day-total{color:#8a9a7b;font-size:10px;font-weight:400;margin-top:5px}.integration-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.integration-panel{padding:25px}.integration-logo{height:42px;width:42px;background:#eaf2e5;color:#64834f;border-radius:10px;display:grid;place-items:center;margin-bottom:18px;font-weight:700;font-size:19px}.integration-panel h2{font-size:17px}.integration-panel p{font-size:12px;color:#8e9d83;line-height:1.9}.step-list{padding:0;margin:20px 0;list-style:none}.step-list li{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid #edf1e7;color:#7b8c6b;font-size:12px}.step-list span{font-size:10px;border:1px solid #dfe7d6;min-width:22px;height:22px;display:grid;place-items:center;border-radius:50%;color:#91a17f}.code-box{padding:12px 15px;background:#f6f8f3;border-radius:6px;font:11px/1.9 Consolas,monospace;color:#6d7f60;overflow:auto;white-space:pre-wrap}.upload{border:1px dashed #bdcdb0;border-radius:9px;padding:25px 18px;text-align:center;margin:20px 0;background:#fafcf7}.upload .icon{width:25px;height:25px;color:#8ba578}.upload p{font-size:11px}.mapping-list{display:grid;grid-template-columns:140px 1fr;gap:0;margin-top:16px}.mapping-list div{padding:13px 0;font-size:11px;border-bottom:1px solid #edf1e6;color:#819571;line-height:1.8}.mapping-list .key{color:#4f7143}.pill-link{background:transparent;border:0;color:#53794b;font-size:11px;padding:2px;text-decoration:underline;text-underline-offset:3px}.loading{display:grid;place-items:center;min-height:100vh;color:var(--green)}
.modal-backdrop{position:fixed;inset:0;background:#182b2459;backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:100;padding:25px}.modal{background:#fff;border-radius:13px;width:610px;max-width:100%;max-height:92vh;overflow:auto;box-shadow:0 25px 90px #10261b33}.modal.wide{width:850px}.modal-head{padding:24px 27px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.modal-head h2{font-size:18px}.modal-body{padding:23px 27px}.modal-footer{padding:16px 27px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:10px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field label{font-size:11px;color:#809374;display:block;margin-bottom:7px}.field .input{width:100%}.field.full{grid-column:1/-1}.field small{font-size:10px;color:#a0ad94;display:block;line-height:1.8;margin-top:6px}.field textarea{min-height:75px;resize:vertical}.error-text{font-size:12px;color:#b35f50;background:#fdf2ee;padding:10px;border-radius:6px;margin-top:15px;white-space:pre-wrap}.allocation-row{display:grid;grid-template-columns:1.1fr 1fr 90px 90px 30px;gap:8px;margin-bottom:10px;align-items:center}.allocation-row .input{width:100%;min-width:0;font-size:11px;padding:8px}.allocation-labels{display:grid;grid-template-columns:1.1fr 1fr 90px 90px 30px;gap:8px;font-size:10px;color:#8e9f81;margin:16px 0 10px}.allocation-total{font-size:11px;color:#829673;padding:12px 0}.file-input{display:none}#toast{position:fixed;bottom:27px;left:calc(50% + 80px);transform:translateX(-50%);background:#314d3e;color:white;border-radius:8px;padding:12px 22px;box-shadow:0 8px 30px #20342626;z-index:200;opacity:0;pointer-events:none;transition:opacity .2s;font-size:12px;max-width:80vw;line-height:1.8}#toast.visible{opacity:1}.muted{color:#9aa78d}.red-text{color:var(--red)}.green-text{color:var(--green)}.audit-row{font-size:11px;color:#8d9b81;padding:12px 22px;border-bottom:1px solid #edf1e7;display:flex;justify-content:space-between;gap:20px}.mobile-toggle{display:none}
@media(min-width:1600px){.grid-main{grid-template-columns:minmax(0,1fr) 320px}.stage-card{padding:21px}.chart-wrap svg{max-height:310px}}
@media(max-width:1200px){.sidebar{width:195px;padding-left:12px;padding-right:12px}.shell{grid-template-columns:195px minmax(0,1fr)}.content{padding:27px 24px}.topbar{padding:0 24px}.grid-main{grid-template-columns:minmax(0,1fr) 245px}.metrics{gap:12px}.metric{padding:16px}.stage-grid{grid-template-columns:repeat(3,1fr)}.stage-card:last-child{grid-column:auto}.stage-volume{min-height:16px}.brand{padding-left:9px}.brand-name{font-size:10px}.panel-head{padding:18px 17px 8px}.legend{gap:8px}.integration-grid{grid-template-columns:1fr}}
@media(max-width:850px){.sidebar{width:72px;padding:24px 9px}.shell{grid-template-columns:72px minmax(0,1fr)}.brand{padding:0 3px 25px}.brand-mark{width:46px}.brand-line,.brand-name,.workspace,.nav-label,.nav-item span,.nav-item:after,.data-switch,.profile{display:none!important}.nav-item{padding:14px;justify-content:center}.sidebar-bottom:after{content:'PUUI';writing-mode:vertical-lr;margin:20px 17px;color:#a6b39b;font-size:11px;letter-spacing:4px}.content{padding:23px 20px}.topbar{height:62px;padding:0 20px}.top-tools span:first-child{display:none}.page-heading{align-items:flex-start}h1{font-size:22px}.page-heading>.actions{justify-content:flex-end}.grid-main{grid-template-columns:1fr}.quality{display:none}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.stage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stage-card:last-child{grid-column:1/-1}.legend{font-size:9px}.topbar .badge{font-size:9px}.metric-number{font-size:26px}.rule-formula{font-size:11px;line-height:1.9}.allocation-row,.allocation-labels{grid-template-columns:1fr 1fr 65px 65px 22px}.modal-body{padding:19px}.modal-head{padding:20px}.modal-footer{padding:15px 20px}.form-grid{gap:13px}.mapping-list{grid-template-columns:100px 1fr}}
@media(max-width:520px){.page-heading{display:block}.page-heading>.actions{justify-content:flex-start;margin-top:17px}.content{padding:20px 14px}.topbar{padding:0 14px}.metrics{gap:9px}.metric{padding:14px}.metric-top{font-size:10px}.metric-number{font-size:25px}.metric-footer{font-size:9px}.stage-grid{gap:9px}.toolbar{gap:7px}.toolbar .spacer{display:none}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.allocation-row,.allocation-labels{grid-template-columns:1fr 1fr 55px 55px 20px;gap:4px}.allocation-row .input{font-size:10px;padding:7px 3px}.modal-backdrop{padding:9px}.modal-body{padding:15px}.top-tools{gap:6px}.breadcrumb{font-size:10px}}

.workspace-toggle{border:0;cursor:pointer;font-family:inherit}.workspace-toggle:hover{filter:brightness(.96)}
.wr-panel{margin:22px 0;overflow:hidden}.wr-panel>details,.wr-panel>form,.wr-copy,.wr-panel>.toolbar{padding:18px 22px}.wr-panel summary{cursor:pointer;color:var(--green);padding:8px 0}.wr-panel .footnote{padding:0 22px}.wr-read{padding:4px 0 18px}.wr-read .input{margin:5px}.wr-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin:16px 0}.wr-form label{display:grid;gap:8px;font-size:12px}.wr-note{display:grid;gap:8px;margin:18px 0}.wr-two{display:grid;grid-template-columns:1fr 1fr;gap:20px}.wr-two .wr-panel{margin:0}.wr-bars{padding:18px 22px;max-height:430px;overflow:auto}.wr-bar-row{display:grid;grid-template-columns:45px 1fr 65px;align-items:center;gap:10px;font-size:11px;margin:9px 0}.wr-bar-row>div{background:#eff3ee;height:14px;border-radius:3px;overflow:hidden}.wr-bar-row i{display:block;height:100%;background:#79a18a}.wr-bar-row strong{text-align:right}.wr-copy{font-size:13px;line-height:1.9}.wr-panel table td{max-width:420px;overflow-wrap:anywhere}.wr-panel .table-wrap{max-height:520px;overflow:auto}#wr-reconciliation>p{margin-top:0}.sidebar{overflow-y:auto}@media(max-width:1100px){.wr-two{grid-template-columns:1fr}.wr-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.wr-form{grid-template-columns:1fr}}
.mcp-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.8fr);gap:22px;align-items:start}.mcp-form{display:grid;gap:20px;margin-top:25px}.mcp-result{margin-top:23px}.mcp-result .integration-panel{padding-top:4px}.mcp-tools{display:flex;flex-wrap:wrap;gap:9px;margin:15px 0}.mcp-tools .badge{white-space:normal;overflow-wrap:anywhere}.btn:disabled{opacity:.5;cursor:wait}.mcp-form [hidden]{display:none}@media(max-width:1050px){.mcp-layout{grid-template-columns:1fr}}

body.auth-mode{min-height:100vh;background:#f2f5f1}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:28px;background:linear-gradient(135deg,#eff4ef 0%,#f8f8f4 48%,#f5f1e8 100%)}.auth-card{width:min(100%,440px);background:#fff;border:1px solid #e3e9e1;border-radius:10px;padding:38px 40px;box-shadow:0 18px 55px #263b2c12}.auth-brand{display:flex;align-items:center;gap:13px;margin-bottom:34px;color:#617364;font-size:13px}.auth-brand img{display:block;width:86px;height:auto}.auth-brand span{border-left:1px solid #dce4db;padding-left:13px}.auth-eyebrow{font-size:11px;color:#78907d;margin-bottom:9px}.auth-card h1{font-size:24px;letter-spacing:0}.auth-subtitle{margin:10px 0 26px;color:#7c8980;font-size:13px;line-height:1.8}.auth-form{display:grid;gap:17px}.auth-form label{display:grid;gap:7px;color:#526258;font-size:12px}.auth-form .input{width:100%;min-height:44px;font-size:14px}.auth-submit{width:100%;min-height:44px;margin-top:5px}.auth-footnote{margin:21px 0 0;padding-top:16px;border-top:1px solid #edf0eb;color:#9aa49c;font-size:11px;line-height:1.7}.auth-form .error-text[hidden]{display:none}@media(max-width:520px){.auth-shell{padding:18px}.auth-card{padding:29px 23px}.auth-brand{margin-bottom:29px}}

.roster-section{margin-bottom:28px}.roster-table td{padding:11px 18px}.roster-table .roster-actions{display:flex;gap:14px;justify-content:flex-end}.roster-table .empty-row{text-align:center;color:var(--muted);padding:25px}.inactive-list{margin-top:12px}.inactive-list summary{cursor:pointer;color:#81917f;font-size:12px;padding:10px 2px}.schedule-wrap{max-height:calc(100vh - 275px)}.schedule-table{min-width:1080px}.schedule-table th:not(:first-child){min-width:138px}.schedule-table td{min-width:138px}.schedule-table td:first-child,.schedule-table th:first-child{min-width:160px}.schedule-cell{width:100%;min-height:62px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;text-align:left}.schedule-cell strong{font-weight:600}.schedule-cell small{max-width:100%;white-space:normal;text-align:left;line-height:1.5}.schedule-cell.status-unfilled{background:#f8f9f7;border:1px dashed #dfe6dd;color:#89958b}.schedule-cell.status-work{background:#eef5f0;border-color:#dce9df;color:#446f55}.schedule-cell.status-rest{background:#f5f4ef;border-color:#ebe8de;color:#82785f}.schedule-cell.status-left{background:#f9efec;border-color:#eedbd5;color:#a16558}.schedule-cell .schedule-note{color:#9a7950}.schedule-table .inactive-row{opacity:.65}.schedule-cell:disabled{cursor:default}.schedule-modal-person{font-weight:600;margin-bottom:18px}.schedule-modal-person span{font-weight:400;color:var(--muted);margin-left:10px;font-size:12px}.schedule-modal .allocation-row{grid-template-columns:minmax(150px,1.2fr) minmax(110px,1fr) minmax(110px,1fr) 30px}.schedule-modal .allocation-labels{grid-template-columns:minmax(150px,1.2fr) minmax(110px,1fr) minmax(110px,1fr) 30px}.schedule-modal .field input{width:100%}.schedule-modal #work-fields[hidden]{display:none}@media(max-width:850px){.schedule-wrap{max-height:calc(100vh - 230px)}.roster-table .roster-actions{gap:8px}}@media(max-width:520px){.schedule-modal .allocation-row,.schedule-modal .allocation-labels{grid-template-columns:minmax(100px,1.1fr) minmax(80px,1fr) minmax(80px,1fr) 25px;gap:5px}.schedule-modal .allocation-row .input{font-size:10px;padding:7px 5px}}


.roster-disclosure{margin:20px 0;border:1px solid #e0e7dc;border-radius:10px;background:white}.roster-disclosure>summary{display:flex;align-items:center;gap:18px;cursor:pointer;padding:17px 20px;list-style:none;color:#47674f;font-size:13px}.roster-disclosure>summary::-webkit-details-marker{display:none}.roster-disclosure>summary:before{content:'▸';font-size:13px}.roster-disclosure[open]>summary:before{content:'▾'}.roster-disclosure>summary strong{font-weight:600}.roster-disclosure>summary span{margin-left:auto;font-size:12px;color:#71816e}.roster-disclosure[open]>summary{border-bottom:1px solid #e7ece3}.roster-disclosure-body{padding:18px}.roster-disclosure-body>p{margin:0 0 15px;line-height:1.8}.roster-disclosure-body>.panel{margin-bottom:0}@media(max-width:600px){.roster-disclosure>summary{gap:9px;padding:15px 12px;flex-wrap:wrap}.roster-disclosure>summary span{font-size:11px}.roster-disclosure-body{padding:12px}}
