:root{--brand: #2563eb;--brand-tint: #2563eb20;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px);--app-header-height: 64px;--app-bottom-nav-height: 72px;--viewport-height: 100dvh}.app-loading{min-height:100vh;min-height:var(--viewport-height);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:#6b7280;font-size:14px}.app-loading-spinner{width:36px;height:36px;border:3px solid #e5e7eb;border-top-color:var(--brand);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,Roboto,sans-serif;background:#eef4fb;color:#0f172a;font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}h1{font-size:22px;font-weight:800;color:#1a3a5c;letter-spacing:-.3px;margin-bottom:16px}.section-header{background:#dbeafe;border:1px solid #bfdbfe;border-radius:10px;padding:10px 16px;font-size:15px;font-weight:700;color:#1d4ed8;margin-bottom:12px}h2{font-size:17px;font-weight:700;color:#1a3a5c}h3{font-size:15px;font-weight:700;color:#1a3a5c}p{color:#475569;font-size:14px}.app{min-height:100vh;min-height:var(--viewport-height);display:flex;flex-direction:column}main{background:#EEF1F6;flex:1;padding-bottom:var(--safe-bottom)}.page{max-width:760px;margin:0 auto;padding:20px 16px 40px}.dashboard-page{max-width:960px}@media (max-width: 700px){.dashboard-stats{grid-template-columns:repeat(2,1fr)!important}.dashboard-grid{grid-template-columns:1fr!important}}.stack{display:grid;gap:12px;margin-top:16px}.row-between{display:flex;justify-content:space-between;align-items:center;gap:12px}.nav-tabs{display:flex;flex-wrap:nowrap;gap:0;padding:0 16px;padding-top:var(--safe-top);padding-left:max(16px,var(--safe-left));padding-right:max(16px,var(--safe-right));background:#1a3a5c;position:sticky;top:0;z-index:100;box-shadow:0 2px 16px #1a3a5c59;align-items:center;justify-content:space-between}.nav-brand{display:flex;align-items:center;flex-shrink:0;min-width:0;overflow:visible}.nav-desktop-tabs{display:flex;flex:1;flex-wrap:nowrap}.nav-tab{border:none;background:transparent;font-size:13px;font-weight:600;cursor:pointer;color:#ffffff8c;padding:10px 14px;border-radius:8px;margin:6px 1px;white-space:nowrap;transition:color .15s,background .15s;letter-spacing:.2px}.nav-tab:hover{color:#ffffffd9;background:rgba(255,255,255,.07)}.nav-tab.active{color:#fff;background:rgba(255,255,255,.13)}.nav-user{display:flex;align-items:center;gap:10px;margin-left:auto;padding-left:12px;flex-shrink:0}.nav-user-name{font-size:12px;color:#93b4d4;white-space:nowrap;max-width:160px;overflow:hidden;text-overflow:ellipsis}.nav-signout{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);color:#cbd5e1;font-size:12px;font-weight:600;padding:5px 10px;border-radius:7px;cursor:pointer;white-space:nowrap;transition:background .15s}.nav-signout:hover{background:rgba(255,255,255,.18)}.nav-mobile-bar,.nav-mobile-dropdown{display:none}@media (max-width: 700px){.nav-desktop-tabs,.nav-brand,.nav-user{display:none}.nav-tabs{padding:0 16px;padding-top:var(--safe-top);justify-content:space-between;position:relative}.nav-mobile-bar{display:flex;align-items:center;justify-content:space-between;width:100%;padding:14px 0;gap:12px;min-width:0;flex-wrap:nowrap}.nav-mobile-brand{display:flex;align-items:center;min-width:0;overflow:visible;flex-shrink:1;max-width:calc(100% - 50px)}.nav-hamburger{background:rgba(255,255,255,.12);border:none;color:#fff;font-size:18px;width:38px;height:38px;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.nav-hamburger:hover{background:rgba(255,255,255,.2)}.nav-mobile-dropdown{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:#1a3a5c;box-shadow:0 8px 24px #1a3a5c66;z-index:200;border-top:1px solid rgba(255,255,255,.08)}.nav-mobile-item{border:none;background:transparent;color:#93b4d4;font-size:14px;font-weight:600;padding:14px 20px;text-align:left;cursor:pointer;border-bottom:1px solid rgba(255,255,255,.06);transition:background .15s,color .15s}.nav-mobile-item:hover{background:rgba(255,255,255,.07);color:#dbeafe}.nav-mobile-item.active{color:#fff;background:rgba(96,165,250,.15);border-left:3px solid #60a5fa;padding-left:17px}}.nav-more-wrap,.nav-profile-wrap{position:relative;display:flex;align-items:center}.nav-dropdown{position:absolute;top:calc(100% + 4px);left:0;min-width:200px;background:#1a3a5c;border:1px solid rgba(255,255,255,.12);border-radius:10px;box-shadow:0 8px 28px #00000052;z-index:300;overflow:hidden}.nav-dropdown-right{left:auto;right:0}.nav-dropdown-header{padding:12px 16px 8px}.nav-dropdown-name{font-size:12px;font-weight:600;color:#93b4d4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.nav-dropdown-divider{height:1px;background:rgba(255,255,255,.08);margin:2px 0}.nav-dropdown-item{display:block;width:100%;border:none;background:transparent;color:#93b4d4;font-size:13px;font-weight:600;padding:10px 16px;text-align:left;cursor:pointer;transition:background .12s,color .12s;white-space:nowrap}.nav-dropdown-item:hover{background:rgba(255,255,255,.07);color:#e2e8f0}.nav-dropdown-item.active{color:#fff;background:rgba(96,165,250,.18)}.nav-dropdown-lang{padding:8px 16px}.nav-dropdown-lang select{width:100%;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);color:#e2e8f0;border-radius:6px;padding:6px 10px;font-size:12px;cursor:pointer}.nav-dropdown-signout{display:block;width:100%;border:none;background:transparent;color:#f87171;font-size:13px;font-weight:600;padding:10px 16px;text-align:left;cursor:pointer;transition:background .12s}.nav-dropdown-signout:hover{background:rgba(248,113,113,.1)}.nav-profile-btn{display:flex;align-items:center;gap:6px;border:none;background:rgba(255,255,255,.08);border-radius:20px;padding:4px 10px 4px 4px;cursor:pointer;transition:background .15s}.nav-profile-btn:hover,.nav-profile-btn.active{background:rgba(255,255,255,.16)}.nav-profile-initial{width:26px;height:26px;border-radius:50%;background:rgba(96,165,250,.3);color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center}.nav-profile-chevron{font-size:10px;color:#ffffff80}.nav-mobile-section-label{padding:8px 20px 4px;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#ffffff4d;background:rgba(0,0,0,.12);border-bottom:1px solid rgba(255,255,255,.06)}.install-banner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;background:#1d4ed8;color:#fff;padding:12px 16px;font-size:14px;font-weight:500}.install-banner-actions{display:flex;gap:8px}@keyframes update-pulse{0%{border-left-color:#f97316}50%{border-left-color:#fbbf24}to{border-left-color:#f97316}}.update-banner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;background:#fff7ed;color:#7c2d12;padding:12px 16px;border-bottom:2px solid #fb923c;border-left:4px solid #f97316;animation:update-pulse 2s ease-in-out infinite}.update-banner--updating{animation:none;border-left-color:#6b7280;background:#f9fafb;color:#374151}.update-banner-copy{display:flex;flex-direction:column;gap:2px;font-size:13px}.update-banner-copy strong{font-size:14px;color:#9a3412}.update-banner--updating .update-banner-copy strong{color:#374151}.update-banner-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.update-banner-later{background:none;border:none;color:#9a7a6a;font-size:12px;cursor:pointer;padding:4px 6px;text-decoration:underline;text-underline-offset:2px}.update-banner-later:hover{color:#7c2d12}.nav-version{font-size:10px;font-weight:600;color:#94a3b8;letter-spacing:.05em;font-family:DM Mono,monospace;margin-left:6px;align-self:flex-end;padding-bottom:2px}.card{background:#ffffff;border-radius:16px;padding:20px;box-shadow:0 2px 8px #1a3a5c14,0 8px 32px #1a3a5c1a;border:1px solid #dde8f5}.field{display:grid;gap:6px;margin-bottom:14px}.field-label{font-size:12px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.6px}.field-hint{font-size:12px;color:#94a3b8}.input,.textarea,.select{width:100%;border:1.5px solid #c8dcf0;border-radius:10px;padding:11px 14px;font-size:14px;background:#f4f8fd;color:#0f172a;transition:border-color .15s,box-shadow .15s;font-family:inherit;outline:none}.input:focus,.textarea:focus,.select:focus{border-color:var(--brand);background:#ffffff;box-shadow:0 0 0 3px var(--brand-tint)}.textarea{resize:vertical;min-height:88px}.checkbox-row{display:flex;gap:10px;align-items:center;margin-top:4px;font-size:14px;color:#374151;cursor:pointer}.checkbox-row input[type=checkbox]{width:17px;height:17px;accent-color:#2563eb;cursor:pointer;flex-shrink:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:none;border-radius:10px;padding:11px 18px;font-size:14px;font-weight:700;cursor:pointer;transition:filter .15s,transform .1s;font-family:inherit;white-space:nowrap}.btn:hover{filter:brightness(.94)}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none;filter:none}.btn-primary{background:var(--brand);color:#fff;box-shadow:0 2px 8px var(--brand-tint)}.btn-secondary{background:#ffffff;color:#1a3a5c;border:1.5px solid #DDE4EF}.btn-approve{background:#16a34a;color:#fff;box-shadow:0 2px 8px #16a34a4d}.btn-danger{background:#fee2e2;color:#b91c1c;border:1px solid #fecaca}.btn-sm{padding:7px 12px;font-size:12px;border-radius:10px}.btn-icon-danger{border:none;background:#fee2e2;color:#dc2626;border-radius:8px;padding:6px 10px;cursor:pointer;font-size:13px;font-weight:700;transition:background .15s}.btn-icon-danger:hover{background:#fecaca}.plain-button{border:none;background:transparent;padding:0;text-align:left;cursor:pointer;width:100%;transition:transform .1s}.plain-button:active{transform:scale(.99)}.documents-page{max-width:980px}.documents-hidden-input{display:none}.documents-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:16px}.documents-header h1{margin-bottom:4px}.documents-header p{margin:0;max-width:560px}.documents-header-actions,.documents-capture-actions,.documents-card-actions{display:flex;gap:8px;flex-wrap:wrap}.documents-primary-action{min-height:44px}.documents-alert{border-radius:10px;padding:10px 12px;font-size:13px;font-weight:700;margin-bottom:14px}.documents-alert-error{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.documents-alert-error button{border:1px solid #fecaca;background:#fff;color:#991b1b;border-radius:8px;padding:7px 10px;font-weight:800;cursor:pointer}.documents-alert-status{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.documents-capture-panel{background:#fff;border:1px solid #dbe3ef;border-radius:12px;padding:14px;margin-bottom:16px;box-shadow:0 2px 8px #0f172a0a;display:grid;gap:12px}.documents-panel-title{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.documents-panel-title span{color:#64748b;font-size:12px;font-weight:800}.documents-preview-frame{border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc;min-height:220px;display:flex;align-items:center;justify-content:center;overflow:hidden}.documents-preview-image{width:100%;max-height:420px;object-fit:contain;display:block}.documents-preview-pdf{width:100%;height:420px;border:0;background:#fff}.documents-preview-fallback{padding:24px;color:#64748b;font-weight:800;text-align:center;word-break:break-word}.documents-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.documents-field{margin-bottom:0}.documents-capture-actions{justify-content:flex-end}.documents-toolbar{display:flex;gap:10px;align-items:center;margin-bottom:12px;flex-wrap:wrap}.documents-toolbar select{max-width:320px}.documents-toolbar span{font-size:12px;color:#64748b;font-weight:800}.documents-list{display:grid;gap:12px;margin-top:16px}.documents-skeleton{height:124px;border-radius:12px;background:#f8fafc;border:1px solid #e2e8f0}.documents-empty{text-align:center;padding:42px 22px;border:1px dashed #cbd5e1;border-radius:12px;background:#f8fafc}.documents-empty strong{display:block;font-size:16px;font-weight:800;color:#0f2744;margin-bottom:6px}.documents-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:12px}.documents-card{background:#fff;border:1px solid #dbe3ef;border-radius:12px;padding:14px;box-shadow:0 2px 8px #0f172a0a;display:grid;gap:10px;min-width:0}.documents-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.documents-card-top h3{margin:0;color:#0f2744;word-break:break-word}.documents-file-badge,.documents-type-badge{display:inline-flex;align-items:center;width:fit-content;border-radius:999px;font-size:11px;font-weight:800;padding:3px 9px;white-space:nowrap}.documents-file-badge{flex-shrink:0}.documents-file-badge-pdf{color:#92400e;background:#fef3c7}.documents-file-badge-image{color:#0369a1;background:#e0f2fe}.documents-type-badge{color:#1d4ed8;background:#dbeafe}.documents-meta{display:grid;gap:4px;margin:0;font-size:13px;color:#64748b}.documents-meta div{display:grid;grid-template-columns:74px minmax(0,1fr);gap:8px}.documents-meta dt{color:#334155;font-weight:800}.documents-meta dd{margin:0;min-width:0;overflow-wrap:anywhere}@media (max-width: 600px){.documents-page{padding-left:12px;padding-right:12px}.documents-header,.documents-header-actions,.documents-capture-actions,.documents-card-actions{flex-direction:column;align-items:stretch}.documents-header-actions .btn,.documents-capture-actions .btn,.documents-card-actions .btn{width:100%;min-height:44px}.documents-toolbar{align-items:stretch}.documents-toolbar select{max-width:none}.documents-preview-frame{min-height:180px}.documents-preview-pdf{height:340px}.documents-grid{grid-template-columns:1fr}}.project-import-page{max-width:1120px}.project-import-header,.project-import-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px}.project-import-header h1{margin-bottom:4px}.project-import-header p,.project-import-card-header p{margin:0;color:#64748b;font-size:13px}.project-import-alert{padding:10px 14px;border-radius:10px;margin-bottom:12px;font-size:13px;font-weight:700}.project-import-alert-error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.project-import-alert-success{background:#f0fdf4;color:#15803d;border:1px solid #bbf7d0}.project-import-steps{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.project-import-steps span{font-size:12px;font-weight:800;color:#64748b;background:#fff;border:1px solid #dde8f5;border-radius:999px;padding:5px 10px}.project-import-steps span.active{color:#1d4ed8;background:#dbeafe;border-color:#bfdbfe}.project-import-dropzone{border:2px dashed #bfdbfe;border-radius:14px;background:#f8fbff;min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;padding:28px}.project-import-dropzone.dragging{border-color:var(--brand);background:var(--brand-tint)}.project-import-dropzone p{margin-bottom:8px;color:#64748b}.project-import-upload-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:#1a3a5c;color:#fff;font-size:26px;font-weight:800}.project-import-column-list{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}.project-import-column-list span{background:#f1f5f9;color:#475569;border-radius:8px;padding:4px 8px;font-size:12px;font-weight:700}.project-import-table-wrap{overflow-x:auto;border:1px solid #e2e8f0;border-radius:10px}.project-import-table{width:100%;border-collapse:collapse;min-width:760px;font-size:12px}.project-import-table th,.project-import-table td{padding:8px 10px;border-bottom:1px solid #f1f5f9;text-align:left;white-space:nowrap}.project-import-table th{background:#f8fafc;color:#475569;font-weight:800}.project-import-table td{color:#334155}.project-import-mapping{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.project-import-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.project-import-stat{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:12px}.project-import-stat strong{display:block;color:#0f2744;font-size:24px;line-height:1.1}.project-import-stat span{color:#64748b;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.project-import-stat.warn strong{color:#b45309}.project-import-stat.danger strong{color:#b91c1c}.project-import-segmented{display:inline-flex;gap:4px;background:#f1f5f9;border-radius:10px;padding:4px;width:fit-content;max-width:100%;flex-wrap:wrap}.project-import-segmented button{border:none;background:transparent;border-radius:8px;color:#475569;cursor:pointer;font-size:12px;font-weight:800;padding:7px 10px}.project-import-segmented button.active{background:#fff;color:#1d4ed8;box-shadow:0 1px 4px #0f172a14}.project-import-preview-list{margin-top:14px;background:#fffbeb;border:1px solid #fde68a;border-radius:10px;padding:12px}.project-import-preview-list.danger{background:#fef2f2;border-color:#fecaca}.project-import-preview-list h3{margin:0 0 6px;font-size:13px}.project-import-preview-list p{margin:3px 0;font-size:12px}.project-import-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:16px}@media (max-width: 900px){.project-import-mapping,.project-import-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 560px){.project-import-mapping,.project-import-stats{grid-template-columns:1fr}.project-import-actions{justify-content:stretch}.project-import-actions .btn{width:100%}}.attendance-page{max-width:980px}.attendance-header{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap;margin-bottom:14px}.attendance-header h1{margin-bottom:4px}.attendance-header p{margin:0;color:#64748b;font-size:13px}.attendance-summary{display:flex;gap:8px;flex-wrap:wrap}.attendance-summary span{background:#fff;border:1px solid #dde8f5;border-radius:10px;color:#64748b;font-size:12px;font-weight:700;padding:8px 10px}.attendance-summary strong{color:#0f2744;font-size:16px}.attendance-alert{background:#fef2f2;border:1px solid #fecaca;border-radius:10px;color:#b91c1c;font-size:13px;font-weight:700;margin-bottom:12px;padding:10px 14px}.attendance-controls{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(150px,.8fr) minmax(180px,1fr);gap:12px;align-items:end}.attendance-controls .field{margin-bottom:0}.attendance-control-actions{display:flex;gap:8px;flex-wrap:wrap}.attendance-list{display:grid;gap:10px;margin-top:14px}.attendance-worker-card{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.attendance-worker-main{flex:1;min-width:0}.attendance-worker-main h2{font-size:16px;margin:0 0 2px}.attendance-worker-main p{margin:0;color:#64748b;font-size:13px}.attendance-worker-times{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:9px}.attendance-worker-times span{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#64748b;font-size:12px;padding:4px 8px}.attendance-worker-times strong{color:#0f172a}.attendance-status{font-weight:800}.attendance-status-present,.attendance-status-none{color:#475569!important}.attendance-status-late,.attendance-status-left_early{color:#b45309!important}.attendance-status-sick,.attendance-status-other{color:#6d28d9!important}.attendance-worker-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.attendance-notes{margin:12px 0 0;background:#f8fafc;border-left:3px solid #2563eb;border-radius:0 8px 8px 0;color:#475569;font-size:13px;padding:8px 10px}.attendance-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(15,23,42,.48);z-index:500;display:flex;align-items:flex-end;justify-content:center;padding:16px}.attendance-modal{background:#fff;border-radius:14px;box-shadow:0 20px 60px #0f172a47;max-height:calc(var(--viewport-height) - 32px);max-width:520px;overflow:auto;padding:18px;width:100%}.attendance-modal-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.attendance-modal-header h2{margin:0}.attendance-modal-header button{background:#f1f5f9;border:none;border-radius:8px;color:#475569;cursor:pointer;font-size:14px;font-weight:800;height:30px;width:30px}.attendance-modal-actions{display:flex;justify-content:flex-end;gap:8px}@media (max-width: 760px){.attendance-controls{grid-template-columns:1fr}.attendance-control-actions,.attendance-control-actions .btn{width:100%}.attendance-worker-card{flex-direction:column}.attendance-worker-actions,.attendance-worker-actions .btn,.attendance-modal-actions,.attendance-modal-actions .btn{width:100%}.attendance-modal-actions{flex-direction:column-reverse}}@media (min-width: 700px){.attendance-modal-backdrop{align-items:center}}.chip-grid{display:flex;flex-wrap:wrap;gap:6px}.chip{border:1.5px solid #e2e8f0;background:white;padding:7px 14px;border-radius:999px;cursor:pointer;font-size:13px;font-weight:600;color:#475569;transition:all .15s}.chip:hover{border-color:#cbd5e1;background:#f8fafc}.chip-active{background:var(--brand-tint);border-color:var(--brand);color:var(--brand)}.status-badge{display:inline-flex;align-items:center;font-size:11px;font-weight:700;padding:4px 10px;border-radius:999px;text-transform:uppercase;letter-spacing:.4px}.status-open{background:#fef3c7;color:#92400e}.status-in-progress{background:#dbeafe;color:#1e40af}.status-closed{background:#dcfce7;color:#15803d}.chip-status-open.chip-active{background:#fef3c7;border-color:#f59e0b;color:#92400e}.chip-status-in-progress.chip-active{background:#dbeafe;border-color:#3b82f6;color:#1e40af}.chip-status-closed.chip-active{background:#dcfce7;border-color:#22c55e;color:#15803d}.success-text{color:#16a34a;font-weight:700;font-size:14px}.detail-meta{display:flex;flex-wrap:wrap;gap:6px 14px;margin:10px 0;font-size:13px;color:#475569}.detail-description{font-size:14px;color:#374151;line-height:1.6;margin:6px 0 12px}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:10px;margin-top:12px}.photo-card{display:grid;gap:6px}.photo-thumb{width:100%;height:100px;object-fit:cover;border-radius:10px;border:1px solid #e2e8f0;background:#f8fafc}.photo-remove{border:none;background:#fee2e2;color:#dc2626;border-radius:7px;padding:6px;cursor:pointer;font-size:12px;font-weight:600;transition:background .15s}.photo-remove:hover{background:#fecaca}.vo-badge{background:#fef3c7;color:#92400e;font-weight:700;padding:3px 9px;border-radius:999px;font-size:11px;text-transform:uppercase;letter-spacing:.4px}.approval-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;background:#fffbeb;border:1.5px solid #fcd34d;border-radius:14px;padding:14px 18px;margin:0 0 16px}.approval-bar--approved{background:#f0fdf4;border-color:#86efac}.approval-status{display:flex;align-items:center;gap:8px}.approval-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.dot-pending{background:#f59e0b;box-shadow:0 0 0 3px #f59e0b33}.dot-approved{background:#22c55e;box-shadow:0 0 0 3px #22c55e33}.approval-label{font-size:14px;font-weight:700;color:#374151}.approval-actions{display:flex;gap:8px;flex-wrap:wrap}.comment-thread{margin-top:16px;padding-top:16px;border-top:1px solid #f1f5f9;display:grid;gap:8px}.comment-list{display:grid;gap:6px}.comment-item{background:#f8fafc;border-radius:9px;padding:10px 13px;border-left:3px solid #e2e8f0}.comment-text{font-size:14px;color:#1e293b;margin-bottom:3px}.comment-time{font-size:11px;color:#94a3b8}.comment-empty{font-size:13px;color:#94a3b8}.comment-input-row{display:flex;gap:8px}.comment-input{flex:1}.reply-thread{margin-top:16px;padding-top:16px;border-top:1px dashed #e2e8f0;display:grid;gap:8px}.reply-label{color:#7c3aed}.reply-item{background:#f5f3ff;border-radius:9px;padding:10px 13px;border-left:3px solid #a78bfa}.reply-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.reply-author{font-size:12px;font-weight:700;color:#7c3aed}.reply-input-group{display:grid;gap:6px}.vo-builder{margin-top:16px;border:1.5px solid #fcd34d;border-radius:13px;overflow:hidden}.vo-builder-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 16px;background:linear-gradient(135deg,#fffbeb 0%,#fef9c3 100%);flex-wrap:wrap}.vo-builder-title{display:flex;align-items:center;gap:8px}.vo-icon{font-size:16px}.vo-heading{font-size:14px;font-weight:800;color:#92400e}.vo-header-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.vo-form{padding:16px;display:grid;gap:8px;background:#ffffff}.vo-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.vo-total-row{display:flex;justify-content:space-between;align-items:center;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;padding:12px 16px}.vo-total-label{font-weight:700;color:#166534;font-size:14px}.vo-total-value{font-size:20px;font-weight:800;color:#15803d}.vo-status-pill{font-size:11px;font-weight:700;padding:4px 10px;border-radius:999px;text-transform:uppercase;letter-spacing:.4px}.vo-status-pending{background:#fef3c7;color:#92400e}.vo-status-approved{background:#dcfce7;color:#15803d}.vo-status-rejected{background:#fee2e2;color:#dc2626}.vo-total-pill{font-size:13px;font-weight:800;color:#15803d;background:#f0fdf4;padding:4px 10px;border-radius:999px}.chip-vo-pending.chip-active{background:#fef3c7;border-color:#f59e0b;color:#92400e}.chip-vo-approved.chip-active{background:#dcfce7;border-color:#22c55e;color:#15803d}.chip-vo-rejected.chip-active{background:#fee2e2;border-color:#ef4444;color:#dc2626}.participant-group{display:flex;flex-direction:column;gap:6px}.participant-role-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#9ca3af}.participant-members{display:flex;flex-direction:column;gap:4px}.participant-member{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#f8fafc;border-radius:8px;border:1px solid #e5e7eb}.participant-name{font-size:14px;font-weight:600;color:#111827}.participant-trade{font-size:13px;color:#6b7280}.participant-contact{display:block;font-size:12px;color:#9ca3af;margin-top:2px}.participant-member-block{display:flex;flex-direction:column;gap:8px;padding-bottom:12px;border-bottom:1px solid #f1f5f9}.participant-member-block:last-child{border-bottom:none;padding-bottom:0}.contact-list{display:flex;flex-direction:column;gap:4px;margin-left:12px}.contact-item{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:6px 8px;background:#f8fafc;border-radius:8px}.contact-info{display:flex;flex-direction:column;gap:1px}.contact-name{font-size:13px;font-weight:600;color:#374151}.contact-role{font-size:12px;color:#6b7280}.contact-detail{font-size:12px;color:#9ca3af}.contact-add-form{display:flex;flex-direction:column;gap:6px;margin-left:12px;padding:8px;background:#f8fafc;border-radius:8px;border:1px dashed #e2e8f0}.company-status-badge{display:inline-block;padding:2px 8px;border-radius:20px;font-size:11px;font-weight:600;letter-spacing:.02em}.company-status-pending{background:#fef3c7;color:#92400e}.company-status-acknowledged{background:#dbeafe;color:#1e40af}.company-status-in-progress{background:#ede9fe;color:#5b21b6}.company-status-waiting-info{background:#fce7f3;color:#9d174d}.company-status-resolved{background:#d1fae5;color:#065f46}.company-status-cannot-action{background:#f1f5f9;color:#475569}.chip-cs-pending{border-color:#f59e0b;color:#92400e}.chip-cs-acknowledged{border-color:#3b82f6;color:#1e40af}.chip-cs-in-progress{border-color:#8b5cf6;color:#5b21b6}.chip-cs-waiting-info{border-color:#ec4899;color:#9d174d}.chip-cs-resolved{border-color:#22c55e;color:#065f46}.chip-cs-cannot-action{border-color:#94a3b8;color:#475569}.responsibility-row{display:flex;flex-direction:column;gap:6px;padding:10px;background:#f8fafc;border-radius:8px}.responsibility-org{display:flex;align-items:center;flex-wrap:wrap;gap:4px}.responsibility-counts{display:flex;flex-wrap:wrap;gap:4px}.cs-pill{display:inline-block;padding:2px 8px;border-radius:20px;font-size:11px;font-weight:600}.cs-pill-pending{background:#fef3c7;color:#92400e}.cs-pill-acknowledged{background:#dbeafe;color:#1e40af}.cs-pill-in-progress{background:#ede9fe;color:#5b21b6}.cs-pill-waiting-info{background:#fce7f3;color:#9d174d}.cs-pill-resolved{background:#d1fae5;color:#065f46}.cs-pill-cannot-action{background:#f1f5f9;color:#475569}.vo-stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin-top:16px}.vo-stat-card{background:white;border-radius:13px;padding:16px;box-shadow:0 1px 3px #0000000f;border:1px solid #f1f5f9;display:grid;gap:5px}.vo-stat-card.vo-stat-blue{border-left:3px solid #3b82f6}.vo-stat-card.vo-stat-yellow{border-left:3px solid #f59e0b}.vo-stat-card.vo-stat-green{border-left:3px solid #22c55e}.vo-stat-label{font-size:11px;color:#64748b;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.vo-stat-value{font-size:20px;font-weight:800;color:#0f172a;letter-spacing:-.5px}.vo-card-ref{font-size:11px;font-weight:700;color:#3b82f6;text-transform:uppercase;letter-spacing:.6px;margin-bottom:3px}.vo-card-title{font-size:15px;font-weight:700;margin-bottom:2px}.vo-card-meta{font-size:12px;color:#94a3b8}.vo-card-desc{font-size:13px;color:#475569;margin-top:10px;line-height:1.5}.vo-unbuilt-tag{color:#94a3b8;font-style:italic;font-weight:400}.vo-cost-row{display:flex;gap:16px;flex-wrap:wrap;font-size:13px;color:#475569;margin-top:12px;padding-top:12px;border-top:1px solid #f1f5f9}.vo-cost-total{font-weight:800;color:#15803d}.vo-card-actions{display:flex;gap:8px;margin-top:12px}.trade-tag{display:inline-flex;align-items:center;font-size:11px;font-weight:700;padding:3px 9px;border-radius:999px;background:#f1f5f9;color:#475569;text-transform:uppercase;letter-spacing:.3px}.sub-trade-tag{margin-left:6px}.trade-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin-top:16px}.trade-card{background:white;border:2px solid #e2e8f0;border-radius:14px;padding:16px;cursor:pointer;text-align:left;display:grid;gap:8px;transition:border-color .15s,background .15s,box-shadow .15s}.trade-card:hover{box-shadow:0 4px 12px #00000014}.trade-card--selected{box-shadow:0 4px 16px #0000001f}.trade-card-dot{width:10px;height:10px;border-radius:50%}.trade-card-name{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.4px}.trade-card-total{font-size:30px;font-weight:900;color:#0f172a;line-height:1;letter-spacing:-1px}.trade-card-bar{display:flex;height:5px;border-radius:999px;overflow:hidden;gap:2px}.trade-bar-seg{border-radius:999px;min-width:4px}.trade-bar-open{background:#f59e0b}.trade-bar-inprogress{background:#3b82f6}.trade-bar-closed{background:#22c55e}.trade-card-stats{display:flex;flex-wrap:wrap;gap:3px 8px;font-size:11px;color:#64748b;font-weight:500}.trade-vo-tag{background:#fef3c7;color:#92400e;font-weight:700;padding:1px 6px;border-radius:999px}.trade-list-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;margin-top:24px;padding-bottom:12px;border-bottom:1px solid #e2e8f0}.trade-list-title{font-size:16px;font-weight:800}.trade-issue-project{font-size:11px;color:#94a3b8;font-weight:600;text-transform:uppercase;letter-spacing:.3px;margin-bottom:2px}.trade-issue-title{font-size:15px;font-weight:700}.project-companies{margin-top:14px;padding-top:14px;border-top:1px solid #f1f5f9}.sub-list{display:grid;gap:6px;margin:8px 0}.sub-row{display:flex;justify-content:space-between;align-items:center;background:#f8fafc;border-radius:9px;padding:10px 13px}.sub-name{font-size:14px;font-weight:700;margin-right:6px}.nav-logo{height:26px;width:auto;max-width:80px;object-fit:contain;border-radius:4px;align-self:center;flex-shrink:0;margin-right:4px;margin-left:4px}.locked-banner{display:flex;align-items:center;gap:8px;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:12px;padding:11px 16px;margin-bottom:4px;font-size:13px;font-weight:600;color:#64748b}.locked-icon{font-size:15px}.logo-preview-row{display:flex;align-items:center;gap:12px}.logo-preview{height:48px;max-width:140px;object-fit:contain;border-radius:8px;border:1px solid #e2e8f0;padding:4px;background:#f8fafc}.file-input{font-size:13px;color:#475569}.color-picker-row{display:flex;align-items:center;gap:10px}.color-swatch{width:40px;height:40px;border:none;border-radius:8px;cursor:pointer;padding:2px;background:none;flex-shrink:0}.color-hex-input{width:110px;font-family:monospace}.color-preview{width:32px;height:32px;border-radius:8px;border:1px solid #e2e8f0;flex-shrink:0}@media (max-width: 480px){h1{font-size:20px}.vo-form-row{grid-template-columns:1fr}.approval-actions{width:100%}.approval-actions .btn{flex:1;justify-content:center}}.sc-stats{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}.sc-stat-card{background:white;border-radius:12px;padding:12px 20px;box-shadow:0 1px 4px #00000012;display:flex;flex-direction:column;gap:4px;min-width:90px}.sc-stat-label{font-size:12px;color:#6b7280}.sc-stat-val{font-size:26px;font-weight:800}.sc-form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.sc-toolbar{display:grid;grid-template-columns:1fr auto auto;gap:10px;margin-bottom:12px}.sc-badge{display:inline-flex;align-items:center;font-size:11px;font-weight:700;padding:3px 10px;border-radius:999px;text-transform:uppercase;letter-spacing:.4px}.sc-type-rfi{background:#dbeafe;color:#1d4ed8}.sc-type-instruction{background:#ede9fe;color:#6d28d9}.sc-type-vo{background:#dcfce7;color:#166534}.sc-type-issue{background:#fee2e2;color:#b91c1c}.sc-status-open{background:#f3f4f6;color:#374151}.sc-status-pending-response{background:#fef3c7;color:#92400e}.sc-status-in-progress{background:#dbeafe;color:#1d4ed8}.sc-status-approved{background:#dcfce7;color:#166534}.sc-status-rejected{background:#fee2e2;color:#b91c1c}.sc-status-closed{background:#e5e7eb;color:#111827}.sc-project{background:#f0fdf4;color:#166534}.sc-history{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;padding:10px 14px;margin-top:12px;display:grid;gap:6px}.sc-history ul{margin:0;padding-left:16px}.sc-history li{font-size:12px;color:#4b5563;margin-bottom:4px}@media (max-width: 600px){.sc-toolbar{grid-template-columns:1fr}}.qc-wrap{margin-bottom:20px}.qc-capture-btn{width:100%;padding:20px;font-size:18px;font-weight:700;background:var(--brand);color:#fff;border:none;border-radius:16px;cursor:pointer;letter-spacing:-.2px}.qc-capture-btn:active{opacity:.85}.qc-form{display:grid;gap:10px}.qc-preview-wrap{position:relative}.qc-preview{width:100%;max-height:280px;object-fit:cover;border-radius:12px;display:block}.qc-remove{position:absolute;top:8px;right:8px;background:rgba(0,0,0,.55);color:#fff;border:none;border-radius:50%;width:28px;height:28px;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center}.qc-type-row{display:flex;gap:8px;flex-wrap:wrap}.qc-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.qc-save-btn{width:100%;padding:14px;font-size:16px}.qc-card-photo{width:100%;max-height:220px;object-fit:cover;border-radius:10px;margin:8px 0 12px;display:block}@media (max-width: 500px){.qc-row{grid-template-columns:1fr}}.sr-priority{display:inline-flex;align-items:center;font-size:11px;font-weight:700;padding:3px 10px;border-radius:999px;text-transform:uppercase;letter-spacing:.4px}.sr-priority-low{background:#f3f4f6;color:#374151}.sr-priority-medium{background:#dbeafe;color:#1d4ed8}.sr-priority-high{background:#fef3c7;color:#92400e}.sr-priority-critical{background:#fee2e2;color:#b91c1c}.btn-whatsapp{background:#25d366;color:#fff}.btn-whatsapp:active{opacity:.85}.btn-email{background:#111827;color:#fff}.btn-email:active{opacity:.85}.btn-storage{background:#0f766e;color:#fff}.btn-storage:active{opacity:.85}.btn:disabled{opacity:.65;cursor:not-allowed}.stored-pdf-meta{font-size:13px;color:#0f766e;font-weight:600;margin-bottom:12px}.sr-section{padding-top:8px;margin-top:4px}.sr-section+.sr-section{margin-top:24px}.sr-section-label{font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:#94a3b8;margin-bottom:2px}.sr-section-title{font-size:16px;font-weight:800;color:#0f2744;margin:0 0 14px;padding-bottom:10px;border-bottom:2px solid #e2e8f0}.sr-issue-card{border:1.5px solid #e2e8f0;border-radius:14px;overflow:hidden;transition:box-shadow .15s}.sr-issue-card:focus-within{border-color:#93c5fd;box-shadow:0 0 0 3px #2563eb12}.sr-issue-card-header{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#f8fafc;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .12s}.sr-issue-card-header:hover{background:#f1f5f9}.sr-issue-card-header.is-open{border-bottom:1px solid #e2e8f0}.sr-issue-card-meta{flex:1;min-width:0}.sr-issue-card-num{display:block;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#64748b;margin-bottom:1px}.sr-issue-card-title{display:block;font-size:14px;font-weight:700;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sr-issue-card-badges{display:flex;gap:5px;align-items:center;flex-shrink:0}.sr-issue-card-chevron{font-size:12px;color:#94a3b8;flex-shrink:0}.sr-issue-body{padding:18px;display:flex;flex-direction:column;gap:16px}.sr-issue-subsection{display:flex;flex-direction:column;gap:8px}.sr-issue-subsection-label{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#94a3b8}.sr-issue-ghost-footer{margin:2px -18px -18px;padding:10px 18px;border-top:1.5px dashed #e2e8f0;background:#fafbfc;display:flex;align-items:center;gap:10px;font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#cbd5e1}.sr-issue-ghost-footer .ghost-phase{margin-left:auto;font-size:10px;font-weight:600;color:#e2e8f0;letter-spacing:.05em}.sr-report-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.sr-report-card-info{flex:1;min-width:0}.sr-report-card-title{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:4px}.sr-report-card-title h3{margin:0}.sr-report-num{font-size:12px;font-weight:700;color:#2563eb;background:#eff6ff;border-radius:6px;padding:2px 8px}.sr-report-card-meta{font-size:13px;color:#6b7280;margin:0 0 2px}.sr-report-card-parties{font-size:12px;color:#9ca3af;margin:0}.sr-report-card-actions{display:flex;flex-direction:column;gap:6px;flex-shrink:0}.sr-actions-primary{display:flex;gap:6px;flex-wrap:wrap}.sr-actions-secondary{display:flex;gap:5px;flex-wrap:wrap}.sr-actions-secondary .btn{font-size:11px;padding:4px 9px}.sr-view-panel{margin-top:16px;padding-top:16px;border-top:1px solid #e2e8f0}.sr-view-notes{background:#f8fafc;border-left:3px solid #2563eb;border-radius:0 8px 8px 0;padding:12px 16px;font-size:13px;color:#374151;line-height:1.6;margin-bottom:16px}.sr-view-issue{border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.sr-view-issue-header{padding:10px 14px;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.sr-view-issue-num{font-size:11px;font-weight:700;color:#64748b;letter-spacing:.06em;text-transform:uppercase}.sr-view-issue-title{font-size:14px;font-weight:700;color:#0f172a;flex:1}.sr-view-issue-body{padding:12px 14px;display:flex;flex-direction:column;gap:8px}.sr-view-issue-desc{font-size:13px;color:#374151;line-height:1.6;margin:0}.sr-view-issue-chips{display:flex;gap:6px;flex-wrap:wrap}.sr-view-issue-meta{display:flex;flex-wrap:wrap;gap:14px;font-size:12px;color:#64748b}.sr-view-issue-meta strong{color:#374151;font-weight:600}.sr-status{display:inline-flex;align-items:center;font-size:11px;font-weight:700;padding:3px 10px;border-radius:999px;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap}.sr-status-open{background:#f3f4f6;color:#374151;border:1px solid #e5e7eb}.sr-status-submitted{background:#dbeafe;color:#1d4ed8;border:1px solid #93c5fd}.sr-status-acknowledged{background:#fef3c7;color:#92400e;border:1px solid #fde68a}.sr-status-approved{background:#dcfce7;color:#166534;border:1px solid #86efac}.sr-status-draft{background:#f3f4f6;color:#374151;border:1px solid #e5e7eb}.sr-status-pending-approval{background:#fef3c7;color:#92400e;border:1px solid #fbbf24}.sr-status-sent{background:#dcfce7;color:#166534;border:1px solid #86efac}.sn-status-open{background:#f3f4f6;color:#374151;border:1px solid #e5e7eb}.sn-status-in-progress{background:#dbeafe;color:#1d4ed8;border:1px solid #93c5fd}.sn-status-closed{background:#dcfce7;color:#166534;border:1px solid #86efac}.sn-status-reopened{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5}.sn-card{border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;margin-bottom:8px;background:#fff}.sn-card-header{width:100%;display:flex;align-items:center;gap:10px;padding:12px 16px;background:#fff;border:none;cursor:pointer;text-align:left;transition:background .1s}.sn-card-header:hover{background:#f8fafc}.sn-card-header.is-open{background:#f8fafc;border-bottom:1px solid #e2e8f0}.sn-card-meta{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.sn-card-num{font-size:10px;font-weight:700;color:#64748b;letter-spacing:.07em;text-transform:uppercase;flex-shrink:0;font-family:DM Mono,monospace}.sn-card-title{font-size:14px;font-weight:700;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sn-card-badges{display:flex;align-items:center;gap:6px;flex-shrink:0;flex-wrap:wrap}.sn-card-chevron{font-size:11px;color:#94a3b8;flex-shrink:0}.sn-card-location-strip{display:flex;flex-wrap:wrap;gap:5px;padding:5px 16px 9px;background:#fff}.sn-loc-chip{display:inline-block;font-size:11px;color:#64748b;background:#f1f5f9;border-radius:6px;padding:2px 8px}.sn-loc-chip.sn-loc-company{background:#eff6ff;color:#1d4ed8;font-weight:600}.sn-card-body{padding:14px 16px;background:#fafafa;display:flex;flex-direction:column;gap:12px}.sn-card-description{margin:0;font-size:13px;color:#374151;line-height:1.65}.sn-subsection{display:flex;flex-direction:column;gap:5px}.sn-subsection-label{font-size:10px;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.07em}.sn-loc-chips{display:flex;flex-wrap:wrap;gap:5px}.sn-responsible-block{display:grid;grid-template-columns:1fr 1fr;gap:10px;background:#eff6ff;border-radius:10px;padding:10px 14px;font-size:13px}.sn-responsible-label{display:block;font-size:10px;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px}.sn-responsible-value{color:#0f172a;font-weight:700}.sn-closeout-notes{background:#f0fdf4;border-left:3px solid #16a34a;border-radius:0 8px 8px 0;padding:10px 14px}.sn-card-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-top:4px}.sn-project-header{display:flex;align-items:baseline;gap:10px;padding:10px 0 8px;border-bottom:2px solid #0f2744;margin-bottom:14px}.sn-project-name{font-size:15px;font-weight:800;color:#0f2744;letter-spacing:-.01em}.sn-project-count{font-size:12px;color:#94a3b8;font-weight:500}.sn-floor-header{font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.07em;padding-bottom:6px;border-bottom:1px solid #f1f5f9;margin-bottom:8px}.sn-company-label{font-size:12px;font-weight:700;color:#374151;margin-bottom:6px;margin-top:2px}.sn-company-count{font-weight:400;color:#94a3b8}@media (max-width: 480px){body{font-size:14px}h1{font-size:18px;margin-bottom:12px}h2{font-size:15px}.page{padding:12px 12px 28px}.card{padding:14px}.sc-form-row{grid-template-columns:1fr!important}.sc-stat-val{font-size:20px}.sc-stat-card{padding:10px 14px}.sn-responsible-block{grid-template-columns:1fr}.sr-report-card-header{flex-direction:column;gap:10px}.sr-report-card-actions{flex-direction:row;flex-wrap:wrap}.btn{padding:9px 14px;font-size:13px}.btn-sm{padding:6px 10px;font-size:11px}.sc-toolbar{grid-template-columns:1fr auto!important}.dash-hero{padding:16px 16px 14px!important}.dash-hero-value{font-size:36px!important}.dashboard-stats{gap:8px!important}.dash-stat-val{font-size:28px!important}}@media (max-width: 640px){.page,.dashboard-page,.documents-page,.attendance-page,.project-import-page{max-width:100%;margin-left:0;margin-right:0}.attendance-modal{width:calc(100vw - 16px);max-width:calc(100vw - 16px);margin:8px}.modal-mobile-full{width:100%!important;max-width:100%!important;border-radius:0!important;margin:0!important}}html,body,#root{margin:0;padding:0;min-height:100vh;min-height:100dvh;background:#04152d}html,body{overflow-x:hidden}
