*{box-sizing:border-box}body,html{margin:0;padding:0;font-family:Arial,sans-serif;background:#f4f7fb;color:#1d2433}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.container{max-width:1440px;margin:0 auto;padding:24px}.card{background:#fff;border:1px solid #dde5f0;border-radius:18px;box-shadow:0 6px 18px rgba(17,24,39,.05)}.grid{display:grid;grid-gap:16px;gap:16px}.toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap}table{width:100%;min-width:1100px}td,th{border:1px solid #d8e1eb;padding:8px;text-align:center}td.sticky,th.sticky{position:-webkit-sticky;position:sticky;left:0;background:#fff;z-index:1;text-align:left;min-width:240px}thead th{background:#eef4fb;font-weight:700}.notes{min-height:110px;resize:vertical;padding:12px;border-radius:12px;border:1px solid #cbd5e1}input[type=number],select{width:100%;min-width:58px;padding:6px 8px;border:1px solid #cbd5e1;border-radius:8px;background:#fff}button.primary{background:#1f5eff;color:#fff;border:none;padding:10px 14px;border-radius:10px;cursor:pointer}.secondary,button.secondary{background:#fff;color:#1d2433;border:1px solid #cbd5e1;padding:10px 14px;border-radius:10px;cursor:pointer}.summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:12px;gap:12px}.summary .item{padding:16px;border-radius:16px;background:#f8fbff;border:1px solid #dbeafe}.login{max-width:420px;margin:90px auto;padding:24px}.login form{display:grid;grid-gap:12px;gap:12px}label{display:grid;grid-gap:6px;gap:6px;font-size:14px}input[type=email],input[type=password]{padding:11px 12px;border:1px solid #cbd5e1;border-radius:10px}.small{font-size:12px;color:#5b6475}.warning{color:#b45309;background:#fffbeb;border:1px solid #fcd34d;padding:10px 12px;border-radius:12px}.container{max-width:none;width:100%;padding:16px}.employee-workspace{gap:12px}.employee-page-actions{display:grid;grid-template-columns:repeat(3,minmax(105px,1fr));grid-gap:8px;gap:8px}.employee-page-action{display:inline-flex;min-height:40px;align-items:center;justify-content:center;gap:7px;padding:7px 10px;border:1px solid #cbd5e1;border-radius:7px;background:#fff;color:#1e3a5f;font-size:13px;font-weight:700;text-decoration:none}.employee-page-action:hover{border-color:#60a5fa;background:#eff6ff;color:#1d4ed8}.employee-save-status{color:#1d4ed8;font-weight:700}.employee-effective-panel{display:grid;grid-template-columns:auto minmax(220px,1fr) minmax(220px,280px);grid-gap:12px;gap:12px;align-items:center;margin-top:16px;padding:12px;border:1px solid #d8e1eb;border-radius:8px;background:#f8fafc}.employee-effective-icon{display:grid;width:38px;height:38px;place-items:center;border-radius:7px;background:#dbeafe;color:#1d4ed8}.employee-effective-copy{display:grid;grid-gap:3px;gap:3px}.employee-effective-copy span,.employee-effective-select span{color:#64748b;font-size:12px}.employee-effective-select{display:grid;grid-gap:5px;gap:5px;font-weight:700}.employee-effective-select select{width:100%;min-height:42px;border:2px solid #2563eb;border-radius:7px;background:#fff;font-weight:700}.employee-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:10px;gap:10px}.department-summary{display:grid;grid-gap:5px;gap:5px;min-height:80px;padding:12px;border:1px solid #d8e1ec;border-radius:8px;background:#fff;color:#1d2433;text-align:left;cursor:pointer}.department-summary.active{border-color:#2563eb;background:#eff6ff;box-shadow:0 0 0 2px rgba(37,99,235,.12)}.department-summary span{color:#5b6475;font-size:12px}.nf-employee-form{display:grid;grid-template-columns:minmax(240px,2fr) minmax(180px,1fr) 120px 110px auto;grid-gap:10px;gap:10px;align-items:center}.nf-employee-form input,.nf-employee-form select{width:100%;box-sizing:border-box}.employee-admin-table-wrap{border:1px solid #d8e1ec;border-radius:7px}.employee-admin-table th{background:#eef4fa;font-size:12px}.employee-admin-table input:not([type]),.employee-admin-table input[type=text],.employee-admin-table select{width:100%;box-sizing:border-box}.employee-admin-table input[type=number]{width:68px}.nf-employee-table{min-width:1240px}.nf-employee-table td,.nf-employee-table th{text-align:left}.nf-employee-table td:first-child,.nf-employee-table td:nth-child(n+5),.nf-employee-table th:first-child,.nf-employee-table th:nth-child(n+5){text-align:center}.employee-period-cell{min-width:150px;color:#475569;font-size:12px;font-weight:600;white-space:nowrap}.employee-section-row td{padding:8px 10px;background:#eef4fb;color:#334155;font-weight:700;text-align:left!important}.checkbox-inline{display:inline-flex;width:max-content;align-items:center;gap:6px}.checkbox-inline input{width:auto}.status-pill{display:inline-flex;min-height:26px;align-items:center;padding:4px 9px;border-radius:999px;background:#dcfce7;color:#166534;font-size:12px;font-weight:700}.status-pill.muted{background:#e2e8f0;color:#475569}.icon-button{width:34px;height:30px;padding:0!important}.inactive-employee-row{opacity:.58}@media (max-width:900px){.nf-employee-form{grid-template-columns:1fr}.employee-effective-panel{grid-template-columns:auto 1fr}.employee-effective-select{grid-column:1/-1}}@media (max-width:620px){.employee-page-actions{width:100%}.employee-page-actions,.employee-summary-grid{grid-template-columns:1fr}}.schedule-table-wrap{width:100%;overflow-x:auto}table{border-collapse:collapse;width:max-content;min-width:100%}td,th{white-space:nowrap;min-width:54px;padding:6px 8px}td:first-child,th:first-child{min-width:220px;max-width:280px;white-space:normal}button,input,select,textarea{font-size:14px}.schedule-cell{display:flex;gap:4px;align-items:center;min-width:88px}.schedule-cell select{min-width:54px}.schedule-cell input{width:42px;min-width:42px}.table-wrap table{min-width:100%}.table-wrap td,.table-wrap th{white-space:nowrap;min-width:56px;padding:6px}.table-wrap .sticky{z-index:2;min-width:220px;max-width:280px;white-space:normal}.shift-cell{display:flex;gap:4px;min-width:72px}.shift-cell select.shift-main{width:58px;min-width:58px}.shift-cell .shift-extra{width:42px;min-width:42px;padding:4px;text-align:center}.shift-cell .team-size{width:46px;min-width:46px;padding:4px}.total-cell{min-width:90px;text-align:right}.table-wrap{max-height:75vh;border:1px solid #d7dee8}.table-wrap thead th{position:-webkit-sticky;position:sticky;top:0;z-index:5;background:#eef3f8}.table-wrap thead tr:nth-child(2) th{top:34px;z-index:5;background:#f7fafc}.table-wrap .sticky{position:-webkit-sticky;position:sticky;left:0;z-index:6;background:#ffffff;box-shadow:2px 0 4px rgba(0,0,0,.06)}.table-wrap thead .sticky{z-index:8;background:#eef3f8}.shift-main option[value=DAY_9_9]{background:#dcfce7}.shift-main option[value=SICK]{background:#fee2e2}.shift-main option[value=VACATION]{background:#fef3c7}.shift-cell select[value=DAY_9_9],.shift-day{background:#dcfce7}.shift-day-12{background:#dbeafe}.shift-sick{background:#fee2e2}.shift-vacation{background:#fef3c7}.contractor-separator td{height:14px;background:#e5e7eb;border:none}.contractor-row td{background:#f8fafc}.mini-btn{font-size:12px;padding:3px 6px;border-radius:6px;border:1px solid #cbd5e1;cursor:pointer}.mini-btn.danger{color:#991b1b;background:#fee2e2;border-color:#fecaca}.mini-btn.danger:hover{background:#fecaca}.table-wrap td,.table-wrap th{padding:2px!important}.table-wrap .sticky{font-size:11px;line-height:1.15}.shift-cell{display:block}.shift-main{width:30px!important;min-width:30px!important;max-width:30px!important;height:22px;font-size:10px!important;padding:0!important;border-radius:3px}.shift-extra{width:26px!important;min-width:26px!important;max-width:26px!important;height:18px;margin-top:2px}.table-wrap td:last-child,.table-wrap th:last-child{width:58px!important;min-width:58px!important;max-width:58px!important}.row-actions{width:42px!important;min-width:42px!important;max-width:42px!important}.mini-btn{padding:1px 4px!important}.shift-click{width:28px;height:22px;min-width:28px;padding:0;border:1px solid #cbd5e1;font-size:10px;line-height:1}.shift-click:hover{outline:1px solid #64748b}.table-wrap td,.table-wrap th{width:32px!important;min-width:32px!important;max-width:32px!important}.table-wrap .sticky{width:145px!important;min-width:145px!important;max-width:145px!important}.shift-extra{width:24px!important;min-width:24px!important;max-width:24px!important;height:20px}.table-wrap{max-width:100%;overflow:auto;max-height:72vh}.table-wrap table{border-collapse:collapse;table-layout:fixed;min-width:max-content;font-size:11px}.table-wrap td,.table-wrap th{width:34px!important;min-width:34px!important;max-width:34px!important;height:24px;padding:1px!important;text-align:center;vertical-align:middle;overflow:hidden}.table-wrap .sticky{width:170px!important;min-width:170px!important;max-width:170px!important;text-align:left;white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis}.table-wrap td:nth-child(2),.table-wrap th:nth-child(2){width:54px!important;min-width:54px!important;max-width:54px!important}.shift-cell{align-items:center;justify-content:center;gap:1px;width:100%}.shift-click{width:26px!important;min-width:26px!important;max-width:26px!important;height:18px!important;border:1px solid #b8c7d9;border-radius:3px;font-size:10px!important;line-height:16px}.shift-extra{width:14px!important;min-width:14px!important;max-width:14px!important;height:16px!important;border-radius:3px;text-align:center}.shift-extra::placeholder{color:transparent}.mini-btn{width:22px!important;height:18px!important;margin:0!important;font-size:10px!important;line-height:16px}.contractor-separator td{background:#d9dee7!important}.table-wrap td:nth-last-child(-n+6),.table-wrap th:nth-last-child(-n+6){width:62px!important;min-width:62px!important;max-width:62px!important}.notes{width:100%}.table-wrap{width:100%!important;max-width:100%!important;overflow:auto!important;max-height:70vh!important;border:1px solid #d8e1ec!important;background:#fff!important}.table-wrap table{font-size:12px!important}.table-wrap td,.table-wrap th{height:28px!important;padding:2px 3px!important;border:1px solid #d8e1ec!important;text-align:center!important;vertical-align:middle!important}.table-wrap td.sticky,.table-wrap th.sticky{width:180px!important;min-width:180px!important;max-width:180px!important;position:-webkit-sticky!important;position:sticky!important;left:0!important;z-index:8!important;background:#fff!important;text-align:left!important;white-space:nowrap!important;text-overflow:ellipsis!important}.table-wrap td:nth-child(2),.table-wrap th:nth-child(2){width:58px!important;min-width:58px!important;max-width:58px!important}.table-wrap td:nth-child(n+3):nth-child(-n+32),.table-wrap th:nth-child(n+3):nth-child(-n+32){width:38px!important;min-width:38px!important;max-width:38px!important}.table-wrap td:nth-child(n+33),.table-wrap th:nth-child(n+33){width:72px!important;min-width:72px!important;max-width:72px!important}.table-wrap thead th{position:-webkit-sticky!important;position:sticky!important;top:0!important;z-index:7!important;background:#eef4fa!important;font-weight:700!important}.table-wrap thead tr:nth-child(2) th{top:28px!important;background:#f8fbfe!important}.table-wrap thead th.sticky{z-index:10!important}.shift-cell{height:100%!important;gap:2px!important}.shift-click{width:30px!important;min-width:30px!important;height:21px!important;border:1px solid #adc0d4!important;border-radius:4px!important;background:rgba(255,255,255,.75)!important;line-height:19px!important;text-align:center!important;cursor:pointer!important}.shift-click:hover{outline:1px solid #2563eb!important}.shift-extra{width:18px!important;min-width:18px!important;height:20px!important;margin:0!important;font-size:10px!important;text-align:center!important}.mini-btn{width:24px!important;height:20px!important;padding:0!important;margin:0 auto!important;font-size:11px!important;line-height:18px!important;display:block!important}.shift-day{background:#dcfce7!important}.shift-day-12{background:#dbeafe!important}.shift-sick{background:#fee2e2!important}.shift-vacation{background:#fef3c7!important}.contractor-separator td{height:12px!important;background:#dbe2ec!important;border-left:none!important;border-right:none!important}.contractor-row td{background-color:#f8fafc!important}.notes{width:100%!important;min-height:90px!important}.table-wrap table{table-layout:fixed!important;border-collapse:collapse!important;width:max-content!important;min-width:max-content!important}.table-wrap td,.table-wrap th{box-sizing:border-box!important;overflow:hidden!important}.table-wrap td.sticky,.table-wrap th.sticky{width:190px!important;min-width:190px!important;max-width:190px!important}.table-wrap td:nth-child(2),.table-wrap th:nth-child(2){width:60px!important;min-width:60px!important;max-width:60px!important}.table-wrap td:nth-child(n+3):nth-child(-n+32),.table-wrap th:nth-child(n+3):nth-child(-n+32){width:44px!important;min-width:44px!important;max-width:44px!important;padding:2px!important}.table-wrap td:nth-child(n+33),.table-wrap th:nth-child(n+33){width:76px!important;min-width:76px!important;max-width:76px!important}.shift-cell{display:flex!important;width:100%!important;min-width:0!important;overflow:hidden!important}.shift-cell,.shift-click{align-items:center!important;justify-content:center!important}.shift-click{display:inline-flex!important;width:28px!important;min-width:28px!important;max-width:28px!important;height:20px!important;margin:0!important;font-size:11px!important;line-height:1!important}.shift-click,.shift-extra{padding:0!important;box-sizing:border-box!important}.shift-extra{width:12px!important;min-width:12px!important;max-width:12px!important;height:18px!important;margin-left:1px!important;font-size:9px!important}.contractor-separator td{width:auto!important;min-width:0!important;max-width:none!important;padding:0!important}.contractor-separator{display:none!important}.contractor-first td{border-top:8px solid #d9dee7!important}.table-wrap td:nth-child(2),.table-wrap td:nth-child(n+2):nth-child(-n+31),.table-wrap th:nth-child(2),.table-wrap th:nth-child(n+2):nth-child(-n+31){width:44px!important;min-width:44px!important;max-width:44px!important}.table-wrap td:nth-child(n+32),.table-wrap th:nth-child(n+32){width:76px!important;min-width:76px!important;max-width:76px!important}.employee-name-cell span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clear-inline{flex:0 0 auto!important}.contractor-row td{background:#f1f5f9!important}.contractor-row td.sticky{background:#e2e8f0!important;font-weight:600}.contractor-row td.shift-day{background:#dcfce7!important}.contractor-row td.shift-day-12{background:#dbeafe!important}.contractor-row td.shift-sick{background:#fee2e2!important}.contractor-row td.shift-vacation{background:#fef3c7!important}.reception-input{width:46px;height:22px;text-align:center;font-size:11px;border:1px solid #cbd5e1;border-radius:4px}.day-header{gap:1px;line-height:1}.clear-day-btn{font-size:9px!important;line-height:12px!important;margin:0!important}.employee-name-cell{gap:4px!important}.vacation-inline{background:#fef3c7!important;border-color:#f59e0b!important;color:#92400e!important}.clear-inline,.vacation-inline{width:22px!important;height:18px!important;font-size:10px!important}.employee-name-cell{display:flex!important;align-items:center!important;gap:6px!important;white-space:nowrap}.employee-name-cell span{margin-left:6px;font-size:14px}.employee-name-cell button{flex-shrink:0}.clear-inline{font-size:12px!important}.clear-inline,.vacation-inline{width:20px!important;height:20px!important;padding:0!important}.vacation-inline{font-size:11px!important}table td{vertical-align:middle;height:34px}.shift-click{width:100%;height:100%;border:none;background:transparent;cursor:pointer;font-size:13px}.day-header{display:flex;flex-direction:column;align-items:center;gap:2px}.clear-day-btn{width:18px!important;height:14px!important;font-size:10px!important;padding:0!important}table{border-spacing:0}td,th{padding:4px 6px}td.employee-name-cell{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:6px!important;height:36px!important;line-height:1!important}td.employee-name-cell span{display:inline-block!important;margin-left:6px!important;font-size:13px!important;font-weight:400!important;line-height:1.2!important}td.employee-name-cell button{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:20px!important;height:20px!important;padding:0!important;margin:0!important;font-size:11px!important;line-height:1!important;flex:0 0 auto!important}table td{vertical-align:middle!important}table{font-size:13px!important}.sick-inline{background:#fee2e2!important;border-color:#ef4444!important;color:#991b1b!important;width:20px!important;height:20px!important;padding:0!important;font-size:11px!important}.card>.toolbar{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;flex-wrap:wrap!important;width:100%!important;box-sizing:border-box!important}.card>.toolbar h2{flex:1 1 auto!important;min-width:160px!important}.card>.toolbar .primary{flex:0 0 auto!important;margin-left:auto!important;white-space:nowrap!important;max-width:220px!important}.card{box-sizing:border-box!important}.table-wrap{width:100%;overflow-x:auto}.table-wrap table{min-width:1200px;width:max-content}.card{width:100%!important;max-width:100%!important;overflow:hidden!important}.card .toolbar{width:100%!important;display:flex!important;justify-content:space-between!important;align-items:center!important}.card .toolbar .primary{margin-left:auto!important;flex-shrink:0!important}.card .toolbar h2{margin:0!important;flex:1 1 auto!important}.container{overflow-x:hidden!important}.employee-admin-form{display:grid;grid-template-columns:2fr 1fr 120px auto auto auto;grid-gap:10px;gap:10px;align-items:center}.employee-admin-table-wrap{width:100%;overflow-x:auto}.employee-admin-table{width:100%;border-collapse:collapse}.employee-admin-table td,.employee-admin-table th{border:1px solid #d8e1ec;padding:6px;vertical-align:middle}.employee-admin-form input,.employee-admin-form select,.employee-admin-table input:not([type]),.employee-admin-table input[type=text],.employee-admin-table select{width:100%;box-sizing:border-box}.employee-admin-table input[type=number]{width:80px}@media (max-width:900px){.employee-admin-form{grid-template-columns:1fr}}.contractor-header td{background:#f1f5f9;font-weight:600;text-align:center;border-top:2px solid #cbd5f5;border-bottom:2px solid #cbd5f5;padding:6px 0}.contractor-row{background:#f8fafc}.contractor-first td{border-top:2px solid #94a3b8}.contractor-header td{background:#e2e8f0!important;color:#334155!important;font-weight:700!important;text-align:center!important;height:28px!important;border-top:2px solid #94a3b8!important;border-bottom:2px solid #94a3b8!important}.secondary.danger{color:#991b1b!important;border-color:#fecaca!important;background:#fff1f2!important}.secondary.danger:hover{background:#fee2e2!important}.department-total-row td{background:#e0f2fe!important;font-weight:700!important;border-top:2px solid #0284c7!important;border-bottom:2px solid #0284c7!important}.department-total-row td.sticky{background:#bae6fd!important}@media print{@page{size:A4 landscape;margin:6mm}body{background:white!important}.grid>.card:first-child,.notes,.screen-only,.summary,.toolbar a,.toolbar button,.toolbar select,a[href="/api/logout"],label:has(.notes),textarea{display:none!important}.print-only{display:block!important}.card,.container,.grid{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;border:none!important;box-shadow:none!important;overflow:visible!important;background:white!important}.toolbar,.toolbar h2{display:block!important;margin:0 0 4px!important}.toolbar h2{font-size:14px!important}.print-table{width:100%!important;table-layout:fixed!important;border-collapse:collapse!important;font-size:8.5px!important}.print-table td,.print-table th{border:1px solid #777!important;height:16px!important;padding:1px!important;text-align:center!important;vertical-align:middle!important;line-height:1!important;overflow:hidden!important}.print-table td:first-child,.print-table th:first-child{width:38mm!important;text-align:left!important;white-space:nowrap!important;text-overflow:ellipsis!important}.print-table td:not(:first-child),.print-table th:not(:first-child){width:7mm!important}.contractor-row td:first-child{background:#f1f5f9!important;font-weight:600!important}.shift-day{background:#dcfce7!important}.shift-day-12{background:#dbeafe!important}.shift-sick{background:#fee2e2!important}.shift-vacation{background:#fef3c7!important}.contractor-row td:first-child,.shift-day,.shift-day-12,.shift-sick,.shift-vacation{print-color-adjust:exact!important;-webkit-print-color-adjust:exact!important}.print-table tr{page-break-inside:avoid!important;break-inside:avoid!important}.print-table td:first-child{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.print-table td,.print-table th{line-height:1.15!important}.print-table td{vertical-align:middle!important}.print-table th{background:#f3f4f6!important;font-weight:600!important}.print-title{display:block!important;text-align:center!important;margin:0 0 6mm!important;color:#000!important}.print-title-main{font-size:22px!important;font-weight:700!important;letter-spacing:2px!important;line-height:1.1!important}.print-title-main,.print-title-sub{font-family:Times New Roman,serif!important}.print-title-sub{font-size:15px!important;line-height:1.2!important}.print-title-dep{font-size:17px!important;line-height:1.2!important}.print-signatures,.print-title-dep{font-family:Times New Roman,serif!important}.print-signatures{display:block!important;margin-top:10mm!important;font-size:12px!important;line-height:2.2!important;color:#000!important}}.print-only{display:none}@media print{.print-only{display:block!important}}.logs-filter{display:grid;grid-template-columns:180px 1fr 150px 1fr auto auto;grid-gap:10px;gap:10px;align-items:center;margin-top:16px}.logs-filter input,.logs-filter select{width:100%;box-sizing:border-box}@media (max-width:900px){.logs-filter{grid-template-columns:1fr}}.card:first-child .toolbar{display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important}.card:first-child .toolbar .toolbar{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;flex-wrap:nowrap!important;margin-left:auto!important}.card:first-child .toolbar a.secondary,.card:first-child .toolbar button.secondary,.card:first-child .toolbar select{height:34px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;white-space:nowrap!important}.card:first-child .toolbar a.secondary,.card:first-child .toolbar button.secondary{padding:0 12px!important;text-decoration:none!important}@media (max-width:900px){.card:first-child .toolbar,.card:first-child .toolbar .toolbar{flex-wrap:wrap!important;justify-content:flex-start!important}}.lock-status{margin-left:8px}.locked-day-head{background:#fee2e2!important}.shift-click:disabled{opacity:.45!important}.lock-panel{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px}.lock-btn{border:1px solid #cbd5e1;background:#f8fafc;border-radius:8px;padding:6px 10px;cursor:pointer}.lock-btn.locked{background:#fee2e2;border-color:#ef4444;color:#991b1b;font-weight:600}.lock-status{background:#fff1f2;border:1px solid #fecdd3;color:#991b1b;padding:6px 10px;border-radius:8px;font-weight:600}.shift-click:disabled{cursor:not-allowed!important;opacity:.55!important}.supply-table-wrap{width:100%;overflow-x:auto}.supply-table{width:100%;border-collapse:collapse}.supply-table td,.supply-table th{border:1px solid #d8e1ec;padding:6px;vertical-align:middle}.supply-table th{background:#eff6ff;font-weight:700}.supply-table td:first-child{min-width:280px}.supply-table input{width:90px;box-sizing:border-box;text-align:center}.supply-admin-form{display:grid;grid-template-columns:2fr 120px 120px auto;grid-gap:10px;gap:10px;align-items:center}.supply-admin-form input{width:100%;box-sizing:border-box}@media (max-width:900px){.supply-admin-form{grid-template-columns:1fr}}.supply-highlight-row td{background:#fff7ed!important}.supply-highlight-start td{border-top:3px solid #f97316!important}.supply-highlight-start td:first-child:before{content:"Дополнительная группа";display:block;font-size:11px;font-weight:700;color:#c2410c;margin-bottom:4px}.admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:16px;gap:16px}.admin-tile{display:block;background:white;border:1px solid #d8e1ec;border-radius:16px;padding:20px;text-decoration:none;color:inherit;box-shadow:0 8px 24px rgba(15,23,42,.06)}.admin-tile:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(15,23,42,.09)}.admin-tile-icon{font-size:32px;margin-bottom:8px}.admin-tile-title{font-weight:700;font-size:18px;margin-bottom:6px}.admin-tile-text{color:#64748b;font-size:14px;line-height:1.35}.lock-btn.locked{background:#fee2e2!important;border-color:#ef4444!important;color:#991b1b!important;font-weight:700!important}.supply-table input:disabled,textarea:disabled{background:#f1f5f9!important;color:#64748b!important;cursor:not-allowed!important}.logout-button,.logout-link,a[href="/api/logout"]{top:72px!important;right:24px!important;z-index:30!important}body .dashboard-logout-button{position:fixed!important;top:92px!important;z-index:1000!important}@media (max-width:900px){body .dashboard-logout-button{position:static!important;display:inline-flex!important;margin-top:8px!important}}body .dashboard-logout-button{top:68px!important;right:24px!important}a.dashboard-logout-button,body .dashboard-logout-button{position:static!important;top:auto!important;right:auto!important;z-index:auto!important}.access-denied-card{padding:28px!important;max-width:520px;margin:80px auto 0;text-align:center}.access-denied-icon{font-size:42px;margin-bottom:10px}.access-denied-card p{color:#64748b;margin-bottom:20px}.request-status-card{padding:14px!important;border-left:5px solid transparent}.request-status-card.open{background:#f0fdf4!important;border-left-color:#22c55e!important;color:#166534!important}.request-status-card.locked{background:#fff1f2!important;border-left-color:#ef4444!important;color:#991b1b!important}.request-status-card .small{margin-top:4px}.request-ready-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:10px;gap:10px;margin-top:12px}.request-ready-item{border:1px solid #e2e8f0;background:#f8fafc;border-radius:12px;padding:10px}.request-ready-item.ready{background:#f0fdf4;border-color:#22c55e;color:#166534}.request-submit-card{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #e2e8f0;background:#f8fafc;border-radius:12px;padding:12px}.request-submit-card.ready{background:#f0fdf4;border-color:#22c55e;color:#166534}@media (max-width:900px){.request-submit-card{align-items:stretch;flex-direction:column}}.requests-workspace-page{gap:12px}.requests-workspace-page>.card{border-radius:8px}.requests-control-panel{display:grid;grid-template-columns:minmax(300px,1fr) minmax(300px,.9fr) minmax(190px,.55fr);grid-gap:14px;gap:14px;align-items:stretch;margin-top:16px;padding:12px;border:1px solid #d8e1eb;border-radius:8px;background:#f8fafc}.requests-period-control{display:grid;grid-gap:5px;gap:5px;color:#334155;font-size:12px;font-weight:700;text-transform:uppercase}.requests-period-select{width:100%!important;height:46px;padding:0 12px!important;border:2px solid #2563eb!important;border-radius:8px!important;background:#ffffff!important;color:#0f172a;font-size:16px;font-weight:700;box-shadow:0 0 0 3px rgba(37,99,235,.1)}.requests-period-select:focus{outline:2px solid #f59e0b;outline-offset:2px}.requests-page-actions{display:grid;grid-template-columns:repeat(2,minmax(130px,1fr));grid-gap:8px;gap:8px;align-content:end;padding-left:14px;border-left:1px solid #d8e1eb}.requests-page-actions.head-view{grid-template-columns:repeat(3,minmax(120px,1fr))}.requests-page-action{display:inline-flex;min-width:0;min-height:46px;align-items:center;justify-content:center;gap:7px;box-sizing:border-box;padding:8px 12px;border:1px solid #cbd5e1;border-radius:7px;background:#ffffff;color:#1e3a5f;font-size:13px;font-weight:700;line-height:1;text-decoration:none;transition:border-color .12s ease,background .12s ease,color .12s ease}.requests-page-action:hover{border-color:#60a5fa;background:#eff6ff;color:#1d4ed8}.requests-page-action:focus-visible{outline:2px solid #f59e0b;outline-offset:2px}.requests-period-status{display:flex;align-items:center;gap:9px;align-self:end;min-height:46px;box-sizing:border-box;padding:7px 11px;border:1px solid;border-radius:7px}.requests-period-status.open{border-color:#86efac;background:#ecfdf5;color:#166534}.requests-period-status.locked{border-color:#fda4af;background:#fff1f2;color:#9f1239}.requests-period-status div{display:grid;grid-gap:2px;gap:2px}.requests-period-status span{font-size:10px;font-weight:700;text-transform:uppercase}.requests-period-status strong{font-size:13px}.requests-lock-action{display:flex;align-items:center;gap:9px;align-self:end;min-height:46px;box-sizing:border-box;padding:7px 11px;border:1px solid;border-radius:7px;font:inherit;text-align:left;cursor:pointer}.requests-lock-action.open{border-color:#fda4af;background:#fff1f2;color:#9f1239}.requests-lock-action.locked{border-color:#86efac;background:#ecfdf5;color:#166534}.requests-lock-action div{display:grid;grid-gap:2px;gap:2px}.requests-lock-action span{font-size:10px;font-weight:700;text-transform:uppercase}.requests-lock-action strong{font-size:13px}.requests-lock-action:disabled{cursor:wait;opacity:.65}.requests-department-page .request-submit-card{border-radius:7px;background:#f8fafc}.requests-department-page .request-submit-card button{display:inline-flex;align-items:center;justify-content:center;gap:7px}.requests-table-title{margin:0 0 12px;color:#0f172a;font-size:18px;line-height:1.25}.requests-workspace-page .supply-table-wrap{border:1px solid #d8e1ec;border-radius:7px}.requests-workspace-page .supply-table th{background:#eef4fa}.requests-workspace-page .supply-table input{height:34px;border:1px solid #cbd5e1;border-radius:6px;background:#ffffff;font-size:14px}.requests-workspace-page .supply-table input:focus{border-color:#2563eb;outline:2px solid rgba(37,99,235,.15)}@media (max-width:1050px){.requests-control-panel{grid-template-columns:minmax(280px,1fr) minmax(300px,1fr)}.requests-period-status{grid-column:1/-1}}@media (max-width:760px){.requests-control-panel{grid-template-columns:1fr}.requests-page-actions{padding:12px 0 0;border:0;border-top:1px solid #d8e1eb}.requests-period-status{grid-column:auto}}@media (max-width:480px){.requests-page-actions{grid-template-columns:1fr}}.requests-head-page .request-ready-grid{gap:8px}.requests-head-page .request-ready-item{border-radius:7px}.head-dashboard-actions{display:grid;grid-template-columns:repeat(7,minmax(90px,1fr));grid-column:1/-1;grid-gap:8px;gap:8px;padding-top:12px;border-top:1px solid #d8e1eb}.head-dashboard-action{display:inline-flex;min-width:0;min-height:42px;align-items:center;justify-content:center;gap:7px;box-sizing:border-box;padding:7px 10px;border:1px solid #cbd5e1;border-radius:7px;background:#ffffff;color:#1e3a5f;font:inherit;font-size:13px;font-weight:700;line-height:1;text-decoration:none;cursor:pointer;transition:border-color .12s ease,background .12s ease,color .12s ease}.head-dashboard-action:hover{border-color:#60a5fa;background:#eff6ff;color:#1d4ed8}.head-dashboard-action:focus-visible{outline:2px solid #f59e0b;outline-offset:2px}.head-dashboard-action.exit{color:#9f1239}.head-dashboard-action.exit:hover{border-color:#fda4af;background:#fff1f2;color:#9f1239}@media (max-width:1250px){.head-dashboard-actions{grid-template-columns:repeat(4,minmax(100px,1fr))}}@media (max-width:760px){.head-dashboard-actions{grid-template-columns:repeat(3,minmax(90px,1fr))}}@media (max-width:480px){.head-dashboard-actions{grid-template-columns:repeat(2,minmax(110px,1fr))}}.task-form{display:grid;grid-template-columns:2fr 180px 180px 160px 160px;grid-gap:10px;gap:10px;align-items:start}.task-form textarea{grid-column:1/-2}.task-list{display:grid;grid-gap:12px;gap:12px}.task-card{border:1px solid #d8e1ec;border-radius:14px;padding:14px;background:#ffffff;display:grid;grid-template-columns:1fr auto;grid-gap:14px;gap:14px}.task-card.done{background:#f8fafc}.task-card.overdue{border-color:#ef4444;background:#fff1f2}.task-card-main{display:grid;grid-gap:8px;gap:8px}.task-title-input{font-weight:700;font-size:16px}.task-meta{display:grid;grid-template-columns:180px 1fr 150px 150px;grid-gap:8px;gap:8px}.task-card-actions{display:flex;flex-direction:column;gap:8px}.task-status-row{display:flex;gap:8px;align-items:center}.task-status{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:700}.status-NEW{background:#dbeafe;color:#1d4ed8}.status-IN_PROGRESS{background:#fef3c7;color:#92400e}.status-DONE{background:#dcfce7;color:#166534}.status-POSTPONED{background:#f1f5f9;color:#475569}.task-overdue-label{background:#fee2e2;color:#991b1b;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:700}@media (max-width:1000px){.task-card,.task-form,.task-meta{grid-template-columns:1fr}.task-form textarea{grid-column:auto}.task-card-actions{flex-direction:row;flex-wrap:wrap}}.task-quick-status{display:grid;grid-gap:6px;gap:6px}.quick-status{border:1px solid #cbd5e1;background:#f8fafc;color:#334155;border-radius:8px;padding:7px 10px;cursor:pointer;white-space:nowrap}.quick-status.active{background:#dbeafe;border-color:#2563eb;color:#1d4ed8;font-weight:700}.quick-status.done.active{background:#dcfce7;border-color:#22c55e;color:#166534}.quick-status:hover{background:#eef2ff}@media (max-width:1000px){.task-quick-status{grid-template-columns:repeat(3,minmax(0,1fr))}}.employee-order-buttons{display:flex;gap:4px;justify-content:center}.employee-order-buttons button{min-width:34px;padding:4px 8px!important}.inactive-employee-row{opacity:.55;background:#f1f5f9!important}.inactive-employee-row td:first-child:after{content:" скрыт";font-size:11px;color:#64748b;margin-left:6px}.brand-header{display:flex;align-items:center;margin-bottom:14px}.app-logo{height:58px;width:auto;object-fit:contain}.login-brand{justify-content:center;margin-bottom:18px}.login-logo{height:72px}@media print{.brand-header{display:none!important}}.login-logo{height:150px!important;max-width:520px!important}.dashboard-brand{display:flex;align-items:center;margin-bottom:12px}.dashboard-brand-logo{height:72px;width:auto;max-width:420px;object-fit:contain}@media (max-width:900px){.login-logo{height:110px!important;max-width:90vw!important}.dashboard-brand-logo{height:58px;max-width:90vw}}.dashboard-control-panel{display:grid;grid-template-columns:minmax(250px,300px) minmax(520px,1fr) minmax(280px,390px);grid-gap:14px;gap:14px;align-items:stretch;margin-top:16px;padding:12px;background:#f8fafc;border:1px solid #d8e1eb;border-radius:8px}.dashboard-control-panel.department-view{grid-template-columns:minmax(260px,380px) minmax(520px,1fr)}.dashboard-period-role{display:grid;grid-gap:9px;gap:9px;align-content:center}.dashboard-month-control{display:grid;grid-gap:5px;gap:5px;color:#334155;font-size:12px;font-weight:700;text-transform:uppercase}.dashboard-month-select{width:100%!important;height:46px;padding:0 12px!important;border:2px solid #2563eb!important;border-radius:8px!important;background:#fff!important;color:#0f172a;font-size:17px;font-weight:700;box-shadow:0 0 0 3px rgba(37,99,235,.1)}.dashboard-month-select:focus{outline:2px solid #f59e0b;outline-offset:2px}.dashboard-role-row{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#64748b;font-size:12px}.dashboard-role-row strong{color:#1e293b;font-size:13px}.department-actions{display:grid;grid-template-columns:repeat(5,minmax(88px,1fr));grid-gap:8px;gap:8px;align-content:center;padding-left:14px;border-left:1px solid #d8e1eb}.department-action{display:inline-flex;min-width:0;min-height:46px;align-items:center;justify-content:center;gap:7px;box-sizing:border-box;padding:8px 10px;border:1px solid #cbd5e1;border-radius:7px;background:#ffffff;color:#1e3a5f;font:inherit;font-size:13px;font-weight:700;line-height:1;text-decoration:none;cursor:pointer;transition:border-color .12s ease,background .12s ease,color .12s ease}.department-action:hover{border-color:#60a5fa;background:#eff6ff;color:#1d4ed8}.department-action:focus-visible{outline:2px solid #f59e0b;outline-offset:2px}.department-action.exit{color:#9f1239}.department-action.exit:hover{border-color:#fda4af;background:#fff1f2;color:#9f1239}.dashboard-control-panel .lock-panel{display:grid;grid-gap:7px;gap:7px;align-content:center;margin:0;padding:0 14px;border-left:1px solid #d8e1eb;border-right:1px solid #d8e1eb}.lock-panel-label{color:#475569;font-size:12px;font-weight:700;text-transform:uppercase}.lock-actions{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));grid-gap:7px;gap:7px}.dashboard-control-panel .lock-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:6px 9px;border-radius:7px;font-size:12px;line-height:1.2;white-space:nowrap}.dashboard-control-panel .lock-btn.open{background:#ecfdf5;border-color:#86efac;color:#166534}.dashboard-control-panel .lock-btn:disabled{cursor:wait;opacity:.65}.dashboard-salary-summary{display:grid;grid-gap:5px;gap:5px;align-content:center;font-size:12px;line-height:1.3}.dashboard-salary-departments,.dashboard-salary-totals{display:flex;flex-wrap:wrap;gap:3px 10px}.dashboard-salary-totals{color:#0f172a;font-weight:700}@media (max-width:1250px){.dashboard-control-panel{grid-template-columns:minmax(250px,300px) minmax(520px,1fr)}.dashboard-salary-summary{grid-column:1/-1;padding-top:10px;border-top:1px solid #d8e1eb}}@media (max-width:900px){.dashboard-control-panel,.dashboard-control-panel.department-view{grid-template-columns:1fr}.dashboard-control-panel .lock-panel{padding:12px 0;border:0;border-top:1px solid #d8e1eb;border-bottom:1px solid #d8e1eb}.department-actions{grid-template-columns:repeat(3,minmax(100px,1fr));padding:12px 0 0;border:0;border-top:1px solid #d8e1eb}.dashboard-salary-summary{grid-column:auto;padding-top:0;border-top:0}}@media (max-width:620px){.lock-actions{grid-template-columns:1fr}.department-actions{grid-template-columns:repeat(2,minmax(110px,1fr))}}@media print{.brand-header,.dashboard-brand{display:none!important}}.login-logo{height:210px!important;max-width:760px!important}.login-brand{margin-bottom:10px!important}.dashboard-brand,.dashboard-brand-logo{display:none!important}@media (max-width:900px){.login-logo{height:150px!important;max-width:92vw!important}}.login-brand{margin-bottom:0!important}.login-logo{height:280px!important}.login-brand+h1{margin-bottom:14px!important;font-size:54px!important;line-height:1.05!important}@media (max-width:900px){.login-logo{height:190px!important;max-width:92vw!important}.login-brand+h1{font-size:40px!important;margin-bottom:12px!important}}.login-brand{margin-bottom:4px!important}.login-logo{height:190px!important;max-width:720px!important}.login-brand+h1{margin-bottom:12px!important}@media (max-width:900px){.login-logo{height:130px!important;max-width:92vw!important}.login-brand+h1{font-size:28px!important;margin-bottom:10px!important}}.login-brand{margin-bottom:2px!important}.login-logo{height:230px!important;max-width:820px!important;background:transparent!important}.login-brand+h1{text-align:center!important}.login-brand+h1,.login-brand+h1+form{margin-top:0!important}@media (max-width:900px){.login-logo{height:160px!important;max-width:92vw!important}.login-brand+h1{font-size:28px!important;margin-bottom:8px!important}}.login-logo{height:300px!important;max-width:980px!important;width:auto!important}.login-brand{margin-bottom:-8px!important}.login-brand+h1{margin-top:-12px!important;font-size:34px!important}@media (max-width:900px){.login-logo{height:200px!important;max-width:94vw!important}.login-brand+h1{margin-top:-6px!important;font-size:28px!important}}.login-brand{margin-bottom:-24px!important}.login-brand+h1{margin-bottom:8px!important;font-size:26px!important;line-height:1.1!important;margin-top:-28px!important;margin-bottom:10px!important}@media (max-width:900px){.login-brand+h1{font-size:24px!important}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px 16px}.login-card{width:100%;max-width:430px;background:#ffffff;border:1px solid #d8e1ec;border-radius:24px;padding:28px;box-shadow:0 18px 50px rgba(15,23,42,.12)}.login-card h1{text-align:center;font-size:26px!important;line-height:1.15!important;margin:-18px 0 18px!important}.login-form{display:grid;grid-gap:14px;gap:14px}.login-field{display:grid;grid-gap:6px;gap:6px;font-size:14px;color:#475569;font-weight:600}.login-input{width:100%;box-sizing:border-box;height:46px;border:1px solid #cbd5e1;border-radius:14px!important;background:#f8fafc;padding:0 14px;font-size:15px;color:#0f172a;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}select.login-input{cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,#64748b 0),linear-gradient(135deg,#64748b 50%,transparent 0);background-position:calc(100% - 18px) 20px,calc(100% - 13px) 20px;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:40px}.login-input:focus{border-color:#2563eb;background:#ffffff;box-shadow:0 0 0 4px rgba(37,99,235,.12)}.login-button{margin-top:4px;width:100%;height:48px;border:none;border-radius:16px;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#ffffff;font-weight:800;font-size:16px;cursor:pointer;box-shadow:0 10px 24px rgba(37,99,235,.28)}.login-button:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(37,99,235,.34)}.login-button:disabled{opacity:.65;cursor:wait;transform:none}.login-error{background:#fee2e2;color:#991b1b;border:1px solid #fecaca;border-radius:12px;padding:10px 12px;font-size:14px}@media (max-width:900px){.login-card{padding:22px;border-radius:20px}.login-card h1{font-size:24px!important}}.login-card{overflow:hidden!important}.login-brand{width:100%!important;justify-content:center!important;margin:0 0 10px!important}.login-logo{width:100%!important;max-width:360px!important;height:auto!important;max-height:130px!important;object-fit:contain!important;display:block!important}.login-brand+h1,.login-card h1{margin-top:4px!important;margin-bottom:18px!important;font-size:26px!important;line-height:1.15!important;text-align:center!important}@media (max-width:900px){.login-logo{max-width:320px!important;max-height:110px!important}.login-brand+h1,.login-card h1{font-size:24px!important}}