:root{--bg-app:#f8fafc;--bg-card:#ffffff;--bg-soft:#eff6ff;--bg-muted:#f1f5f9;--bg-dark:#0f172a;--border-default:#e2e8f0;--text-primary:#0f172a;--text-secondary:#64748b;--text-soft:#94a3b8;--brand-primary:#2563eb;--brand-soft:#dbeafe;--success:#10b981;--success-soft:#ecfdf5;--warning:#f59e0b;--warning-soft:#fffbeb;--danger:#ef4444;--danger-soft:#fef2f2;--neutral-soft:#f8fafc;--shadow-card:0 10px 24px rgba(15,23,42,0.05);--radius-lg:20px;--radius-md:14px;--radius-sm:10px}*{box-sizing:border-box}#root,body,html{margin:0;min-height:100%}body{background:var(--bg-app);color:var(--text-primary);font-family:Public Sans,sans-serif}button,input,select{font:inherit}button{border:0}.app-root{min-height:100vh}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 28px;background:rgba(255,255,255,.92);border-bottom:1px solid var(--border-default);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand-group,.topbar-actions{display:flex;align-items:center;gap:14px}.brand-badge{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,#1d4ed8,#3b82f6);color:white;font-weight:800}.brand-title{font-size:20px;font-weight:800;letter-spacing:-.03em}.brand-subtitle,.briefing-label,.inline-stat-label,.meta-line,.metric-hint,.page-description,.section-description,.sidebar-meta,.timeline-meta{color:var(--text-secondary)}.brand-subtitle,.briefing-text,.inline-stat-label,.log-error,.meta-line,.page-description,.section-description,.sidebar-meta,.timeline-meta{font-size:13px;line-height:1.5}.page-indicator{padding:8px 12px;border-radius:999px;background:var(--bg-soft);color:var(--brand-primary);font-size:13px;font-weight:700}.search-input{width:min(360px,42vw);padding:12px 14px;border:1px solid var(--border-default);border-radius:12px;background:white;outline:none}.filter-item select:focus,.form-field input:focus,.form-field select:focus,.search-input:focus{border-color:var(--brand-primary);box-shadow:0 0 0 4px rgba(37,99,235,.12)}.button,.icon-button,.nav-button,.pill-button,.table-link,.text-action{cursor:pointer}.icon-button{padding:10px 12px;border-radius:12px;background:var(--bg-muted);color:var(--text-primary)}.app-layout{display:flex;align-items:stretch;min-height:calc(100vh - 79px)}.sidebar{width:272px;flex-shrink:0;display:flex;flex-direction:column;gap:16px;padding:24px 18px;border-right:1px solid var(--border-default)}.surface-card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.sidebar-card,.sidebar-status{padding:18px}.briefing-label,.metric-label,.sidebar-eyebrow{margin-bottom:8px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-soft)}.drawer-title,.section-title,.sidebar-title{margin:0;font-weight:800;letter-spacing:-.03em}.sidebar-title{font-size:18px}.on-dark{color:rgba(255,255,255,.92)}.dark-card{margin-top:auto;background:linear-gradient(180deg,#0f172a,#172554);border-color:transparent}.sidebar-nav{display:flex;flex-direction:column;gap:8px}.nav-button{width:100%;padding:14px 16px;border-radius:16px;background:transparent;color:var(--text-primary);text-align:left}.nav-button:hover{background:var(--bg-muted)}.nav-button.is-active{background:var(--bg-soft);color:var(--brand-primary)}.nav-label{display:block;margin-bottom:4px;font-weight:700}.nav-description{display:block;font-size:12px;color:var(--text-secondary)}.main-area{flex:1 1;padding:28px}.page-stack{display:flex;flex-direction:column;gap:24px}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:24px}.page-error-card,.page-loading-card{display:grid;grid-gap:12px;gap:12px;padding:20px}.page-title{margin:0 0 8px;font-size:32px;font-weight:800;letter-spacing:-.04em}.page-actions{display:flex;flex-wrap:wrap;gap:10px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border-radius:12px;font-weight:700;transition:.12s ease}.button.primary{background:var(--brand-primary);color:white}.button.secondary{background:white;color:var(--text-primary);border:1px solid var(--border-default)}.button.full-width{width:100%}.button:hover,.icon-button:hover,.nav-button:hover,.pill-button:hover,.table-link:hover,.text-action:hover{transform:translateY(-1px)}.filter-bar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px;padding:18px}.filter-item{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:700;color:var(--text-secondary)}.filter-item select,.form-field input,.form-field select{width:100%;padding:12px 14px;border:1px solid var(--border-default);border-radius:12px;background:white;outline:none}.filter-static{width:100%;min-height:44px;background:var(--bg-muted);font-size:13px;font-weight:700}.metric-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:14px;gap:14px}.metric-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.metric-card{padding:18px}.metric-card.tone-primary{background:linear-gradient(180deg,white,#f8fbff)}.metric-card.tone-success{background:linear-gradient(180deg,white,#f6fffb)}.metric-card.tone-warning{background:linear-gradient(180deg,white,#fffdf7)}.metric-card.tone-danger{background:linear-gradient(180deg,white,#fff8f8)}.inline-stat-value,.metric-value{font-size:28px;font-weight:800;letter-spacing:-.04em}.split-grid{display:grid;grid-template-columns:1.1fr .9fr;grid-gap:18px;gap:18px}.split-grid.large-right{grid-template-columns:1.3fr 1fr}.card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:18px}.surface-card>.briefing-block,.surface-card>.card-header,.surface-card>.empty-state,.surface-card>.log-stack,.surface-card>.table-wrap{padding-left:20px;padding-right:20px}.surface-card>.card-header{padding-top:20px}.surface-card>.empty-state,.surface-card>.log-stack,.surface-card>.table-wrap{padding-bottom:20px}.stack-card{display:flex;flex-direction:column;gap:18px}.trend-chart{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;min-height:220px;padding:0 20px 20px}.trend-bar-wrap{display:flex;flex:1 1;flex-direction:column;align-items:center;gap:8px}.trend-bar{width:100%;max-width:38px;border-radius:999px 999px 10px 10px;background:linear-gradient(180deg,#60a5fa,#2563eb)}.trend-value{font-size:12px;font-weight:700;color:var(--text-primary)}.trend-label{font-size:12px;color:var(--text-secondary)}.briefing-grid,.challenge-strip,.log-stack,.metric-inline-grid,.room-list,.settings-grid,.timeline-grid{display:grid;grid-gap:12px;gap:12px}.challenge-strip{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));padding:0 20px 20px}.challenge-card{padding:16px;border:1px solid var(--border-default);border-radius:16px;background:linear-gradient(180deg,#ffffff,#fbfdff)}.challenge-card.is-active{border-color:#bfdbfe;background:linear-gradient(180deg,#eff6ff,#ffffff)}.challenge-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.challenge-card-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.challenge-card-title{font-size:16px;font-weight:800;line-height:1.35}.challenge-card-meta{font-size:13px;color:var(--text-secondary);line-height:1.5}.room-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 20px 18px}.room-name{margin-bottom:4px;font-weight:700}.room-progress-block{width:min(220px,40%)}.strong{font-weight:700;color:var(--text-primary)}.progress-track{height:8px;overflow:hidden;border-radius:999px;background:var(--bg-muted)}.progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#60a5fa,#2563eb)}.table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse}.data-table thead th{padding:0 12px 12px;border-bottom:1px solid var(--border-default);font-size:12px;font-weight:800;text-align:left;color:var(--text-soft)}.data-table tbody td{padding:14px 12px;border-bottom:1px solid #eef2f7;font-size:14px;vertical-align:top}.data-table tbody tr:hover{background:#fafcff}.status-badge{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800;white-space:nowrap}.status-badge.primary{background:var(--bg-soft);color:var(--brand-primary)}.status-badge.success{background:var(--success-soft);color:var(--success)}.status-badge.warning{background:var(--warning-soft);color:var(--warning)}.status-badge.danger{background:var(--danger-soft);color:var(--danger)}.status-badge.neutral{background:var(--neutral-soft);color:var(--text-secondary)}.empty-state{padding-top:4px;color:var(--text-secondary)}.padded-empty{padding:0 20px 20px}.empty-state-title{margin-bottom:6px;font-size:16px;font-weight:800;color:var(--text-primary)}.empty-state-body{margin-bottom:14px}.empty-state-button{width:-moz-fit-content;width:fit-content}.briefing-block,.log-item{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-top:0}.briefing-block+.briefing-block{margin-top:14px}.briefing-text{max-width:560px}.briefing-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.briefing-card{padding:20px}.briefing-card .card-header{padding:0;margin-bottom:14px}.briefing-card .button{width:100%;margin-top:18px}.room-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:18px;gap:18px}.challenge-list-page{display:grid;grid-gap:16px;gap:16px}.collection-plan-card{padding:20px}.collection-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px;margin-bottom:18px}.collection-summary-grid.compact-grid{margin-top:4px}.adapter-card-grid,.schema-field-list{display:grid;grid-gap:14px;gap:14px}.adapter-card,.schema-field-card{padding:18px;border:1px solid var(--border-default);border-radius:18px;background:white}.schema-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px;margin-top:14px}.schema-field-options{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:14px}.inline-checkbox,.inline-select{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary)}.inline-checkbox input{width:16px;height:16px}.inline-select select{min-width:110px}.challenge-list-item{width:100%;padding:20px;text-align:left}.challenge-list-item.is-active{border-color:#bfdbfe;background:linear-gradient(180deg,#eff6ff,#ffffff)}.challenge-list-meta{font-size:14px;color:var(--text-secondary);line-height:1.6}.room-card{padding:20px}.room-card .card-header{padding:0}.room-progress{display:grid;grid-gap:8px;gap:8px;margin:18px 0}.inline-stat{padding:14px;border-radius:14px;background:var(--bg-muted)}.metric-inline-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-card{padding:20px}.form-card .card-header{padding:0}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-field{display:grid;grid-gap:8px;gap:8px;margin-top:16px;font-size:14px;font-weight:700;color:var(--text-secondary)}.compact-field{margin-top:0}.field-helper-text{font-size:12px;font-weight:500;color:var(--text-secondary)}.checkbox-field{grid-template-columns:1fr auto;align-items:center}.checkbox-field input{width:18px;height:18px}.filter-static{display:flex;align-items:center;min-height:48px;padding:12px 14px;border:1px solid var(--border-default);border-radius:12px;background:white;color:var(--text-primary)}.row-actions{display:flex;flex-wrap:wrap;gap:8px}.table-link,.text-action{padding:0;background:transparent;color:var(--brand-primary);font-size:13px;font-weight:700}.text-action.muted{color:var(--text-secondary)}.pill-row{display:flex;flex-wrap:wrap;gap:8px}.pill-button{padding:8px 12px;border-radius:999px;background:var(--bg-muted);color:var(--text-primary);font-size:13px;font-weight:700}.pill-button.is-active{background:var(--bg-soft);color:var(--brand-primary)}.drawer-overlay{position:fixed;inset:0;z-index:30;background:rgba(15,23,42,.28)}.drawer-panel{top:0;right:0;width:min(560px,92vw);height:100vh;border-left:1px solid var(--border-default)}.drawer-panel,.modal-panel{position:fixed;z-index:31;display:flex;flex-direction:column;gap:18px;overflow-y:auto;padding:20px;background:#f8fafc}.modal-panel{top:50%;left:50%;width:min(640px,calc(100vw - 32px));max-height:calc(100vh - 48px);border:1px solid var(--border-default);border-radius:24px;transform:translate(-50%,-50%);box-shadow:0 30px 80px rgba(15,23,42,.2)}.notice-card{padding:20px}.submission-page{min-height:100vh;padding:32px;background:var(--bg-app)}.submission-card{width:min(720px,100%);margin:0 auto;padding:24px}.submission-form{display:grid;grid-gap:14px;gap:14px;margin-top:16px}.submission-adapter-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.submission-adapter-chip{display:grid;grid-gap:4px;gap:4px;padding:12px 14px;border-radius:14px;background:white;border:1px solid var(--border-default);font-size:13px;color:var(--text-secondary)}.submit-button{width:100%;margin-top:8px}.submission-message{margin-top:16px;padding:14px 16px;border-radius:14px;background:var(--bg-soft);color:var(--brand-primary);font-weight:700}.drawer-actions,.drawer-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.drawer-title{font-size:28px}.log-item,.summary-card,.timeline-grid{padding:20px}.summary-highlight{margin-bottom:16px;font-size:18px;font-weight:700;line-height:1.5}.timeline-grid{grid-template-columns:repeat(7,minmax(0,1fr))}.timeline-day{display:grid;justify-items:center;grid-gap:8px;gap:8px;padding:12px 8px;border-radius:14px;background:white;border:1px solid #eef2f7}.timeline-dot{width:12px;height:12px;border-radius:50%}.timeline-dot.success{background:var(--success)}.timeline-dot.warning{background:var(--warning)}.timeline-dot.danger{background:var(--danger)}.timeline-dot.neutral{background:#cbd5e1}.timeline-label{font-size:12px;font-weight:700}.log-item{display:grid;grid-gap:10px;gap:10px;border-radius:16px;background:white}.collector-status-grid{display:grid;grid-gap:24px;gap:24px}.collector-device-card,.collector-device-list{display:grid;grid-gap:14px;gap:14px}.collector-device-card{padding:18px;border-radius:16px;background:white;border:1px solid var(--border-default)}.collector-device-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.collector-device-meta{display:grid;grid-gap:8px;gap:8px;color:var(--text-secondary);font-size:14px}.log-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.log-text{padding:12px 14px;border-radius:12px;background:var(--bg-muted);font-size:14px;line-height:1.6;white-space:pre-wrap}.log-error{color:var(--danger)}.toast{position:fixed;right:20px;bottom:20px;z-index:40;padding:14px 16px;border-radius:14px;background:var(--bg-dark);color:white;font-size:14px;font-weight:700;box-shadow:0 16px 36px rgba(15,23,42,.18)}@media (max-width:1200px){.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.briefing-grid,.room-card-grid,.settings-grid,.split-grid,.split-grid.large-right{grid-template-columns:1fr}}@media (max-width:1024px){.app-layout{flex-direction:column}.sidebar{width:100%;border-right:0;border-bottom:1px solid var(--border-default)}.sidebar-nav{flex-direction:row;overflow-x:auto}.nav-button{min-width:180px}.collection-summary-grid,.filter-bar,.metric-grid,.metric-grid.compact,.schema-field-grid,.timeline-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar{flex-direction:column;align-items:stretch}.topbar-actions{flex-wrap:wrap}.search-input{width:100%}}@media (max-width:640px){.main-area,.sidebar,.topbar{padding:18px}.page-header{padding:20px}.page-title{font-size:26px}.collection-summary-grid,.filter-bar,.metric-grid,.metric-grid.compact,.metric-inline-grid,.schema-field-grid,.timeline-grid{grid-template-columns:1fr}.drawer-panel{width:100vw}}