:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#0f172a;background:#f8fafc;line-height:1.5;font-weight:400}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:#f8fafc}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100vh}.sidebar{padding:24px 18px;background:#0f172a;color:#e2e8f0;display:flex;flex-direction:column;justify-content:space-between;gap:20px}.content-shell{padding:28px}.brand-block{display:flex;align-items:center;gap:14px}.brand-block h1{margin:0;font-size:22px}.brand-block p{margin:4px 0 0;color:#94a3b8}.brand-badge{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;font-weight:800;color:#fff;background:linear-gradient(135deg,#2563eb,#7c3aed)}.nav-list{margin-top:26px;display:grid;gap:8px}.nav-link{padding:12px 14px;border-radius:12px;color:#cbd5e1}.nav-link:hover,.nav-link.active{background:#ffffff14;color:#fff}.sidebar-footer{display:grid;gap:12px}.user-card{display:flex;gap:12px;align-items:center;padding:12px;border-radius:16px;background:#ffffff14}.user-card.compact{padding:10px 12px}.avatar{width:40px;height:40px;border-radius:999px;display:grid;place-items:center;background:#1d4ed8;color:#fff;font-weight:700}.page-stack{display:grid;gap:20px}.page-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.page-header h2{margin:0;font-size:28px}.page-header p{margin:6px 0 0;color:#64748b}.card,.toolbar-card,.auth-card,.stat-card{background:#fff;border-radius:22px;box-shadow:0 10px 30px #0f172a0f;border:1px solid #e2e8f0}.card,.toolbar-card,.auth-card{padding:20px}.card h3,.toolbar-card h3,.auth-card h3{margin:0;font-size:18px}.stat-card{padding:20px}.stat-label{color:#64748b;font-size:14px}.stat-value{margin-top:8px;font-size:32px;font-weight:800}.stat-value.sm{font-size:22px}.stat-helper{margin-top:6px;color:#64748b;font-size:13px}.stats-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.two-col-grid,.three-col-grid,.toolbar-grid{display:grid;gap:20px}.two-col-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.three-col-grid{grid-template-columns:360px minmax(0,1fr) minmax(0,1fr)}.toolbar-grid{grid-template-columns:repeat(2,minmax(0,320px))}.toolbar-grid.three-up{grid-template-columns:repeat(3,minmax(0,280px))}.align-start{align-items:start}.span-2{grid-column:span 2}.field{display:grid;gap:8px}.field span,.label-text{color:#334155;font-weight:600;font-size:14px}input,select,textarea{width:100%;padding:11px 14px;border-radius:12px;border:1px solid #cbd5e1;outline:none;background:#fff}input:focus,select:focus,textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f61f}.checkbox-row{display:flex;align-items:center;gap:10px;color:#334155}.checkbox-row input{width:18px;height:18px}.button{border:0;border-radius:12px;padding:10px 14px;font-weight:700;cursor:pointer}.button.primary{background:#2563eb;color:#fff}.button.secondary{background:#e2e8f0;color:#0f172a}.button.danger{background:#ef4444;color:#fff}.button.ghost{background:#f8fafc;color:#0f172a;border:1px solid #e2e8f0}.button.full{width:100%}.button:disabled{opacity:.65;cursor:not-allowed}.upload-button{display:inline-flex;align-items:center;justify-content:center}.inline-actions{display:flex;gap:8px;align-items:center}.inline-actions.end{justify-content:flex-end}.inline-actions.wrap,.toolbar-row.wrap{flex-wrap:wrap}.toolbar-row{display:flex;gap:12px;align-items:flex-end}.table-wrap{width:100%;overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{padding:12px 10px;border-bottom:1px solid #e2e8f0;text-align:left;vertical-align:middle}th{font-size:13px;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.row-selected{background:#eff6ff}.truncate-cell{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.alert{padding:12px 14px;border-radius:14px;font-weight:600}.alert.error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.alert.success{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.hint-box{padding:14px;border-radius:14px;background:#f8fafc;border:1px dashed #cbd5e1}.strong-text{font-weight:700}.muted-text{color:#64748b}.center{text-align:center}.text-list{margin:0;padding-left:18px;color:#334155}.text-list li+li{margin-top:8px}.chip-group{display:flex;flex-wrap:wrap;gap:8px}.chip{padding:8px 12px;border-radius:999px;background:#f1f5f9;border:1px solid #cbd5e1;cursor:pointer}.chip.active{background:#dbeafe;border-color:#60a5fa;color:#1d4ed8}.json-editor{min-height:320px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:13px}.max-320{max-width:320px}.stack-12{display:grid;gap:12px}.stack-16{display:grid;gap:16px}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mb-16{margin-bottom:16px}.auth-page{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at top,#dbeafe,#f8fafc 55%)}.auth-card{width:min(100%,460px)}@media(max-width:1180px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.three-col-grid{grid-template-columns:1fr}.span-2{grid-column:auto}}@media(max-width:960px){.app-shell{grid-template-columns:1fr}.sidebar{position:sticky;top:0;z-index:5}.two-col-grid,.toolbar-grid,.toolbar-grid.three-up,.stats-grid{grid-template-columns:1fr}.page-header{flex-direction:column}}.compact-header{align-items:center}.status-badge{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.status-badge.info{background:#dbeafe;color:#1d4ed8}.status-badge.success{background:#dcfce7;color:#15803d}.status-badge.warning{background:#fef3c7;color:#b45309}.status-badge.danger{background:#fee2e2;color:#b91c1c}.status-badge.muted{background:#e2e8f0;color:#475569}.stats-grid-compact{grid-template-columns:repeat(4,minmax(0,1fr))}.small-text{font-size:16px!important;line-height:1.4}.pagination-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.summary-card{padding:14px;border-radius:16px;border:1px solid #e2e8f0;background:#f8fafc}.summary-key{font-size:13px;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.summary-value{margin-top:8px;font-size:18px;font-weight:700;word-break:break-word}.code-block{margin:0;padding:12px;border-radius:14px;background:#0f172a;color:#e2e8f0;overflow:auto;font-size:12px;line-height:1.5}@media(max-width:1180px){.summary-grid,.stats-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.pagination-row{flex-direction:column;align-items:stretch}.summary-grid,.stats-grid-compact{grid-template-columns:1fr}}.dropzone{padding:20px;border-radius:18px;border:2px dashed #93c5fd;background:linear-gradient(180deg,#eff6ff,#f8fafc);transition:border-color .2s ease,transform .2s ease,background .2s ease}.dropzone.dragging{border-color:#2563eb;background:linear-gradient(180deg,#dbeafe,#eff6ff);transform:translateY(-1px)}.dropzone-title{font-size:16px;font-weight:800}.progress-stack{display:grid;gap:8px}.progress-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#334155;font-size:14px}.progress-bar-track{height:10px;border-radius:999px;overflow:hidden;background:#e2e8f0}.progress-bar-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#2563eb,#7c3aed);transition:width .2s ease}.stats-inline{display:flex;flex-wrap:wrap;gap:14px;color:#334155}.stats-inline strong{font-size:16px}.status-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#f8fafc;border:1px solid #cbd5e1}.issue-list{display:grid;gap:12px}.issue-card{width:100%;text-align:left;padding:16px;border-radius:18px;border:1px solid #e2e8f0;background:#fff;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.issue-card:hover,.issue-card.selected{border-color:#60a5fa;box-shadow:0 8px 20px #2563eb14;transform:translateY(-1px)}.issue-card-head{justify-content:flex-start}.reconcile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}@media(max-width:960px){.reconcile-grid{grid-template-columns:1fr}}.quickfix-grid{grid-template-columns:360px minmax(0,1fr) minmax(0,1fr)}.quickfix-subcard{box-shadow:none;background:#f8fafc}@media(max-width:1180px){.quickfix-grid{grid-template-columns:1fr}}.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}.topbar-actions{display:flex;align-items:center;gap:12px}.icon-button{border:1px solid #d7def5;background:#fff;border-radius:12px;min-width:46px;height:46px;cursor:pointer;position:relative;font-size:18px}.notification-popover{position:relative}.notification-badge{position:absolute;right:-6px;top:-6px;background:#e03131;color:#fff;border-radius:999px;min-width:20px;height:20px;padding:0 6px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700}.notification-panel{position:absolute;right:0;top:calc(100% + 10px);width:420px;max-width:min(420px,calc(100vw - 40px));background:#fff;border:1px solid #e5e7eb;border-radius:18px;box-shadow:0 16px 40px #0f172a24;padding:14px;z-index:50}.notification-panel-header,.notification-panel-footer,.notification-item,.preference-row,.notification-card-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.notification-list,.notification-feed,.preference-grid{display:grid;gap:12px}.notification-item,.notification-card{border:1px solid #e5e7eb;border-radius:14px;padding:12px;background:#fff}.notification-item.unread,.notification-card.unread{border-color:#b7c8ff;background:#f7f9ff}.notification-item-main,.notification-item-actions{display:grid;gap:6px}.notification-card h4{margin:0}.tiny-text{font-size:12px}.card-grid.two-columns{display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr))}.checkbox-inline{display:inline-flex;align-items:center;gap:8px}.alert.success{background:#edfdf2;border:1px solid #b7ebc6;color:#1d6b3b;padding:12px 14px;border-radius:12px}.top-gap{margin-top:14px}@media(max-width:980px){.card-grid.two-columns{grid-template-columns:1fr}.notification-panel{width:min(420px,calc(100vw - 24px));right:-6px}}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.mini-stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.soft-card{padding:16px;border-radius:18px;background:#f8fafc;border:1px solid #e2e8f0}.danger-soft{background:#fff7ed;border-color:#fdba74}.metric-pill{display:inline-flex;align-items:center;gap:10px;padding:10px 14px;border-radius:999px;background:#eff6ff;border:1px solid #bfdbfe}.list-stack{display:grid;gap:12px}.list-row-card{display:flex;justify-content:space-between;gap:16px;padding:14px 16px;border-radius:18px;border:1px solid #e2e8f0;background:#fff}.inline-metrics{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.metric-badge{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#f1f5f9;border:1px solid #cbd5e1;font-size:12px;font-weight:700}.metric-badge.danger{background:#fef2f2;color:#b91c1c;border-color:#fecaca}.small-text{font-size:12px}.small-stack{display:grid;gap:4px;font-size:13px}.right-meta{display:grid;gap:8px;justify-items:end}.notification-item.unread{background:#eff6ff;border-color:#bfdbfe}.danger-text{color:#b91c1c;font-weight:700}.staff-filters-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.compact-hint{padding:12px;align-self:end}.row-clickable{cursor:pointer}.daily-performance-stack{display:grid;gap:10px}.daily-performance-row{display:grid;grid-template-columns:140px 1fr auto;gap:12px;align-items:center;padding:12px;border:1px solid #e2e8f0;border-radius:14px;background:#fff}.daily-performance-meta{display:grid;gap:4px}.daily-performance-bars{display:grid;gap:10px}.bar-label{font-size:12px;color:#475569;margin-bottom:4px}.meter{height:10px;border-radius:999px;background:#dbeafe;overflow:hidden}.meter.secondary{background:#e2e8f0}.meter-fill{display:block;height:100%;border-radius:inherit;background:#2563eb}@media(max-width:1180px){.staff-filters-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:960px){.daily-performance-row,.staff-filters-grid{grid-template-columns:1fr}}.team-reports-filters-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.timeline-report-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.timeline-metric{display:grid;gap:8px}.timeline-label-row{display:flex;justify-content:space-between;gap:12px;align-items:center}.timeline-track{height:10px;border-radius:999px;background:#e2e8f0;overflow:hidden}.timeline-fill{height:100%;border-radius:999px}.timeline-fill.assigned{background:#94a3b8}.timeline-fill.resolved{background:#2563eb}@media(max-width:1200px){.team-reports-filters-grid,.timeline-report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:820px){.team-reports-filters-grid,.timeline-report-grid{grid-template-columns:1fr}}.three-col-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.wide-field{grid-column:span 2}.color-input-row{display:flex;gap:8px;align-items:center}.color-input-row input[type=color]{width:52px;min-width:52px;padding:4px;height:42px}.manager-preview{--manager-accent: #2563eb;border:1px solid #dbeafe;border-radius:20px;background:linear-gradient(180deg,#fff,#f8fbff);padding:20px}.manager-preview-header{display:grid;grid-template-columns:92px minmax(0,1fr) 240px;gap:16px;border-bottom:3px solid var(--manager-accent);padding-bottom:16px}.manager-preview-logo{width:84px;height:84px;border:1px solid #cbd5e1;border-radius:16px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#fff;color:#64748b;font-size:12px;font-weight:700}.manager-preview-logo img{width:100%;height:100%;object-fit:contain}.manager-preview-org{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.manager-preview-dept{margin-top:4px;color:#64748b;font-size:13px}.manager-preview-title{margin-top:10px;color:var(--manager-accent);font-size:24px;font-weight:800;line-height:1.2}.manager-preview-subtitle{margin-top:8px;color:#475569}.manager-preview-meta{border:1px solid #dbeafe;border-radius:16px;padding:12px 14px;background:#f8fbff;display:grid;gap:8px;align-content:start}.manager-preview-meta span{color:#64748b}.manager-preview-hero{margin-top:16px;border:1px solid #dbeafe;border-radius:16px;padding:16px;background:linear-gradient(135deg,#eff6ff,#fff)}.manager-preview-hero-title{color:var(--manager-accent);font-weight:800;margin-bottom:8px}.manager-preview-kpis{margin-top:16px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.manager-preview-kpi{border:1px solid #e2e8f0;border-radius:16px;padding:14px;background:#fff}.manager-preview-kpi span{display:block;color:#64748b;font-size:12px;text-transform:uppercase}.manager-preview-kpi strong{display:block;margin-top:6px;font-size:28px;line-height:1}.manager-preview-list{margin:10px 0 0 18px;padding:0}.manager-preview-list li{margin-bottom:8px}.manager-preview-signatures{margin-top:18px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.manager-preview-signatures>div{border-top:1px dashed #cbd5e1;padding-top:12px;text-align:center}.manager-sign-role{font-size:12px;font-weight:800;text-transform:uppercase}.manager-sign-space{height:70px}@media(max-width:1100px){.three-col-grid,.manager-preview-header,.manager-preview-kpis,.manager-preview-signatures{grid-template-columns:1fr}.wide-field{grid-column:span 1}}
