:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--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;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}.read-only-banner{color:#1e3a8a;text-align:left;background:#eff6ff;border:1px solid #bfdbfe;border-radius:14px;justify-content:space-between;align-items:center;gap:16px;margin:22px 0;padding:16px 18px;display:flex}.read-only-banner strong{color:#1d4ed8;white-space:nowrap}@media (width<=640px){.read-only-banner{flex-direction:column;align-items:flex-start;gap:4px}}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;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%}.accounts-page{background:#f5f8ff;min-height:100vh;padding:25px}.account-guide{color:#4b5563;text-align:left;background:#fff;border-radius:16px;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:24px;padding:18px;display:grid;box-shadow:0 8px 25px #0000000d}.account-guide span{background:#f8faff;border-radius:9px;padding:10px}.account-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:22px;display:grid}.account-card{text-align:left;background:#fff;border-radius:18px;padding:20px;box-shadow:0 8px 25px #0000000d}.account-heading{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.account-heading h2,.account-heading p{overflow-wrap:anywhere;margin:0 0 6px}.account-status{white-space:nowrap;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:700}.account-status.active{color:#166534;background:#ecfdf3}.account-status.pending{color:#8a5b00;background:#fff7df}.account-status.disabled{color:#b42318;background:#fff0ed}.account-controls{grid-template-columns:1fr 1fr;gap:12px;margin-top:16px;display:grid}.account-controls label{color:#6b7280;font-size:13px;display:block}.account-controls select{box-sizing:border-box;color:#1f2937;background:#fff;border:1px solid #d8dce5;border-radius:9px;width:100%;height:42px;margin-top:7px;padding:0 10px}.save-account{color:#fff;cursor:pointer;background:#1e5eff;border:0;border-radius:10px;width:100%;min-height:44px;margin-top:16px}.project-access-picker,.all-project-access{background:#f8faff;border-radius:12px;margin-top:16px;padding:14px}.project-access-picker>strong{color:#374151;margin-bottom:8px;display:block}.project-access-picker label{cursor:pointer;background:#fff;border:1px solid #e6eaf2;border-radius:9px;align-items:flex-start;gap:10px;margin-top:9px;padding:10px;display:flex}.project-access-picker input{flex:none;width:18px;height:18px;margin:2px 0 0}.project-access-picker span,.project-access-picker small{display:block}.project-access-picker small{color:#7b8496;margin-top:3px}.all-project-access{color:#166534;background:#ecfdf3}.boss-finance-permission{color:#1e3a8a;cursor:pointer;background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;align-items:flex-start;gap:11px;margin-top:12px;padding:14px;display:flex}.boss-finance-permission input{flex:none;width:19px;height:19px;margin:2px 0 0}.boss-finance-permission span,.boss-finance-permission small{display:block}.boss-finance-permission small{color:#64748b;margin-top:4px;line-height:1.5}.account-error,.account-success,.account-message{background:#fff;border-radius:12px;margin-top:18px;padding:14px 16px}.account-error{color:#b42318;background:#fff0ed}.account-success{color:#166534;background:#ecfdf3}@media (width<=720px){.account-guide,.account-list,.account-controls{grid-template-columns:1fr}}.approval-page{background:#f5f8ff;min-height:100vh;padding:25px}.approval-overview{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:24px;display:grid}.approval-overview>div{background:#fff;border-radius:16px;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;display:flex;box-shadow:0 8px 25px #0000000d}.approval-overview span{color:#64748b;font-size:14px}.approval-overview strong{color:#166534;font-size:28px}.approval-overview .pending-summary strong{color:#b45309}.project-approval-filter{background:#fff;border-radius:16px;flex-wrap:wrap;gap:10px;margin-top:18px;padding:14px;display:flex;box-shadow:0 8px 25px #0000000a}.project-approval-filter button{color:#475569;cursor:pointer;background:#f8fafc;border:1px solid #dbe3f0;border-radius:999px;align-items:center;gap:8px;min-height:40px;padding:8px 13px;display:flex}.project-approval-filter button span{color:#64748b;background:#e2e8f0;border-radius:999px;place-items:center;min-width:22px;min-height:22px;padding:0 5px;font-size:12px;display:inline-grid}.project-approval-filter button.active{color:#fff;background:#2563eb;border-color:#2563eb}.project-approval-filter button.active span{color:#1d4ed8;background:#fff}.project-approval-group{background:#eef4ff;border:1px solid #dbe5f5;border-radius:22px;margin-top:26px;overflow:hidden;box-shadow:0 10px 28px #1e40af0f}.project-group-heading{color:#fff;text-align:left;background:linear-gradient(135deg,#1d4ed8,#2563eb);justify-content:space-between;align-items:center;gap:20px;padding:22px 24px;display:flex}.project-group-heading h2,.project-group-heading p{color:#fff;margin:3px 0 0}.project-group-heading>div>span,.project-group-heading p{color:#dbeafe;font-size:13px}.project-group-count{white-space:nowrap;align-items:baseline;gap:6px;display:flex}.project-group-count strong{font-size:30px}.project-group-count span{color:#dbeafe;font-size:13px}.project-approval-list{gap:16px;padding:18px;display:grid}.approval-card{text-align:left;background:#fff;border-radius:20px;margin:0;padding:25px;box-shadow:0 8px 25px #0000000d}.approval-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.approval-heading h2,.approval-heading p{margin:0 0 8px}.status-badge{white-space:nowrap;border-radius:999px;margin:0;padding:6px 10px;font-size:13px;font-weight:700}.status-pending{color:#8a5b00;background:#fff7df}.status-approved{color:#166534;background:#ecfdf3}.approval-meta{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0;display:grid}.approval-meta div{background:#f8faff;border-radius:12px;padding:12px}.approval-meta dt{color:#7b8496;font-size:13px}.approval-meta dd{color:#1f2937;margin:4px 0 0}.reason{background:#f6f8fc;border-radius:15px;margin-top:15px;padding:15px}.reason h3{margin:0 0 8px}.acceptance-quality{background:#edf3ff}.acceptance-warranty-detail{background:#f0fdf4}.acceptance-warranty-detail span{color:#166534;background:#fff;border-radius:8px;margin-top:7px;padding:6px 9px;font-size:13px;font-weight:700;display:inline-block}.start-readiness{background:#f0fdf4}.payment-detail{background:#faf5ff}.payment-detail strong{color:#7c3aed;margin:8px 0;font-size:24px;display:block}.payment-evidence-detail{background:#f8fafc}.contract-adjustment-detail{background:#fff7ed}.contract-adjustment-detail>div{flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px;display:flex}.contract-adjustment-detail>div span,.contract-adjustment-detail>div strong{background:#fff;border-radius:9px;padding:8px 10px}.contract-adjustment-detail .contract-increase{color:#15803d}.contract-adjustment-detail .contract-reduction{color:#b42318}.contract-adjustment-detail p{color:#9a3412;margin:10px 0 0;font-size:13px}.payment-evidence-links{flex-wrap:wrap;gap:9px;margin-top:10px;display:flex}.payment-evidence-links a,.payment-evidence-links span{color:#1d4ed8;background:#fff;border:1px solid #dbe3ef;border-radius:9px;padding:8px 10px;text-decoration:none}.missing-evidence{color:#b42318}.closeout-approval-detail{background:#eff6ff}.closeout-approval-detail>div{flex-wrap:wrap;gap:8px;margin:10px 0;display:flex}.closeout-approval-detail span{color:#1e3a8a;background:#fff;border-radius:8px;padding:7px 9px;font-size:13px}.closeout-approval-detail p{color:#64748b;font-size:13px}.acceptance-checks{color:#166534;flex-wrap:wrap;gap:8px 16px;margin-top:12px;font-size:14px;font-weight:600;display:flex}.review-area{margin-top:20px}.review-area textarea{min-height:90px}.buttons{gap:15px;margin-top:16px;display:flex}.agree{color:#fff;background:#1e5eff}.reject{color:#374151;background:#eef0f4}.buttons button:disabled{opacity:.65;cursor:wait}.review-result{background:#f6f8fc;border-radius:12px;margin-top:18px;padding:14px}.approval-message,.approval-error{background:#fff;border-radius:14px;margin-top:24px;padding:16px}.approval-error{color:#b42318;background:#fff0ed}@media (width<=720px){.approval-overview,.approval-meta{grid-template-columns:1fr}.approval-heading,.project-group-heading{flex-direction:column}.project-group-count{align-self:flex-start}}.attendance-page{background:#f5f8ff;min-height:100vh;padding:25px}.attendance-summary{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px;display:grid}.attendance-summary>div{background:#fff;border-radius:18px;padding:22px;box-shadow:0 8px 25px #0000000d}.attendance-summary span{color:#6b7280;margin-bottom:8px;display:block}.attendance-summary strong{color:#1e5eff;font-size:34px}.attendance-summary small{color:#6b7280;margin-left:5px}.attendance-form,.attendance-history{text-align:left;background:#fff;border-radius:20px;margin-top:24px;padding:24px;box-shadow:0 8px 25px #0000000d}.attendance-heading{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.attendance-heading h2,.attendance-heading p{margin:0 0 6px}.attendance-heading>span{color:#166534;white-space:nowrap;background:#ecfdf3;border-radius:999px;padding:6px 10px;font-size:14px;font-weight:700}.attendance-heading>.project-stopped{color:#b42318;background:#fff0ed}.attendance-form-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.attendance-form label{color:#374151;margin-top:16px;font-weight:600;display:block}.attendance-form input,.attendance-form textarea{box-sizing:border-box;color:#1f2937;background:#fff;border:1px solid #d8dce5;border-radius:10px;width:100%;margin-top:8px;padding:12px;font-size:15px}.attendance-form input{height:45px}.attendance-form textarea{resize:vertical;min-height:90px}.attendance-warning,.attendance-success{border-radius:12px;margin-top:14px;padding:12px 16px}.attendance-warning{color:#8a5b00;background:#fff7df}.attendance-success{color:#166534;background:#ecfdf3}.attendance-record-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px;display:grid}.attendance-record{background:#fbfcff;border:1px solid #e6eaf2;border-radius:16px;padding:18px;position:relative}.attendance-person{align-items:center;gap:12px;padding-right:72px;display:flex}.person-avatar{color:#fff;background:#1e5eff;border-radius:50%;flex:0 0 42px;justify-content:center;align-items:center;width:42px;height:42px;font-weight:800;display:flex}.attendance-person h3,.attendance-person p{margin:0 0 4px}.attendance-times{background:#fff;border-radius:12px;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px;padding:12px;display:grid}.attendance-times span,.attendance-times strong{display:block}.attendance-times span{color:#6b7280;margin-bottom:4px;font-size:12px}.attendance-times strong{color:#1f2937;font-size:13px}.attendance-note{color:#5f6b7a;margin-top:12px;font-size:14px}.attendance-status{border-radius:999px;padding:5px 9px;font-size:12px;font-weight:700;position:absolute;top:18px;right:18px}.checked-out{color:#166534;background:#ecfdf3}.on-site{color:#92400e;background:#fffbeb}.check-out-btn{color:#fff;cursor:pointer;background:#f59e0b;border:0;border-radius:10px;width:100%;min-height:42px;margin-top:14px;font-size:15px}.check-out-btn:disabled{opacity:.65;cursor:wait}.attendance-message{text-align:center;padding:24px 0 8px}@media (width<=720px){.attendance-summary,.attendance-form-grid,.attendance-record-list{grid-template-columns:1fr}.attendance-heading{flex-direction:column}.attendance-times{grid-template-columns:1fr}}.boss-finance-page{background:#f5f8ff;min-height:100vh;padding:25px}.boss-finance-summary{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-top:24px;display:grid}.boss-finance-summary>div{text-align:left;background:#fff;border-radius:16px;padding:18px;box-shadow:0 8px 25px #0000000d}.boss-finance-summary span,.boss-finance-summary strong{display:block}.boss-finance-summary span{color:#64748b;margin-bottom:7px;font-size:13px}.boss-finance-summary strong{color:#1f2937;overflow-wrap:anywhere;font-size:20px}.boss-finance-summary .received strong{color:#15803d}.boss-finance-summary .paid strong{color:#b42318}.boss-finance-summary .pending strong{color:#b45309}.boss-finance-summary .over-received strong{color:#b42318}.boss-accounting-mode{color:#1e3a8a;text-align:left;background:#eff6ff;border:1px solid #bfdbfe;border-radius:16px;justify-content:space-between;align-items:center;gap:18px;margin-top:18px;padding:18px 20px;display:flex}.boss-accounting-mode p{color:#475569;margin-top:4px}.boss-accounting-mode button{color:#fff;cursor:pointer;background:#2563eb;border:0;border-radius:10px;flex:none;min-height:40px;padding:8px 13px}.finance-project-browser,.settled-project-section{text-align:left;background:#fff;border-radius:20px;margin-top:22px;padding:22px;box-shadow:0 8px 25px #0000000d}.finance-browser-heading{justify-content:space-between;align-items:flex-end;gap:18px;display:flex}.finance-browser-heading h2,.finance-browser-heading p,.settled-project-section h2,.settled-project-section p{margin:0 0 5px}.finance-browser-heading p,.settled-project-section p{color:#64748b;font-size:14px}.finance-browser-heading input{box-sizing:border-box;color:#1f2937;background:#fff;border:1px solid #cbd5e1;border-radius:10px;width:280px;max-width:100%;height:42px;padding:0 12px}.finance-stage-filter{background:#f1f5f9;border-radius:12px;flex-wrap:wrap;gap:9px;margin-top:18px;padding:8px;display:flex}.finance-stage-filter button{color:#475569;cursor:pointer;background:0 0;border:0;border-radius:9px;min-height:38px;padding:7px 13px}.finance-stage-filter button.active{color:#fff;background:#2563eb}.boss-finance-project-list{gap:14px;margin-top:18px;display:grid}.boss-finance-project{width:100%;height:auto;color:inherit;text-align:left;cursor:pointer;background:#fbfdff;border:1px solid #dbe4f1;border-radius:15px;padding:18px}.boss-finance-project:hover{background:#f8fbff;border-color:#93c5fd}.finance-project-title{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.finance-project-title h3,.finance-project-title p{margin:0 0 4px}.finance-project-title p{color:#64748b;font-size:13px}.finance-project-title>span{color:#92400e;white-space:nowrap;background:#fffbeb;border-radius:999px;padding:5px 9px;font-size:12px}.finance-project-amounts{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.finance-project-amounts>div{background:#f1f5f9;border-radius:10px;padding:10px}.finance-project-amounts span,.finance-project-amounts strong{display:block}.finance-project-amounts .over-received strong{color:#b42318}.finance-project-amounts span{color:#64748b;font-size:12px}.finance-project-amounts strong{color:#1f2937;overflow-wrap:anywhere;margin-top:3px;font-size:14px}.boss-finance-project>small{color:#2563eb;text-align:right;margin-top:13px;font-weight:700;display:block}.boss-finance-message{color:#64748b;text-align:center;background:#f8fafc;border-radius:12px;margin-top:16px;padding:18px}.boss-finance-message.error{color:#b42318;background:#fff0ed}.settled-project-section{background:#f0fdf4;border:1px solid #bbf7d0;position:relative}.settled-project-section>span{color:#166534;font-weight:700;position:absolute;top:22px;right:22px}.settled-project-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.settled-project-list button{color:#14532d;text-align:left;cursor:pointer;background:#fff;border:1px solid #bbf7d0;border-radius:12px;flex-direction:column;align-items:flex-start;gap:4px;height:auto;padding:15px;display:flex}.settled-project-list span,.settled-project-list small{color:#64748b}@media (width<=820px){.boss-finance-summary,.finance-project-amounts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.boss-finance-summary,.settled-project-list{grid-template-columns:1fr}.boss-accounting-mode,.finance-browser-heading,.finance-project-title{flex-direction:column;align-items:flex-start}.finance-browser-heading input{width:100%}.settled-project-section>span{margin-top:8px;display:block;position:static}}.boss-page{--boss-navy:#0b1f3a;--boss-blue:#2563eb;--boss-ink:#172033;--boss-muted:#6b778c;--boss-line:#e5eaf2;box-sizing:border-box;min-height:100vh;color:var(--boss-ink);text-align:left;background:radial-gradient(circle at 90% 0,#2563eb17,#0000 26%),linear-gradient(#f7f9fd 0%,#f1f4f9 100%);padding:24px}.boss-page *{box-sizing:border-box}.boss-page button:focus-visible{outline-offset:2px;outline:2px solid #60a5fa}.boss-hero{color:#fff;background:linear-gradient(118deg,#07182d 0%,#102d55 58%,#174b8f 100%);border:1px solid #ffffff1a;border-radius:26px;padding:24px 28px 30px;position:relative;overflow:hidden;box-shadow:0 24px 55px #091e4233}.boss-hero-glow{border:70px solid #60a5fa24;border-radius:50%;width:340px;height:340px;position:absolute;bottom:-210px;right:-90px}.boss-hero-top,.boss-hero-body,.boss-brand,.boss-profile-chip,.boss-hero-actions{z-index:1;align-items:center;display:flex;position:relative}.boss-hero-top{justify-content:space-between;gap:20px}.boss-brand{gap:12px}.boss-brand-mark{color:#0b2447;background:linear-gradient(145deg,#fff,#dbeafe);border:1px solid #ffffff38;border-radius:13px;place-items:center;width:44px;height:44px;font-size:21px;font-weight:900;display:grid;box-shadow:0 8px 20px #00000026}.boss-brand strong,.boss-brand span,.boss-profile-chip strong,.boss-profile-chip small{margin:0;display:block}.boss-brand strong{color:#fff;letter-spacing:.04em;font-size:17px}.boss-brand span{color:#9fb7d4;letter-spacing:.16em;margin-top:2px;font-size:9px}.boss-profile-chip{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff14;border:1px solid #ffffff24;border-radius:999px;gap:11px;padding:7px 8px 7px 14px}.boss-profile-chip>div{text-align:right}.boss-profile-chip small{color:#9fb7d4;font-size:10px}.boss-profile-chip strong{color:#fff;font-size:13px}.boss-profile-chip>span{color:#0c315e;background:#dbeafe;border-radius:50%;place-items:center;width:34px;height:34px;margin:0;font-size:13px;font-weight:800;display:grid}.boss-hero-body{justify-content:space-between;align-items:flex-end;gap:30px;margin-top:44px}.boss-date{color:#a8c7ee;letter-spacing:.06em;margin:0 0 9px;font-size:12px;font-weight:700;display:inline-flex}.boss-hero h1{color:#fff;letter-spacing:-.035em;max-width:650px;margin:0;font-size:38px;font-weight:760;line-height:1.18}.boss-hero-body p{color:#b8c9de;margin:10px 0 0;font-size:14px}.boss-hero-actions{flex:none;gap:10px}.boss-hero-actions button{color:#0d3260;background:#fff;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:auto;min-width:126px;height:44px;padding:0 16px;font-size:14px;font-weight:750;display:flex;position:relative;box-shadow:0 8px 20px #00000024}.boss-hero-actions button:hover{background:#eff6ff}.boss-hero-actions button.secondary{color:#fff;box-shadow:none;background:#ffffff17;border-color:#ffffff3d}.boss-hero-actions button.secondary:hover{background:#ffffff29}.boss-hero-actions button .approval-count-badge{color:#fff;background:#ef4444;border-radius:999px;place-items:center;min-width:22px;height:22px;margin:0;padding:0 5px;font-size:10px;font-weight:850;line-height:1;display:grid;position:absolute;top:-9px;right:-9px;box-shadow:0 0 0 3px #173d70,0 4px 10px #ef444459}.boss-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:18px;display:grid}.boss-metric-card{background:#fffffff0;border:1px solid #e2e8f0e6;border-radius:18px;align-items:center;min-width:0;padding:18px;display:flex;box-shadow:0 10px 28px #0f172a0e}.metric-icon{border-radius:13px;flex:0 0 42px;place-items:center;width:42px;height:42px;margin-right:13px;font-size:14px;font-weight:850;display:grid}.metric-projects .metric-icon{color:#1d4ed8;background:#eaf1ff}.metric-contract .metric-icon{color:#a16207;background:#fff6d9}.metric-progress .metric-icon{color:#047857;background:#e7f8f0}.metric-todos .metric-icon{color:#c2410c;background:#fff0e8}.metric-copy{min-width:0}.metric-copy>span,.metric-copy>strong,.metric-copy>small{margin:0;display:block}.metric-copy>span{color:var(--boss-muted);font-size:12px;font-weight:650}.metric-copy>strong{color:var(--boss-ink);text-overflow:ellipsis;white-space:nowrap;margin:2px 0;font-size:24px;line-height:1.2;overflow:hidden}.metric-copy>small{color:#94a0b2;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.boss-workspace-grid{grid-template-columns:minmax(0,1.55fr) minmax(300px,.9fr);gap:16px;margin-top:18px;display:grid}.boss-todo-section,.boss-quick-panel,.boss-project-section{border:1px solid var(--boss-line);background:#fff;border-radius:20px;box-shadow:0 10px 28px #0f172a0b}.boss-todo-section,.boss-quick-panel{padding:21px}.boss-section-heading,.section-card-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.boss-section-heading>div>span,.section-card-heading>div>span{color:#2563eb;letter-spacing:.14em;text-transform:uppercase;margin:0 0 5px;font-size:10px;font-weight:850;display:block}.boss-section-heading h2,.section-card-heading h2{color:var(--boss-ink);letter-spacing:-.02em;margin:0;font-size:20px;font-weight:760}.boss-section-heading p,.section-card-heading p{color:#8894a7;margin:5px 0 0;font-size:12px}.boss-section-heading>button{color:#2563eb;white-space:nowrap;background:0 0;width:auto;height:auto;padding:7px 0;font-size:12px;font-weight:700}.boss-section-heading>button:hover{color:#174bd1;background:0 0}.boss-todo-empty{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:14px;align-items:center;gap:13px;min-height:104px;margin-top:16px;padding:18px;display:flex}.boss-todo-empty>span{color:#047857;background:#dcfce7;border-radius:50%;flex:0 0 38px;place-items:center;width:38px;height:38px;margin:0;font-size:17px;font-weight:900;display:grid}.boss-todo-empty strong{color:#334155;font-size:13px;display:block}.boss-todo-empty p{color:#94a3b8;margin:3px 0 0;font-size:11px}.boss-todo-list{gap:8px;margin-top:15px;display:grid}.boss-todo-list button{color:#334155;text-align:left;background:#fbfcfe;border:1px solid #e8ecf3;border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:5px 10px;height:auto;padding:11px 12px;display:grid}.boss-todo-list button:hover{background:#f4f8ff;border-color:#bfdbfe}.boss-todo-list button>span{color:#92400e;background:#fef3c7;border-radius:8px;grid-row:1/3;margin:0;padding:6px 8px;font-size:10px;font-weight:750}.boss-todo-list button>strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.boss-todo-list button>small{color:#94a3b8;font-size:10px}.boss-todo-list button>b{color:#94a3b8;grid-area:1/3/3;font-size:20px}.boss-quick-grid{gap:8px;margin-top:15px;display:grid}.boss-quick-grid button{height:auto;color:var(--boss-ink);text-align:left;background:#f8fafc;border:1px solid #0000;border-radius:12px;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px;padding:9px;display:grid}.boss-quick-grid button:hover{background:#f1f5f9;border-color:#dbe4f2}.boss-quick-grid button>span{margin:0;display:block}.boss-quick-grid button>span:nth-child(2)>strong,.boss-quick-grid button>span:nth-child(2)>small{display:block}.boss-quick-grid button strong{font-size:12px}.boss-quick-grid button small{color:#94a3b8;margin-top:2px;font-size:10px}.boss-quick-grid button>b{color:#a3afc0;font-size:18px}.quick-icon{border-radius:11px;place-items:center;width:38px;height:38px;font-weight:850;font-size:12px!important;display:grid!important}.approval-icon{color:#1d4ed8;background:#e8f0ff}.finance-icon{color:#047857;background:#e5f8ee}.project-icon{color:#7c3aed;background:#f1eafe}.account-icon{color:#c2410c;background:#fff0e8}.boss-project-section{margin-top:18px;padding:22px}.section-card-heading>button{color:#fff;background:#173f75;border-radius:11px;width:auto;height:40px;padding:0 15px;font-size:12px;font-weight:700}.section-card-heading>button:hover{background:#0f315f}.boss-stage-filter{background:#f1f4f8;border-radius:13px;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:18px;padding:5px;display:grid}.boss-stage-filter button{color:#64748b;background:0 0;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:7px;min-height:38px;padding:7px 9px;font-size:12px;font-weight:650;display:flex}.boss-stage-filter button:hover{color:#1d4ed8;background:#f8fbff}.boss-stage-filter button>span{color:#64748b;background:#e2e8f0;border-radius:999px;place-items:center;min-width:20px;height:20px;margin:0;font-size:9px;display:grid}.boss-stage-filter button.active{color:#143b70;background:#fff;box-shadow:0 4px 12px #0f172a14}.boss-stage-filter button.active>span{color:#fff;background:#2563eb}.boss-project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px;display:grid}.project-card-shell{background:#fbfcfe;border:1px solid #e3e8f0;border-radius:16px;padding-bottom:8px;transition:transform .2s,box-shadow .2s,border-color .2s;position:relative;overflow:hidden}.project-card-shell:hover{border-color:#c7d7f2;transform:translateY(-2px);box-shadow:0 12px 25px #0f172a14}.project-card{width:100%;height:auto;color:var(--boss-ink);text-align:left;background:0 0;border:0;border-radius:0;padding:16px 16px 10px;display:block}.project-card:hover{background:0 0}.project-card-topline{justify-content:space-between;align-items:center;gap:12px;display:flex}.project-card-topline>small{color:#94a3b8;white-space:nowrap;font-size:9px}.project-stage-badge{border-radius:999px;width:auto;margin:0;padding:5px 8px;font-size:9px;font-weight:800;display:inline-flex}.project-card h3{color:#1e293b;min-height:42px;margin:12px 0 13px;font-size:15px;line-height:1.4}.project-card-metrics{grid-template-columns:1fr auto;gap:16px;display:grid}.project-card-metrics>div>span,.project-card-metrics>div>strong{margin:0;display:block}.project-card-metrics>div>span{color:#94a3b8;font-size:9px}.project-card-metrics>div>strong{color:#334155;margin-top:2px;font-size:12px}.project-card-metrics>div:last-child{text-align:right}.progress{background:#e5eaf1;border-radius:999px;height:5px;margin:12px 0 10px;overflow:hidden}.progress>div{background:linear-gradient(90deg,#2563eb,#60a5fa);border-radius:999px;height:100%}.project-open-link{color:#2563eb;justify-content:space-between;align-items:center;margin:0;font-size:10px;font-weight:700;display:flex}.project-open-link b{font-size:13px}.delete-project-btn{color:#a7afbd;background:0 0;border:0;border-radius:6px;width:auto;height:auto;margin:0 12px 0 auto;padding:4px 5px;font-size:9px;display:block}.delete-project-btn:hover{color:#b42318;background:#fff1f1}.delete-project-btn:disabled{opacity:.6;cursor:wait}.dashboard-message{color:#64748b;text-align:center;background:#f8fafc;border-radius:12px;margin:14px 0 0;padding:18px;font-size:12px}.error-message{color:#b42318;background:#fff1f1}.success-message{color:#166534;background:#ecfdf3}@media (width<=900px){.boss-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.boss-workspace-grid{grid-template-columns:1fr}.boss-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.boss-page{padding:14px}.boss-hero{border-radius:20px;padding:19px}.boss-profile-chip>div{display:none}.boss-hero-body{flex-direction:column;align-items:flex-start;margin-top:34px}.boss-hero h1{font-size:29px}.boss-hero-actions{width:100%}.boss-hero-actions button{flex:1;min-width:0;padding:0 10px;font-size:12px}.boss-metric-grid{grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}.boss-metric-card{align-items:flex-start;padding:13px}.metric-icon{border-radius:10px;flex-basis:34px;width:34px;height:34px;margin-right:9px;font-size:11px}.metric-copy>strong{font-size:18px}.metric-copy>small{display:none}.boss-workspace-grid{margin-top:12px}.boss-todo-section,.boss-quick-panel,.boss-project-section{padding:17px}.boss-quick-grid{grid-template-columns:1fr}.boss-stage-filter{grid-template-columns:1fr 1fr}.boss-project-grid{grid-template-columns:1fr}.section-card-heading{align-items:flex-start}.section-card-heading>button{white-space:nowrap;padding:0 11px}}.acceptance-page{background:#f5f8ff;min-height:100vh;padding:25px}.acceptance-readiness{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px;display:grid}.acceptance-readiness>div{background:#fff;border-radius:16px;padding:20px;box-shadow:0 8px 25px #0000000d}.acceptance-readiness span,.acceptance-readiness strong{display:block}.acceptance-readiness span{color:#6b7280;margin-bottom:7px;font-size:14px}.acceptance-readiness .ready strong{color:#166534}.acceptance-readiness .waiting strong{color:#8a5b00}.acceptance-readiness .blocked strong{color:#b42318}.acceptance-form,.acceptance-history{text-align:left;background:#fff;border-radius:20px;margin-top:24px;padding:24px;box-shadow:0 8px 25px #0000000d}.acceptance-heading,.acceptance-card-heading{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.acceptance-heading h2,.acceptance-heading p,.acceptance-card-heading h3,.acceptance-card-heading p{margin:0 0 6px}.acceptance-heading>span{color:#1e5eff;white-space:nowrap;background:#edf3ff;border-radius:999px;padding:6px 10px;font-size:13px;font-weight:700}.document-shortcut{color:#1e5eff;cursor:pointer;background:#fff;border:1px solid #c7d5ff;border-radius:9px;width:auto;min-height:38px;padding:0 14px}.acceptance-form-grid{grid-template-columns:1fr 1fr;gap:0 16px;display:grid}.acceptance-form>label,.acceptance-form-grid label{color:#374151;margin-top:15px;font-weight:600;display:block}.acceptance-form input:not([type=checkbox]),.acceptance-form textarea{box-sizing:border-box;color:#1f2937;background:#fff;border:1px solid #d8dce5;border-radius:10px;width:100%;margin-top:8px;padding:12px;font-size:15px}.acceptance-form input:not([type=checkbox]){height:45px}.acceptance-form textarea{resize:vertical;min-height:100px}.acceptance-checklist{background:#f8faff;border-radius:14px;margin-top:18px;padding:16px}.acceptance-warranty-plan{background:#eff6ff;border:1px solid #bfdbfe;border-radius:14px;margin-top:18px;padding:17px}.acceptance-warranty-plan h3{margin:0 0 12px}.acceptance-warranty-options{grid-template-columns:1fr 1fr;gap:12px;display:grid}.acceptance-warranty-options>label{color:#334155;cursor:pointer;background:#fff;border:1px solid #dbe3ef;border-radius:12px;align-items:flex-start;gap:10px;margin:0;padding:14px;display:flex}.acceptance-warranty-options>label.active{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb14}.acceptance-warranty-options input{width:18px;height:18px;margin:2px 0 0}.acceptance-warranty-options span,.acceptance-warranty-options strong,.acceptance-warranty-options small{display:block}.acceptance-warranty-options small{color:#64748b;margin-top:5px;line-height:1.5}.acceptance-warranty-date{max-width:360px;margin-top:14px}.acceptance-warranty-date label{color:#374151;font-weight:600;display:block}.acceptance-checklist h3{margin:0 0 10px}.acceptance-checklist label{color:#374151;align-items:center;gap:10px;margin-top:10px;display:flex}.acceptance-checklist input{width:18px;height:18px;margin:0}.acceptance-success{color:#166534;background:#ecfdf3;border-radius:14px;margin-top:16px;padding:16px}.acceptance-success p{color:#166534;margin-bottom:12px}.acceptance-success button{background:#15803d}.acceptance-card{background:#fbfcff;border:1px solid #e6eaf2;border-radius:16px;margin-top:18px;padding:20px}.acceptance-status{white-space:nowrap;border-radius:999px;padding:6px 10px;font-size:13px;font-weight:700}.acceptance-status.pending{color:#8a5b00;background:#fff7df}.acceptance-status.approved{color:#166534;background:#ecfdf3}.acceptance-status.rejected{color:#b42318;background:#fff0ed}.acceptance-detail,.acceptance-review{background:#fff;border-radius:12px;margin-top:14px;padding:14px}.acceptance-detail p,.acceptance-review p{white-space:pre-wrap;margin-top:6px}.acceptance-review{background:#edf3ff}.acceptance-message{text-align:center;padding:24px 0 8px}@media (width<=720px){.acceptance-readiness,.acceptance-form-grid,.acceptance-warranty-options{grid-template-columns:1fr}.acceptance-heading,.acceptance-card-heading{flex-direction:column}}.contract-adjustment-page{background:#f5f8ff;min-height:100vh;padding:25px}.contract-amount-summary{grid-template-columns:repeat(5,minmax(0,1fr));gap:11px;margin-top:24px;display:grid}.contract-amount-summary>div{text-align:left;background:#fff;border-radius:15px;padding:17px;box-shadow:0 8px 25px #0000000d}.contract-amount-summary span,.contract-amount-summary strong{display:block}.contract-amount-summary span{color:#64748b;margin-bottom:7px;font-size:13px}.contract-amount-summary strong{color:#1f2937;overflow-wrap:anywhere;font-size:17px}.contract-amount-summary .increase strong{color:#15803d}.contract-amount-summary .reduction strong{color:#b42318}.contract-amount-summary .final{background:#f0fdf4;border:1px solid #bbf7d0}.contract-amount-summary .final strong{color:#166534}.contract-settlement-mode{text-align:left;border-radius:12px;margin-top:14px;padding:14px 16px}.contract-settlement-mode strong,.contract-settlement-mode span{display:block}.contract-settlement-mode span{color:#64748b;margin-top:5px;font-size:13px}.contract-settlement-mode.direct{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0}.contract-settlement-mode.audit{color:#1e3a8a;background:#eff6ff;border:1px solid #bfdbfe}.contract-adjustment-form,.contract-history{text-align:left;background:#fff;border-radius:20px;margin-top:22px;padding:23px;box-shadow:0 8px 25px #0000000d}.contract-heading,.contract-history-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.contract-heading h2,.contract-heading p,.contract-history-heading h3,.contract-history-heading p{margin:0 0 5px}.contract-heading p,.contract-history-heading p{color:#64748b;font-size:13px}.contract-heading>span{color:#1d4ed8;white-space:nowrap;background:#eff6ff;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700}.contract-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:17px;display:grid}.contract-adjustment-form label{color:#374151;margin-top:15px;font-weight:600;display:block}.contract-adjustment-form input,.contract-adjustment-form select,.contract-adjustment-form textarea{box-sizing:border-box;color:#1f2937;background:#fff;border:1px solid #d8dce5;border-radius:10px;width:100%;margin-top:7px;padding:11px;font-size:15px}.contract-adjustment-form input,.contract-adjustment-form select{height:44px}.contract-adjustment-form textarea{resize:vertical;min-height:115px}.contract-adjustment-form .contract-file-input{height:auto}.contract-tip{color:#1e3a8a;background:#eff6ff;border-radius:10px;margin-top:10px;padding:12px}.contract-file-list{color:#475569;background:#f8fafc;border-radius:10px;margin:10px 0 0;padding:12px 12px 12px 32px}.contract-success{color:#166534;background:#ecfdf3;border-radius:10px;margin-top:14px;padding:13px}.contract-stage-tip{color:#b45309;margin-top:7px;font-size:12px;display:block}.contract-message{text-align:center;color:#64748b;padding:20px 0}.contract-history-card{background:#fbfdff;border:1px solid #e2e8f0;border-radius:14px;margin-top:14px;padding:17px}.contract-status{white-space:nowrap;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:700}.contract-status.pending{color:#92400e;background:#fffbeb}.contract-status.approved{color:#166534;background:#ecfdf3}.contract-status.rejected{color:#b42318;background:#fff0ed}.contract-change-line{background:#f1f5f9;border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;margin:14px 0;padding:11px;display:flex}.contract-change-line .positive{color:#15803d}.contract-change-line .negative{color:#b42318}.contract-history-card>p{color:#475569}.contract-history-card>small{color:#64748b;margin-top:10px;display:block}.contract-evidence-links{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.contract-evidence-links a,.contract-evidence-links span{color:#1d4ed8;background:#fff;border:1px solid #dbe3ef;border-radius:8px;padding:7px 9px;font-size:13px;text-decoration:none}@media (width<=850px){.contract-amount-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.contract-amount-summary,.contract-form-grid{grid-template-columns:1fr}.contract-heading,.contract-history-heading{flex-direction:column}}.hazard-page{background:#f5f8ff;min-height:100vh;padding:25px}.hazard-form,.hazard-list{text-align:left;background:#fff;border-radius:20px;margin-top:24px;padding:24px;box-shadow:0 8px 25px #0000000d}.hazard-form-grid{grid-template-columns:1fr 1fr;gap:0 16px;display:grid}.hazard-form label,.hazard-action-area label{color:#374151;margin-top:14px;font-weight:600;display:block}.hazard-form input,.hazard-form textarea,.hazard-form select,.hazard-action-area input,.hazard-action-area textarea{box-sizing:border-box;color:#1f2937;background:#fff;border:1px solid #d8dce5;border-radius:10px;width:100%;margin-top:8px;padding:12px;font-size:15px}.hazard-form input:not(.file-input),.hazard-form select{height:45px}.hazard-form input[readonly]{color:#475569;background:#f8fafc}.hazard-form textarea,.hazard-action-area textarea{resize:vertical;min-height:100px}.file-summary{color:#5f6b7a;margin-top:10px}.hazard-success{color:#166534;background:#ecfdf3;border-radius:12px;margin-top:14px;padding:12px 16px}.hazard-role-banner{text-align:left;border-radius:14px;justify-content:space-between;align-items:center;gap:16px;margin-top:20px;padding:14px 17px;display:flex}.hazard-role-banner strong{white-space:nowrap}.hazard-role-banner span{margin:0;font-size:13px}.safety-role-banner{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa}.construction-role-banner{color:#075985;background:#f0f9ff;border:1px solid #bae6fd}.manager-issue-banner{color:#1e3a8a;background:#eff6ff;border:1px solid #bfdbfe}.boss-issue-banner{color:#6b3f08;background:#fffbeb;border:1px solid #fde68a}.hazard-list-heading,.hazard-card-heading,.hazard-badges,.hazard-meta,.hazard-buttons{align-items:flex-start;gap:12px;display:flex}.hazard-list-heading,.hazard-card-heading{justify-content:space-between}.hazard-list-heading h2,.hazard-card-heading h3,.hazard-card-heading p{margin:0 0 6px}.hazard-list-heading>span,.hazard-badges span{white-space:nowrap;border-radius:999px;margin:0;padding:6px 10px;font-size:13px;font-weight:700}.hazard-list-heading>span{color:#1e5eff;background:#edf3ff}.severity-low{color:#166534;background:#ecfdf3}.severity-medium{color:#8a5b00;background:#fff7df}.severity-high,.severity-critical{color:#b42318;background:#fff0ed}.issue-type-safety{color:#9a3412;background:#ffedd5}.issue-type-construction{color:#1d4ed8;background:#dbeafe}.status-open{color:#b42318;background:#fff0ed}.status-pending_assignment{color:#1d4ed8;background:#eaf1ff}.status-pending_manager_review{color:#8a5b00;background:#fff7df}.status-pending_boss_review{color:#6d28d9;background:#f3e8ff}.status-closed{color:#166534;background:#ecfdf3}.status-rejected{color:#6b7280;background:#eef0f4}.hazard-card{background:#fbfcff;border:1px solid #e6eaf2;border-radius:16px;margin-top:18px;padding:20px}.hazard-meta{color:#6b7280;flex-wrap:wrap;margin-top:14px;font-size:14px}.hazard-meta span{margin:0}.hazard-detail,.hazard-action-area{background:#fff;border-radius:14px;margin-top:16px;padding:16px}.hazard-detail p{white-space:pre-wrap;margin-top:6px}.rectification-detail{background:#f2f7ff}.review-detail{background:#ecfdf3}.manager-assignment-area{background:#f5f8ff;border:1px solid #bfd2ff}.manager-review-detail{background:#f5f8ff}.boss-review-area{background:#fffbeb;border:1px solid #fde68a}.boss-review-detail{background:#fffbeb}.hazard-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px;display:grid}.hazard-photo-grid img{aspect-ratio:4/3;object-fit:cover;border-radius:12px;width:100%;display:block}.hazard-action-area button{margin-top:16px}.hazard-buttons button{flex:1}.close-hazard{background:#15803d}.accept-hazard{background:#1e5eff}.return-hazard{color:#374151;background:#eef0f4}.hazard-message{text-align:center;padding:22px 0}@media (width<=720px){.hazard-form-grid,.hazard-photo-grid{grid-template-columns:1fr}.hazard-card-heading,.hazard-buttons{flex-direction:column}.hazard-buttons button{width:100%}.hazard-role-banner{flex-direction:column;align-items:flex-start;gap:4px}}.login-page{box-sizing:border-box;background:linear-gradient(145deg,#eef4ff,#f8fbff 50%,#eefcf7);min-height:100vh;padding:55px 24px}.login-brand{text-align:center}.login-brand h1{margin:12px 0 4px;font-size:34px}.login-card{box-sizing:border-box;text-align:left;background:#fff;border-radius:22px;width:min(430px,100%);margin:32px auto 0;padding:28px;box-shadow:0 18px 55px #1e5eff1f}.login-tabs{background:#f0f3f8;border-radius:12px;grid-template-columns:1fr 1fr;gap:8px;padding:5px;display:grid}.login-tabs button{color:#6b7280;cursor:pointer;background:0 0;border:0;border-radius:9px;min-height:42px}.login-tabs button.active{color:#1e5eff;background:#fff;font-weight:700;box-shadow:0 3px 12px #00000012}.login-card label{color:#374151;margin-top:16px;font-weight:600;display:block}.login-card input{box-sizing:border-box;color:#1f2937;background:#fff;border:1px solid #d8dce5;border-radius:10px;width:100%;height:46px;margin-top:8px;padding:0 13px;font-size:15px}.login-error,.login-success{border-radius:10px;margin-top:15px;padding:12px 14px}.login-error{color:#b42318;background:#fff0ed}.login-success{color:#166534;background:#ecfdf3}.login-submit{color:#fff;cursor:pointer;background:#1e5eff;border:0;border-radius:11px;width:100%;min-height:50px;margin-top:20px;font-size:16px;font-weight:700}.login-submit:disabled{opacity:.65;cursor:wait}.login-submit.secondary{color:#4b5563;background:#eef0f4}.login-help{color:#7b8496;text-align:center;margin-top:16px;font-size:13px}.new-project-page{background:#f5f8ff;min-height:100vh;padding:25px}.new-project-card{text-align:left;background:#fff;border-radius:20px;max-width:620px;margin:24px auto 0;padding:25px;box-shadow:0 8px 25px #0000000d}.new-project-card label{font-weight:600}.new-project-card select{box-sizing:border-box;color:#1f2937;background:#fff;border:1px solid #ddd;border-radius:10px;width:100%;height:45px;margin:8px 0 18px;padding:0 15px;font-size:15px}.new-project-card select:focus{border-color:#1e5eff;outline:none}.form-error{color:#b42318;background:#fff0ed;border-radius:12px;margin:12px 0;padding:12px 16px}.new-project-card .submit-btn:disabled{opacity:.65;cursor:wait}.workflow-page{background:#f5f8ff;min-height:100vh;padding:25px}.workflow-card{text-align:left;background:#fff;border-radius:20px;margin-top:24px;padding:25px;box-shadow:0 8px 25px #0000000d}.workflow-card>label,.workflow-grid label{color:#374151;margin-top:15px;font-weight:600;display:block}.workflow-card input:not([type=checkbox]),.workflow-card select,.workflow-card textarea{box-sizing:border-box;color:#1f2937;background:#fff;border:1px solid #d8dce5;border-radius:10px;width:100%;margin-top:8px;padding:12px;font-size:15px}.workflow-card input:not([type=checkbox]),.workflow-card select{height:45px}.workflow-card textarea{resize:vertical;min-height:120px}.workflow-grid{grid-template-columns:1fr 1fr;gap:0 16px;display:grid}.workflow-checklist{background:#f8faff;border-radius:14px;margin-top:18px;padding:16px}.workflow-checklist h3{margin:0 0 10px}.workflow-checklist label{color:#374151;align-items:center;gap:10px;margin-top:10px;display:flex}.workflow-checklist input{width:18px;height:18px;margin:0}.workflow-tip{color:#8a5b00;background:#fff7df;border-radius:10px;margin-top:12px;padding:12px}.workflow-success{color:#166534;background:#ecfdf3;border-radius:14px;margin-top:16px;padding:16px}.workflow-success p{color:#166534;margin-bottom:12px}.workflow-success button{background:#15803d}.payment-evidence-input{height:auto!important;padding:10px!important}.payment-evidence-list{color:#475569;background:#f8fafc;border-radius:10px;margin:12px 0 0;padding:12px 12px 12px 32px}.payment-evidence-list li+li{margin-top:5px}@media (width<=720px){.workflow-grid{grid-template-columns:1fr}}.payment-approval-summary{text-align:left;background:linear-gradient(135deg,#f5f0ff,#fff);border-radius:20px;margin-top:24px;padding:24px;box-shadow:0 8px 25px #0000000d}.payment-approval-summary span,.payment-approval-summary strong{display:block}.payment-approval-summary span{color:#6b7280;font-size:14px}.payment-approval-summary strong{color:#7c3aed;margin:8px 0;font-size:32px}.payment-approval-summary p{color:#374151;font-weight:700}.payment-approval-summary small{color:#6b7280;margin-top:12px;display:block}.project-page{--manager-ink:#172033;--manager-muted:#6f7d91;--manager-line:#e3e9f1;box-sizing:border-box;min-height:100vh;color:var(--manager-ink);text-align:left;background:radial-gradient(circle at 90% 0,#0ea5a414,#0000 27%),linear-gradient(#f7fafc,#f1f5f8);padding:24px}.project-page *{box-sizing:border-box}.project-page button:focus-visible{outline-offset:2px;outline:2px solid #2dd4bf}.manager-hero{color:#fff;background:linear-gradient(120deg,#082f49 0%,#0f4c5c 54%,#0f766e 100%);border-radius:25px;padding:22px 27px 29px;position:relative;overflow:hidden;box-shadow:0 22px 52px #082f4933}.manager-hero-glow{border:68px solid #5eead41f;border-radius:50%;width:330px;height:330px;position:absolute;bottom:-190px;right:-95px}.manager-hero-top,.manager-hero-body,.manager-identity{z-index:1;align-items:center;display:flex;position:relative}.manager-hero-top{justify-content:space-between;gap:18px}.manager-hero-top>button{color:#c8e8e7;background:0 0;width:auto;height:auto;padding:8px 0;font-size:12px;font-weight:700}.manager-hero-top>button:hover{color:#fff;background:0 0}.manager-identity{background:#ffffff14;border:1px solid #ffffff26;border-radius:999px;gap:10px;padding:7px 8px 7px 14px}.manager-identity>div{text-align:right}.manager-identity small,.manager-identity strong{display:block}.manager-identity small{color:#9fcac7;font-size:9px}.manager-identity strong{color:#fff;font-size:12px}.manager-identity>span{color:#115e59;background:#ccfbf1;border-radius:50%;place-items:center;width:34px;height:34px;margin:0;font-size:12px;font-weight:850;display:grid}.manager-hero-body{justify-content:space-between;align-items:flex-end;gap:30px;margin-top:39px}.manager-date{color:#9fd4d0;letter-spacing:.06em;margin:0 0 8px;font-size:11px;font-weight:750;display:inline-flex}.manager-hero h1{color:#fff;letter-spacing:-.035em;max-width:680px;margin:0;font-size:34px;font-weight:760;line-height:1.2}.manager-hero-body p{color:#b7d3d3;margin:9px 0 0;font-size:13px}.manager-todo-jump{color:#0f4c5c;background:#fff;border:1px solid #fff3;border-radius:12px;flex:none;justify-content:center;align-items:center;width:auto;min-width:145px;height:43px;padding:0 17px;font-size:13px;font-weight:780;display:flex;position:relative;box-shadow:0 8px 20px #00000021}.manager-todo-jump:hover{background:#ecfeff}.manager-todo-jump>span{color:#fff;background:#ef4444;border-radius:999px;place-items:center;min-width:22px;height:22px;margin:0;padding:0 5px;font-size:10px;font-weight:850;display:grid;position:absolute;top:-9px;right:-9px;box-shadow:0 0 0 3px #0e5c63,0 4px 10px #ef444459}.construction-workbench .manager-hero{background:linear-gradient(120deg,#0c2e4e 0%,#0b5795 55%,#2563eb 100%)}.construction-workbench .manager-hero-glow{border-color:#93c5fd24}.construction-workbench .manager-date{color:#bfdbfe}.construction-workbench .manager-hero-body p{color:#cbdcf0}.construction-workbench .manager-identity>span{color:#1e40af;background:#dbeafe}.construction-workbench .manager-todo-jump{color:#1d4ed8}.construction-workbench .manager-todo-jump>span{box-shadow:0 0 0 3px #175ca8,0 4px 10px #ef444459}.safety-workbench .manager-hero{background:linear-gradient(120deg,#4a1d0c 0%,#9a3412 55%,#ea580c 100%)}.safety-workbench .manager-hero-glow{border-color:#fdba7426}.safety-workbench .manager-date{color:#fed7aa}.safety-workbench .manager-hero-body p{color:#ffedd5}.safety-workbench .manager-hero-top>button{color:#fed7aa}.safety-workbench .manager-identity>span{color:#9a3412;background:#ffedd5}.safety-workbench .manager-todo-jump{color:#9a3412}.safety-workbench .manager-todo-jump>span{box-shadow:0 0 0 3px #b84314,0 4px 10px #ef444459}.safety-workbench .manager-section-heading>div:first-child>span,.safety-workbench .assigned-project-heading>div>span,.safety-workbench .manager-todo-total,.safety-workbench .assigned-project-heading>strong,.safety-workbench .assigned-project-link{color:#c2410c}.safety-workbench .assigned-progress>div{background:linear-gradient(90deg,#ea580c,#fb923c)}.manager-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-top:17px;display:grid}.manager-metric-grid article{border:1px solid var(--manager-line);background:#fffffff2;border-radius:17px;align-items:center;min-width:0;padding:17px;display:flex;box-shadow:0 9px 25px #0f172a0d}.manager-metric-icon{border-radius:12px;flex:0 0 40px;place-items:center;width:40px;height:40px;margin:0 12px 0 0;font-size:12px;font-weight:850;display:grid}.assigned-icon{color:#0369a1;background:#e0f2fe}.active-icon{color:#047857;background:#dcfce7}.todo-icon{color:#c2410c;background:#ffedd5}.risk-icon{color:#b42318;background:#fee2e2}.manager-metric-grid article>div{min-width:0}.manager-metric-grid small,.manager-metric-grid strong,.manager-metric-grid p{margin:0;display:block}.manager-metric-grid small{color:#718096;font-size:11px;font-weight:700}.manager-metric-grid strong{color:#172033;margin:2px 0;font-size:23px}.manager-metric-grid p{color:#9aa5b5;text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.manager-todo-section,.assigned-project-section{border:1px solid var(--manager-line);background:#fff;border-radius:20px;margin-top:17px;padding:21px;box-shadow:0 10px 27px #0f172a0b}.manager-section-heading,.assigned-project-heading{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.manager-section-heading>div:first-child>span,.assigned-project-heading>div>span{color:#0f766e;letter-spacing:.14em;margin:0 0 5px;font-size:10px;font-weight:850;display:block}.manager-section-heading h2,.assigned-project-heading h2{color:#172033;letter-spacing:-.02em;margin:0;font-size:20px;font-weight:760}.manager-section-heading p,.assigned-project-heading p{color:#8995a6;margin:5px 0 0;font-size:11px}.manager-todo-total{color:#0f766e;white-space:nowrap;align-items:baseline;gap:4px;display:flex}.manager-todo-total strong{font-size:27px}.manager-todo-total span{color:#6b8890;margin:0;font-size:10px}.manager-todo-summary{background:#f1f6f7;border-radius:12px;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:15px;padding:6px;display:grid}.manager-todo-summary>div{background:#fff;border-radius:9px;justify-content:space-between;align-items:center;gap:8px;padding:9px 10px;display:flex}.manager-todo-summary span{color:#6b7e86;margin:0;font-size:10px}.manager-todo-summary strong{color:#134e4a;font-size:13px}.manager-todo-empty{background:#f7fbfb;border:1px dashed #bfdbd8;border-radius:13px;align-items:center;gap:12px;min-height:92px;margin-top:14px;padding:17px;display:flex}.manager-todo-empty>span{color:#047857;background:#d1fae5;border-radius:50%;flex:0 0 36px;place-items:center;width:36px;height:36px;margin:0;font-size:16px;font-weight:900;display:grid}.manager-todo-empty strong{color:#334155;font-size:12px;display:block}.manager-todo-empty p{color:#94a3b8;margin:3px 0 0;font-size:10px}.manager-todo-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px;display:grid}.manager-todo-list button{color:#334155;text-align:left;background:#fbfcfd;border:1px solid #e5eaef;border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:5px 9px;height:auto;padding:11px;display:grid}.manager-todo-list button:hover{background:#f4fbfa;border-color:#a7d9d4}.manager-todo-tag{white-space:nowrap;border-radius:8px;grid-row:1/3;margin:0;padding:6px 8px;font-size:9px;font-weight:800}.todo-log{color:#1d4ed8;background:#e8f0ff}.todo-report{color:#b45309;background:#fef3c7}.todo-review{color:#7c3aed;background:#f1eafe}.todo-rectify{color:#0369a1;background:#e0f2fe}.todo-rejected{color:#b42318;background:#fee2e2}.todo-track{color:#c2410c;background:#ffedd5}.todo-waiting{color:#7c3aed;background:#f1eafe}.manager-todo-list button>strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.manager-todo-list button>small{color:#94a3b8;font-size:9px}.manager-todo-list button>b{color:#9aa7b6;grid-area:1/3/3;font-size:18px}.assigned-project-heading>strong{color:#0f766e;white-space:nowrap;font-size:25px}.assigned-project-heading>strong>small{color:#8ba0a5;font-size:10px;font-weight:600}.assigned-project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:15px;display:grid}.assigned-project-shell{background:#fbfcfd;border:1px solid #e1e7ee;border-radius:15px;transition:transform .2s,border-color .2s,box-shadow .2s;overflow:hidden}.assigned-project-shell:hover{border-color:#aad8d4;transform:translateY(-2px);box-shadow:0 10px 24px #0f172a12}.assigned-project-card{color:#172033;text-align:left;background:#fbfcfd;border:1px solid #e1e7ee;border-radius:15px;width:100%;height:auto;padding:15px;transition:transform .2s,border-color .2s,box-shadow .2s;display:block}.assigned-project-shell .assigned-project-card{border:0;border-radius:0}.assigned-project-card:hover{background:#fff}.assigned-project-topline{justify-content:space-between;align-items:center;gap:12px;display:flex}.assigned-project-topline>small{color:#98a3b2;white-space:nowrap;font-size:9px}.assigned-stage{border-radius:999px;width:auto;margin:0;padding:5px 8px;font-size:9px;font-weight:800;display:inline-flex}.stage-active{color:#0369a1;background:#e0f2fe}.stage-stopped{color:#b45309;background:#fef3c7}.stage-completed{color:#7c3aed;background:#f1eafe}.stage-warranty{color:#047857;background:#dcfce7}.stage-archived{color:#64748b;background:#e9edf2}.assigned-project-card h3{color:#1e293b;min-height:40px;margin:11px 0 13px;font-size:14px;line-height:1.4}.assigned-project-data{grid-template-columns:1fr auto;gap:14px;display:grid}.assigned-project-data>div>span,.assigned-project-data>div>strong{margin:0;display:block}.assigned-project-data>div>span{color:#9aa5b5;font-size:9px}.assigned-project-data>div>strong{color:#334155;margin-top:2px;font-size:11px}.assigned-project-data>div:last-child{text-align:right}.assigned-progress{background:#e5eaee;border-radius:99px;height:5px;margin:11px 0 10px;overflow:hidden}.assigned-progress>div{background:linear-gradient(90deg,#0f766e,#2dd4bf);border-radius:99px;height:100%}.assigned-project-link{color:#0f766e;justify-content:space-between;align-items:center;margin:0;font-size:10px;font-weight:750;display:flex}.assigned-project-link b{font-size:13px}.frontline-project-actions{background:#fff;border-top:1px solid #e8edf2;grid-template-columns:repeat(3,1fr);gap:6px;padding:8px;display:grid}.frontline-project-actions button{color:#1d4ed8;background:#f6f9ff;border:1px solid #dbe7f2;border-radius:8px;width:100%;height:33px;padding:0 5px;font-size:9px;font-weight:750}.frontline-project-actions button:hover{background:#eaf2ff;border-color:#bfdbfe}.frontline-project-actions.safety-actions{grid-template-columns:1.4fr 1fr}.frontline-project-actions.safety-actions button{color:#c2410c;background:#fff7ed;border-color:#fed7aa}.frontline-project-actions.safety-actions button:hover{background:#ffedd5}.project-center-message{color:#64748b;text-align:center;background:#f8fafc;border-radius:11px;margin:14px 0 0;padding:17px;font-size:11px}.project-center-message.error{color:#b42318;background:#fff1f1}.project-center-topbar{justify-content:space-between;align-items:center;gap:15px;display:flex}.project-center-topbar>button{color:#2563eb;background:#fff;border:1px solid #cbd5e1;width:auto;height:38px;padding:0 13px;font-size:11px}.project-center-topbar>span{color:#64748b;margin:0;font-size:11px}.project-center-hero{color:#fff;text-align:left;background:linear-gradient(120deg,#172554,#1d4ed8);border-radius:21px;margin-top:14px;padding:25px;position:relative}.project-center-hero>span{color:#bfdbfe;letter-spacing:.15em;margin:0;font-size:9px;font-weight:800}.project-center-hero h1{color:#fff;margin:8px 0 0;font-size:29px;font-weight:760}.project-center-hero p{color:#dbeafe;margin:7px 0 0;font-size:12px}.project-center-hero>button{color:#1d4ed8;background:#fff;width:auto;height:40px;padding:0 14px;font-size:11px;font-weight:750;position:absolute;bottom:22px;right:22px}@media (width<=900px){.manager-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.project-page{padding:14px}.manager-hero{border-radius:20px;padding:18px}.manager-identity>div{display:none}.manager-hero-body{flex-direction:column;align-items:flex-start;margin-top:31px}.manager-hero h1{font-size:27px}.manager-todo-jump{width:100%}.manager-metric-grid{grid-template-columns:1fr 1fr;gap:8px;margin-top:11px}.manager-metric-grid article{align-items:flex-start;padding:12px}.manager-metric-icon{border-radius:10px;flex-basis:33px;width:33px;height:33px;margin-right:8px;font-size:10px}.manager-metric-grid strong{font-size:18px}.manager-metric-grid p{display:none}.manager-todo-section,.assigned-project-section{margin-top:11px;padding:16px}.manager-todo-summary,.manager-todo-list,.assigned-project-grid{grid-template-columns:1fr}.project-center-hero>button{margin-top:17px;position:static}}.closeout-page{background:#f5f8ff;min-height:100vh;padding:25px}.closeout-finance-summary{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-top:24px;display:grid}.closeout-finance-summary>div{text-align:left;background:#fff;border-radius:15px;padding:17px;box-shadow:0 8px 25px #0000000d}.closeout-finance-summary span,.closeout-finance-summary strong{display:block}.closeout-finance-summary span{color:#64748b;margin-bottom:6px;font-size:13px}.closeout-finance-summary strong{color:#1f2937;overflow-wrap:anywhere;font-size:18px}.closeout-finance-summary .blocked strong{color:#b42318}.closeout-finance-summary .ready strong{color:#15803d}.closeout-finance-note{color:#1e3a8a;text-align:left;background:#eff6ff;border-radius:12px;margin-top:12px;padding:13px 15px}.closeout-form,.closeout-history{text-align:left;background:#fff;border-radius:20px;margin-top:22px;padding:23px;box-shadow:0 8px 25px #0000000d}.closeout-heading{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.closeout-heading h2,.closeout-heading p{margin:0 0 5px}.closeout-heading p{color:#64748b;font-size:14px}.closeout-heading>span{color:#1d4ed8;white-space:nowrap;background:#eff6ff;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700}.closeout-type-picker{grid-template-columns:1fr 1fr;gap:12px;margin-top:18px;display:grid}.closeout-type-picker button{color:#334155;text-align:left;cursor:pointer;background:#f8fafc;border:1px solid #dbe3ef;border-radius:13px;height:auto;padding:17px}.closeout-type-picker button strong,.closeout-type-picker button span{display:block}.closeout-type-picker button span{color:#64748b;margin-top:5px;font-size:13px}.closeout-type-picker button.active{background:#eff6ff;border-color:#2563eb;box-shadow:0 0 0 2px #2563eb14}.closeout-type-picker button.active strong{color:#1d4ed8}.closeout-form-grid{grid-template-columns:1fr 1fr;gap:14px;margin-top:17px;display:grid}.closeout-form label{color:#374151;margin-top:15px;font-weight:600;display:block}.closeout-form input,.closeout-form textarea{box-sizing:border-box;color:#1f2937;background:#fff;border:1px solid #d8dce5;border-radius:10px;width:100%;margin-top:7px;padding:11px;font-size:15px}.closeout-form input{height:44px}.closeout-form textarea{resize:vertical;min-height:115px}.archive-blocker{color:#b42318;background:#fff0ed;border-radius:12px;flex-direction:column;gap:4px;margin-top:16px;padding:14px;display:flex}.archive-blocker button{color:#fff;cursor:pointer;background:#b42318;border:0;border-radius:8px;align-self:flex-start;height:auto;margin-top:8px;padding:8px 11px}.closeout-success{color:#166534;background:#ecfdf3;border-radius:11px;margin-top:15px;padding:13px}.closeout-history article{background:#fbfdff;border:1px solid #e2e8f0;border-radius:13px;margin-top:13px;padding:16px;position:relative}.closeout-history article h3,.closeout-history article p{margin:0 0 5px}.closeout-history article>p{color:#475569;margin-top:12px}.closeout-history article small{color:#64748b;margin-top:6px;display:block}.closeout-status{border-radius:999px;padding:5px 9px;font-size:12px;font-weight:700;position:absolute;top:16px;right:16px}.closeout-status.pending{color:#92400e;background:#fffbeb}.closeout-status.approved{color:#166534;background:#ecfdf3}.closeout-status.rejected{color:#b42318;background:#fff0ed}.closeout-message{text-align:center;color:#64748b;padding:20px 0}@media (width<=720px){.closeout-finance-summary,.closeout-type-picker,.closeout-form-grid{grid-template-columns:1fr}.closeout-heading{flex-direction:column}}.detail-page{background:#f5f8ff;min-height:100vh;padding:25px}header{text-align:center}.detail-card{background:#fff;border-radius:20px;margin-top:20px;padding:20px}.detail-page .back-btn{color:#1e5eff;background:#fff;border:1px solid #c7d5ff;width:auto;height:40px;padding:0 16px}.detail-page .back-btn:hover{background:#edf3ff}.timeline div{border-left:3px solid #ddd;margin-bottom:10px;padding:10px}.timeline .active{color:#1e5eff;font-weight:700}.button-grid{grid-template-columns:1fr 1fr;gap:15px;display:grid}.button-grid button{background:#f2f6ff;border:none;border-radius:15px;height:55px;font-size:15px}.finance-entry-btn{color:#fff;cursor:pointer;background:#1e5eff;border:0;border-radius:12px;width:100%;min-height:48px;margin-top:16px;font-size:15px}.finance-warning-text{color:#b42318;background:#fff0ed;border-radius:10px;padding:10px 12px;font-weight:700}.documents-page{background:#f5f8ff;min-height:100vh;padding:25px}.document-stats{grid-template-columns:repeat(4,1fr);gap:14px;margin-top:24px;display:grid}.document-stats button{text-align:left;cursor:pointer;background:#fff;border:1px solid #0000;border-radius:16px;grid-template-rows:auto auto;grid-template-columns:auto 1fr;gap:2px 10px;padding:18px;display:grid;box-shadow:0 8px 25px #0000000d}.document-stats button.active{background:#f2f6ff;border-color:#1e5eff}.document-stats span{grid-row:1/3;align-self:center;font-size:28px}.document-stats strong{color:#1e5eff;font-size:26px}.document-stats small{color:#6b7280;font-size:13px}.document-upload,.document-library{text-align:left;background:#fff;border-radius:20px;margin-top:24px;padding:24px;box-shadow:0 8px 25px #0000000d}.document-heading,.document-card-heading{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.document-heading h2,.document-heading p,.document-card-heading h3,.document-card-heading p{margin:0 0 6px}.document-heading>span,.document-card-heading>span,.all-filter{color:#1e5eff;white-space:nowrap;background:#edf3ff;border:0;border-radius:999px;padding:6px 10px;font-size:13px;font-weight:700}.all-filter{cursor:pointer}.all-filter.active{color:#fff;background:#1e5eff}.document-form-grid{grid-template-columns:1fr 1fr;gap:0 16px;display:grid}.document-upload label{color:#374151;margin-top:15px;font-weight:600;display:block}.document-upload input,.document-upload select,.document-upload textarea{box-sizing:border-box;color:#1f2937;background:#fff;border:1px solid #d8dce5;border-radius:10px;width:100%;margin-top:8px;padding:12px;font-size:15px}.document-upload input:not(.document-file-input),.document-upload select{height:45px}.document-upload textarea{resize:vertical;min-height:90px}.selected-document,.document-success{border-radius:12px;margin-top:14px;padding:12px 16px}.selected-document{color:#1e5eff;background:#edf3ff}.document-success{color:#166534;background:#ecfdf3}.document-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px;display:grid}.document-card{background:#fbfcff;border:1px solid #e6eaf2;border-radius:16px;gap:14px;padding:18px;display:flex}.document-icon{background:#fff;border-radius:12px;flex:0 0 48px;justify-content:center;align-items:center;width:48px;height:48px;font-size:25px;display:flex}.document-content{flex:1;min-width:0}.document-card-heading h3,.document-card-heading p{overflow-wrap:anywhere}.document-card-heading p{color:#6b7280;font-size:13px}.document-meta{color:#6b7280;flex-wrap:wrap;gap:8px 12px;margin-top:12px;font-size:12px;display:flex}.document-description{color:#5f6b7a;margin-top:12px;font-size:14px}.document-open,.document-link-error{margin-top:14px;display:inline-block}.document-open{color:#fff;background:#1e5eff;border-radius:9px;padding:8px 14px;font-size:14px;text-decoration:none}.document-link-error{color:#b42318;font-size:13px}.document-message{text-align:center;padding:24px 0 8px}@media (width<=760px){.document-stats,.document-form-grid,.document-list{grid-template-columns:1fr}.document-heading,.document-card-heading{flex-direction:column}}.finance-page{background:#f5f8ff;min-height:100vh;padding:25px}.finance-summary{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-top:24px;display:grid}.finance-summary>div{background:#fff;border-radius:16px;padding:18px;box-shadow:0 8px 25px #0000000d}.finance-summary span,.finance-summary strong{display:block}.finance-summary span{color:#6b7280;margin-bottom:8px;font-size:13px}.finance-summary strong{color:#1f2937;overflow-wrap:anywhere;font-size:18px}.finance-summary .received strong{color:#15803d}.finance-summary .paid strong{color:#b42318}.finance-contract-status{color:#7c2d12;text-align:left;background:#fff7ed;border:1px solid #fed7aa;border-radius:15px;justify-content:space-between;align-items:center;gap:18px;margin-top:18px;padding:17px 19px;display:flex}.finance-contract-status strong,.finance-contract-status span,.finance-contract-status em{display:block}.finance-contract-status span{color:#64748b;margin-top:5px;font-size:13px}.finance-contract-status em{color:#b42318;margin-top:7px;font-size:13px;font-style:normal;font-weight:700}.finance-contract-status button{color:#fff;cursor:pointer;background:#c2410c;border:0;border-radius:9px;flex:none;min-height:40px;padding:8px 13px}.finance-form,.finance-ledger,.pending-payment-section{text-align:left;background:#fff;border-radius:20px;margin-top:24px;padding:24px;box-shadow:0 8px 25px #0000000d}.pending-payment-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px;display:grid}.pending-payment-card{background:#faf7ff;border:1px solid #e9ddff;border-radius:14px;justify-content:space-between;align-items:center;gap:16px;padding:18px;display:flex}.pending-payment-card strong{color:#7c3aed;font-size:22px}.finance-waiting-badge{color:#92400e;background:#fffbeb;border-radius:999px;flex:none;padding:7px 10px;font-size:12px;font-weight:700}.pending-payment-card h3,.pending-payment-card p{margin:6px 0 0}.pending-payment-card p{color:#6b7280;font-size:13px}.pending-payment-card button{color:#fff;cursor:pointer;background:#7c3aed;border:0;border-radius:9px;flex:none;min-height:40px;padding:0 14px}.payment-apply-entry{color:#fff;cursor:pointer;background:#7c3aed;border:0;border-radius:12px;width:100%;min-height:48px;margin-top:18px;font-size:15px;font-weight:700}.finance-heading,.finance-card-heading{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.finance-heading h2,.finance-heading p,.finance-card-heading h3,.finance-card-heading p{margin:0 0 6px}.finance-heading>span{color:#166534;white-space:nowrap;background:#ecfdf3;border-radius:999px;padding:6px 10px;font-size:13px;font-weight:700}.finance-form-grid{grid-template-columns:1fr 1fr;gap:0 16px;display:grid}.finance-form label{color:#374151;margin-top:15px;font-weight:600;display:block}.finance-form input,.finance-form select,.finance-form textarea{box-sizing:border-box;color:#1f2937;background:#fff;border:1px solid #d8dce5;border-radius:10px;width:100%;margin-top:8px;padding:12px;font-size:15px}.finance-form input:not(.finance-file-input),.finance-form select{height:45px}.finance-form textarea{resize:vertical;min-height:90px}.selected-voucher,.finance-success{border-radius:12px;margin-top:14px;padding:12px 16px}.selected-voucher{color:#1e5eff;background:#edf3ff}.finance-success{color:#166534;background:#ecfdf3}.finance-filters{gap:8px;display:flex}.finance-filters button{color:#5f6b7a;cursor:pointer;background:#eef0f4;border:0;border-radius:999px;min-height:34px;padding:0 12px}.finance-filters button.active{color:#fff;background:#1e5eff}.finance-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px;display:grid}.finance-card{background:#fbfcff;border:1px solid #e6eaf2;border-radius:16px;padding:18px}.finance-card-heading h3{margin-left:8px;display:inline-block}.receipt-tag,.payment-tag{border-radius:999px;padding:4px 8px;font-size:12px;font-weight:700;display:inline-block}.receipt-tag{color:#166534;background:#ecfdf3}.payment-tag{color:#b42318;background:#fff0ed}.receipt-amount{color:#15803d}.payment-amount{color:#b42318}.finance-meta{color:#6b7280;flex-wrap:wrap;gap:8px 14px;margin-top:14px;font-size:12px;display:flex}.finance-description{color:#5f6b7a;margin-top:12px;font-size:14px}.voucher-link,.voucher-error{margin-top:12px;font-size:13px;display:block}.voucher-link{color:#1e5eff;text-decoration:none}.voucher-error{color:#b42318}.finance-message{text-align:center;padding:24px 0 8px}@media (width<=860px){.finance-summary{grid-template-columns:repeat(2,1fr)}}@media (width<=720px){.finance-summary,.finance-form-grid,.finance-list,.pending-payment-list{grid-template-columns:1fr}.finance-heading,.finance-card-heading,.finance-contract-status{flex-direction:column;align-items:flex-start}}.apply-page{background:#f5f8ff;min-height:100vh;padding:25px}.apply-card{background:#fff;border-radius:20px;padding:25px}label{color:#555;margin-top:15px;display:block}input,textarea,.apply-card select{box-sizing:border-box;border:1px solid #ddd;border-radius:10px;width:100%;margin-top:8px;padding:12px}.apply-card select{color:#1f2937;background:#fff;height:45px}textarea{height:120px}.upload-btn{color:#7b8496;cursor:not-allowed;background:#eef4ff;border:none;border-radius:12px;width:100%;height:50px;margin-top:15px}.form-success{color:#166534;background:#ecfdf3;border-radius:14px;margin-top:16px;padding:16px}.form-success p{color:#166534;margin-bottom:12px}.form-success button{background:#15803d}.submit-btn{color:#fff;background:#1e5eff;border:none;border-radius:12px;width:100%;height:50px;margin-top:20px}.role-page{background:#f5f8ff;min-height:100vh;padding-top:60px}.role-header{text-align:center}.logo{color:#1e5eff;font-size:42px;font-weight:900}.role-header h1{font-size:32px}.role-header p{color:#666}.role-list{width:380px;margin:40px auto}.role-card{cursor:pointer;width:100%;height:auto;color:inherit;text-align:left;background:#fff;border:1px solid #0000;border-radius:18px;align-items:center;gap:20px;margin-bottom:18px;padding:20px;transition:transform .2s,border-color .2s;display:flex;box-shadow:0 10px 30px #0000000f}.role-card:hover{background:#fff;border-color:#b8cbff;transform:translateY(-3px)}.role-icon{font-size:36px}.role-card h2{margin:0;font-size:20px}.role-card span{color:#888;margin-top:4px}.role-copy{flex:1}.role-card small{color:#9ca3af;white-space:nowrap}.role-card.coming-soon{background:#f8f9fc}.role-notice{color:#8a5b00;box-sizing:border-box;background:#fff7df;border-radius:12px;width:min(380px,100% - 40px);margin:24px auto 0;padding:12px 16px}.role-signout{color:#6b7280;cursor:pointer;background:#fff;border:1px solid #d8dce5;border-radius:12px;width:100%;min-height:46px}@media (width<=460px){.role-list{width:auto;margin:30px 20px}}.site-records-page{background:#f5f8ff;min-height:100vh;padding:25px}.site-log-form,.site-history{text-align:left;background:#fff;border-radius:20px;margin-top:24px;padding:24px;box-shadow:0 8px 25px #0000000d}.form-title,.history-heading,.log-heading{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.form-title h2,.form-title p,.history-heading h2,.log-heading h3,.log-heading p{margin:0 0 6px}.form-title>span,.history-heading>span,.log-heading>span{color:#1e5eff;white-space:nowrap;background:#edf3ff;border-radius:999px;margin:0;padding:6px 10px}.form-grid{grid-template-columns:1fr 1fr;gap:0 16px;margin-top:18px;display:grid}.site-log-form label{color:#374151;margin-top:14px;font-weight:600;display:block}.site-log-form input,.site-log-form textarea,.site-log-form select{box-sizing:border-box;color:#1f2937;background:#fff;border:1px solid #d8dce5;border-radius:10px;width:100%;margin-top:8px;padding:12px;font-size:15px}.site-log-form select,.site-log-form input:not(.file-input){height:45px}.site-log-form textarea{resize:vertical;min-height:100px}.file-input{padding:10px!important}.selected-files{color:#5f6b7a;margin:10px 0 0;padding-left:20px}.site-success{color:#166534;background:#ecfdf3;border-radius:12px;margin-top:14px;padding:12px 16px}.manager-log-review-banner{color:#1e3a8a;background:#eff6ff;border-color:#bfdbfe}.site-log-card{background:#fbfcff;border:1px solid #e6eaf2;border-radius:16px;margin-top:18px;padding:20px}.log-section{margin-top:16px}.log-section p{color:#5f6b7a;white-space:pre-wrap;margin-top:6px}.log-review-status{border-radius:999px;margin-top:12px;padding:6px 10px;font-size:13px;font-weight:700;display:inline-flex}.log-review-status.pending{color:#1d4ed8;background:#eaf1ff}.log-review-status.confirmed{color:#166534;background:#ecfdf3}.log-review-status.rejected{color:#b42318;background:#fff0ed}.log-review-area{background:#f5f8ff;border:1px solid #bfd2ff;border-radius:14px;margin-top:16px;padding:16px}.log-review-area label{color:#374151;font-weight:700;display:block}.log-review-area textarea{box-sizing:border-box;resize:vertical;border:1px solid #d8dce5;border-radius:10px;width:100%;min-height:86px;margin-top:8px;padding:12px}.log-review-area>div{gap:12px;margin-top:12px;display:flex}.log-review-area button{flex:1;margin:0}.log-review-area .reject-log{color:#374151;background:#eef0f4}.log-review-comment{color:#374151;background:#f2f7ff;border-radius:12px;margin-top:14px;padding:12px 14px}.photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px;display:grid}.photo-grid img{aspect-ratio:4/3;object-fit:cover;border-radius:12px;width:100%;display:block}.supplement-button{color:#1e5eff;cursor:pointer;background:#fff;border:1px solid #c7d5ff;border-radius:10px;justify-content:center;align-items:center;width:auto;min-height:40px;margin-top:16px;padding:0 16px;display:inline-flex}.supplement-button:hover{background:#edf3ff}.supplement-button input{display:none}.site-message{text-align:center;padding:22px 0}@media (width<=720px){.form-grid,.photo-grid{grid-template-columns:1fr}.form-title,.log-heading,.log-review-area>div{flex-direction:column}}
