.loading,.empty-state{padding:48px 20px;text-align:center;color:var(--muted)}
.brand{border:0;background:transparent;color:inherit;text-align:left}
.error-state{padding:18px;border:1px solid #ecc9c5;background:#fff2f0;color:#9f4f47;border-radius:10px}
.toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:16px}
.toolbar-group{display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.table-actions{display:flex;gap:8px;flex-wrap:wrap}
.danger-link{color:var(--rose)!important}
.status.rejected,.status.failed{background:#fae9e7;color:#a6534c}
.status.approved,.status.shipped,.status.completed{background:#edf5f0;color:var(--green)}
.status.assigned,.status.pending,.status.pending_qc,.status.pending_approval,.status.pending_assignment,.status.pending_pack,.status.pending_recheck,.status.repairing,.status.material_issued,.status.in_progress{background:#fcf1df;color:#a9702c}
.modal.wide{width:min(760px,calc(100vw - 32px))}
.notification-list{display:grid;gap:12px}.notification-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:15px;border:1px solid var(--line);border-radius:10px;background:#fbfaf7}.notification-item b{display:block;font-size:14px}.notification-item small{display:block;color:var(--muted);line-height:1.55;margin-top:5px}.notification-item time{display:block;color:#9b9a91;font-size:10px;margin-top:7px}.notification-actions{display:flex;gap:8px;white-space:nowrap}.notification-help{margin:14px 0 0}.report-head-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.report-progress{background:#eef5f1;border-radius:10px;padding:12px 14px;margin-bottom:14px}.report-progress b{display:block;font-size:14px;color:var(--ink)}.report-progress small{display:block;color:var(--muted);font-size:12px;margin-top:5px;line-height:1.5}.adjust-up{color:#2f6a58;font-weight:600}.adjust-down{color:#b1584d;font-weight:600}.row-actions{white-space:nowrap;display:flex;gap:10px}.cal-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.cal-week{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:6px}.cal-week span{text-align:center;font-size:11px;color:var(--muted)}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.cal-cell{min-height:56px;border:1px solid var(--line);border-radius:8px;padding:5px 4px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;background:#fff}.cal-cell b{font-size:11px;color:var(--muted);font-weight:500}.cal-cell span{font-size:15px;font-weight:700;margin-top:2px}.cal-cell em{font-size:10px;font-style:normal;color:#9b9a91;margin-top:1px}.cal-cell.cal-has{background:#f4f8f6;border-color:#cfe0d8}.cal-empty{border:none;background:transparent}.output-adjust{display:block;color:var(--muted);font-size:11px;margin-top:3px}.notification-history-title{margin:22px 0 10px;font-size:13px;color:var(--muted);font-weight:600}.notification-history .notification-item{grid-template-columns:1fr;background:#f6f5f2;opacity:.85}.notification-history .notification-item b{font-weight:500}
.full{grid-column:1/-1}
.field-help{font-size:11px;color:var(--muted)}
.form-error{color:var(--rose);font-size:12px;margin:12px 0 0}
.image-field-preview{width:100%;height:130px;object-fit:cover;background:var(--cream);border-radius:8px;border:1px solid var(--line)}
.issue-lines{display:grid;gap:9px;margin-top:12px}
.issue-line{display:grid;grid-template-columns:1fr 130px;gap:9px}
.issue-entry-list{display:grid;gap:10px;margin:14px 0}.issue-entry{display:grid;grid-template-columns:minmax(0,1fr) minmax(170px,220px) 58px;gap:12px;align-items:end;padding:14px;border:1px solid var(--line);border-radius:9px;background:#faf9f6}.issue-entry .field{gap:7px}.issue-entry .field select,.issue-entry .field input{width:100%;height:42px}.issue-entry .issue-remove{display:grid;place-items:center;height:42px;margin:0;padding:0;align-self:end}
.order-entry-list{display:grid;gap:10px;margin:14px 0}.order-entry{display:grid;grid-template-columns:minmax(0,1fr) 120px 150px 58px;gap:12px;align-items:end;padding:14px;border:1px solid var(--line);border-radius:9px;background:#faf9f6}.order-entry .field{gap:7px}.order-entry .field select,.order-entry .field input{width:100%;height:42px}.order-entry .order-remove{display:grid;place-items:center;height:42px;margin:0;padding:0;align-self:end}
.notice-panel{display:grid;gap:12px}
.notice-item{padding:12px 14px;border-radius:8px;background:#f8f5ed;border-left:3px solid var(--gold)}
.notice-item b{display:block}.notice-item small{color:var(--muted)}
.role-options{display:grid;gap:9px}
.role-option{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);border-radius:9px;padding:12px;background:#fff;cursor:pointer}
.role-option:hover{border-color:var(--gold2);background:#fdfaf4}
.kpi-note{color:var(--muted);font-size:11px}
.data-table button:disabled{opacity:.45;cursor:not-allowed}
.stat-link{font:inherit;text-align:left;cursor:pointer;width:100%;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}
.stat-link:hover,.stat-link:focus-visible{transform:translateY(-2px);border-color:var(--gold2);box-shadow:var(--shadow);outline:none}
.stat-link small span{float:right;font-size:16px}
.notice-link{border-top:0;border-right:0;border-bottom:0;text-align:left;font:inherit;cursor:pointer;width:100%}
.notice-link:hover{background:#f2eadb}
.focus-ring{outline:2px solid var(--gold2);outline-offset:4px;border-radius:12px}
.management-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.management-toolbar b{display:block;font-family:"Noto Serif SC",serif;font-size:17px}.management-toolbar small,.management-table-head small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.period-switch{display:flex;gap:5px;padding:4px;border:1px solid var(--line);border-radius:9px;background:#fff}.period-switch button{border:0;background:transparent;color:var(--muted);padding:7px 12px;border-radius:6px;cursor:pointer;font:inherit}.period-switch button.active{background:var(--green);color:#fff;font-weight:600}.management-stats .stat{position:relative;min-height:142px}.management-stats .stat em{position:absolute;right:14px;top:14px;padding:3px 7px;border-radius:6px;background:#fae9e7;color:var(--rose);font-size:10px;font-style:normal}.management-table-card{padding:0;margin-bottom:20px;overflow:hidden}.management-table-head{padding:19px 21px 0}.management-table-head .search{margin-left:auto}.management-table-card .table-wrap{border:0;border-top:1px solid var(--line);border-radius:0}.management-table th,.management-table td{vertical-align:top}.employee-cell{display:flex;align-items:center;gap:10px;min-width:150px}.employee-cell>span{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:linear-gradient(135deg,var(--green),#6f9487);color:#fff;font-weight:700}.employee-cell b,.output-summary b{display:block}.employee-cell small,.output-summary small,.management-table td>small{display:block;color:var(--muted);font-size:10px;line-height:1.5;margin-top:3px}.material-summary{line-height:1.7;min-width:210px}.performance-value{color:var(--green);font-weight:700;white-space:nowrap}.muted-text{color:var(--muted)}.management-lower{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:20px}
.audit-card{margin-top:20px;padding-bottom:14px}.pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 2px 0}.pagination-info{color:var(--muted);font-size:11px}.pagination-buttons{display:flex;align-items:center;gap:5px}.pagination-buttons button{min-width:34px;border:1px solid var(--line);border-radius:7px;padding:7px 10px;background:#fff;color:var(--ink);cursor:pointer}.pagination-buttons button:hover:not(:disabled){border-color:var(--gold2);color:var(--gold)}.pagination-buttons button.active{background:var(--green);border-color:var(--green);color:#fff}.pagination-buttons button:disabled{opacity:.45;cursor:not-allowed}
.production-report-card{margin-top:20px}.card-head .date-range-button{display:grid;grid-template-columns:auto auto auto;align-items:center;gap:9px;padding:9px 12px;border:1px solid var(--line);border-radius:9px;background:#faf9f6;color:var(--ink);font:inherit;font-weight:400;cursor:pointer}.card-head .date-range-button:hover{border-color:var(--gold2);background:#fff}.date-range-button span{color:var(--muted);font-size:10px}.date-range-button b{font-size:12px;color:var(--gold);white-space:nowrap}.date-range-button i{font-style:normal;color:var(--muted)}
.user-role-card,.salary-card{padding-bottom:21px}.user-role-card .card-head small,.salary-card-head small{display:block;color:var(--muted);font-size:11px;margin-top:5px}.user-role-card .table-wrap,.salary-card .table-wrap{border-radius:10px}.salary-card{margin-top:20px}.salary-card-head{justify-content:space-between;gap:18px}.selected-salary-role{display:flex;align-items:center;gap:11px;padding:13px 15px;margin-bottom:18px;border-radius:10px;background:#f8f5ed;border-left:3px solid var(--gold)}.selected-salary-role>span{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:var(--green);color:#fff;font-weight:700}.selected-salary-role b,.selected-salary-role small{display:block}.selected-salary-role small{color:var(--muted);font-size:11px;margin-top:3px}
.inventory-dashboard{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(250px,.8fr);gap:18px;margin-bottom:22px}.inventory-trend-card{padding-bottom:12px}.inventory-trend-card .card-head{margin-bottom:2px}.inventory-trend-card .card-head small{display:block;color:var(--muted);font-size:11px;margin-top:5px}.inventory-chart-wrap{width:100%;overflow:hidden}.inventory-chart{display:block;width:100%;height:190px}.chart-grid{stroke:#e9e7df;stroke-width:1}.chart-area{fill:#2f6a5812}.chart-line{fill:none;stroke:var(--green);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.chart-point{fill:#fff;stroke:var(--green);stroke-width:3}.chart-value{fill:var(--green);font-size:10px;font-weight:700}.chart-label{fill:var(--muted);font-size:10px}.inventory-value-card{display:flex;flex-direction:column;justify-content:center;min-height:235px;background:linear-gradient(145deg,#2f6a58,#244f43);color:#fff}.inventory-value-card p{margin:0;color:#dcebe5;font-size:12px}.inventory-value-card strong{display:block;font-family:"Noto Serif SC",serif;font-size:34px;margin:14px 0 8px}.inventory-value-card small{color:#dcebe5}.inventory-value-note{margin-top:auto;padding-top:28px;color:#bdd4cb;font-size:10px;line-height:1.5}
.image-gallery{display:grid;gap:12px}.image-gallery .image-preview{max-height:65vh;object-fit:contain}
.edit-image-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;margin:10px 0 16px}.edit-image-list>div{display:grid;gap:6px;padding:8px;border:1px solid var(--line);border-radius:9px;background:#faf9f6}.edit-image-list img{width:100%;height:100px;object-fit:cover;border-radius:6px}.edit-image-list small{text-align:center;color:var(--muted)}
.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:12px}.permission-option{display:flex;align-items:flex-start;gap:9px;border:1px solid var(--line);border-radius:8px;padding:10px;background:#faf9f6;cursor:pointer}.permission-option input{margin-top:3px}.permission-option b,.permission-option small{display:block}.permission-option small{color:var(--muted);font-size:10px;margin-top:2px}
.butler-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.positive-money{color:var(--green);font-weight:700}.negative-money{color:var(--rose);font-weight:700}.finance-grid{grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);margin-bottom:20px}.profit-formula{display:flex;align-items:center;min-height:120px;padding:20px;border-radius:10px;background:linear-gradient(145deg,#2f6a58,#244f43);color:#fff;font-family:"Noto Serif SC",serif;font-size:17px;line-height:1.8}.bom-head{display:grid;grid-template-columns:minmax(0,1fr) 120px 100px;gap:10px;padding:0 10px 8px;color:var(--muted);font-size:10px}.bom-list{display:grid;gap:8px;max-height:50vh;overflow:auto;padding-right:3px}.bom-select-row{display:grid;grid-template-columns:24px minmax(0,1fr) 120px 100px;gap:10px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:9px;background:#faf9f6}.bom-select-row span b,.bom-select-row span small{display:block}.bom-select-row span small{margin-top:3px;color:var(--muted);font-size:10px}.bom-select-row>input[type="number"]{width:100%;min-width:0}.section-head>div>small{display:block;color:var(--muted);font-size:11px;margin-top:5px}
.order-flow-list{display:grid;gap:14px}.order-flow-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 8px 24px rgba(47,67,57,.05)}.order-flow-head,.order-flow-main,.order-flow-actions,.shortage-row{display:flex;align-items:center;justify-content:space-between;gap:14px}.order-flow-head small,.order-flow-main small,.shortage-row small{display:block;color:var(--muted);margin-top:4px}.order-flow-main{padding:15px 0}.order-flow-main h3{margin:0 0 5px}.order-flow-main p{margin:8px 0 0;color:var(--muted)}.order-flow-metrics{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.order-flow-metrics>span{background:var(--cream);padding:7px 10px;border-radius:10px;font-size:12px}.flow-steps{display:flex;align-items:center;gap:7px;overflow:auto;padding:10px 0 15px}.flow-step{white-space:nowrap;padding:6px 10px;border-radius:999px;background:#f2f3f0;color:var(--muted);font-size:11px}.flow-step.done{background:#dfece2;color:#2f5c3f}.flow-step.active{background:var(--green);color:#fff}.order-flow-actions{justify-content:flex-end;border-top:1px solid var(--line);padding-top:13px;min-height:38px}.workflow-hint{color:var(--muted);font-size:11px}.cancelled-hint{color:var(--rose);font-weight:600}.completed-hint{color:var(--green);font-weight:600}.danger-text{color:var(--rose)}.shortage-card{margin-bottom:20px}.shortage-row{padding:14px 0;border-top:1px solid var(--line)}
.assignment-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.assignment-title .status{flex:0 0 auto}.assignment-cancelled{background:#f7f5f2;border-left-color:#aaa59d}.assignment-cancelled .assignment-title strong{color:#77736d}.assignment .cancel-reason{margin:0 0 12px;padding:9px 11px;border-radius:7px;background:#fff;border:1px dashed #d8ccc5;color:#8b5d56;line-height:1.55}
.assignment .task-due{display:block;margin:2px 0 0;color:var(--muted);font-size:11px}.assignment .task-due-overdue{color:var(--rose);font-weight:700}
.spec-triplet{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.spec-triplet input{width:100%;min-width:0}@media(max-width:620px){.spec-triplet{grid-template-columns:1fr}}
.mode-switch{display:flex;gap:8px;margin:-4px 0 18px}.mode-switch button{flex:1;padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:#faf9f6;color:var(--muted);font:inherit;font-size:13px;cursor:pointer;transition:all .15s ease}.mode-switch button:hover{border-color:#d6c7a8;background:#fff}.mode-switch button.active{border-color:var(--gold);background:#fdf8ef;color:var(--ink);font-weight:700;box-shadow:0 0 0 2px #b6823714}.form-grid [data-mode][hidden]{display:none}
.task-progress{margin:10px 0 12px}.task-progress .progress{margin-top:0}.task-progress small{display:block;margin:6px 0 0;color:var(--muted);font-size:11px}.status.issued{background:#fcf1df;color:#a9702c}.status.closed{background:#eeedea;color:#6f6d66}.status.cancelled{background:#eeedea;color:#6f6d66}.status.returned{background:#eeedea;color:#6f6d66}.assignment.issue-closed,.assignment.issue-returned{border-left-color:#cfccc4;background:#f7f6f3}.assignment.issue-closed strong,.assignment.issue-returned strong{color:#6f6d66}.assignment .assignment-title{margin-bottom:2px}
.adjust-table small{display:block;margin-top:3px;color:var(--muted);font-size:11px;font-weight:400}.adjust-table td{vertical-align:top}
.decision-hero{display:flex;align-items:flex-start;gap:14px;padding:16px;margin:-4px 0 20px;border:1px solid #ead7d2;border-radius:12px;background:linear-gradient(135deg,#fff8f6,#fbf2ef)}.decision-icon{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:11px;background:var(--rose);color:#fff;font-size:22px;font-weight:700;box-shadow:0 8px 18px #a85d5430}.decision-hero b{display:block;font-size:14px;line-height:1.5}.decision-hero small{display:block;color:#806e68;font-size:11px;line-height:1.65;margin-top:4px}.reason-fieldset{border:0;padding:0;margin:0 0 18px}.reason-fieldset legend{padding:0;margin-bottom:10px;color:var(--muted);font-size:12px}.reason-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.reason-choice{cursor:pointer}.reason-choice input{position:absolute;opacity:0;pointer-events:none}.reason-choice span{display:block;min-height:62px;padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:#faf9f6;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.reason-choice b,.reason-choice small{display:block}.reason-choice b{font-size:12px}.reason-choice small{margin-top:4px;color:var(--muted);font-size:10px}.reason-choice:hover span{border-color:#d6b8af;background:#fff}.reason-choice input:focus-visible+span{outline:2px solid var(--gold2);outline-offset:2px}.reason-choice input:checked+span{border-color:var(--rose);background:#fff8f6;box-shadow:0 0 0 2px #a85d5414}.decision-detail{position:relative}.decision-detail label em{color:var(--rose);font-style:normal;margin-left:4px}.decision-detail textarea{min-height:94px;resize:vertical;padding-bottom:28px}.reason-counter{position:absolute;right:10px;bottom:9px;color:var(--muted);font-size:10px}.decision-confirm{display:flex;align-items:flex-start;gap:9px;margin-top:13px;padding:12px 13px;border-radius:9px;background:#f7f6f2;color:#5e5e57;font-size:11px;line-height:1.55;cursor:pointer}.decision-confirm input{margin-top:2px;accent-color:var(--rose)}.danger-button{border:0;border-radius:8px;padding:11px 17px;background:var(--rose);color:#fff;font-weight:700;cursor:pointer;box-shadow:0 7px 15px #a85d5425}.danger-button:hover{background:#944d45}.danger-button:focus-visible{outline:2px solid #c9877f;outline-offset:2px}
.settlement-panel{margin:0 0 18px;padding:15px;border:1px solid #ead7d2;border-radius:12px;background:#fffaf8}.settlement-panel h3{margin:0 0 4px}.settlement-row{display:grid;grid-template-columns:minmax(0,1fr) 120px 120px;gap:10px;align-items:end;padding:11px 0;border-top:1px solid #eee2dd}.settlement-row:first-of-type{margin-top:10px}.settlement-row span b,.settlement-row span small{display:block}.settlement-row span small{color:var(--muted);margin-top:3px}.settlement-row label{font-size:10px;color:var(--muted)}.settlement-row input{width:100%;margin-top:4px}.muted-row{opacity:.62;background:#f7f5f2}
@media(max-width:760px){.order-entry{grid-template-columns:1fr 1fr}.order-entry .field:first-child{grid-column:1/-1}.order-entry .order-remove{justify-self:end}.settlement-row{grid-template-columns:1fr 1fr}.settlement-row>span{grid-column:1/-1}}
@media(max-width:900px){.management-lower{grid-template-columns:1fr}.management-table-head{align-items:flex-start;gap:12px;flex-direction:column}.management-table-head .search{width:100%;margin:0}}
@media(max-width:900px){.butler-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-grid{grid-template-columns:1fr}}
@media(max-width:800px){.inventory-dashboard{grid-template-columns:1fr}.inventory-value-card{min-height:180px}.inventory-value-note{margin-top:20px;padding-top:0}}
@media(max-width:620px){.toolbar{align-items:stretch}.toolbar-group{width:100%}.search{width:100%}.issue-line,.issue-entry,.order-entry{grid-template-columns:1fr}.issue-entry .issue-remove,.order-entry .order-remove{justify-self:end;margin-bottom:0}.order-entry .field:first-child{grid-column:auto}.production-report-card .card-head{align-items:flex-start;flex-direction:column}.card-head .date-range-button{width:100%;grid-template-columns:auto 1fr auto}.date-range-button b{text-align:right}.salary-card-head{align-items:center;flex-direction:row}.salary-card-head .primary{white-space:nowrap}}
@media(max-width:620px){.butler-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:16px}.butler-stats .stat{min-width:0;padding:10px 6px;text-align:center;border-radius:9px}.butler-stats .stat p{font-size:9px;white-space:nowrap}.butler-stats .stat strong{font-size:16px;margin:7px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bom-head{display:none}.bom-select-row{grid-template-columns:24px minmax(0,1fr);}.bom-select-row>input[type="number"]{grid-column:2}}

/* 页面标题统一使用顶部 header；内容区首个 section-head 只保留操作按钮。带 style 的库存流水等内部小节标题不受影响。 */
#app>.section-head:not([style])>div:first-child{display:none}
#app>.section-head:not([style]){justify-content:flex-end}
#app>.section-head:not([style]):has(>div:only-child){display:none}
@media(max-width:620px){.order-flow-list{gap:9px}.order-flow-card{padding:13px;border-radius:12px}.order-flow-head,.order-flow-main,.shortage-row{align-items:flex-start;flex-direction:column}.order-flow-main{padding:10px 0}.order-flow-main h3{font-size:15px}.order-flow-main p{font-size:11px;margin-top:5px}.order-flow-metrics{justify-content:flex-start;gap:6px}.order-flow-metrics>span{padding:5px 7px;font-size:10px}.flow-steps{gap:5px;padding:7px 0 10px}.flow-step{padding:5px 8px;font-size:10px}.order-flow-actions{justify-content:stretch;flex-wrap:wrap;padding-top:10px}.order-flow-actions button,.shortage-row button{width:100%}.reason-choice-grid{grid-template-columns:1fr}.reason-choice span{min-height:0}.decision-hero{padding:13px}.decision-icon{width:34px;height:34px;flex-basis:34px}.modal-foot .danger-button{flex:1}.assignment-title{align-items:flex-start}.assignment .table-actions button{width:100%}}
@media(max-width:520px){
  body{min-width:320px}
  .sidebar{position:sticky;top:0;z-index:8;width:100%;height:74px;padding:10px 14px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #0002}
  .brand{display:flex;align-items:center;gap:11px;width:auto;margin:0 auto;padding:0;border:0;background:transparent;cursor:pointer}.brand .butterfly{width:40px;height:40px;border-radius:14px}.brand-copy{display:block;text-align:left}.brand-copy b{display:block;font-size:20px;line-height:1.15}.brand-copy small{display:block;font-size:9px;letter-spacing:1.4px;margin-top:4px}.sidebar-footer{display:none}
  .sidebar nav{display:none;position:absolute;left:12px;top:68px;width:min(250px,calc(100vw - 24px));padding:8px;gap:4px;border:1px solid #41463d;border-radius:10px;background:#20231e;box-shadow:0 15px 35px #0007}
  .sidebar.mobile-nav-open nav{display:grid}.sidebar nav button{display:flex;align-items:center;width:100%;padding:11px 12px;font-size:14px;text-align:left}.sidebar nav button[hidden]{display:none!important}.sidebar nav button i{width:27px;font-size:17px;text-align:center}.sidebar nav button.active:after{content:'✓';margin-left:auto;color:var(--gold2)}
  main{margin-left:0;width:100%;min-width:0;padding:18px 14px 30px}
  header{flex-direction:column;margin-bottom:20px}.header-actions{width:100%;justify-content:flex-end}.header-actions .role-switch{display:inline-flex;margin-right:auto;max-width:150px;white-space:nowrap;overflow:hidden}
  h1{font-size:23px}.stats{grid-template-columns:1fr;gap:10px}.worker-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:16px}.worker-stats .stat{min-width:0;padding:11px 8px;border-radius:9px}.worker-stats .stat p{font-size:9px;white-space:nowrap}.worker-stats .stat strong{font-size:20px;margin:7px 0 4px}.worker-stats .stat strong small{font-size:9px}.worker-stats .stat>small{display:block;font-size:8px;line-height:1.35;white-space:normal}.grid{grid-template-columns:1fr}.card{padding:16px}
  .section-head{align-items:flex-start;gap:12px}.section-head .primary{white-space:nowrap}
  .tabs{overflow-x:auto;gap:15px;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs button{white-space:nowrap;flex:0 0 auto}.tabs button{white-space:nowrap}
  .form-grid{grid-template-columns:1fr}.full{grid-column:1}.modal{padding:20px 15px;width:calc(100vw - 16px)}.modal input,.modal select,.modal textarea{font-size:16px}.notification-item{grid-template-columns:1fr}.notification-actions{justify-content:flex-end}
  .issue-line{grid-template-columns:1fr}.order-line>span:last-child{display:grid;grid-template-columns:1fr 1fr;gap:7px}
  .permission-grid{grid-template-columns:1fr}
  #report-form .report-input-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}#report-form .report-task-field{grid-column:span 3}#report-form .report-number-field{grid-column:span 1}#report-form .field{min-width:0}#report-form .field input{width:100%;min-width:0;padding:8px}#report-form .field label{font-size:10px;white-space:nowrap}#report-form .field-help{line-height:1.4;margin:10px 0 0}
  #issue-form>.field-help{line-height:1.4;margin:0 0 8px}.issue-entry-list{gap:7px;margin:7px 0 9px}.issue-entry{grid-template-columns:minmax(0,1fr) 92px 40px;gap:6px;padding:8px;align-items:end}.issue-entry .field:first-child,.issue-entry .field:nth-child(2),.issue-entry .issue-remove{grid-column:auto}.issue-entry .issue-remove{min-width:40px;height:38px;font-size:11px}.issue-entry .field{min-width:0;gap:3px}.issue-entry .field select,.issue-entry .field input{width:100%;min-width:0;height:38px;padding:6px 7px}.issue-entry .field select{white-space:nowrap;text-overflow:ellipsis}.issue-entry .field label{font-size:9px;white-space:nowrap}#issue-form .modal-foot{margin-top:12px}
  .management-toolbar{align-items:flex-start;flex-direction:column}.period-switch{width:100%}.period-switch button{flex:1}.management-stats .stat{min-height:0}
  .pagination{align-items:stretch;flex-direction:column}.pagination-buttons{justify-content:space-between;overflow-x:auto}.pagination-buttons button{flex:0 0 auto}
  .toast{left:14px;right:14px;bottom:14px}.task{grid-template-columns:38px minmax(0,1fr)}.task .tag{grid-column:2}
}
@media(max-width:520px){.stats.butler-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.butler-stats .stat{padding:10px 5px}.butler-stats .stat p{font-size:8px}.butler-stats .stat strong{font-size:15px}}
