:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--primary:#4a7f36;--accent:#4a7f36;--accent-light:#b1d4a3;--accent-bg:#b1d4a340;--accent-border:#b1d4a3;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--primary:#b1d4a3;--accent:#b1d4a3;--accent-light:#b1d4a3;--accent-bg:#b1d4a326;--accent-border:#b1d4a380;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1426px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.app-container{box-sizing:border-box;flex-direction:column;width:100%;max-width:1500px;min-height:100vh;margin:0 auto;padding:0 20px 40px;display:flex}.top-navbar{background:var(--bg);border-bottom:1px solid var(--border);z-index:100;justify-content:space-between;align-items:center;margin-bottom:28px;padding:18px 24px;display:flex;position:sticky;top:0}.navbar-brand{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:12px;margin-right:3rem;display:flex}.navbar-logo{object-fit:contain;width:auto;height:36px;display:block}.brand-title{color:var(--text-h);letter-spacing:-.5px;font-size:20px;font-weight:700}.navbar-links{gap:8px;display:flex}.nav-link{color:var(--text);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;padding:8px 16px;font-size:15px;font-weight:500;transition:all .2s}.nav-link:hover{background:var(--social-bg);color:var(--text-h)}.nav-link.nav-active{background:var(--accent-bg);color:var(--accent);border-color:var(--accent-border);font-weight:600}.overview-container{padding:20px 0;animation:.3s fadeIn}.overview-header{text-align:center;margin-bottom:40px}.overview-logo{object-fit:contain;max-width:200px;height:auto;margin:0 auto 30px;display:block}.overview-header h1{color:var(--text-h);margin:0 0 10px;font-size:42px}.subtitle{color:var(--text);margin:0;font-size:18px}.tiles-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:28px;max-width:900px;margin:0 auto;display:grid}.tile-card{background:var(--bg);border:2px solid var(--border);cursor:pointer;text-align:left;box-shadow:var(--shadow);color:inherit;border-radius:16px;align-items:flex-start;gap:20px;padding:32px 28px;font-family:inherit;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex}.tile-card:hover{border-color:var(--accent);transform:translateY(-4px);box-shadow:0 16px 30px -10px #b1d4a373}.tile-card:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.tile-icon{background:var(--accent-bg);border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;padding:16px;font-size:40px;display:flex}.tile-content{flex-direction:column;flex:1;display:flex}.tile-content h2{color:var(--text-h);margin:0 0 8px;font-size:22px;font-weight:600}.tile-content p{color:var(--text);margin:0 0 16px;font-size:14.5px;line-height:1.5}.tile-meta{justify-content:space-between;align-items:center;margin-top:auto;display:flex}.tile-action{color:var(--accent);font-size:14px;font-weight:600}.view-container{text-align:left;flex-direction:column;gap:24px;animation:.3s fadeIn;display:flex}.view-nav{margin-bottom:4px}.back-btn{align-items:center;gap:8px;padding:8px 16px;font-size:14px;display:inline-flex}.header{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-bottom:12px;display:flex}.header h1{margin:0 0 4px;font-size:32px}.header p{color:var(--text);font-size:15px}.employee-count{background:var(--accent-bg);color:var(--accent);border:1px solid var(--accent-border);border-radius:20px;padding:8px 16px;font-size:14px;font-weight:600}.card{background:var(--bg);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:12px;padding:24px}.card h2{color:var(--text-h);margin:0 0 20px;font-size:20px;font-weight:600}.sub-card{background:var(--code-bg);border:1px solid var(--border);border-radius:10px;margin:16px 0;padding:20px}.sub-card h3{color:var(--text-h);margin:0 0 4px;font-size:16px;font-weight:600}.sub-text{color:var(--text);margin:0;font-size:13px}.empty-sub-text{color:var(--text);margin:0;padding:12px 0;font-size:13.5px;font-style:italic}.working-times-list{flex-direction:column;gap:10px;margin-top:14px;display:flex}.working-time-item{background:var(--bg);border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;transition:all .2s;display:flex}.working-time-item.working-time-active{border-color:var(--accent);background:var(--bg);box-shadow:0 1px 3px #0000000a}.working-time-day-label{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;min-width:140px;display:inline-flex}.working-time-day-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);cursor:pointer}.working-time-day-name{color:var(--text-h);font-size:14.5px;font-weight:600}.working-time-inputs{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.time-input-group{align-items:center;gap:6px;display:flex}.time-label{color:var(--text);font-size:13px;font-weight:500}.time-input-group input[type=time]{border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:6px;width:110px;padding:6px 10px;font-family:inherit;font-size:13.5px}.time-input-group input[type=time]:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-bg);outline:none}.working-time-inactive-label{color:var(--text);font-size:13px;font-style:italic}.absences-list{flex-direction:column;gap:12px;margin-top:14px;display:flex}.absence-item-row{background:var(--bg);border:1px solid var(--border);box-sizing:border-box;border-radius:8px;grid-template-columns:2fr 1.5fr 1.5fr auto;align-items:flex-end;gap:12px;padding:14px;display:grid}@media (width<=768px){.absence-item-row{grid-template-columns:1fr}}.absence-action-group{align-items:flex-end;height:100%;padding-bottom:2px;display:flex}.btn-delete{color:#dc2626;cursor:pointer;white-space:nowrap;background:#ef44441a;border:1px solid #ef444440;border-radius:6px;padding:8px 12px;font-size:13px;font-weight:500;transition:all .2s}.btn-delete:hover{color:#fff;background:#dc2626;border-color:#dc2626}.btn-sm{padding:6px 12px;font-size:13px}.working-times-summary{flex-direction:column;gap:3px;display:flex}.summary-badge{color:var(--accent);background:var(--accent-bg);border-radius:4px;width:fit-content;padding:2px 6px;font-size:11.5px;font-weight:600;display:inline-block}.summary-days{color:var(--text-h);font-size:12.5px}.absences-summary{flex-direction:column;gap:4px;display:flex}.absence-tag{white-space:nowrap;border-radius:6px;align-items:center;width:fit-content;padding:2px 8px;font-size:11.5px;font-weight:500;display:inline-flex}.absence-tag.absence-vacation{color:#b45309;background:#f59e0b26;border:1px solid #f59e0b4d}.absence-tag.absence-sick{color:#b91c1c;background:#ef444426;border:1px solid #ef44444d}.absence-tag.absence-off{color:#374151;background:#6b728026;border:1px solid #6b72804d}@media (prefers-color-scheme:dark){.absence-tag.absence-vacation{color:#fbbf24;background:#f59e0b33}.absence-tag.absence-sick{color:#f87171;background:#ef444433}.absence-tag.absence-off{color:#d1d5db;background:#9ca3af33}}.form{flex-direction:column;gap:18px;display:flex}.form-row{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{color:var(--text-h);font-size:13.5px;font-weight:600}.form-group input[type=text],.form-group input[type=number],.form-group input[type=time],.form-group input[type=date],.form-group select{border:1px solid var(--border);background:var(--bg);color:var(--text-h);box-sizing:border-box;border-radius:8px;width:100%;padding:10px 14px;font-family:inherit;font-size:14.5px;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg);outline:none}.checkbox-container{justify-content:flex-start;align-items:center;padding-top:24px;display:flex}.checkbox-label{cursor:pointer;color:var(--text-h);-webkit-user-select:none;user-select:none;align-items:center;gap:10px;font-size:14.5px;font-weight:500;display:inline-flex}.checkbox-label input[type=checkbox]{cursor:pointer;width:18px;height:18px;accent-color:var(--accent)}.days-label-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.preset-buttons{gap:6px;display:flex}.btn-chip{background:var(--bg);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:6px;padding:4px 10px;font-size:12px;font-weight:500;transition:all .2s}.btn-chip:hover{background:var(--accent-bg);border-color:var(--accent);color:var(--accent)}.btn-chip.btn-chip-active{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.days-grid{grid-template-columns:repeat(auto-fit,minmax(75px,1fr));gap:8px;display:grid}.day-button{border:1px solid var(--border);background:var(--bg);cursor:pointer;color:var(--text);border-radius:8px;flex-direction:column;justify-content:center;align-items:center;padding:10px 6px;transition:all .2s;display:flex}.day-short{color:var(--text-h);font-size:15px;font-weight:700}.day-name{color:var(--text);margin-top:2px;font-size:10.5px}.day-button:hover{border-color:var(--accent-border)}.day-button.day-active{background:var(--accent);border-color:var(--accent);color:#fff}.day-button.day-active .day-short,.day-button.day-active .day-name{color:#fff}.form-actions{justify-content:flex-end;margin-top:10px;display:flex}.btn-primary{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:12px 24px;font-size:15px;font-weight:600;transition:opacity .2s,transform .1s}.btn-primary:hover:not(:disabled){opacity:.92;transform:translateY(-1px)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--social-bg);color:var(--text-h);border:1px solid var(--border);cursor:pointer;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:500;transition:background .2s}.btn-secondary:hover{background:var(--border)}.alert{border-radius:8px;padding:14px 18px;font-size:14.5px;font-weight:500;animation:.25s fadeIn}.alert-success{color:#12632b;background:#e6f9ed;border:1px solid #a3e4b7}.alert-error{color:#c92a2a;background:#fdf0f0;border:1px solid #f8b4b4}@media (prefers-color-scheme:dark){.alert-success{color:#4ade80;background:#12632b33;border-color:#4ade804d}.alert-error{color:#f87171;background:#c92a2a33;border-color:#f871714d}}.table-card{padding:0;overflow:hidden}.sortable-th{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s,color .15s}.sortable-th:hover{background:var(--border);color:var(--accent)}.employee-category-section{border-bottom:1px solid var(--border);padding:20px 24px}.employee-category-section:last-child{border-bottom:none}.employee-category-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.employee-category-title-wrap{align-items:center;gap:10px;display:flex}.employee-category-title-wrap h3{color:var(--text-h);margin:0;font-size:1.05rem;font-weight:600}.employee-category-empty{color:var(--text);background:var(--social-bg);border-radius:8px;padding:16px;font-size:13.5px;font-style:italic}.table-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:16px 24px;display:flex}.table-header h2{margin:0}.table-alert{padding:12px 24px 0}.table-wrapper{overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%;font-size:14.5px}th{background:var(--social-bg);color:var(--text-h);border-bottom:1px solid var(--border);padding:12px 18px;font-weight:600}td{border-bottom:1px solid var(--border);color:var(--text);padding:14px 18px}tr:last-child td{border-bottom:none}tr:hover td{background:var(--code-bg)}.badge{background:var(--social-bg);color:var(--text-h);border-radius:6px;align-items:center;padding:4px 10px;font-size:12.5px;font-weight:600;display:inline-flex}.shift-badge{background:var(--accent-bg);color:var(--accent)}.status-badge{border-radius:12px;align-items:center;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.status-active{color:#16a34a;background:#22c55e26}.status-inactive{color:var(--text);background:#9ca3af33}.days-tag-list{flex-wrap:wrap;gap:4px;display:flex}.day-tag{padding:2px 6px;font-size:11px}.text-muted{color:var(--text);font-size:12px}.loading-text,.error-text,.empty-text{text-align:center;color:var(--text);margin:0;padding:30px}.error-text{color:#c92a2a}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (width<=768px){.tiles-grid{grid-template-columns:1fr}.header{flex-direction:column;align-items:flex-start}.top-navbar{flex-direction:column;align-items:flex-start;gap:12px}}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background-color:#0f172aa6;justify-content:center;align-items:center;padding:20px;animation:.15s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-content{background:var(--card-bg,#fff);border:1px solid var(--border);border-radius:16px;flex-direction:column;gap:20px;width:100%;max-width:880px;max-height:90vh;padding:24px;display:flex;overflow-y:auto;box-shadow:0 20px 25px -5px #0003,0 10px 10px -5px #0000001a}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;padding-bottom:16px;display:flex}.modal-header h2{color:var(--text-h);margin:0 0 4px;font-size:20px}.modal-header p{color:var(--text);margin:0;font-size:14px}.modal-close-btn{color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:24px;line-height:1;transition:all .2s}.modal-close-btn:hover{background:var(--code-bg);color:var(--text-h)}.modal-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:12px;margin-top:8px;padding-top:16px;display:flex}.modal-actions-between{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;margin-top:8px;padding-top:16px;display:flex}.modal-actions-right{align-items:center;gap:12px;display:flex}.btn-danger{color:#fff;cursor:pointer;background:#dc2626;border:1px solid #dc2626;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:600;transition:background .2s,transform .1s,box-shadow .2s}.btn-danger:hover:not(:disabled){background:#b91c1c;border-color:#b91c1c;transform:translateY(-1px)}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.btn-danger-outline{color:#dc2626;cursor:pointer;background:0 0;border:1px solid #f87171;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:500;transition:all .2s}.btn-danger-outline:hover:not(:disabled){background:#fef2f2;border-color:#dc2626}.btn-danger-outline:disabled{opacity:.5;cursor:not-allowed}.availability-icon{color:#db2777;background:#fdf2f8}.schedule-icon{color:#0891b2;background:#ecfeff}.hours-icon{color:#d97706;background:#fef3c7}.counter-control{background:var(--code-bg);border:1px solid var(--border);border-radius:8px;align-items:center;gap:12px;width:fit-content;padding:6px 12px;display:flex}.btn-counter{background:var(--card-bg,#fff);border:1px solid var(--border);color:var(--text-h);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;font-size:18px;font-weight:700;transition:all .2s;display:flex}.btn-counter:hover:not(:disabled){background:var(--primary);color:#fff;border-color:var(--primary)}.btn-counter:disabled{opacity:.4;cursor:not-allowed}.counter-value{color:var(--text-h);text-align:center;min-width:48px;font-size:15px;font-weight:700}.week-nav-card{background:var(--card-bg,#fff);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;padding:16px 20px;display:flex}.week-nav-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.week-date-picker{border:1px solid var(--border);background:var(--card-bg);color:var(--text-h);cursor:pointer;border-radius:6px;padding:6px 10px;font-size:13px}.week-info{align-items:center;gap:12px;display:flex}.week-badge{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:20px;padding:6px 12px;font-size:13px;font-weight:600}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:24px;display:grid}.kpi-card{background:var(--card-bg,#fff);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:4px;padding:18px 20px;display:flex;box-shadow:0 1px 3px #0000000d}.kpi-title{color:var(--text);text-transform:uppercase;letter-spacing:.05em;font-size:13px;font-weight:500}.kpi-value{color:var(--text-h);font-size:26px;font-weight:800;line-height:1.2}.kpi-sub{color:var(--text);opacity:.8;font-size:12px}.filters-bar{flex-wrap:wrap;align-items:flex-end;gap:20px;margin-bottom:20px;padding:16px 20px;display:flex}.filter-group{flex-direction:column;flex:1;gap:6px;min-width:200px;display:flex}.filter-group label{color:var(--text-h);font-size:13px;font-weight:600}.filter-group select,.filter-group input{border:1px solid var(--border);background:var(--card-bg);color:var(--text-h);border-radius:6px;padding:8px 12px;font-size:14px}.availability-days-container,.schedule-days-container{flex-direction:column;gap:20px;display:flex}.day-card{padding:20px}.day-card-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:14px;padding-bottom:14px;display:flex}.day-title{color:var(--text-h);margin:0;font-size:18px}.day-date-sub{color:var(--text);font-size:13px}.tour-name-cell,.shift-time-cell{flex-direction:column;gap:4px;display:flex}.time-range{color:var(--text);font-family:monospace;font-size:12px}.type-badge{color:#475569;background:#f1f5f9;width:fit-content;font-size:11px}.employee-count-badge{color:#1d4ed8;background:#eff6ff;font-weight:600}.available-chips-list{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.employee-chip{background:var(--code-bg);border:1px solid var(--border);border-radius:20px;align-items:center;gap:6px;padding:4px 10px;font-size:13px;display:inline-flex}.chip-name{color:var(--text-h);font-weight:600}.chip-qual{color:#334155;background:#e2e8f0;border-radius:10px;padding:2px 6px;font-size:11px;font-weight:600}.chip-hours{font-size:11px;font-weight:700}.hours-pos{color:#16a34a}.hours-neg{color:#ea580c}.badge-pos{color:#15803d;background:#dcfce7;font-weight:700}.badge-neg{color:#c2410c;background:#ffedd5;font-weight:700}.badge-warning{color:#b45309;background:#fef3c7}.badge-danger{color:#b91c1c;background:#fee2e2;font-weight:600}.badge-neutral{color:#475569;background:#f1f5f9}.slots-container{flex-direction:column;gap:8px;display:flex}.slot-row{align-items:center;gap:8px;display:flex}.slot-label{color:var(--text);min-width:55px;font-size:12px;font-weight:600}.slot-select{border:1px solid var(--border);background:var(--card-bg,#fff);color:var(--text-h);border-radius:6px;flex:1;padding:6px 10px;font-size:13px;font-weight:500;transition:all .2s}.slot-select:focus{border-color:var(--primary);outline:none}.slot-empty{color:var(--text);background:#fffbeb;border-style:dashed;border-color:#fde68a}.hours-table th,.hours-table td{padding:12px 14px}.emp-name-cell{align-items:center;gap:8px;display:flex}.qual-badge{color:#3730a3;background:#e0e7ff;font-size:11px}.header-actions{flex-wrap:wrap;gap:10px;display:flex}.navbar-user-section{align-items:center;gap:12px;margin-left:auto;display:flex}.navbar-user-info{color:var(--text);background:var(--accent-bg);border:1px solid var(--accent-border);white-space:nowrap;border-radius:20px;padding:6px 12px;font-size:14px;font-weight:500}.btn-logout{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:4px;padding:6px 12px;font-size:13px;font-weight:500;transition:all .2s;display:flex}.btn-logout:hover{color:#b91c1c;background:#fee2e2;border-color:#fca5a5}.login-container{box-sizing:border-box;background:linear-gradient(135deg,#f7faf5 0%,#eef5ea 100%);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{background:var(--bg,#fff);border:1px solid var(--border,#e2e8f0);border-radius:16px;width:100%;max-width:480px;padding:36px 32px;animation:.35s ease-out fadeIn;box-shadow:0 20px 40px -15px #4a7f3626,0 0 1px 1px #0000000d}.login-header{text-align:center;margin-bottom:24px}.login-logo{object-fit:contain;max-width:190px;height:auto;margin:0 auto 16px;display:block}.login-badge{background:var(--accent-bg,#f1f8ed);border:1px solid var(--accent-border,#b1d4a3);color:var(--primary,#4a7f36);text-transform:uppercase;letter-spacing:.5px;border-radius:20px;align-items:center;gap:6px;margin-bottom:12px;padding:4px 12px;font-size:12px;font-weight:700;display:inline-flex}.login-header h1{color:var(--text-h,#1e293b);letter-spacing:-.5px;margin:0 0 6px;font-size:26px;font-weight:800}.login-subtitle{color:var(--text,#64748b);margin:0;font-size:13px}.login-welcome-box{border-left:4px solid var(--primary,#4a7f36);background:#f8fafc;border-radius:0 8px 8px 0;margin-bottom:24px;padding:14px 16px}.login-welcome-text{color:var(--text-h,#1e293b);margin:0 0 6px;font-size:14px;line-height:1.45}.login-instruction{color:var(--text,#64748b);margin:0;font-size:13px;line-height:1.4}.login-form{flex-direction:column;gap:18px;display:flex}.login-input{border:1px solid var(--border,#cbd5e1);box-sizing:border-box;background:var(--bg,#fff);width:100%;color:var(--text-h,#1e293b);border-radius:8px;padding:12px 14px;font-size:15px;transition:all .2s}.login-input:focus{border-color:var(--primary,#4a7f36);outline:none;box-shadow:0 0 0 3px #b1d4a366}.pin-input{letter-spacing:12px;text-align:center;font-family:monospace;font-size:26px;font-weight:700}.login-btn{background:var(--primary,#4a7f36);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;padding:13px 20px;font-size:15px;font-weight:600;transition:all .2s;box-shadow:0 4px 12px #4a7f3640}.login-btn:hover:not(:disabled){background:#3c682b;transform:translateY(-1px);box-shadow:0 6px 16px #4a7f3659}.login-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.pin-target-info{color:var(--text,#64748b);background:#f1f5f9;border-radius:8px;justify-content:space-between;align-items:center;padding:10px 14px;font-size:13px;display:flex}.pin-label-row{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.countdown-timer{color:var(--primary,#4a7f36);background:var(--accent-bg,#f1f8ed);border-radius:12px;padding:3px 8px;font-size:12px;font-weight:600}.timer-warning{color:#dc2626;background:#fee2e2}.dev-pin-box{background:#fefce8;border:1px solid #fef08a;border-radius:8px;flex-direction:column;align-items:center;gap:4px;padding:10px 14px;display:flex}.dev-pin-badge{color:#854d0e;text-transform:uppercase;font-size:11px;font-weight:700}.dev-pin-code{letter-spacing:4px;color:#713f12;font-family:monospace;font-size:24px;font-weight:800}.dev-pin-box small{color:#a16207;font-size:11px}.login-actions{justify-content:space-between;gap:12px;margin-top:6px;display:flex}.btn-link{color:var(--primary,#4a7f36);cursor:pointer;text-underline-offset:3px;background:0 0;border:none;padding:4px 0;font-size:12px;font-weight:600;text-decoration:underline;transition:opacity .2s}.btn-link:hover{opacity:.8}.login-footer{text-align:center;border-top:1px solid var(--border,#f1f5f9);margin-top:28px;padding-top:16px}.login-footer p{color:#94a3b8;margin:0;font-size:12px}
