:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#2b211c;background:#f4f1ed;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;background:#f4f1ed}button,input,select,textarea{font:inherit}button{border:0;border-radius:10px;background:#4d3023;color:#fff;padding:10px 15px;font-weight:700;cursor:pointer}button:hover{filter:brightness(.96)}button.secondary{background:#eee7e0;color:#493428}button.danger{background:#8c302b}button.link{padding:5px 8px;background:transparent;color:#6c3f28}.app-shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.sidebar{position:sticky;top:0;height:100vh;background:#2f211a;color:#fff;padding:24px 18px;display:flex;flex-direction:column;gap:18px}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:48px;height:48px;border:1px solid #aa8972;border-radius:14px;display:grid;place-items:center;font-weight:800;letter-spacing:2px}.brand strong{font-size:20px;display:block}.brand span{font-size:12px;color:#baa89d}.sidebar select{width:100%;background:#443026;color:#fff;border:1px solid #60483b;border-radius:10px;padding:10px}.sidebar nav{display:flex;flex-direction:column;gap:5px}.sidebar nav button{text-align:left;background:transparent;color:#d9cec6;font-weight:600}.sidebar nav button.active{background:#5a3b2c;color:#fff}.side-status{margin-top:auto;border-top:1px solid #594338;padding-top:16px;display:flex;align-items:center;gap:10px}.side-status strong,.side-status small{display:block}.side-status small{color:#a99488;margin-top:2px}.status-dot{width:10px;height:10px;border-radius:50%;background:#bb6e42}.status-dot.on{background:#61a578}main{padding:28px 36px 60px;min-width:0}.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:26px}.topbar h1{margin:4px 0 3px;font-size:30px}.topbar p{margin:0;color:#75675e}.top-actions{display:flex;gap:10px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:11px!important;font-weight:800;color:#967058!important}.metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:18px}.metrics article,.card{background:#fff;border:1px solid #e4ddd6;border-radius:16px;box-shadow:0 2px 8px #2c1f1809}.metrics article{padding:18px}.metrics span{font-size:12px;color:#817269}.metrics strong{display:block;font-size:29px;margin-top:5px}.metrics .small-metric{font-size:18px;margin-top:10px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.card{padding:22px}.card h2{margin:4px 0 14px;font-size:21px}.card p{color:#675d57;line-height:1.55}.card-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:14px}.card-head h2{margin-bottom:0}.readiness{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #eee8e3;padding:10px 0}.badge{font-size:11px;font-weight:800;padding:5px 8px;border-radius:999px}.badge.ok{color:#296b45;background:#e8f3ec}.badge.warn{color:#8c5a24;background:#f8eddf}.notice{margin-top:16px;padding:13px 14px;border-radius:10px;background:#f6f1ec;color:#765a49;font-size:13px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid label{font-size:12px;font-weight:700;color:#6b5d55;display:flex;flex-direction:column;gap:6px}.form-grid input,.form-grid select,.form-grid textarea,.table-toolbar input{width:100%;border:1px solid #dcd3cc;border-radius:9px;background:#fff;padding:10px 11px;color:#2f2621}.form-grid input:disabled{background:#f1eeeb;color:#8a7e77}.span-2{grid-column:1/-1}.table-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:10px 0 14px}.table-toolbar input{max-width:480px}.table-toolbar span{color:#8a7d75;font-size:12px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;color:#807169;font-size:11px;text-transform:uppercase;letter-spacing:.06em;padding:10px;border-bottom:1px solid #e6dfd9}td{padding:11px 10px;border-bottom:1px solid #eee8e3;vertical-align:top}td strong,td small{display:block}td small{margin-top:3px;color:#958980}td em{color:#a1958d}.chips{display:flex;flex-wrap:wrap;gap:5px}.chip{background:#eee8e2;color:#694838;border-radius:999px;padding:4px 7px;font-size:10px}.chip.primary{background:#593929;color:#fff}.week-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin:18px 0}.day{background:#f8f5f2;padding:12px 9px;border-radius:10px;text-align:center}.day span{font-size:11px;color:#7c6f67}.day strong{font-size:20px;display:block;margin:3px 0 9px}.bar{height:5px;background:#e5ddd7;border-radius:999px;overflow:hidden}.bar i{display:block;height:100%;background:#6b4632}.muted{color:#92867f}.audit-list{display:flex;flex-direction:column}.audit-item{display:grid;grid-template-columns:180px 1fr 210px;gap:15px;padding:12px 0;border-bottom:1px solid #eee8e3;font-size:12px}.audit-item span,.audit-item small{color:#7d7069}.toast{position:fixed;right:24px;top:20px;background:#2f211a;color:#fff;padding:12px 16px;border-radius:10px;box-shadow:0 10px 30px #00000026;z-index:20}.modal-backdrop{position:fixed;inset:0;background:#261b1573;display:grid;place-items:center;padding:20px;z-index:30}.modal-card{width:min(720px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:18px;padding:22px;box-shadow:0 25px 70px #00000038}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.modal-head h3{margin:0}.icon-btn{background:transparent;color:#50372c;font-size:26px;padding:0 5px}.modal-actions{display:flex;gap:9px;align-items:center;margin-top:20px}.grow{flex:1}.skill-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:7px}.field-title{font-size:12px;font-weight:700;color:#6b5d55}.skill{display:flex!important;flex-direction:row!important;align-items:center;gap:6px!important;background:#f7f3ef;border:1px solid #e4dcd5;border-radius:9px;padding:8px!important}.skill input{width:auto}.loading{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:8px;color:#5f4a3d}.loading .brand-mark{color:#503629}.loading p{margin:0}.loading small{color:#9d5f40}@media(max-width:1050px){.app-shell{grid-template-columns:210px 1fr}.metrics{grid-template-columns:repeat(3,1fr)}.grid-2{grid-template-columns:1fr}.week-grid{grid-template-columns:repeat(4,1fr)}main{padding:24px}}@media(max-width:760px){.app-shell{display:block}.sidebar{position:relative;height:auto;padding:16px}.sidebar nav{display:grid;grid-template-columns:repeat(2,1fr)}.side-status{display:none}main{padding:18px}.topbar{display:block}.top-actions{margin-top:14px}.metrics{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.week-grid,.skill-grid{grid-template-columns:repeat(2,1fr)}.audit-item{grid-template-columns:1fr}.topbar h1{font-size:24px}}.schedule-main{padding-right:24px}.schedule-section{min-width:0}.schedule-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:12px}.schedule-toolbar h2{margin:2px 0 0}.schedule-controls{display:flex;align-items:flex-end;gap:9px;flex-wrap:wrap}.schedule-controls label{display:flex;flex-direction:column;gap:5px;font-size:11px;font-weight:800;color:#77675d}.schedule-controls input,.schedule-controls select{border:1px solid #dcd3cc;border-radius:9px;padding:9px 10px;background:#fff;color:#2f2621;min-height:40px}.schedule-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:12px 0}.schedule-metrics article{background:#fff;border:1px solid #e4ddd6;border-radius:13px;padding:12px 14px}.schedule-metrics span{display:block;font-size:11px;color:#817269}.schedule-metrics strong{display:block;font-size:22px;margin-top:3px}.schedule-metrics small{display:block;color:#9a8c83;font-size:10px;margin-top:1px}.schedule-metrics .metric-attention{background:#fff9f1;border-color:#ead4b9}.schedule-hint{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:12px 2px;color:#7c6e65;font-size:11px}.schedule-hint>div{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.legend{width:11px;height:11px;border-radius:3px;display:inline-block;margin-left:8px;border:1px solid transparent}.legend.work{background:#e8f3ec;border-color:#c9e2d2}.legend.off{background:#f0ece8;border-color:#ddd3cb}.legend.ds{background:#e9edf5;border-color:#ced7e8}.legend.absence{background:#f8e8e6;border-color:#ebc7c2}.schedule-grid-wrap{background:#fff;border:1px solid #e1d9d2;border-radius:15px;overflow:auto;max-height:calc(100vh - 330px);min-height:360px;box-shadow:0 2px 8px #2c1f1809}.schedule-grid{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;font-size:11px}.schedule-grid th,.schedule-grid td{padding:0;border-right:1px solid #eee8e3;border-bottom:1px solid #eee8e3;background:#fff}.schedule-grid thead th{position:sticky;top:0;z-index:5;width:74px;min-width:74px;text-align:center;padding:8px 3px;background:#f7f3ef;color:#6f6057}.schedule-grid thead th strong{display:block;font-size:14px}.schedule-grid thead th small{display:block;font-size:9px;margin-top:2px;text-transform:none;letter-spacing:0}.schedule-grid th.weekend,.schedule-grid td.weekend{background:#fbf7f2}.schedule-grid .employee-col{position:sticky;left:0;z-index:4;width:225px;min-width:225px;max-width:225px;text-align:left;padding:8px 10px;background:#fff;box-shadow:2px 0 #eae2dc}.schedule-grid thead .employee-col{z-index:8;background:#f4eee9}.schedule-grid .employee-col strong{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-grid .employee-col small{display:block;font-size:9px;color:#988a81;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shift-cell{display:block;width:100%;height:48px;padding:4px 3px;border-radius:0;background:transparent;color:#7d7068;font-size:9px;font-weight:800;line-height:1.15}.shift-cell:hover{filter:none;box-shadow:inset 0 0 0 2px #8a654f}.shift-cell.empty{color:#c4b9b2;font-size:14px}.shift-cell.work{background:#e8f3ec;color:#286340}.shift-cell.off{background:#f0ece8;color:#6d625b}.shift-cell.ds{background:#e9edf5;color:#455a80}.shift-cell.absence{background:#f8e8e6;color:#8e4d48;cursor:not-allowed}.shift-cell:disabled{opacity:1}.schedule-empty{text-align:center;padding:55px 20px}.schedule-empty strong{font-size:18px}.schedule-empty p{color:#81736a}.schedule-notice{margin-top:12px}.assignment-types{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:18px}.assignment-types button{border:1px solid transparent}.assignment-types button.selected{background:#4d3023;color:#fff;box-shadow:0 0 0 2px #eaded7}.schedule-form{margin-bottom:14px}.standalone-label{font-size:12px;font-weight:700;color:#6b5d55;display:flex;flex-direction:column;gap:6px}.standalone-label input{width:100%;border:1px solid #dcd3cc;border-radius:9px;background:#fff;padding:10px 11px;color:#2f2621}.copy-row{display:flex;gap:8px;margin-top:12px}.ghost-danger{background:#f7eae8!important;color:#963e36!important}.modal-card.wide{width:min(920px,100%)}@media(max-width:1050px){.schedule-metrics{grid-template-columns:repeat(3,1fr)}.schedule-toolbar{align-items:flex-start;flex-direction:column}.schedule-grid-wrap{max-height:none}.schedule-main{padding-right:18px}}@media(max-width:760px){.schedule-metrics{grid-template-columns:repeat(2,1fr)}.schedule-controls{width:100%}.schedule-controls label{flex:1;min-width:130px}.schedule-controls button{flex:1}.schedule-hint{align-items:flex-start;flex-direction:column;gap:7px}.schedule-grid .employee-col{width:165px;min-width:165px;max-width:165px}.schedule-grid thead th{width:68px;min-width:68px}.shift-cell{height:45px}.assignment-types{grid-template-columns:1fr}.copy-row{flex-direction:column}}
