:root{font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--color-primary: #2c4e6d;--color-primary-hover: #3d6a8f;--color-gunmetal: #2a3439;--color-bg-light: #f6f7f7;--color-bg-dark: #15191d;--color-surface: #ffffff;--color-border: #e5e7eb;--color-border-dark: rgba(255, 255, 255, .08);--color-text: #2a3439;--color-text-muted: #6b7280;--color-text-inverse: #f6f7f7;--color-success: #059669;--color-warning: #d97706;--color-error: #dc2626;color-scheme:light;color:var(--color-text);background-color:var(--color-bg-light)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}a{font-weight:500;color:var(--color-primary);text-decoration:none}a:hover{color:var(--color-primary-hover)}button{border-radius:6px;border:1px solid var(--color-border);padding:.5rem 1rem;font-size:.9rem;font-weight:500;font-family:inherit;background-color:var(--color-surface);color:var(--color-gunmetal);cursor:pointer;transition:background .2s,border-color .2s}button:hover{background-color:#f3f4f6;border-color:#d1d5db}button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}input,select,textarea{font-family:inherit;font-size:.9rem}@media(prefers-color-scheme:dark){:root.force-light{color-scheme:light}}body.dark,:root.theme-dark{color-scheme:dark;--color-surface: #1f2937;--color-border: #374151;--color-border-dark: rgba(255, 255, 255, .08);--color-text: #f6f7f7;--color-text-muted: #9ca3af;--color-bg-light: #15191d;color:var(--color-text);background-color:var(--color-bg-dark)}body.dark button,:root.theme-dark button{background-color:#374151;border-color:#4b5563;color:#f6f7f7}body.dark button:hover,:root.theme-dark button:hover{background-color:#4b5563}.manager-layout{display:flex;min-height:100vh}.manager-sidebar{width:240px;background:var(--color-bg-dark, #15191d);color:var(--color-text-inverse, #f6f7f7);flex-shrink:0}.sidebar-header{padding:1.25rem;border-bottom:1px solid var(--color-border-dark)}.sidebar-header h2{margin:0;font-size:1.25rem;font-weight:600;letter-spacing:-.015em}.sidebar-header .brand-sub{font-size:.7rem;color:#f6f7f7b3;margin-top:.25rem}.sidebar-header .lang-toggle{margin-top:.5rem}.sidebar-nav{padding:.75rem 0;overflow-y:auto}.sidebar-nav .nav-link{display:block;padding:.5rem 1.25rem;color:#f6f7f7bf;text-decoration:none;font-size:.9rem;transition:background .15s,color .15s}.sidebar-nav .nav-link:hover{background:#ffffff0f;color:var(--color-text-inverse)}.sidebar-nav .nav-link.active{background:#2c4e6d59;color:#93b8d9;border-right:3px solid var(--color-primary, #2c4e6d)}.manager-main{flex:1;background:var(--color-bg-light, #f6f7f7);color:var(--color-gunmetal, #2a3439);padding:1.5rem;overflow-y:auto}.lang-toggle{margin-left:auto;padding:.25rem .5rem;font-size:.8rem;border-radius:4px;border:1px solid rgba(255,255,255,.2);background:transparent;color:#f6f7f7e6;cursor:pointer}.lang-toggle:hover{background:#ffffff14}@media(max-width:768px){.manager-sidebar{width:200px}.sidebar-nav .nav-link{padding:.5rem 1rem;font-size:.85rem}}.demo-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem 1.5rem;background:linear-gradient(160deg,#15191d,#2c4e6d,#2a3439);color:#f6f7f7}.demo-screen__inner{max-width:36rem;width:100%;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1.25rem}.demo-screen__header{display:flex;align-items:center;justify-content:center;gap:.75rem}.demo-screen__icon{font-size:2.5rem;line-height:1;opacity:.95}.demo-screen__title{margin:0;font-size:1.875rem;font-weight:700;letter-spacing:-.025em;color:#fff}.demo-screen__tagline{margin:0;font-size:1.125rem;opacity:.95}.demo-screen__ministry{margin:0;font-size:.9375rem;opacity:.9}.demo-screen__factories{margin:0;font-size:.875rem;opacity:.8}.demo-screen__card{width:100%;text-align:left;padding:1.5rem;border-radius:.75rem;border:1px solid rgba(255,255,255,.2);background:#ffffff14;margin-top:.5rem}.demo-screen__card-title{margin:0 0 1rem;font-size:1.125rem;font-weight:600;color:#fff}.demo-screen__list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.5rem;font-size:.875rem;opacity:.95;line-height:1.45}.demo-screen__list li{padding-left:1.25rem;position:relative}.demo-screen__list li:before{content:"•";position:absolute;left:0;font-weight:600;color:#ffffffe6}.demo-screen__summary{margin:0;font-size:.875rem;opacity:.9;max-width:32rem}.demo-screen__cta{margin-top:.5rem;padding:.75rem 2rem;font-size:1rem;font-weight:600;border-radius:.5rem;border:none;background:var(--color-primary, #2c4e6d);color:#fff;cursor:pointer;transition:background .2s,transform .1s;box-shadow:0 4px 14px #0003}.demo-screen__cta:hover{background:var(--color-primary-hover, #3d6a8f)}.demo-screen__cta:active{transform:scale(.98)}.demo-screen__cta:focus-visible{outline:2px solid #fff;outline-offset:2px}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem 1rem;background:linear-gradient(160deg,#15191d,#1e2d3a 40%,#2a3439);color:#f6f7f7}.login-screen__wrap{width:100%;max-width:26rem}.login-screen__flow{text-align:center;font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;opacity:.7;margin-bottom:1.5rem}.login-screen__card{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:1rem;padding:2rem;box-shadow:0 8px 32px #0000004d}.login-screen__brand{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}.login-screen__icon{font-size:2.25rem;line-height:1;opacity:.95}.login-screen__brand-text h1{margin:0;font-size:1.25rem;font-weight:700;letter-spacing:-.02em;color:#fff}.login-screen__brand-text p{margin:.25rem 0 0;font-size:.8125rem;color:#ffffffbf}.login-screen__form{display:flex;flex-direction:column;gap:1.25rem}.login-screen__field label{display:block;font-size:.6875rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#fffc;margin-bottom:.375rem}.login-screen__field input{width:100%;padding:.625rem .75rem;font-size:.9375rem;border:1px solid rgba(255,255,255,.2);border-radius:.5rem;background:#ffffff14;color:#f6f7f7;transition:border-color .2s,background .2s}.login-screen__field input::placeholder{color:#fff6}.login-screen__field input:focus{outline:none;border-color:var(--color-primary, #2c4e6d);background:#ffffff1a}.login-screen__hint{font-size:.75rem;color:#ffffff8c;margin-top:.25rem}.login-screen__error{font-size:.875rem;color:#f87171}.login-screen__submit{width:100%;padding:.75rem 1rem;font-size:.9375rem;font-weight:600;border:none;border-radius:.5rem;background:var(--color-primary, #2c4e6d);color:#fff;cursor:pointer;transition:background .2s,transform .1s;margin-top:.25rem}.login-screen__submit:hover:not(:disabled){background:var(--color-primary-hover, #3d6a8f)}.login-screen__submit:active:not(:disabled){transform:scale(.98)}.login-screen__submit:disabled{opacity:.7;cursor:not-allowed}.login-screen__submit:focus-visible{outline:2px solid #fff;outline-offset:2px}.login-screen__back{margin-top:1.5rem;text-align:center}.login-screen__back button{font-size:.8125rem;background:none;border:none;color:#ffffffbf;cursor:pointer;padding:.25rem .5rem;text-decoration:none;transition:color .2s}.login-screen__back button:hover{color:#fff;text-decoration:underline}.login-screen__back button:focus-visible{outline:2px solid rgba(255,255,255,.6);outline-offset:2px;border-radius:4px}.card{background:var(--color-surface, #ffffff);border-radius:8px;padding:1rem 1.25rem;border:1px solid var(--color-border, #e5e7eb);box-shadow:0 1px 2px #0000000a}.card-title{margin:0 0 .75rem;font-size:.95rem;font-weight:600;letter-spacing:-.01em;color:var(--color-gunmetal, #2a3439)}body.dark .card,:root.theme-dark .card{background:#1f2937;border-color:#374151}body.dark .card-title,:root.theme-dark .card-title{color:#f6f7f7}.manager-dashboard h1{margin:0 0 .25rem;font-size:1.5rem}.page-desc{color:var(--color-text-muted);font-size:.9rem;margin:0 0 1.5rem}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.stat-value{font-size:1.75rem;font-weight:700}.stat-label{margin:.25rem 0 0;font-size:.8rem;color:var(--color-text-muted)}.kpi-chart-placeholder{min-height:80px;background:var(--color-border);border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:.85rem;color:var(--color-text-muted)}.risk-card{margin-bottom:1.5rem}.alerts-list{list-style:none;margin:0;padding:0}.alerts-list li{padding:.5rem 0;display:flex;align-items:center;gap:.5rem}.alert-icon{color:#f59e0b}.quick-actions{margin-bottom:1rem}.quick-actions h3{margin:0 0 .5rem;font-size:1rem}.action-buttons{display:flex;gap:.5rem}.dashboard-actions{display:flex;gap:.5rem;flex-wrap:wrap}.status-badge{display:inline-block;padding:.25rem .6rem;border-radius:9999px;font-size:.75rem;font-weight:500;text-transform:capitalize}.status-present,.status-approved,.status-low{background:#d1fae5;color:#065f46}body.dark .status-present,body.dark .status-approved,body.dark .status-low,:root.theme-dark .status-present,:root.theme-dark .status-approved,:root.theme-dark .status-low{background:#0596694d;color:#6ee7b7}.status-absent,.status-rejected,.status-high{background:#fee2e2;color:#991b1b}body.dark .status-absent,body.dark .status-rejected,body.dark .status-high,:root.theme-dark .status-absent,:root.theme-dark .status-rejected,:root.theme-dark .status-high{background:#dc262640;color:#fca5a5}.status-leave{background:#dbeafe;color:#1e40af}body.dark .status-leave,:root.theme-dark .status-leave{background:#3b82f640;color:#93c5fd}.status-late,.status-medium{background:#fef3c7;color:#b45309}body.dark .status-late,body.dark .status-medium,:root.theme-dark .status-late,:root.theme-dark .status-medium{background:#d9770640;color:#fcd34d}.status-pending{background:#f3f4f6;color:#4b5563}body.dark .status-pending,:root.theme-dark .status-pending{background:#6b72804d;color:#d1d5db}.team-list-page h1{margin:0 0 .25rem;font-size:1.5rem}.page-desc{color:var(--color-text-muted, #6b7280);font-size:.9rem;margin:0 0 1rem}.toolbar{margin-bottom:1rem}.search-input{padding:.5rem .75rem;border-radius:6px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);min-width:200px}.data-table th{font-size:.8rem;color:var(--color-text-muted);font-weight:500}.perf-indicator{font-size:1rem}.perf-high{color:#22c55e}.perf-medium{color:#eab308}.perf-low{color:#ef4444}.team-member-profile h1{margin:0 0 .25rem;font-size:1.5rem}.profile-header{margin-bottom:1rem}.tabs{display:flex;gap:.25rem;margin-bottom:1rem}.tab{padding:.5rem 1rem;border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;border-radius:6px}.tab:hover{color:var(--color-text)}.tab.active{background:#2c4e6d26;color:var(--color-primary)}.info-list{margin:0}.info-list dt{font-size:.8rem;color:var(--color-text-muted);margin-top:.5rem}.info-list dd{margin:.15rem 0 0}.profile-cards{display:grid;gap:1rem;margin-bottom:1rem}.profile-actions{display:flex;gap:.5rem;flex-wrap:wrap}.attendance-overview-page h1{margin:0 0 .25rem;font-size:1.5rem}.filters{margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.filters input[type=date]{padding:.4rem;border-radius:6px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text)}.table-wrap{overflow-x:auto;margin-bottom:1rem}.data-table th{font-size:.8rem;color:var(--color-text-muted)}.view-actions{margin-top:.5rem}.attendance-exceptions-page h1{margin:0 0 .25rem;font-size:1.5rem}.exception-row{background:#d9770614}.exception-type{color:var(--color-warning)}.btn-approve{margin-right:.5rem}.leave-approvals-page h1{margin:0 0 .25rem;font-size:1.5rem}.data-table button{margin-right:.35rem}.shift-adjust-page h1{margin:0 0 .25rem;font-size:1.5rem}.shift-form{max-width:400px}.project-list-page h1{margin:0 0 .25rem;font-size:1.5rem}.progress-bar-wrap{position:relative;min-width:80px;height:20px;background:var(--color-border);border-radius:4px;overflow:hidden}.progress-bar{height:100%;background:var(--color-primary);border-radius:4px}.progress-text{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:.75rem}.status-on-track{color:var(--color-success)}.status-at-risk{color:var(--color-warning)}.project-detail-page h1{margin:0 0 .25rem;font-size:1.5rem}.page-header{margin-bottom:1rem}.back-link{color:var(--color-text-muted);font-size:.9rem;text-decoration:none}.back-link:hover{color:var(--color-primary)}.task-list{list-style:none;margin:0;padding:0}.task-list li{padding:.4rem 0;border-bottom:1px solid var(--color-border)}.project-detail-page .card{margin-bottom:1rem}.project-actions{display:flex;gap:.5rem;margin-top:1rem}.task-allocation-page h1{margin:0 0 .25rem;font-size:1.5rem}.allocation-form{max-width:400px}.form-row select,.form-row input{width:100%;padding:.5rem;border-radius:6px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text)}.form-actions{margin-top:1.25rem;display:flex;gap:.5rem}.escalation-management-page h1{margin:0 0 .25rem;font-size:1.5rem}.table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:.6rem .75rem;text-align:left;border-bottom:1px solid var(--color-border)}.severity-high{background:#dc262614}.severity-medium{background:#d9770614}.data-table button{margin-right:.5rem}.performance-dashboard-page h1{margin:0 0 .25rem;font-size:1.5rem}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;margin-bottom:1rem}.kpi-placeholder,.chart-placeholder,.comparison-placeholder{min-height:60px;background:var(--color-border);border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:.85rem;color:var(--color-text-muted)}.appraisal-input-page h1{margin:0 0 .25rem;font-size:1.5rem}.appraisal-form{max-width:500px}.rating-controls{display:flex;gap:.5rem}.rating-btn{width:36px;height:36px;border-radius:6px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer}.rating-btn:hover{background:var(--color-border)}.feedback-management-page h1{margin:0 0 .25rem;font-size:1.5rem}.feedback-form{max-width:500px}.form-row{margin-bottom:1rem}.form-row label{display:block;font-size:.85rem;margin-bottom:.35rem;color:var(--color-text-muted)}.form-row select,.form-row textarea{width:100%;padding:.5rem;border-radius:6px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text)}.form-actions{margin-top:1.25rem}.productivity-reports-page h1{margin:0 0 .25rem;font-size:1.5rem}.report-placeholder{min-height:200px;background:var(--color-border);border-radius:6px;margin:1rem 0;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted)}.export-options{display:flex;gap:.5rem;align-items:center}.export-options label{margin-right:.5rem;font-size:.85rem;color:var(--color-text-muted)}.attendance-reports-page h1{margin:0 0 .25rem;font-size:1.5rem}.filters{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin-bottom:1rem}.filters label{font-size:.85rem;color:var(--color-text-muted)}.filters select,.filters input{padding:.4rem;border-radius:6px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text)}.report-placeholder{min-height:180px;background:var(--color-border);border-radius:6px;margin:1rem 0;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted)}.export-actions{margin-top:.5rem}.manager-notifications-page h1{margin:0 0 .25rem;font-size:1.5rem}.notifications-list{list-style:none;margin:0;padding:0}.notifications-list li{padding:.75rem;border-bottom:1px solid var(--color-border);display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.notifications-list li.read{opacity:.7}.notifications-list .message{flex:1;min-width:200px}.notifications-list .timestamp{font-size:.8rem;color:var(--color-text-muted)}.manager-settings-page h1{margin:0 0 .25rem;font-size:1.5rem}.page-desc{color:var(--color-text-muted);font-size:.9rem;margin:0 0 1rem}.toggle-list{display:flex;flex-direction:column;gap:.75rem}.toggle-row{display:flex;align-items:center;justify-content:space-between;cursor:pointer}.toggle-row span{flex:1}.toggle-row input{accent-color:#3b82f6}.manager-settings-page .card{margin-bottom:1rem}.form-actions{margin-top:1rem}#root{min-height:100vh}
