:root{--bg:#f6f7fb;--panel:#fff;--text:#172033;--muted:#657089;--border:#e2e7f0;--accent:#1f5eff;--danger:#b42318;--warning:#b54708;--success:#027a48}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--text);margin:0;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.container{width:min(1180px,100% - 32px);margin:0 auto}.app-shell{grid-template-columns:260px 1fr;min-height:100vh;display:grid}.sidebar{color:#fff;background:#101828;padding:24px}.sidebar h1{margin:0 0 6px;font-size:22px}.sidebar p{color:#cbd5e1;margin:0 0 28px;font-size:13px}.nav{gap:8px;display:grid}.nav a{color:#e5e7eb;border-radius:10px;padding:10px 12px;display:block}.nav a:hover{background:#ffffff1a}.main{padding:32px}.page-header{margin-bottom:24px}.page-header h2{margin:0 0 8px;font-size:30px}.page-header p{color:var(--muted);margin:0}.grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.card{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:18px;box-shadow:0 8px 24px #1018280a}.card h3{color:var(--muted);margin:0 0 8px;font-size:15px;font-weight:600}.metric{font-size:32px;font-weight:700}.stack{gap:14px;display:grid}.table{border-collapse:collapse;background:var(--panel);border:1px solid var(--border);border-radius:16px;width:100%;overflow:hidden}.table th,.table td{text-align:left;border-bottom:1px solid var(--border);padding:14px;font-size:14px}.table th{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px}.badge{border-radius:999px;align-items:center;padding:4px 9px;font-size:12px;font-weight:700;display:inline-flex}.badge.warning{color:var(--warning);background:#fff4e5}.badge.danger{color:var(--danger);background:#fee4e2}.badge.success{color:var(--success);background:#dcfae6}.badge.neutral{color:#475569;background:#f1f5f9}.badge.requirement-level-mandatory{color:var(--accent);background:#eef4ff;border:1px solid #c7d7fe}.badge.requirement-level-recommended{color:#5925dc;background:#f4f3ff;border:1px solid #d9d6fe}.badge.requirement-level-optional{color:#475569;background:#f8fafc;border:1px solid #e2e8f0}.auth-page{place-items:center;min-height:100vh;padding:32px;display:grid}.auth-card{background:var(--panel);border:1px solid var(--border);border-radius:20px;width:min(420px,100%);padding:28px;box-shadow:0 16px 40px #10182814}.form{gap:14px;display:grid}.form label{color:var(--muted);gap:8px;font-size:13px;display:grid}.form input{border:1px solid var(--border);border-radius:12px;padding:12px}.button{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:12px;padding:12px 14px;font-weight:700}@media (max-width:860px){.app-shell{grid-template-columns:1fr}.sidebar{position:static}.grid{grid-template-columns:1fr}}.auth-links{color:var(--muted);justify-content:center;gap:8px;margin-top:18px;font-size:14px;display:flex}.auth-links a{color:var(--accent);font-weight:700}.auth-links-column{flex-direction:column;align-items:center;gap:10px}.auth-links-column div{gap:8px;display:flex}.form-help{color:var(--muted);margin:-2px 0 2px;font-size:12px;line-height:1.5}.company-box{background:#ffffff14;border:1px solid #ffffff1f;border-radius:12px;gap:4px;margin-bottom:18px;padding:12px;display:grid}.company-box strong{font-size:14px}.company-box span{color:#cbd5e1;font-size:12px}.sidebar-footer{margin-top:28px}.sidebar-footer button{color:#fff;cursor:pointer;text-align:left;background:#ffffff14;border:1px solid #ffffff24;border-radius:10px;width:100%;padding:10px 12px}.sidebar-footer button:hover{background:#ffffff24}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.onboarding-card{width:min(640px,100%)}.empty-state p{color:var(--muted);margin-bottom:0}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:860px){.form-row,.grid-3{grid-template-columns:1fr}}.choice-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:22px;display:grid}.choice-card{border:1px solid var(--border);background:#fff;border-radius:16px;align-content:start;gap:10px;min-height:210px;padding:18px;display:grid;box-shadow:0 8px 24px #1018280a}.choice-card:hover{border-color:var(--accent)}.choice-card h2{margin:0;font-size:18px}.choice-card p{color:var(--muted);margin:0;font-size:14px;line-height:1.45}.muted-choice{color:var(--muted);background:#f8fafc}@media (max-width:860px){.choice-grid{grid-template-columns:1fr}}.two-column{grid-template-columns:minmax(0,2fr) minmax(280px,1fr);align-items:start;gap:16px;display:grid}.muted-text{color:var(--muted);margin:0;font-size:14px}.form input:disabled,.form select:disabled,.form textarea:disabled{color:var(--muted);cursor:not-allowed;background:#f8fafc}@media (max-width:860px){.two-column{grid-template-columns:1fr}}.form select,.form textarea{border:1px solid var(--border);color:var(--text);background:#fff;border-radius:12px;padding:12px}.page-header-row{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.page-header-row .page-header{margin-bottom:0}.secondary-button{color:var(--accent);border:1px solid var(--border);text-align:center;background:#fff;display:inline-flex}.danger-button{background:var(--danger)}.inline-actions{flex-wrap:wrap;align-items:center;gap:12px;display:inline-flex}.inline-actions a{color:var(--accent);font-size:13px;font-weight:700}.inline-actions a.button{color:#fff}.inline-actions a.button.secondary-button{color:var(--accent)}.inline-actions a.button.danger-button{color:#fff}.large-actions a{font-size:14px}.table-primary-link{color:var(--accent);font-weight:700}.table-subtext{color:var(--muted);margin-top:4px;font-size:12px}.filter-row{flex-wrap:wrap;gap:8px;margin:0 0 16px;display:flex}.filter-chip{border:1px solid var(--border);color:var(--muted);background:#fff;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:700}.filter-chip.active{border-color:var(--accent);color:var(--accent);background:#eef4ff}.detail-list{gap:12px;margin:0;display:grid}.detail-list div{border-bottom:1px solid var(--border);grid-template-columns:160px 1fr;gap:12px;padding-bottom:12px;display:grid}.detail-list div:last-child{border-bottom:0;padding-bottom:0}.detail-list dt{color:var(--muted);font-size:13px}.detail-list dd{margin:0;font-weight:600}.danger-zone{background:#fffbfa;border-color:#fecdca}.compact-form{max-width:360px;margin-top:14px}@media (max-width:860px){.page-header-row{display:grid}.detail-list div{grid-template-columns:1fr}}.tag-list{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.tag{border:1px solid var(--border);color:var(--text);background:#f8fafc;border-radius:999px;align-items:center;padding:8px 12px;font-size:13px;font-weight:700;display:inline-flex}.checkbox-stack{color:var(--text);gap:8px;display:grid}.checkbox-stack label{color:var(--text);align-items:center;gap:8px;font-size:13px;display:flex}.checkbox-stack input{width:auto}.list-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:12px;display:flex}.list-row:last-child{border-bottom:0;padding-bottom:0}.link-button{color:var(--danger);cursor:pointer;background:0 0;border:0;padding:0;font-weight:700}.compact-table th,.compact-table td{padding:11px 12px}.wide-compact-form{max-width:100%}.field-group{color:var(--muted);gap:8px;font-size:13px;display:grid}.field-help{color:#64748b;margin-top:6px;font-size:.85rem;display:block}.readonly-input{background:#f8fafc;width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.9rem}.checkbox-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.checkbox-label{color:var(--text);align-items:center;gap:8px;font-weight:700;display:flex}.checkbox-label input{width:auto}.wide-auth-card{max-width:620px}.compact-detail-list{margin:16px 0}.danger-link{color:var(--danger)}.form-section{border:1px solid var(--border);background:#fff;border-radius:16px;gap:14px;padding:16px;display:grid}.form-section h3{margin:0}.form-section p{margin-top:-4px}.action-card{align-content:start;gap:16px;display:grid}.full-width-button{justify-content:center;width:100%;display:flex}.requirement-mini-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.requirement-mini-summary span{border:1px solid var(--border);color:var(--muted);background:#f8fafc;border-radius:12px;gap:2px;padding:10px;font-size:12px;display:grid}.requirement-mini-summary strong{color:var(--text);font-size:18px}.compact-stack{gap:10px}.compact-list-row{align-items:center;padding-bottom:10px}.requirement-groups{gap:12px;display:grid}.requirement-group{border:1px solid var(--border);background:#fff;border-radius:14px;overflow:hidden}.requirement-group summary{cursor:pointer;color:var(--text);justify-content:space-between;align-items:center;padding:14px 16px;font-weight:800;list-style:none;display:flex}.requirement-group summary::-webkit-details-marker{display:none}.requirement-group summary span{min-width:30px;color:var(--accent);background:#eef4ff;border-radius:999px;justify-content:center;padding:4px 8px;font-size:12px;display:inline-flex}.requirement-group[open] summary{border-bottom:1px solid var(--border)}.requirement-group>.stack{padding:14px 16px}.requirement-badges{justify-content:flex-end;gap:8px}.requirement-legend{color:var(--muted);flex-wrap:wrap;gap:8px 16px;margin-top:10px;font-size:12px;display:flex}.requirement-legend strong{color:var(--text)}@media (max-width:860px){.requirement-mini-summary{grid-template-columns:1fr}}.upload-help{line-height:1.4}.warning-text{color:#92400e}.danger-text{color:#b91c1c}.table-actions{justify-content:flex-start;gap:10px}.document-viewer-meta .detail-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px}.document-viewer-meta .detail-list div{grid-template-columns:140px 1fr}.document-viewer-card{padding:0;overflow:hidden}.document-pdf-viewer{background:#f8fafc;border:0;width:100%;min-height:78vh;display:block}.document-image-preview{object-fit:contain;background:#f8fafc;width:100%;max-height:78vh;display:block}@media (max-width:860px){.document-viewer-meta .detail-list,.document-viewer-meta .detail-list div{grid-template-columns:1fr}.document-pdf-viewer,.document-image-preview{min-height:62vh;max-height:62vh}}.wide-form{gap:18px;display:grid}.form-grid{gap:14px;display:grid}.form-grid.two-cols{grid-template-columns:repeat(2,minmax(0,1fr))}.inline-form{display:inline}@media (max-width:760px){.form-grid.two-cols{grid-template-columns:1fr}}.dashboard-hero{background:linear-gradient(135deg,#f0fdf4,#fff);border:1px solid #bbf7d0;border-radius:18px;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:16px;padding:22px;display:flex;box-shadow:0 8px 24px #1018280a}.dashboard-hero-danger{background:linear-gradient(135deg,#fffbfa,#fff);border-color:#fecdca}.dashboard-hero h3{margin:12px 0 6px;font-size:24px}.dashboard-hero p{color:var(--muted);margin:0}.hero-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;min-width:320px;display:flex}.dashboard-top-metrics{margin-top:16px}.dashboard-domain-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:16px;display:grid}.domain-card{gap:14px;display:grid}.domain-card-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.domain-card-header h3{margin-bottom:4px}.dashboard-stat-list{gap:10px;margin:0;display:grid}.dashboard-stat-list div{border-bottom:1px solid var(--border);justify-content:space-between;gap:12px;padding-bottom:9px;display:flex}.dashboard-stat-list div:last-child{border-bottom:0;padding-bottom:0}.dashboard-stat-list dt{color:var(--muted);font-size:13px}.dashboard-stat-list dd{margin:0;font-weight:800}.domain-card-link{color:var(--accent);font-size:13px;font-weight:800}.section-title-row{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.section-title-row h3{margin-bottom:4px}.operational-list{gap:0}.operational-row{border-bottom:1px solid var(--border);justify-content:space-between;gap:14px;padding:13px 0;display:flex}.operational-row:last-child{border-bottom:0}.operational-row:hover strong{color:var(--accent)}.operational-row-side{white-space:nowrap;justify-items:end;gap:6px;display:grid}.dashboard-area-label{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:4px;font-size:11px;font-weight:800;display:inline-flex}.quick-action-grid{gap:10px;display:grid}.quick-action{border:1px solid var(--border);background:#fff;border-radius:14px;gap:4px;padding:12px;display:grid}.quick-action:hover{border-color:var(--accent)}.quick-action strong{color:var(--accent)}.quick-action span,.dashboard-note span{color:var(--muted);font-size:13px}.dashboard-note{border-top:1px solid var(--border);gap:4px;margin-top:14px;padding-top:14px;display:grid}@media (max-width:1120px){.dashboard-domain-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-hero{display:grid}.hero-actions{justify-content:flex-start;min-width:0}}@media (max-width:860px){.dashboard-domain-grid{grid-template-columns:1fr}.operational-row{display:grid}.operational-row-side{justify-items:start}}.brand-block{align-items:center;gap:12px;margin-bottom:24px;display:flex}.brand-mark{color:#fff;letter-spacing:.04em;background:linear-gradient(135deg,#2563eb,#0f766e);border-radius:14px;place-items:center;width:42px;height:42px;font-size:14px;font-weight:800;display:grid;box-shadow:0 12px 28px #2563eb47}.brand-block h1{margin:0 0 4px}.brand-block p{color:#cbd5e1;margin:0;font-size:12px;line-height:1.35}.auth-brand{align-items:center;gap:12px;margin-bottom:18px;display:flex}.auth-brand h1{margin:0 0 4px}.auth-brand p{color:var(--muted);margin:0}.template-library-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-top:16px;display:grid}.template-card{border:1px solid var(--border);background:#fff;border-radius:16px;padding:16px}.template-card h4{margin:0 0 6px;font-size:16px}.template-card .template-meta{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.compact-template-library{padding-bottom:14px}.section-heading-row{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.section-heading-row h3{margin:0 0 6px}.template-status-strip{flex-wrap:wrap;justify-content:flex-end;gap:8px;min-width:220px;display:flex}.template-picker-form{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;margin-top:14px;display:grid}.template-details{border-top:1px solid var(--border);margin-top:10px;padding-top:10px}.template-details summary{cursor:pointer;color:var(--primary);font-size:14px;font-weight:700}@media (max-width:860px){.section-heading-row{flex-direction:column}.template-status-strip{justify-content:flex-start;min-width:0}.template-picker-form{grid-template-columns:1fr}}.requirement-group-empty{padding:14px 16px}.requirement-group .requirement-table{border:0;border-radius:0;min-width:780px}.requirement-group .requirement-table th,.requirement-group .requirement-table td{vertical-align:top}.requirement-group .requirement-table th:first-child,.requirement-group .requirement-table td:first-child{min-width:260px}.requirement-group .requirement-table th:last-child,.requirement-group .requirement-table td:last-child{min-width:120px}.filter-form{grid-template-columns:repeat(5,minmax(0,1fr)) auto auto;align-items:end;gap:12px;display:grid}.filter-form label{color:var(--muted);gap:6px;font-size:12px;font-weight:700;display:grid}.filter-form input,.filter-form select{border:1px solid var(--border);min-width:0;color:var(--text);background:#fff;border-radius:12px;padding:10px 11px;font-weight:500}.compact-details{border-top:1px solid var(--border);padding-top:12px}.compact-details summary{cursor:pointer;color:var(--accent);font-size:13px;font-weight:800}@media (max-width:1180px){.filter-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.filter-form{grid-template-columns:1fr}}.timesheet-create-form{grid-template-columns:minmax(180px,260px) minmax(120px,180px) auto;align-items:end;gap:12px;margin-top:14px;display:grid}.timesheet-create-form label,.inline-status-form label{color:var(--muted);gap:6px;font-size:12px;font-weight:700;display:grid}.timesheet-create-form input,.timesheet-create-form select,.inline-status-form select,.timesheet-entry-table input,.timesheet-entry-table select{border:1px solid var(--border);min-width:0;color:var(--text);background:#fff;border-radius:12px;padding:10px 11px}.timesheet-period-toolbar{border:1px solid var(--border);background:#fff;border-radius:16px;justify-content:space-between;align-items:flex-start;gap:16px;padding:16px;display:flex}.inline-status-form{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.timesheet-total-strip{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.timesheet-total-strip span{border:1px solid var(--border);min-width:92px;color:var(--muted);background:#f8fafc;border-radius:12px;gap:2px;padding:9px 11px;font-size:12px;display:grid}.timesheet-total-strip strong{color:var(--text);font-size:16px}.timesheet-entry-table-wrap{width:100%;overflow-x:auto}.timesheet-entry-table{min-width:1080px}.timesheet-entry-table th:first-child,.timesheet-entry-table td:first-child{min-width:120px}.timesheet-entry-table input,.timesheet-entry-table select{width:100%;font-size:13px}.timesheet-entry-table input:disabled,.timesheet-entry-table select:disabled{color:var(--muted);background:#f8fafc}.form-actions{flex-wrap:wrap;gap:10px;display:flex}@media (max-width:860px){.timesheet-create-form{grid-template-columns:1fr}.timesheet-period-toolbar{display:grid}.timesheet-total-strip{justify-content:flex-start}}.public-page{background:radial-gradient(circle at top left, #eef4ff 0, #eef4ff00 34%), var(--bg);min-height:100vh}.public-header{justify-content:space-between;align-items:center;gap:18px;width:min(1180px,100% - 32px);margin:0 auto;padding:22px 0;display:flex}.public-brand{letter-spacing:-.02em;align-items:center;gap:10px;font-weight:900;display:inline-flex}.brand-mark{background:var(--accent);color:#fff;border-radius:14px;justify-content:center;align-items:center;width:42px;height:42px;font-weight:900;display:inline-flex;box-shadow:0 12px 24px #1f5eff2e}.public-nav{color:var(--muted);align-items:center;gap:16px;font-size:14px;font-weight:700;display:flex}.public-login-button{padding:10px 14px}.public-hero,.public-section,.legal-hero,.legal-card,.public-footer{width:min(1180px,100% - 32px);margin-left:auto;margin-right:auto}.public-hero{padding:54px 0 30px;display:block}.public-hero-copy,.public-hero-panel,.legal-card,.public-cta-section{border:1px solid var(--border);background:#ffffffe0;border-radius:26px;box-shadow:0 18px 55px #10182814}.public-hero-copy{padding:42px}.eyebrow{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin:0 0 12px;font-size:13px;font-weight:900}.public-hero h1{letter-spacing:-.06em;max-width:850px;margin:0 0 18px;font-size:clamp(42px,5vw,72px);line-height:.96}.public-hero p,.public-section p,.legal-hero p,.legal-card p,.public-footer p,.contact-card p{color:var(--muted);line-height:1.65}.public-hero-copy>p:not(.eyebrow){max-width:740px;margin:0;font-size:18px}.public-hero-actions{flex-wrap:wrap;gap:12px;margin-top:26px;display:flex}.public-hero-actions .button{justify-content:center;align-items:center;display:inline-flex}.public-hero-panel{align-content:center;gap:16px;padding:32px;display:grid}.public-hero-panel h2{letter-spacing:-.04em;margin:0;font-size:30px}.public-hero-panel ul,.public-check-card ul,.legal-card ul{color:var(--text);gap:10px;margin:0;padding-left:20px;line-height:1.55;display:grid}.public-section{padding:44px 0}.public-section-heading{max-width:720px;margin-bottom:22px}.public-section h2,.legal-hero h1{letter-spacing:-.05em;margin:0 0 12px;font-size:clamp(30px,3vw,46px);line-height:1.04}.public-feature-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.public-feature-card{min-height:190px}.public-feature-card h3{color:var(--text);font-size:19px}.public-feature-card p{margin:0;font-size:14px}.public-split-section{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:22px;display:grid}.public-split-section>div:first-child p:not(.eyebrow){margin:0;font-size:17px}.public-check-card li::marker{color:var(--accent)}.public-cta-section{text-align:center;margin-bottom:44px;padding:36px}.public-cta-section p{max-width:700px;margin:0 auto}.centered-actions{justify-content:center}.legal-hero{padding:54px 0 22px}.legal-hero h1{max-width:860px}.legal-hero p:not(.eyebrow){max-width:820px;margin:0}.legal-card{margin-bottom:48px;padding:38px}.legal-card h2{letter-spacing:-.03em;margin:30px 0 10px;font-size:22px}.legal-card h2:first-child{margin-top:0}.legal-card a,.contact-link{color:var(--accent);font-weight:800}.contact-grid-section{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding-top:18px;padding-bottom:60px;display:grid}.contact-card{align-content:start;gap:10px;display:grid}.contact-card h2{margin:0;font-size:22px}.contact-card p{margin:0}.public-footer{border-top:1px solid var(--border);justify-content:space-between;gap:28px;padding:28px 0 44px;display:flex}.public-footer p{max-width:460px;margin:8px 0 0;font-size:13px}.public-footer nav{color:var(--muted);flex-wrap:wrap;justify-content:flex-end;gap:12px 18px;font-size:13px;font-weight:700;display:flex}@media (max-width:980px){.public-hero,.public-split-section,.contact-grid-section{grid-template-columns:1fr}.public-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:700px){.public-header,.public-footer{display:grid}.public-nav,.public-footer nav{justify-content:flex-start}.public-hero-copy,.public-hero-panel,.legal-card,.public-cta-section{border-radius:20px;padding:24px}.public-feature-grid{grid-template-columns:1fr}}
