*{box-sizing:border-box}:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#111827;background:#f3f4f6;font-synthesis:none}body{margin:0;min-width:320px;min-height:100vh}button,input{font:inherit}button{cursor:pointer}.login-shell,.status-shell{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:max(24px,env(safe-area-inset-top)) 20px max(24px,env(safe-area-inset-bottom))}.login-card{width:min(100%,420px);padding:28px;border-radius:20px;background:#fff;border:1px solid #e5e7eb;box-shadow:0 18px 50px #11182714}.login-brand{display:flex;align-items:center;gap:14px}.brand-mark{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#111827;color:#fff;font-weight:800;font-size:22px}.eyebrow{margin:0 0 3px;color:#6b7280;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}h1,h2,p{margin-top:0}.login-brand h1{margin-bottom:0;font-size:24px}.login-copy{margin:24px 0 20px;color:#4b5563}.login-form{display:grid;gap:16px}.login-form label{display:grid;gap:7px;font-size:14px;font-weight:650}.login-form input{width:100%;min-height:46px;border:1px solid #d1d5db;border-radius:11px;padding:10px 12px;background:#fff;color:#111827;outline:none}.login-form input:focus{border-color:#4b5563;box-shadow:0 0 0 3px #4b55631f}.primary-button,.secondary-button{min-height:44px;border:0;border-radius:11px;padding:10px 16px;font-weight:700}.primary-button{margin-top:4px;background:#111827;color:#fff}.primary-button:disabled{cursor:wait;opacity:.65}.secondary-button{background:#e5e7eb;color:#111827}.form-error,.session-banner{border-radius:10px;background:#fef2f2;color:#991b1b;padding:10px 12px;font-size:14px}.login-footnote{margin:18px 0 0;color:#6b7280;font-size:12px;text-align:center}.app-shell{min-height:100vh;min-height:100dvh;max-width:1100px;margin:0 auto;padding:max(24px,env(safe-area-inset-top)) 20px max(24px,env(safe-area-inset-bottom))}.app-header{display:flex;align-items:center;justify-content:space-between;gap:20px}.app-header h1{margin-bottom:0}.placeholder-card{margin-top:28px;padding:24px;border-radius:18px;border:1px solid #e5e7eb;background:#fff}.placeholder-card p{margin-bottom:0;color:#4b5563;line-height:1.6}.session-banner{position:fixed;top:12px;left:50%;z-index:10;width:min(calc(100% - 24px),520px);transform:translate(-50%)}@media(max-width:600px){.login-card{padding:22px;border-radius:16px}.app-header{align-items:flex-start;flex-direction:column}.secondary-button{width:100%}}.app-nav{display:flex;gap:8px;margin-top:24px;padding:6px;border:1px solid #e5e7eb;border-radius:14px;background:#fff;width:fit-content}.nav-button{min-height:38px;border:0;border-radius:9px;padding:8px 14px;background:transparent;color:#4b5563;font-weight:700}.nav-button.active{background:#111827;color:#fff}.admin-grid{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(340px,1.1fr);gap:20px;margin-top:24px}.panel{border:1px solid #e5e7eb;border-radius:18px;background:#fff;padding:22px;min-width:0}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:18px}.panel-heading h2{margin-bottom:0}.compact{min-height:38px;padding:8px 12px}.employee-list{display:grid;gap:8px}.employee-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #e5e7eb;border-radius:12px;padding:12px 13px;background:#fff;color:#111827;text-align:left}.employee-row:hover,.employee-row.selected{border-color:#9ca3af;background:#f9fafb}.employee-row span:first-child{display:grid;gap:3px}.employee-row small{color:#6b7280}.status{flex:0 0 auto;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:700}.status.active{background:#ecfdf5;color:#065f46}.status.inactive{background:#f3f4f6;color:#6b7280}.admin-form{display:grid;gap:15px}.admin-form label,.inline-form label{display:grid;gap:7px;font-size:14px;font-weight:650}.admin-form input,.admin-form select,.inline-form input{width:100%;min-height:44px;border:1px solid #d1d5db;border-radius:10px;padding:9px 11px;background:#fff;color:#111827;outline:none;font:inherit}.admin-form input:focus,.admin-form select:focus,.inline-form input:focus{border-color:#4b5563;box-shadow:0 0 0 3px #4b55631f}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.checkbox-row{grid-template-columns:auto 1fr!important;align-items:center;gap:9px!important}.checkbox-row input{width:18px;height:18px;min-height:auto}.form-success{border-radius:10px;background:#ecfdf5;color:#065f46;padding:10px 12px;font-size:14px}.section-divider{border:0;border-top:1px solid #e5e7eb;margin:24px 0}.inline-form{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}@media(max-width:820px){.admin-grid{grid-template-columns:1fr}}@media(max-width:600px){.app-nav{width:100%}.nav-button{flex:1}.field-pair,.inline-form{grid-template-columns:1fr}.panel{padding:18px}.panel-heading{align-items:stretch;flex-direction:column}.panel-heading .secondary-button{width:100%}}.startup-error-card{width:min(100%,620px);padding:28px;border-radius:18px;border:1px solid #fecaca;background:#fff;box-shadow:0 18px 50px #11182714}.startup-error-card h1{margin-bottom:12px}.startup-error-card p{color:#4b5563;line-height:1.6}.startup-error-hint{margin-bottom:0;font-size:14px}.shift-page{margin-top:24px}.shift-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.shift-toolbar h2{margin-bottom:4px}.shift-range{margin-bottom:0;color:#6b7280;font-size:14px}.week-controls{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;align-items:center}.icon-button{min-width:42px;padding-inline:12px}.shift-planner-controls{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:14px}.shift-planner-controls label{display:grid;gap:6px;min-width:260px;color:#374151;font-size:13px;font-weight:700}.shift-planner-controls select{min-height:40px;border:1px solid #d1d5db;border-radius:9px;padding:7px 9px;background:#fff;color:#111827;font:inherit}.shift-planner-count{display:grid;gap:3px;text-align:right}.shift-planner-count span{color:#6b7280;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.shift-status-legend{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 14px}.shift-status-chip{display:inline-flex;align-items:center;min-height:30px;padding:5px 10px;border:1px solid #e5e7eb;border-radius:999px;color:#374151;font-size:12px;font-weight:750}.shift-tone-early{background:#fff7cc}.shift-tone-late{background:#e8f1ff}.shift-tone-night{background:#ede9fe}.shift-tone-vacation{background:#dcfce7}.shift-tone-sick{background:#fee2e2}.shift-tone-free{background:#f3f4f6}.shift-tone-school{background:#ffedd5}.shift-tone-holiday{background:#fef3c7}.shift-tone-time_off{background:#e0f2fe}.shift-tone-rehab{background:#ccfbf1}[class*=shift-tone-legacy_]{background:#f8fafc}.shift-coverage{display:grid;grid-template-columns:repeat(7,minmax(145px,1fr));gap:8px;margin-bottom:14px;overflow-x:auto;padding-bottom:2px}.shift-coverage-day{min-width:145px;padding:11px;border:1px solid #e5e7eb;border-radius:12px;background:#fff}.shift-coverage-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding-bottom:8px;border-bottom:1px solid #f3f4f6}.shift-coverage-heading span{color:#6b7280;font-size:11px}.shift-coverage-values{display:grid;gap:5px;margin-top:8px}.shift-coverage-values>span{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#4b5563;font-size:12px}.shift-coverage-values>span strong{color:#111827;font-size:13px}.shift-coverage-values>span.unplanned{color:#92400e}.shift-coverage-values>span.shift-coverage-section-label{display:block;margin-top:3px;padding-top:7px;border-top:1px solid #f3f4f6;color:#9ca3af;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.shift-department-row th{padding:8px 12px;border-right:0;background:#eef2f7;color:#374151;text-align:left}.shift-department-row th span{display:inline;font-size:12px;font-weight:800}.shift-department-row th small{display:inline;margin-left:8px;color:#6b7280;font-size:11px;font-weight:650}.shift-cell{transition:background-color .12s ease}.shift-cell[class*=shift-tone-] .shift-select{background:#ffffffc7}.shift-staff-table{min-width:1080px}.shift-table .week-shift-column{min-width:125px;background:#fcfcfd}.shift-table thead .week-shift-column{background:#f3f4f6}.shift-employee-name,.shift-employee-department{display:block}.shift-employee-department{margin-top:3px;color:#6b7280;font-size:11px;font-weight:600}.week-shift-select{font-weight:700}@media(max-width:720px){.shift-planner-controls{align-items:stretch;flex-direction:column}.shift-planner-controls label{min-width:0}.shift-planner-count{text-align:left}.shift-coverage{grid-template-columns:repeat(7,145px)}}.shift-error{margin-bottom:14px}.shift-table-wrap{overflow-x:auto;border:1px solid #e5e7eb;border-radius:16px;background:#fff}.shift-table{width:100%;min-width:920px;border-collapse:collapse}.shift-table th,.shift-table td{border-bottom:1px solid #e5e7eb;border-right:1px solid #f3f4f6;padding:10px;vertical-align:middle}.shift-table tr:last-child th,.shift-table tr:last-child td{border-bottom:0}.shift-table th:last-child,.shift-table td:last-child{border-right:0}.shift-table thead th{background:#f9fafb;color:#374151;font-size:13px;text-align:center}.shift-table thead th span,.shift-table thead th small{display:block}.shift-table thead th small{margin-top:3px;color:#6b7280;font-size:11px;font-weight:600}.shift-table .employee-column{position:sticky;left:0;z-index:1;width:210px;min-width:210px;background:#fff;text-align:left}.shift-table thead .employee-column{z-index:2;background:#f9fafb}.shift-select{width:100%;min-width:84px;min-height:38px;border:1px solid #d1d5db;border-radius:9px;padding:7px 8px;background:#fff;color:#111827;font:inherit;font-size:13px}.shift-select:focus{outline:none;border-color:#4b5563;box-shadow:0 0 0 3px #4b55631f}.shift-select:disabled{cursor:wait;opacity:.65}.shift-help,.empty-state{color:#6b7280;font-size:13px}.shift-help{margin:10px 2px 0}.empty-state{padding:18px;margin:0}@media(max-width:720px){.shift-toolbar{flex-direction:column}.week-controls{width:100%;justify-content:stretch}.week-controls .secondary-button{flex:1 1 auto}.week-controls .icon-button{flex:0 0 42px}}.home-grid{display:grid;gap:20px;margin-top:28px}.home-grid .placeholder-card{margin-top:0}.my-shift-card{padding:24px;border-radius:18px;border:1px solid #e5e7eb;background:#fff}.my-shift-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.my-shift-heading h2{margin-bottom:0}.my-shift-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-top:18px}.my-shift-day{min-width:0;padding:12px 10px;border:1px solid #e5e7eb;border-radius:12px;background:#f9fafb;text-align:center}.my-shift-day.today{border-color:#9ca3af;background:#fff;box-shadow:0 0 0 2px #1118270f}.my-shift-date{display:block;margin-bottom:6px;color:#6b7280;font-size:12px;font-weight:700}.my-shift-day strong{font-size:14px}.muted-home{margin:16px 0 0;color:#6b7280}@media(max-width:760px){.my-shift-days{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:420px){.my-shift-days{grid-template-columns:1fr}.my-shift-day{display:flex;align-items:center;justify-content:space-between;text-align:left}.my-shift-date{margin-bottom:0}}.material-page,.material-form,.material-loading{margin-top:24px}.material-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.material-toolbar h2{margin-bottom:0}.material-message{margin-bottom:14px}.material-layout{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(420px,1.2fr);gap:18px;align-items:start}.material-list-panel{position:sticky;top:18px}.material-search{display:grid;gap:7px;font-size:14px;font-weight:650}.material-search input,.material-form input,.material-form select,.material-form textarea,.booking-panel input{width:100%;min-height:44px;border:1px solid #d1d5db;border-radius:10px;padding:9px 11px;background:#fff;color:#111827;outline:none;font:inherit}.material-form textarea{resize:vertical}.material-search input:focus,.material-form input:focus,.material-form select:focus,.material-form textarea:focus,.booking-panel input:focus{border-color:#4b5563;box-shadow:0 0 0 3px #4b55631f}.material-form{display:grid;gap:15px}.material-form>label,.booking-panel label{display:grid;gap:7px;font-size:14px;font-weight:650}.material-list{display:grid;gap:8px;margin-top:14px;max-height:68vh;overflow-y:auto}.material-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #e5e7eb;border-radius:12px;padding:12px;background:#fff;color:#111827;text-align:left}.material-row:hover,.material-row.selected{border-color:#9ca3af;background:#f9fafb}.material-row-main,.material-row-stock{display:grid;gap:4px;min-width:0}.material-row-main{flex:1}.material-row-main strong,.material-row-main small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.material-row-main small,.material-row-stock small{color:#6b7280}.material-row-stock{flex:0 0 auto;justify-items:end;text-align:right}.status.low{background:#fff7ed;color:#9a3412}.material-detail-column{display:grid;gap:18px}.material-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.material-facts>div{display:grid;gap:4px;padding:12px;border:1px solid #e5e7eb;border-radius:12px;background:#f9fafb}.material-facts span{color:#6b7280;font-size:12px;font-weight:700}.material-facts strong{overflow-wrap:anywhere}.material-description,.material-note{margin:16px 0 0;color:#4b5563;line-height:1.5}.booking-type{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}.booking-choice{min-height:42px;border:1px solid #d1d5db;border-radius:10px;background:#fff;color:#4b5563;font-weight:750}.booking-choice.active{border-color:#111827;background:#111827;color:#fff}.booking-panel .primary-button{width:100%;margin-top:14px}.movement-list{display:grid;gap:0}.movement-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #e5e7eb}.movement-row:last-child{border-bottom:0}.movement-row>div{display:grid;gap:3px}.movement-row small,.movement-row time{color:#6b7280;font-size:12px}.movement-in{color:#065f46}.movement-out{color:#991b1b}@media(max-width:900px){.material-layout{grid-template-columns:1fr}.material-list-panel{position:static}.material-list{max-height:360px}}@media(max-width:600px){.material-toolbar{align-items:stretch;flex-direction:column}.material-toolbar .primary-button{width:100%}.material-facts,.booking-type{grid-template-columns:1fr}.movement-row{align-items:flex-start;flex-direction:column;gap:6px}}.saw-page{margin-top:24px}.saw-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.saw-toolbar h2{margin-bottom:0}.saw-message{margin-bottom:14px}.saw-form{display:grid;gap:15px;margin-bottom:18px}.saw-form>label,.saw-dimensions-grid label{display:grid;gap:7px;font-size:14px;font-weight:650}.saw-form input,.saw-form select,.saw-form textarea,.status-select{width:100%;min-height:44px;border:1px solid #d1d5db;border-radius:10px;padding:9px 11px;background:#fff;color:#111827;outline:none;font:inherit}.saw-form textarea{resize:vertical}.saw-form input:focus,.saw-form select:focus,.saw-form textarea:focus,.status-select:focus{border-color:#4b5563;box-shadow:0 0 0 3px #4b55631f}.saw-dimensions-grid{display:grid;grid-template-columns:.7fr 1fr 1fr;gap:12px}.saw-stock-preview,.saw-order-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.saw-stock-preview>div,.saw-order-grid>div{display:grid;gap:4px;padding:12px;border:1px solid #e5e7eb;border-radius:12px;background:#f9fafb}.saw-stock-preview span,.saw-order-grid span{color:#6b7280;font-size:12px;font-weight:700}.availability-ok{color:#065f46}.availability-missing{color:#991b1b}.saw-filter{display:flex;gap:8px;margin-bottom:14px;overflow-x:auto;padding-bottom:2px}.filter-chip{flex:0 0 auto;min-height:36px;border:1px solid #d1d5db;border-radius:999px;padding:7px 12px;background:#fff;color:#4b5563;font-weight:700}.filter-chip.active{border-color:#111827;background:#111827;color:#fff}.saw-order-list{display:grid;gap:14px}.saw-order-card{padding:18px}.saw-order-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}.saw-order-header h3{margin:8px 0 0;font-size:17px}.saw-order-badges{display:flex;flex-wrap:wrap;gap:7px}.priority-badge,.status-badge{display:inline-flex;align-items:center;min-height:26px;border-radius:999px;padding:4px 9px;font-size:11px;font-weight:800}.priority-badge.normal{background:#f3f4f6;color:#4b5563}.priority-badge.high{background:#fff7ed;color:#9a3412}.priority-badge.urgent{background:#fef2f2;color:#991b1b}.status-badge.open{background:#eff6ff;color:#1d4ed8}.status-badge.in_progress{background:#fffbeb;color:#92400e}.status-badge.done{background:#ecfdf5;color:#065f46}.status-badge.cancelled{background:#f3f4f6;color:#6b7280}.status-select{width:auto;min-width:130px;min-height:38px}.saw-order-note{margin:14px 0 0;color:#4b5563;line-height:1.5}@media(max-width:760px){.saw-toolbar,.saw-order-header{align-items:stretch;flex-direction:column}.saw-toolbar .primary-button,.status-select{width:100%}.saw-dimensions-grid,.saw-stock-preview,.saw-order-grid{grid-template-columns:1fr}.app-nav{max-width:100%;overflow-x:auto}.app-nav .nav-button{flex:0 0 auto;white-space:nowrap}}.saw-form-hint{margin:0;padding:10px 12px;border-radius:10px;background:#f3f4f6;color:#4b5563;font-size:12px;line-height:1.45}.saw-execution{display:grid;gap:12px;margin-top:16px;padding-top:14px;border-top:1px solid #e5e7eb}.saw-action-box{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(170px,.7fr) auto;align-items:end;gap:12px;padding:14px;border:1px solid #dbeafe;border-radius:12px;background:#f8fbff}.saw-action-box.secondary{grid-template-columns:minmax(210px,1.2fr) 180px 150px minmax(180px,.8fr) auto;border-color:#e5e7eb;background:#f9fafb}.saw-action-box.complete{border-color:#d1fae5;background:#f0fdf4}.saw-completion-box{grid-template-columns:minmax(220px,1.2fr) minmax(150px,.5fr) minmax(170px,.6fr)}.saw-completion-actions{grid-column:1 / -1;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.saw-completion-hint{grid-column:1 / -1;margin:0;color:#6b7280;font-size:11px;line-height:1.45}.saw-action-box>div p{margin:4px 0 0;color:#6b7280;font-size:12px;line-height:1.45}.saw-action-box label{display:grid;gap:6px;color:#374151;font-size:12px;font-weight:700}.saw-action-box input,.saw-action-box select{width:100%;min-height:40px;border:1px solid #d1d5db;border-radius:9px;padding:8px 10px;background:#fff;color:#111827;outline:none;font:inherit}.saw-action-box input:focus,.saw-action-box select:focus{border-color:#4b5563;box-shadow:0 0 0 3px #4b55631f}.saw-material-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.saw-material-summary>div{display:grid;gap:4px;padding:10px 12px;border:1px solid #e5e7eb;border-radius:10px;background:#fff}.saw-material-summary span,.saw-done-quantity span{color:#6b7280;font-size:11px;font-weight:700}.saw-done-block{display:grid;gap:12px}.saw-done-quantity{display:grid;grid-template-columns:auto auto auto auto;justify-content:start;align-items:center;gap:6px 14px;padding:11px 12px;border-radius:10px;background:#ecfdf5}.saw-cancel-button{justify-self:start;border:0;padding:4px 0;background:transparent;color:#991b1b;font:inherit;font-size:12px;font-weight:700}.saw-cancel-button:disabled{opacity:.5}@media(max-width:980px){.saw-action-box.secondary{grid-template-columns:repeat(2,minmax(0,1fr))}.saw-action-box.secondary>div{grid-column:1 / -1}}@media(max-width:760px){.saw-action-box,.saw-action-box.secondary,.saw-material-summary{grid-template-columns:1fr}.saw-action-box.secondary>div{grid-column:auto}.saw-completion-actions,.saw-completion-hint{grid-column:auto}.saw-completion-actions{display:grid;grid-template-columns:1fr}.saw-action-box .primary-button,.saw-action-box .secondary-button{width:100%}.saw-done-quantity{grid-template-columns:1fr 1fr}}.home-overview{display:grid;gap:18px}.home-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.home-summary-card{display:grid;gap:3px;min-height:132px;border:1px solid #e5e7eb;border-radius:18px;padding:20px;background:#fff;color:#111827;text-align:left}.home-summary-card:hover{border-color:#9ca3af;background:#f9fafb}.home-summary-card strong{font-size:34px;line-height:1.1}.home-summary-card small{color:#6b7280}.home-summary-label{color:#4b5563;font-size:13px;font-weight:800}.home-work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.home-list-panel{min-width:0}.home-list{display:grid;gap:8px}.home-list-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #e5e7eb;border-radius:12px;padding:12px;background:#fff;color:#111827;text-align:left}.home-list-row:hover{border-color:#9ca3af;background:#f9fafb}.home-list-row>span{display:grid;gap:3px;min-width:0}.home-list-row>span:first-child{flex:1}.home-list-row strong,.home-list-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-list-row small{color:#6b7280;font-size:12px}.home-list-meta{flex:0 0 auto;max-width:42%;justify-items:end;text-align:right}.home-priority{color:#4b5563}.home-priority.high{color:#9a3412}.home-priority.urgent{color:#991b1b}.home-empty{margin:0;padding:12px 2px;color:#6b7280;font-size:14px}@media(max-width:820px){.home-work-grid{grid-template-columns:1fr}}@media(max-width:600px){.home-summary-grid{grid-template-columns:1fr}.home-list-row{align-items:flex-start;flex-direction:column}.home-list-meta{max-width:100%;justify-items:start;text-align:left}}.reservation-panel{min-width:0}.reservation-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:16px}.reservation-summary>div{display:grid;gap:4px;padding:12px;border:1px solid #e5e7eb;border-radius:12px;background:#f9fafb}.reservation-summary span{color:#6b7280;font-size:12px;font-weight:700}.reservation-form{display:grid;gap:14px;margin-bottom:18px;padding:16px;border:1px solid #e5e7eb;border-radius:14px;background:#f9fafb}.reservation-form>label,.reservation-form .field-pair label{display:grid;gap:7px;font-size:14px;font-weight:650}.reservation-form input{width:100%;min-height:42px;border:1px solid #d1d5db;border-radius:10px;padding:9px 11px;background:#fff;color:#111827;outline:none;font:inherit}.reservation-form input:focus{border-color:#4b5563;box-shadow:0 0 0 3px #4b55631f}.reservation-list{display:grid;gap:8px}.reservation-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:12px;border:1px solid #e5e7eb;border-radius:12px;background:#fff}.reservation-main{display:grid;gap:3px;min-width:0}.reservation-main small{color:#6b7280;font-size:12px}.reservation-actions{display:grid;gap:8px;justify-items:end;flex:0 0 auto}.reservation-buttons{display:flex;gap:6px}.reservation-open{background:#eff6ff;color:#1d4ed8}.reservation-fulfilled{background:#ecfdf5;color:#065f46}.reservation-cancelled{background:#f3f4f6;color:#6b7280}@media(max-width:680px){.reservation-summary{grid-template-columns:1fr}.reservation-row{flex-direction:column}.reservation-actions{width:100%;justify-items:stretch}.reservation-buttons{display:grid;grid-template-columns:1fr 1fr}}.notices-panel{min-width:0}.notice-form{display:grid;gap:14px;margin-bottom:18px;padding:16px;border:1px solid #e5e7eb;border-radius:14px;background:#f9fafb}.notice-form>label,.notice-form .field-pair label{display:grid;gap:7px;font-size:14px;font-weight:650}.notice-form input,.notice-form select,.notice-form textarea{width:100%;min-height:42px;border:1px solid #d1d5db;border-radius:10px;padding:9px 11px;background:#fff;color:#111827;outline:none;font:inherit}.notice-form textarea{resize:vertical}.notice-form input:focus,.notice-form select:focus,.notice-form textarea:focus{border-color:#4b5563;box-shadow:0 0 0 3px #4b55631f}.notice-list{display:grid;gap:10px}.notice-card{border:1px solid #e5e7eb;border-radius:14px;padding:15px;background:#fff}.notice-card.priority-important{border-left:4px solid #d97706}.notice-card.priority-urgent{border-left:4px solid #b91c1c}.notice-card.priority-info{border-left:4px solid #4b5563}.notice-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.notice-card h3{margin:7px 0 0;font-size:16px}.notice-card p{margin:12px 0 0;color:#374151;line-height:1.55;white-space:pre-wrap}.notice-priority{display:inline-flex;align-items:center;min-height:25px;border-radius:999px;padding:4px 9px;font-size:11px;font-weight:800}.notice-priority.info{background:#f3f4f6;color:#4b5563}.notice-priority.important{background:#fff7ed;color:#9a3412}.notice-priority.urgent{background:#fef2f2;color:#991b1b}.notice-archive{border:0;padding:4px 0;background:transparent;color:#6b7280;font:inherit;font-size:12px;font-weight:700}.notice-archive:hover{color:#111827}.notice-meta{display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:12px;color:#6b7280;font-size:12px}@media(max-width:600px){.notice-card-head{flex-direction:column}.notice-archive{align-self:flex-start}}.leadership-summary{color:#1f2937!important;font-weight:700;white-space:normal!important}.field-hint{color:#6b7280;font-size:12px;font-weight:500;line-height:1.4}.permission-toggle{grid-template-columns:auto 1fr!important;align-items:flex-start;gap:10px!important;padding:13px;border:1px solid #e5e7eb;border-radius:12px;background:#f9fafb}.permission-toggle input{width:18px!important;height:18px;min-height:auto!important;margin-top:2px}.permission-toggle>span{display:grid;gap:3px}.permission-toggle small{color:#6b7280;font-weight:500;line-height:1.4}.leadership-fieldset{min-width:0;margin:0;padding:14px;border:1px solid #e5e7eb;border-radius:12px}.leadership-fieldset legend{padding:0 6px;font-size:14px;font-weight:800}.leadership-fieldset>p{margin:0 0 12px;color:#6b7280;font-size:12px;line-height:1.45}.department-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.department-check{display:flex!important;align-items:center;gap:8px!important;min-width:0;min-height:42px;padding:9px 10px;border:1px solid #d1d5db;border-radius:10px;background:#fff;font-weight:650!important;cursor:pointer}.department-check.selected{border-color:#6b7280;background:#f3f4f6}.department-check input{width:17px!important;height:17px;min-height:auto!important;flex:0 0 auto}.department-check span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-scope-note{margin:0;padding:12px 13px;border-radius:10px;background:#f3f4f6;color:#4b5563;font-size:13px;line-height:1.45}@media(max-width:560px){.department-check-grid{grid-template-columns:1fr}}.departments-page{margin-top:24px}.departments-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.departments-toolbar h2{margin-bottom:0}.department-summary{display:flex;flex-wrap:wrap;gap:8px}.department-summary span{padding:6px 10px;border-radius:999px;background:#e5e7eb;color:#374151;font-size:12px;font-weight:700}.departments-layout{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(420px,1.2fr);gap:18px;align-items:start}.department-list{display:grid;gap:8px;position:sticky;top:18px}.department-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #e5e7eb;border-radius:12px;padding:12px;background:#fff;color:#111827;text-align:left}.department-row:hover,.department-row.selected{border-color:#9ca3af;background:#f9fafb}.department-row>span:first-child{display:grid;gap:3px;min-width:0}.department-row small{color:#6b7280}.department-lead-status{flex:0 0 auto;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800}.department-lead-status.assigned{background:#ecfdf5;color:#065f46}.department-lead-status.missing{background:#fff7ed;color:#9a3412}.department-detail-column{display:grid;gap:18px}.department-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.department-metrics>div{display:grid;gap:4px;padding:14px;border:1px solid #e5e7eb;border-radius:12px;background:#f9fafb}.department-metrics span{color:#6b7280;font-size:12px;font-weight:700}.department-metrics strong{font-size:24px}.department-people-list{display:grid;gap:8px}.department-person{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid #e5e7eb;border-radius:12px;background:#fff}.department-person>span:first-child{display:grid;gap:3px;min-width:0}.department-person small{color:#6b7280;font-size:12px}.department-empty{margin:0;padding:10px 0;color:#6b7280;font-size:14px}@media(max-width:900px){.departments-layout{grid-template-columns:1fr}.department-list{position:static}}@media(max-width:600px){.departments-toolbar{align-items:flex-start;flex-direction:column}.department-metrics{grid-template-columns:1fr}.department-person{align-items:flex-start;flex-direction:column}}.production-page{margin-top:24px}.production-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.production-toolbar h2{margin-bottom:0}.production-message{margin-bottom:14px}.production-form{display:grid;gap:15px;margin-bottom:18px}.production-form>label,.production-form .field-pair label,.production-form-grid label,.production-filters label{display:grid;gap:7px;font-size:14px;font-weight:650}.production-form input,.production-form select,.production-form textarea,.production-filters input,.production-filters select,.production-status-actions select{width:100%;min-height:42px;border:1px solid #d1d5db;border-radius:10px;padding:9px 11px;background:#fff;color:#111827;outline:none;font:inherit}.production-form textarea{resize:vertical}.production-form input:focus,.production-form select:focus,.production-form textarea:focus,.production-filters input:focus,.production-filters select:focus,.production-status-actions select:focus{border-color:#4b5563;box-shadow:0 0 0 3px #4b55631f}.production-form-grid{display:grid;grid-template-columns:.7fr 1.2fr 1fr;gap:12px}.production-filters{display:grid;grid-template-columns:minmax(240px,1.5fr) 1fr 1fr;gap:12px;margin-bottom:18px;padding:16px}.production-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr);gap:18px;align-items:start}.production-order-list{display:grid;gap:12px}.production-order-card{cursor:pointer;padding:18px}.production-order-card.selected{border-color:#9ca3af;box-shadow:0 0 0 2px #1118270a}.production-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.production-card-head h3{margin:8px 0 3px;font-size:18px}.production-card-head p{margin:0;color:#4b5563}.production-badges{display:flex;flex-wrap:wrap;gap:7px}.production-status{display:inline-flex;align-items:center;min-height:26px;border-radius:999px;padding:4px 9px;font-size:11px;font-weight:800}.production-status.open{background:#eff6ff;color:#1d4ed8}.production-status.in_progress{background:#fffbeb;color:#92400e}.production-status.quality_check{background:#f5f3ff;color:#6d28d9}.production-status.on_hold{background:#fff7ed;color:#9a3412}.production-status.done{background:#ecfdf5;color:#065f46}.production-status.cancelled{background:#f3f4f6;color:#6b7280}.production-card-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:14px}.production-card-grid>div{display:grid;gap:4px;min-width:0;padding:10px;border:1px solid #e5e7eb;border-radius:10px;background:#f9fafb}.production-card-grid span,.production-detail-list dt{color:#6b7280;font-size:11px;font-weight:700}.production-card-grid strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.production-note{margin:12px 0 0;color:#4b5563;line-height:1.5}.production-status-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:14px;padding-top:12px;border-top:1px solid #e5e7eb}.production-status-actions span{color:#6b7280;font-size:12px;font-weight:700}.production-status-actions select{width:auto;min-width:160px}.production-detail{position:sticky;top:18px}.production-detail-list{display:grid;gap:0;margin:0}.production-detail-list>div{display:grid;grid-template-columns:130px 1fr;gap:12px;padding:9px 0;border-bottom:1px solid #f3f4f6}.production-detail-list dd{margin:0;font-weight:650;overflow-wrap:anywhere}.production-history{display:grid;gap:0}.production-history-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #f3f4f6}.production-history-row>span{display:grid;gap:2px}.production-history-row small,.production-history-row time{color:#6b7280;font-size:11px}@media(max-width:960px){.production-layout{grid-template-columns:1fr}.production-detail{position:static}.production-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.production-toolbar,.production-card-head{align-items:stretch;flex-direction:column}.production-toolbar .primary-button{width:100%}.production-form-grid,.production-filters,.production-card-grid{grid-template-columns:1fr}.production-status-actions{align-items:stretch;flex-direction:column}.production-status-actions select{width:100%}}.company-function-summary{color:#374151!important;font-weight:800;white-space:normal!important}.production-toolbar-copy{margin:5px 0 0;max-width:720px;color:#6b7280;font-size:13px}.production-order-filters{grid-template-columns:minmax(260px,1.6fr) minmax(180px,.7fr)}.production-planning-layout{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(520px,1.25fr);gap:18px;align-items:start}.production-planning-detail{display:grid;gap:18px}.production-order-select{width:100%;text-align:left}.production-order-summary{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:12px;color:#6b7280;font-size:12px;font-weight:700}.production-release-badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;font-size:11px;font-weight:800}.production-release-badge.released{background:#ecfdf5;color:#065f46}.production-release-badge.draft{background:#f3f4f6;color:#4b5563}.production-workplan{display:grid;gap:16px}.production-operation-list{display:grid;gap:8px}.production-operation-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;border:1px solid #e5e7eb;border-radius:12px;background:#fff}.production-operation-sequence{min-width:54px;border-radius:9px;padding:7px 8px;background:#f3f4f6;text-align:center;font-size:12px;font-weight:800}.production-operation-main{display:grid;gap:3px;min-width:0}.production-operation-main span,.production-operation-main small{color:#6b7280;font-size:12px}.production-operation-form{display:grid;gap:12px;padding-top:14px;border-top:1px solid #e5e7eb}.production-operation-form label,.worklist-feedback-form label,.worklist-filter{display:grid;gap:6px;font-size:13px;font-weight:700}.production-operation-form input,.production-operation-form select,.worklist-feedback-form input,.worklist-filter select{width:100%;min-height:40px;border:1px solid #d1d5db;border-radius:10px;padding:8px 10px;background:#fff;color:#111827;font:inherit}.production-operation-form-top{display:grid;grid-template-columns:100px minmax(220px,1fr) 150px;gap:12px}.production-release-box{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px;border:1px solid #d1fae5;border-radius:12px;background:#f0fdf4}.production-release-box p{margin:4px 0 0;color:#4b5563;font-size:12px;line-height:1.5}.production-release-note{margin:0;padding:12px;border-radius:10px;background:#f0fdf4;color:#166534;font-size:13px;font-weight:650}.production-worklist-page{margin-top:24px}.worklist-filter{min-width:220px}.worklist-grid,.worklist-card{display:grid;gap:14px}.worklist-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.worklist-card-head h3{margin:8px 0 2px;font-size:19px}.worklist-card-head p{margin:0;color:#4b5563}.worklist-ag-number{flex:0 0 auto;border-radius:10px;padding:8px 10px;background:#111827;color:#fff;font-size:12px;font-weight:800}.worklist-operation-title{display:grid;gap:4px;padding:12px;border-radius:10px;background:#f9fafb}.worklist-operation-title span{color:#6b7280;font-size:12px}.worklist-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.worklist-metrics>div{display:grid;gap:4px;padding:10px;border:1px solid #e5e7eb;border-radius:10px;background:#fff}.worklist-metrics span{color:#6b7280;font-size:11px;font-weight:700}.worklist-metrics strong{font-size:20px}.worklist-meta{display:flex;flex-wrap:wrap;gap:8px 18px;color:#6b7280;font-size:12px}.worklist-material-box{display:grid;gap:10px;padding:12px;border:1px solid #dbeafe;border-radius:11px;background:#f8fbff}.worklist-material-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.worklist-material-grid>div{display:grid;gap:3px;padding:10px;border:1px solid #e5e7eb;border-radius:9px;background:#fff}.worklist-material-grid span{color:#6b7280;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.worklist-material-grid strong{font-size:13px}.worklist-material-grid small{color:#6b7280;font-size:11px}.worklist-material-hint,.worklist-saw-existing,.worklist-saw-form>p{margin:0;font-size:11px;line-height:1.45}.worklist-material-hint{color:#4b5563}.worklist-material-hint.available{color:#166534}.worklist-material-hint.short{color:#9a3412}.worklist-saw-existing{padding:8px 10px;border-radius:8px;background:#fff7ed;color:#9a3412;font-weight:700}.worklist-saw-button{justify-self:start}.worklist-saw-form{display:grid;gap:10px;padding-top:10px;border-top:1px solid #dbeafe}.worklist-saw-grid{display:grid;grid-template-columns:minmax(180px,2fr) repeat(3,minmax(110px,1fr));gap:10px}.worklist-saw-grid label,.worklist-saw-form>label{display:grid;gap:5px;color:#374151;font-size:11px;font-weight:700}.worklist-saw-grid input,.worklist-saw-grid select,.worklist-saw-form>label input{min-width:0}@media(max-width:760px){.worklist-material-grid,.worklist-saw-grid{grid-template-columns:1fr}}.worklist-waiting{margin:0;padding:10px 12px;border-radius:10px;background:#fff7ed;color:#9a3412;font-size:13px;font-weight:700}.worklist-actions{display:grid;gap:12px;padding-top:12px;border-top:1px solid #e5e7eb}.worklist-action-row{display:flex;justify-content:flex-end;gap:10px}.worklist-feedback-form{display:grid;gap:12px}.worklist-feedback-quantities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}@media(max-width:980px){.production-planning-layout{grid-template-columns:1fr}.production-operation-form-top{grid-template-columns:90px 1fr}.production-operation-form-top label:last-child{grid-column:1 / -1}}@media(max-width:680px){.production-order-filters,.production-operation-form-top,.worklist-feedback-quantities,.worklist-metrics{grid-template-columns:1fr}.production-operation-form-top label:last-child{grid-column:auto}.production-release-box,.worklist-card-head,.worklist-action-row{align-items:stretch;flex-direction:column}.production-operation-row{grid-template-columns:auto 1fr}.production-operation-row>:last-child{grid-column:1 / -1}.worklist-filter{width:100%}}.article-master-page{margin-top:24px}.article-master-layout{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(520px,1.28fr);gap:18px;align-items:start}.article-master-list,.article-master-detail{display:grid;gap:12px}.article-master-card{width:100%;text-align:left;cursor:pointer}.article-master-card.selected{border-color:#111827;box-shadow:0 0 0 1px #111827}.article-master-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.article-master-card-head strong{font-size:14px}.article-master-card-head span{border-radius:999px;padding:3px 8px;font-size:10px;font-weight:800}.article-master-card-head span.active{background:#ecfdf5;color:#166534}.article-master-card-head span.inactive{background:#f3f4f6;color:#6b7280}.article-master-card h3{margin:8px 0 4px;font-size:18px}.article-master-card p{margin:0;color:#6b7280;font-size:12px}.article-master-form{display:grid;gap:18px;margin-bottom:18px}.article-form-section{display:grid;gap:12px;padding-top:4px}.article-form-section+.article-form-section{padding-top:16px;border-top:1px solid #e5e7eb}.article-form-section h3{margin:0;font-size:14px}.article-active-toggle{display:flex!important;grid-template-columns:none!important;align-items:center;gap:8px!important;font-size:13px;font-weight:700}.article-active-toggle input{width:auto!important;min-height:auto!important}.article-master-filters{grid-template-columns:minmax(280px,1fr) auto;align-items:end}.article-show-inactive{padding-bottom:10px}.article-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}.article-detail-grid>div,.production-order-sheet-grid>div{display:grid;gap:4px;padding:11px 12px;border:1px solid #e5e7eb;border-radius:10px;background:#fff}.article-detail-grid dt,.production-order-sheet-grid span,.article-instruction-grid span{color:#6b7280;font-size:11px;font-weight:700}.article-detail-grid dd{margin:0;font-weight:700}.article-instruction-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.article-instruction-grid>div{padding:12px;border-radius:10px;background:#f9fafb}.article-instruction-grid p{margin:5px 0 0;white-space:pre-wrap;line-height:1.5}.article-routing{display:grid;gap:14px}.article-routing-hint{margin:-6px 0 0;color:#6b7280;font-size:12px;line-height:1.5}.production-create-panel{display:grid;gap:18px;margin-bottom:18px}.production-create-mode{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.production-create-mode button{display:grid;gap:5px;padding:14px;border:1px solid #d1d5db;border-radius:12px;background:#fff;color:#111827;text-align:left;font:inherit;font-weight:800;cursor:pointer}.production-create-mode button small{color:#6b7280;font-size:11px;font-weight:500;line-height:1.4}.production-create-mode button.active{border-color:#111827;box-shadow:0 0 0 1px #111827;background:#f9fafb}.production-create-mode button:disabled{opacity:.45;cursor:not-allowed}.production-create-form{display:grid;gap:14px}.production-create-form>label,.production-create-form .field-pair>label,.production-create-form .production-form-grid>label{display:grid;gap:6px;font-size:13px;font-weight:700}.production-create-form input,.production-create-form select,.production-create-form textarea{width:100%;border:1px solid #d1d5db;border-radius:10px;padding:9px 10px;background:#fff;color:#111827;font:inherit}.production-article-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px;border:1px solid #dbeafe;border-radius:12px;background:#eff6ff}.production-article-preview>div{display:grid;gap:3px}.production-article-preview span{color:#64748b;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.production-article-preview strong{font-size:13px}.production-order-sheet{display:grid;gap:16px}.production-order-sheet-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.production-order-sheet-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.production-order-sheet-grid strong{font-size:13px}.production-order-section{display:grid;gap:10px;padding-top:14px;border-top:1px solid #e5e7eb}.production-order-section h3{margin:0;font-size:14px}@media(max-width:980px){.article-master-layout{grid-template-columns:1fr}.production-order-sheet-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.article-master-filters,.article-detail-grid,.article-instruction-grid,.production-create-mode,.production-article-preview,.production-order-sheet-grid,.production-order-sheet-grid.compact{grid-template-columns:1fr}.article-show-inactive{padding-bottom:0}}.production-preparation{display:grid;gap:14px}.production-preparation-hint{margin:-4px 0 0;color:#6b7280;font-size:12px;line-height:1.5}.production-preparation-form{display:grid;gap:14px}.production-preparation-form label{display:grid;gap:6px;font-size:13px;font-weight:700}.production-preparation-form input,.production-preparation-form select,.production-preparation-form textarea{width:100%;border:1px solid #d1d5db;border-radius:10px;padding:9px 10px;background:#fff;color:#111827;font:inherit}.production-preparation-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.production-preparation-ready{display:flex!important;grid-template-columns:none!important;align-items:center;gap:9px!important;padding:12px;border:1px solid #d1fae5;border-radius:10px;background:#f0fdf4}.production-preparation-ready input{width:auto!important}.production-preparation-footer{display:flex;align-items:center;justify-content:space-between;gap:14px}.production-preparation-footer small{color:#6b7280}.delivery-list-page{margin-top:24px}.delivery-list-filters{grid-template-columns:minmax(280px,1fr) 220px}.delivery-list{display:grid;gap:12px}.delivery-list-row{display:grid;gap:14px}.delivery-list-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.delivery-list-head h3{margin:8px 0 3px;font-size:18px}.delivery-list-head p{margin:0;color:#4b5563}.delivery-due{display:grid;gap:3px;text-align:right;white-space:nowrap}.delivery-due span,.delivery-list-grid span{color:#6b7280;font-size:11px;font-weight:700}.delivery-due strong{font-size:16px}.delivery-list-grid{display:grid;grid-template-columns:1fr .6fr .9fr 1.4fr;gap:8px}.delivery-list-grid>div{display:grid;gap:4px;padding:10px 12px;border:1px solid #e5e7eb;border-radius:10px;background:#fff}.delivery-list-grid strong{font-size:13px}.delivery-list-grid small{color:#6b7280;font-size:11px}.delivery-progress{display:grid;gap:7px}.delivery-progress>div:first-child{display:flex;justify-content:space-between;gap:10px;color:#6b7280;font-size:11px;font-weight:700}.delivery-progress-track{height:7px;overflow:hidden;border-radius:999px;background:#e5e7eb}.delivery-progress-track span{display:block;height:100%;border-radius:inherit;background:currentColor;color:#111827}@media(max-width:980px){.production-preparation-grid,.delivery-list-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.production-preparation-grid,.delivery-list-filters,.delivery-list-grid{grid-template-columns:1fr}.production-preparation-footer,.delivery-list-head{align-items:stretch;flex-direction:column}.delivery-due{text-align:left}}.article-master-tabs{display:inline-flex;gap:4px;margin-bottom:18px;padding:4px;border:1px solid #e5e7eb;border-radius:12px;background:#f3f4f6}.article-master-tabs button{border:0;border-radius:9px;padding:9px 14px;background:transparent;color:#6b7280;font:inherit;font-size:13px;font-weight:800;cursor:pointer}.article-master-tabs button.active{background:#fff;color:#111827;box-shadow:0 1px 3px #00000014}.article-import-source{margin:12px 0 0;padding-top:10px;border-top:1px solid #e5e7eb;color:#6b7280;font-size:11px}.excel-import-page,.excel-import-intro{display:grid;gap:14px}.excel-import-copy{margin:0;max-width:820px;color:#6b7280;font-size:13px;line-height:1.55}.excel-import-dropzone{position:relative;display:grid;gap:5px;justify-items:center;padding:26px 18px;border:2px dashed #cbd5e1;border-radius:14px;background:#f8fafc;text-align:center;cursor:pointer}.excel-import-dropzone:hover{border-color:#64748b;background:#f1f5f9}.excel-import-dropzone strong{font-size:15px}.excel-import-dropzone span{color:#64748b;font-size:12px}.excel-import-dropzone input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.excel-import-list{display:grid;gap:12px}.excel-import-candidate{padding:0;overflow:hidden}.excel-import-candidate>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 16px;cursor:pointer;list-style:none}.excel-import-candidate>summary::-webkit-details-marker{display:none}.excel-import-candidate>summary>div{display:grid;gap:4px;min-width:0}.excel-import-candidate>summary strong{font-size:15px}.excel-import-candidate>summary span:not(.excel-import-status){overflow:hidden;color:#6b7280;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.excel-import-status{flex:0 0 auto;border-radius:999px;padding:4px 9px;font-size:10px;font-weight:800}.excel-import-status.ready{background:#ecfdf5;color:#166534}.excel-import-status.warning{background:#fff7ed;color:#9a3412}.excel-import-body{display:grid;gap:18px;padding:0 16px 16px;border-top:1px solid #e5e7eb}.excel-import-section{display:grid;gap:12px;padding-top:16px}.excel-import-section+.excel-import-section{border-top:1px solid #e5e7eb}.excel-import-section h3{margin:0;font-size:14px}.excel-import-section label{display:grid;gap:6px;font-size:12px;font-weight:700}.excel-import-section input,.excel-import-section select,.excel-import-section textarea{width:100%;border:1px solid #d1d5db;border-radius:9px;padding:8px 9px;background:#fff;color:#111827;font:inherit}.excel-import-warnings,.excel-import-errors{margin-top:14px;padding:11px 12px;border-radius:10px;font-size:12px}.excel-import-warnings{background:#fffbeb;color:#92400e}.excel-import-errors{background:#fef2f2;color:#991b1b}.excel-import-warnings p,.excel-import-errors p{margin:3px 0}.excel-import-operations{display:grid;gap:10px}.excel-import-operation{display:grid;gap:10px;padding:12px;border:1px solid #e5e7eb;border-radius:11px;background:#f9fafb}.excel-import-operation-top{display:grid;grid-template-columns:90px minmax(220px,1fr) 130px;gap:9px}.excel-import-operation-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.excel-import-operation>.secondary-button{justify-self:end}.excel-import-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:14px;border-top:1px solid #e5e7eb}@media(max-width:980px){.excel-import-operation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.article-master-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.excel-import-candidate>summary,.excel-import-actions{align-items:stretch;flex-direction:column}.excel-import-operation-top,.excel-import-operation-grid{grid-template-columns:1fr}.excel-import-operation>.secondary-button{justify-self:stretch}}.excel-import-section-copy{margin:5px 0 0;color:#6b7280;font-size:12px;line-height:1.5}.excel-import-mode{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.excel-import-mode>label{display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:9px!important;padding:12px;border:1px solid #d1d5db;border-radius:11px;background:#fff;cursor:pointer}.excel-import-mode>label:has(input:checked){border-color:#111827;box-shadow:0 0 0 1px #111827;background:#f9fafb}.excel-import-mode input{width:auto!important;margin-top:2px}.excel-import-mode span{display:grid;gap:3px}.excel-import-mode strong{font-size:13px}.excel-import-mode small{color:#6b7280;font-size:11px;font-weight:500;line-height:1.45}.excel-import-existing-note{margin:0;padding:10px 12px;border-radius:10px;background:#eff6ff;color:#1e40af;font-size:12px;line-height:1.5}@media(max-width:680px){.excel-import-mode{grid-template-columns:1fr}}.article-documents{display:grid;gap:14px}.article-documents-copy{margin:-4px 0 0;color:#6b7280;font-size:12px;line-height:1.55}.article-current-drawing,.production-order-drawing{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 14px;border:1px solid #d1fae5;border-radius:12px;background:#f0fdf4}.article-current-drawing.empty{border-color:#e5e7eb;background:#f9fafb}.article-current-drawing>div,.production-order-drawing>div{display:grid;gap:3px}.article-current-drawing span,.production-order-drawing span{color:#6b7280;font-size:11px;font-weight:800}.article-current-drawing strong,.production-order-drawing strong{font-size:14px}.article-current-drawing small,.production-order-drawing small{color:#6b7280;font-size:11px}.article-drawing-upload{display:grid;gap:12px;padding:14px;border:1px solid #e5e7eb;border-radius:12px;background:#f9fafb}.article-drawing-upload label{display:grid;gap:6px;font-size:12px;font-weight:700}.article-drawing-upload input,.article-drawing-upload textarea{width:100%;border:1px solid #d1d5db;border-radius:9px;padding:8px 9px;background:#fff;color:#111827;font:inherit}.article-drawing-upload small{color:#6b7280;font-size:10px}.article-drawing-history{display:grid;gap:9px;padding-top:4px}.article-drawing-history h3{margin:0 0 2px;font-size:13px}.article-drawing-version{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 12px;border:1px solid #e5e7eb;border-radius:10px;background:#fff}.article-drawing-version.current{border-color:#d1fae5;background:#f8fffb}.article-drawing-version>div:first-child{display:grid;gap:3px}.article-drawing-version strong{font-size:13px}.article-drawing-version span:not(.production-release-badge){color:#4b5563;font-size:11px}.article-drawing-version small{color:#6b7280;font-size:10px}.article-drawing-version-actions{display:flex;gap:7px;flex:0 0 auto}.production-order-drawing{margin-top:14px;border-color:#dbeafe;background:#eff6ff}.worklist-drawing-button{width:100%;border:1px solid #bfdbfe;border-radius:10px;padding:9px 12px;background:#eff6ff;color:#1d4ed8;font:inherit;font-size:12px;font-weight:800;cursor:pointer}.worklist-drawing-button:disabled{cursor:default;opacity:.6}@media(max-width:680px){.article-current-drawing,.production-order-drawing,.article-drawing-version{align-items:stretch;flex-direction:column}.article-drawing-version-actions{flex-direction:column}}.panel-heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.danger-button{border:1px solid #fecaca;border-radius:10px;padding:9px 12px;background:#fff;color:#b91c1c;font:inherit;font-weight:800;cursor:pointer}.danger-button:hover:not(:disabled){background:#fef2f2}.danger-button.compact{padding:7px 10px;font-size:12px}.danger-button:disabled{cursor:default;opacity:.55}@media(max-width:680px){.panel-heading-actions{width:100%;justify-content:stretch}.panel-heading-actions>button{flex:1 1 auto}}.production-status.setup{background:#eef2ff;color:#4338ca}.worklist-process-data{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.worklist-process-data>div,.worklist-production-head>div{display:grid;gap:4px;padding:10px 12px;border:1px solid #e5e7eb;border-radius:10px;background:#f9fafb}.worklist-process-data span,.worklist-production-head span{color:#6b7280;font-size:11px;font-weight:700}.worklist-process-data strong,.worklist-production-head strong{font-size:13px}.worklist-setup-start{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:10px;align-items:end;padding-top:12px;border-top:1px solid #e5e7eb}.worklist-setup-start label,.worklist-feedback-form label{display:grid;gap:6px;font-size:12px;font-weight:700}.worklist-setup-start input,.worklist-feedback-form input{width:100%;min-height:40px;border:1px solid #d1d5db;border-radius:9px;padding:8px 10px;background:#fff;color:#111827;font:inherit}.worklist-setup-summary{display:flex;align-items:center;justify-content:space-between;gap:12px}.worklist-setup-summary p{margin:0;color:#4b5563;font-size:12px}.worklist-production-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.worklist-feedback-quantities.two{grid-template-columns:repeat(2,minmax(0,1fr))}.worklist-feedback-hint{margin:0;padding:9px 10px;border-radius:9px;background:#f9fafb;color:#6b7280;font-size:11px;line-height:1.45}.worklist-done-summary{margin:0;padding:10px 12px;border-radius:10px;background:#ecfdf5;color:#166534;font-size:12px}@media(max-width:680px){.worklist-process-data,.worklist-setup-start,.worklist-feedback-quantities.two{grid-template-columns:1fr}.worklist-setup-summary,.worklist-production-head{align-items:stretch;flex-direction:column}}.worklist-add-operation-button{justify-self:start;border:1px dashed #9ca3af;border-radius:9px;padding:8px 10px;background:#fff;color:#374151;font:inherit;font-size:12px;font-weight:800;cursor:pointer}.worklist-add-operation-button:hover:not(:disabled){background:#f9fafb}.worklist-add-operation-button:disabled{opacity:.55;cursor:default}.drawing-analysis-card{display:grid;gap:8px;padding:12px;border:1px solid #d1d5db;border-radius:10px;background:#f9fafb;font-size:12px}.drawing-analysis-card.ok{border-color:#bbf7d0;background:#f0fdf4}.drawing-analysis-card.revision{border-color:#fde68a;background:#fffbeb}.drawing-analysis-card.mismatch{border-color:#fecaca;background:#fef2f2}.drawing-analysis-card p,.drawing-analysis-card small{margin:0}.drawing-analysis-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.drawing-analysis-grid>span{display:grid;gap:2px;padding:8px;border-radius:8px;background:#ffffffb8}.drawing-analysis-confirm{display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:8px!important;padding-top:4px;font-weight:700}.drawing-analysis-confirm input{width:auto!important;min-height:auto!important;margin-top:2px}@media(max-width:680px){.drawing-analysis-grid{grid-template-columns:1fr}}.production-article-search{position:relative;display:grid;gap:6px}.production-article-search>label{display:grid;gap:6px;font-size:13px;font-weight:700}.production-article-search-results{display:grid;gap:5px;max-height:300px;overflow:auto;padding:6px;border:1px solid #d1d5db;border-radius:12px;background:#fff}.production-article-search-results button{display:grid;gap:3px;width:100%;padding:10px 12px;border:1px solid transparent;border-radius:9px;background:#fff;color:#111827;text-align:left;font:inherit;cursor:pointer}.production-article-search-results button:hover,.production-article-search-results button.selected{border-color:#dbeafe;background:#eff6ff}.production-article-search-results button span,.production-article-search-results p{margin:0;color:#6b7280;font-size:11px}.production-article-template{display:grid;gap:12px;padding:14px;border:1px solid #dbeafe;border-radius:13px;background:#f8fbff}.production-article-template-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.production-article-template-head>div{display:grid;gap:3px}.production-article-template-head span,.production-article-template-head small{color:#64748b;font-size:11px}.production-article-template-head strong{font-size:16px}.production-repeat-revision-check{display:grid;gap:3px;padding:10px 12px;border:1px solid #d1d5db;border-radius:9px;background:#fff}.production-repeat-revision-check span{color:#64748b;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.production-repeat-revision-check strong{font-size:12px}.production-repeat-revision-check small{color:#4b5563;font-size:11px;line-height:1.45}.production-repeat-revision-check.same{border-color:#bbf7d0;background:#f0fdf4}.production-repeat-revision-check.changed{border-color:#fed7aa;background:#fff7ed}.production-repeat-revision-check.first{border-color:#bfdbfe;background:#eff6ff}.production-repeat-revision-check.loading{background:#f9fafb}.production-article-route-preview{display:grid;gap:6px}.production-article-route-preview>div{display:grid;gap:3px;padding:9px 10px;border:1px solid #e5e7eb;border-radius:9px;background:#fff}.production-article-route-preview strong{font-size:12px}.production-article-route-preview span{color:#6b7280;font-size:11px}.production-create-freeze-note,.production-create-empty-article{margin:0;padding:10px 12px;border-radius:9px;background:#f3f4f6;color:#4b5563;font-size:11px;line-height:1.45}.production-create-order-fields{padding-top:4px;border-top:1px solid #e5e7eb}.production-create-order-fields h3{margin:2px 0 4px;font-size:16px}.production-create-order-fields p:last-child{margin:0;color:#6b7280;font-size:12px}@media(max-width:680px){.production-article-template-head{align-items:stretch;flex-direction:column}}.compact-delivery-page{display:grid;gap:14px}.delivery-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.delivery-summary-grid button{display:grid;gap:6px;text-align:left;padding:13px 14px;border:1px solid #e5e7eb;border-radius:12px;background:#fff;cursor:pointer}.delivery-summary-grid button:hover{border-color:#bfdbfe;background:#f8fbff}.delivery-summary-grid span{color:#6b7280;font-size:11px;font-weight:700}.delivery-summary-grid strong{font-size:22px}.delivery-compact-filters{display:grid;grid-template-columns:minmax(240px,1.5fr) minmax(360px,2fr) minmax(170px,.7fr);align-items:end;gap:12px}.delivery-compact-filters label{display:grid;gap:5px;color:#4b5563;font-size:11px;font-weight:700}.delivery-period-buttons{display:flex;flex-wrap:wrap;gap:6px}.delivery-period-buttons button{padding:8px 11px;border:1px solid #d1d5db;border-radius:9px;background:#fff;color:#374151;cursor:pointer;font-size:12px;font-weight:700}.delivery-period-buttons button.active{border-color:#1d4ed8;background:#1d4ed8;color:#fff}.delivery-table-panel{padding:0;overflow:hidden}.delivery-table-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border-bottom:1px solid #e5e7eb}.delivery-table-heading h3{margin:0}.delivery-table-heading>div:first-child{display:flex;align-items:baseline;gap:9px}.delivery-table-heading>div:first-child span{color:#6b7280;font-size:11px}.delivery-legend{display:flex;flex-wrap:wrap;gap:6px}.delivery-table-scroll{width:100%;overflow-x:auto}.delivery-compact-table{width:100%;min-width:1450px;border-collapse:collapse;font-size:11px}.delivery-compact-table th{position:sticky;top:0;z-index:1;padding:10px 8px;background:#0f3d5e;color:#fff;text-align:left;font-size:10px;letter-spacing:.02em;white-space:nowrap}.delivery-compact-table td{padding:9px 8px;border-bottom:1px solid #e5e7eb;vertical-align:middle;white-space:nowrap}.delivery-compact-table tbody tr:hover{background:#f8fafc}.delivery-compact-table td>strong,.delivery-compact-table td>small{display:block}.delivery-compact-table td>small{margin-top:2px;color:#6b7280;font-size:9px}.delivery-number{text-align:center;font-weight:800}.delivery-overdue{color:#b91c1c}.delivery-stock-placeholder{display:inline-grid;place-items:center;min-width:42px;min-height:30px;border:1px dashed #d1d5db;border-radius:7px;color:#9ca3af;background:#f9fafb}.delivery-area-status{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:34px;min-height:28px;padding:4px 7px;border-radius:7px;font-weight:900}.delivery-area-status small{display:none;font-size:9px;font-weight:700}.delivery-area-status.open{background:#fff7ed;color:#9a3412}.delivery-area-status.in_progress{background:#eff6ff;color:#1d4ed8}.delivery-area-status.done{background:#f0fdf4;color:#166534}.delivery-area-status.problem{background:#fef2f2;color:#b91c1c}.delivery-area-status.unused{border:1px solid #e5e7eb;background:#f9fafb;color:#9ca3af}.delivery-overall-status{display:inline-flex;align-items:center;min-height:28px;padding:5px 8px;border-radius:8px;font-size:10px;font-weight:800}.delivery-overall-status.preparation{background:#f3f4f6;color:#4b5563}.delivery-overall-status.working{background:#eff6ff;color:#1d4ed8}.delivery-overall-status.finished,.delivery-overall-status.warehouse{background:#fff7ed;color:#9a3412}.delivery-overall-status.ready{background:#f0fdf4;color:#166534}.delivery-overall-status.delivered{background:#ecfdf5;color:#065f46}.delivery-overall-status.problem{background:#fef2f2;color:#b91c1c}.delivery-action-button{min-height:30px;padding:5px 8px;border:0;border-radius:7px;cursor:pointer;font-size:10px;font-weight:800}.delivery-action-button.warehouse{background:#0f766e;color:#fff}.delivery-action-button.delivered{background:#166534;color:#fff}.delivery-action-button:disabled{cursor:wait;opacity:.6}.delivery-delivered-check{display:inline-grid;place-items:center;min-width:28px;min-height:28px;border-radius:7px;background:#f0fdf4;color:#166534;font-weight:900}.delivery-no-action{color:#9ca3af}.worklist-handover-box{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:10px;padding:12px;border:1px solid #fed7aa;border-radius:10px;background:#fff7ed}.worklist-handover-box p{margin:4px 0 0;color:#9a3412;font-size:11px}.worklist-handover-status{margin:10px 0 0;padding:9px 11px;border-radius:8px;background:#fff7ed;color:#9a3412;font-size:11px;font-weight:800}.worklist-handover-status.ready{background:#f0fdf4;color:#166534}@media(max-width:980px){.delivery-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.delivery-compact-filters{grid-template-columns:1fr}.worklist-handover-box{align-items:stretch;flex-direction:column}}@media(max-width:560px){.delivery-summary-grid{grid-template-columns:1fr}.delivery-table-heading{align-items:flex-start;flex-direction:column}}.employee-heading-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.legacy-import-result{display:grid;gap:9px;margin:14px 0;padding:14px;border:1px solid #dbeafe;border-radius:12px;background:#f8fbff}.legacy-import-result p{margin:0;color:#4b5563;font-size:13px;line-height:1.45}.legacy-import-result .primary-button{justify-self:start}.legacy-import-failures{display:grid;gap:4px;margin-top:4px;padding-top:8px;border-top:1px solid #e5e7eb;color:#991b1b}.initial-password-card{max-width:520px}@media(max-width:640px){.employee-heading-actions{width:100%;justify-content:stretch}.employee-heading-actions .secondary-button{flex:1 1 100%}.legacy-import-result .primary-button{width:100%}}.shift-view-toggle{display:inline-flex;gap:4px;margin-bottom:14px;padding:4px;border:1px solid #e5e7eb;border-radius:10px;background:#f9fafb}.shift-view-toggle button{min-height:34px;padding:6px 14px;border:0;border-radius:8px;background:transparent;color:#4b5563;font:inherit;font-size:13px;font-weight:750;cursor:pointer}.shift-view-toggle button.active{background:#fff;color:#111827;box-shadow:0 1px 2px #0f172a14}.shift-filter-fields{display:flex;flex-wrap:wrap;gap:10px}.shift-filter-fields label{min-width:230px}.shift-filter-fields input{min-height:40px;border:1px solid #d1d5db;border-radius:9px;padding:7px 9px;background:#fff;color:#111827;font:inherit}.shift-month-panel{margin-top:4px}.shift-month-toolbar{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:12px}.shift-month-toolbar>div{display:grid;gap:3px}.shift-month-toolbar>div>strong{font-size:17px;text-transform:capitalize}.shift-month-toolbar>div>span{color:#6b7280;font-size:12px}.shift-month-toolbar label{display:grid;gap:5px;min-width:220px;color:#374151;font-size:12px;font-weight:750}.shift-month-toolbar select{min-height:38px;border:1px solid #d1d5db;border-radius:9px;padding:6px 8px;background:#fff;color:#111827;font:inherit}.shift-month-scroll{overflow:auto;max-height:68vh;border:1px solid #e5e7eb;border-radius:14px;background:#fff}.shift-month-table{width:max-content;min-width:100%;border-collapse:collapse;font-size:11px}.shift-month-table th,.shift-month-table td{min-width:38px;height:38px;padding:0;border-right:1px solid #f1f5f9;border-bottom:1px solid #e5e7eb;text-align:center}.shift-month-table thead th{position:sticky;top:0;z-index:3;background:#f8fafc;color:#475569}.shift-month-table thead th span,.shift-month-table thead th small{display:block}.shift-month-table thead th small{margin-top:1px;font-size:9px;font-weight:650;color:#94a3b8}.shift-month-table .month-employee-column{position:sticky;left:0;z-index:2;min-width:190px;max-width:190px;padding:7px 10px;background:#fff;text-align:left}.shift-month-table thead .month-employee-column{z-index:4;background:#f8fafc}.shift-month-table .month-employee-column strong,.shift-month-table .month-employee-column small{display:block}.shift-month-table .month-employee-column strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.shift-month-table .month-employee-column small{margin-top:2px;color:#94a3b8;font-size:9px;font-weight:600}.shift-month-table .weekend{background:#fafafa}.shift-month-department-row th{position:relative;left:auto;z-index:1;padding:6px 10px;background:#eef2f7;color:#475569;text-align:left;font-size:10px;font-weight:800}.shift-month-cell{width:100%;height:100%;min-height:36px;border:0;background:transparent;color:#334155;font:inherit;font-size:10px;font-weight:800;cursor:pointer}.shift-month-cell:hover{box-shadow:inset 0 0 0 2px #94a3b8}.shift-month-cell:disabled{cursor:wait;opacity:.55}.shift-year-section{margin-top:24px;padding-top:18px;border-top:1px solid #e5e7eb}.shift-year-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:14px}.shift-year-heading h3{margin:2px 0 3px}.shift-year-heading p{margin:0;color:#6b7280;font-size:12px}.shift-year-heading label{display:grid;gap:5px;min-width:110px;color:#374151;font-size:12px;font-weight:750}.shift-year-heading input{min-height:38px;border:1px solid #d1d5db;border-radius:9px;padding:6px 8px;background:#fff;color:#111827;font:inherit}.shift-year-kpis{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:10px;margin-bottom:12px}.shift-year-kpis>div{display:grid;gap:3px;padding:12px;border:1px solid #e5e7eb;border-radius:12px;background:#fff}.shift-year-kpis span{color:#6b7280;font-size:11px;font-weight:700}.shift-year-kpis strong{font-size:20px}.shift-year-table-wrap{overflow:auto;max-height:62vh;border:1px solid #e5e7eb;border-radius:14px;background:#fff}.shift-year-table{width:100%;min-width:1180px;border-collapse:collapse;font-size:12px}.shift-year-table th,.shift-year-table td{padding:9px 10px;border-right:1px solid #f3f4f6;border-bottom:1px solid #e5e7eb;text-align:center;white-space:nowrap}.shift-year-table thead th{position:sticky;top:0;z-index:2;background:#f8fafc;color:#475569;font-size:11px}.shift-year-table tbody th{position:sticky;left:0;z-index:1;min-width:190px;background:#fff;text-align:left}.shift-year-table tbody th strong,.shift-year-table tbody th small{display:block}.shift-year-table tbody th small{margin-top:2px;color:#9ca3af;font-size:10px;font-weight:600}.shift-year-extras{max-width:300px;overflow:hidden;text-overflow:ellipsis;text-align:left!important}@media(max-width:720px){.shift-filter-fields{display:grid;width:100%}.shift-filter-fields label{min-width:0}.shift-month-toolbar,.shift-year-heading{align-items:stretch;flex-direction:column}.shift-month-toolbar label,.shift-year-heading label{min-width:0}.shift-year-kpis{grid-template-columns:repeat(2,minmax(120px,1fr))}}.employee-chip-panel{display:grid;gap:12px;margin-top:18px;padding:15px;border:1px solid #dbe4e9;border-radius:14px;background:#f9fbfc}.employee-chip-panel-empty{color:#64748b}.employee-chip-panel-empty h3,.employee-chip-panel-heading h3{margin:2px 0 0;color:#17365d}.employee-chip-panel-empty p:last-child{margin:7px 0 0;font-size:13px;line-height:1.45}.employee-chip-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.employee-chip-status{flex:0 0 auto;padding:6px 9px;border-radius:999px;background:#eef2f4;color:#64748b;font-size:11px;font-weight:800}.employee-chip-status.has-chip{background:#e8f6ed;color:#247746}.employee-chip-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.employee-chip-details>div{display:grid;gap:3px;padding:10px 11px;border:1px solid #e5e7eb;border-radius:10px;background:#fff}.employee-chip-details span{color:#6b7280;font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.04em}.employee-chip-details strong{color:#1f3f52;font-size:13px;word-break:break-word}.employee-chip-copy{margin:0;color:#64748b;font-size:13px;line-height:1.45}.employee-chip-actions{display:flex;flex-wrap:wrap;gap:8px}.employee-chip-actions .danger-soft{color:#991b1b}.employee-chip-actions .danger-soft:disabled{color:#9ca3af}.employee-chip-bridge-note{margin:0;padding:10px 11px;border:1px dashed #cbdbe2;border-radius:10px;color:#617782;font-size:11px;line-height:1.45}.employee-chip-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:grid;place-items:center;padding:18px;background:#112a3a85;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.employee-chip-dialog{box-sizing:border-box;width:min(620px,100%);max-height:92vh;overflow:auto;padding:18px;border-radius:18px;background:#fff;box-shadow:0 24px 70px #07213047}.employee-chip-dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.employee-chip-dialog-heading h3{margin:3px 0 0;color:#17365d;font-size:17px}.employee-chip-form{display:grid;gap:10px}.employee-chip-form label{display:grid;gap:5px}.employee-chip-form label>span{color:#607681;font-size:12px;font-weight:800}.employee-chip-form input,.employee-chip-form select{box-sizing:border-box;width:100%;min-height:44px;border:1px solid #d1d5db;border-radius:9px;padding:8px 10px;background:#fff;color:#111827;font:inherit}.employee-chip-help{margin:0;padding:10px 12px;border-radius:10px;background:#f1f7fa;color:#496675;font-size:12px;line-height:1.45}.employee-chip-preview{color:#667e88;font-size:11px;font-weight:700}.employee-chip-safety{padding:10px 12px;border-radius:10px;background:#fff7df;color:#795f14;font-size:12px;font-weight:700}.employee-chip-result{display:grid;gap:3px;padding:11px 12px;border-radius:10px;font-size:12px}.employee-chip-result.success{background:#e9f7ee;color:#21663c}.employee-chip-result.warning{background:#fff7df;color:#765d16}.employee-chip-result.error{background:#fdecec;color:#922f2f}.employee-chip-result span{line-height:1.4}.employee-chip-dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}@media(max-width:700px){.employee-chip-panel-heading,.employee-chip-dialog-heading{flex-direction:column}.employee-chip-status{align-self:flex-start}.employee-chip-details{grid-template-columns:1fr}.employee-chip-actions{display:grid;grid-template-columns:1fr 1fr}.employee-chip-actions .secondary-button:last-child{grid-column:1 / -1}.employee-chip-dialog{padding:15px;border-radius:16px}.employee-chip-dialog-heading .secondary-button{width:100%}.employee-chip-dialog-actions{display:grid;grid-template-columns:1fr 1fr}.employee-chip-dialog-actions button{width:100%}}.employee-chip-bridge-panel{display:grid;gap:12px;margin-top:18px;padding:15px;border:1px solid #cfdbea;border-radius:14px;background:linear-gradient(135deg,#f8faff,#edf3fb)}.employee-chip-pair-form{display:flex;align-items:end;gap:10px}.employee-chip-pair-form label{display:grid;flex:1;gap:5px;min-width:0}.employee-chip-pair-form label>span{color:#607681;font-size:12px;font-weight:800}.employee-chip-pair-form input{box-sizing:border-box;width:100%;min-height:40px;border:1px solid #cbd9e5;border-radius:9px;padding:7px 9px;background:#fff;color:#111827;font:inherit;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.employee-chip-reader-state{display:flex;align-items:center;gap:8px;padding:9px 10px;border:1px solid #dbe4e9;border-radius:10px;background:#f8fafc;color:#496675;font-size:12px}.employee-chip-reader-dot{flex:0 0 9px;width:9px;height:9px;border-radius:999px;background:#16a34a;box-shadow:0 0 0 3px #16a34a1f}@media(max-width:700px){.employee-chip-pair-form{align-items:stretch;flex-direction:column}.employee-chip-pair-form .primary-button{width:100%}}.login-chip-panel{display:grid;gap:10px;margin:18px 0 16px;padding:14px;border:1px solid #d6e1e7;border-radius:14px;background:#f8fafb}.login-chip-panel.ready,.login-chip-panel.signing-in{border-color:#bbdfc8;background:#f2faf5}.login-chip-panel.error{border-color:#efc6c6;background:#fff7f7}.login-chip-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px}.login-chip-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#254d78;color:#fff;font-size:10px;font-weight:900;letter-spacing:.04em}.login-chip-head>div{min-width:0}.login-chip-head strong,.login-chip-head div>span{display:block}.login-chip-head strong{color:#17365d;font-size:13px}.login-chip-head div>span{margin-top:2px;overflow:hidden;color:#72818a;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.login-chip-dot{width:10px;height:10px;border-radius:999px;background:#94a3b8}.login-chip-dot.ready{background:#16a34a;box-shadow:0 0 0 4px #16a34a1f}.login-chip-dot.error{background:#dc2626;box-shadow:0 0 0 4px #dc26261a}.login-chip-dot.checking{background:#d97706;box-shadow:0 0 0 4px #d977061a}.login-chip-status{margin:0;color:#526b79;font-size:12px;font-weight:700;line-height:1.45}.login-chip-panel.ready .login-chip-status,.login-chip-panel.signing-in .login-chip-status{color:#21663c}.login-chip-panel.error .login-chip-status{color:#922f2f}.login-chip-note{color:#788892;font-size:10px;line-height:1.4}.login-divider{display:flex;align-items:center;gap:10px;margin:4px 0 13px;color:#94a3b8;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:#e5e7eb}@media(max-width:520px){.login-chip-panel{padding:12px}.login-chip-head{grid-template-columns:auto minmax(0,1fr) auto}}.material-excel-fallback{display:grid;gap:14px;margin-bottom:18px;border-left:5px solid #17365d;background:#f8fbfc}.material-excel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.material-excel-heading h2{margin:2px 0 4px}.material-excel-heading p:last-child{max-width:760px;margin:0;color:#5f7480;font-size:13px;line-height:1.5}.excel-fallback-state{flex:0 0 auto;padding:6px 10px;border-radius:999px;background:#eef2f4;color:#64748b;font-size:11px;font-weight:850}.excel-fallback-state.ready{background:#fff4d6;color:#7b5a05}.excel-fallback-state.active{background:#e8f6ed;color:#247746}.excel-fallback-facts{display:grid;grid-template-columns:minmax(0,1.7fr) repeat(2,minmax(150px,.7fr));gap:10px}.excel-fallback-facts>div{display:grid;gap:3px;min-width:0;padding:11px 12px;border:1px solid #e0e8ec;border-radius:11px;background:#fff}.excel-fallback-facts span{color:#6b7280;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.excel-fallback-facts strong{overflow:hidden;color:#17365d;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.excel-fallback-facts small{color:#72818a;font-size:10px}.excel-fallback-master,.excel-fallback-active{display:grid;gap:11px}.excel-fallback-actions{display:flex;flex-wrap:wrap;gap:8px}.excel-fallback-preflight,.excel-fallback-active{padding:11px 12px;border:1px solid #dbe5e9;border-radius:11px;background:#fff}.excel-fallback-preflight{display:grid;gap:3px}.excel-fallback-preflight strong{color:#17365d}.excel-fallback-preflight span,.excel-fallback-preflight small,.excel-fallback-active span{color:#657985;font-size:11px;line-height:1.4}.excel-fallback-active{grid-template-columns:minmax(0,1fr) auto;align-items:center}.excel-fallback-active>div{display:grid;gap:4px}.excel-fallback-active strong{color:#21663c}.excel-fallback-message{margin:0;padding:10px 12px;border-radius:10px;font-size:12px;font-weight:700;line-height:1.45}.excel-fallback-message.success{background:#e9f7ee;color:#21663c}.excel-fallback-message.warning{background:#fff7df;color:#765d16}.excel-fallback-message.error{background:#fdecec;color:#922f2f}.excel-fallback-note{margin:0;padding-top:10px;border-top:1px solid #e3eaee;color:#6f8088;font-size:10px;line-height:1.45}.material-excel-compat{display:grid;gap:12px;padding:14px;border:1px solid #dbe5e9;border-radius:12px;background:#f8fbfc}.material-excel-compat h3{margin:2px 0 3px;color:#17365d;font-size:15px}.material-excel-compat>div:first-child>p:last-child{margin:0;color:#667b86;font-size:11px;line-height:1.45}@media(max-width:760px){.material-excel-heading{flex-direction:column}.excel-fallback-state{align-self:flex-start}.excel-fallback-facts{grid-template-columns:1fr}.excel-fallback-actions{display:grid;grid-template-columns:1fr}.excel-fallback-actions button,.excel-fallback-active button{width:100%}.excel-fallback-active{grid-template-columns:1fr}}.material-form-intro,.material-detail-subtitle{margin:4px 0 0;color:#6b7280;font-size:12px;line-height:1.45}.material-master-section{display:grid;gap:12px;padding:15px;border:1px solid #dbe4e9;border-radius:13px;background:#f9fbfc}.material-master-section>label{display:grid;gap:7px;font-size:14px;font-weight:650}.material-section-heading{display:grid;gap:2px}.material-section-heading h3{margin:0;color:#17365d;font-size:15px}.material-list-controls{display:grid;gap:10px}.material-sort{display:grid;gap:7px;color:#374151;font-size:13px;font-weight:650}.material-sort select{width:100%;min-height:40px;border:1px solid #d1d5db;border-radius:10px;padding:8px 10px;background:#fff;color:#111827;font:inherit}.material-list-count{margin-top:10px;color:#6b7280;font-size:11px;font-weight:700}.material-row-location{color:#7a8992!important;font-size:10px}.material-facts-legacy{grid-template-columns:repeat(2,minmax(0,1fr))}@media(min-width:1180px){.material-facts-legacy{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:600px){.material-master-section{padding:12px}.material-facts-legacy{grid-template-columns:1fr}}
