:root{--bg:#f5f7fb;--panel:#ffffff;--panel-soft:#f8fafc;--panel-strong:#eef4ff;--text:#0d1b3d;--text-soft:#1e3a8a;--muted:#64748b;--line:#e5e7eb;--line-soft:#eef2f7;--accent:#2563eb;--accent-strong:#1e3a8a;--accent-soft:#eef4ff;--info:#2563eb;--info-soft:#eaf1ff;--purple:#6d28d9;--violet:#8b5cf6;--teal:#14b8a6;--warning:#f59e0b;--warning-soft:#fff7df;--danger:#dc2626;--danger-soft:#fff1f2;--success:#16a34a;--success-soft:#ecfdf3;--gradient-primary:linear-gradient(135deg,#2563eb,#6d28d9 55%,#8b5cf6);--gradient-brand:linear-gradient(135deg,#14b8a6,#2563eb 45%,#6d28d9);--shadow:0 16px 40px rgba(13,27,61,0.08);--shadow-soft:0 8px 24px rgba(37,99,235,0.1)}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:linear-gradient(180deg,#ffffff 0,var(--bg) 42%,#eef2ff 100%) fixed;color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;letter-spacing:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.62}:focus-visible{outline:3px solid rgba(15,118,110,.24);outline-offset:2px}.app-shell{display:grid;grid-template-columns:384px minmax(0,1fr);min-height:100vh}.sidebar{position:-webkit-sticky;position:sticky;top:0;height:100vh;border-right:1px solid var(--line);background:rgba(255,255,255,.86);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:20px 14px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;min-height:104px;padding:0 4px;font-weight:800;color:var(--text)}.brand-logo{display:block;height:auto;object-fit:contain}.brand-logo-full{width:339px;max-width:100%}.brand-logo-mark{display:none;width:38px}.nav-list{display:grid;align-content:start;grid-auto-rows:38px;grid-gap:3px;gap:3px;margin-top:14px;flex:1 1}.nav-item{position:relative;display:flex;align-items:center;gap:10px;min-height:38px;padding:0 10px;border-radius:8px;color:var(--muted);font-size:13px;font-weight:650;transition:background .16s ease,color .16s ease,box-shadow .16s ease}.nav-item.active,.nav-item:hover{background:#eff6ff;color:var(--accent-strong)}.nav-item.active{background:linear-gradient(135deg,rgba(37,99,235,.1),rgba(109,40,217,.08));box-shadow:inset 2px 0 0 var(--purple)}.sidebar-footer{border-top:1px solid var(--line-soft);display:grid;grid-gap:8px;gap:8px;padding:14px 10px 2px;color:var(--muted);font-size:10px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.sidebar-footer img{display:block;width:112px;height:auto;object-fit:contain}.main-area{min-width:0;width:min(100%,1440px);margin:0 auto;padding:28px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.topbar h1{margin:2px 0 0;color:var(--text);font-size:30px;line-height:1.15;letter-spacing:0}.eyebrow{margin:0;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.topbar-actions{display:flex;align-items:center;gap:8px}.status-pill,.user-pill{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:0 10px;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--muted);font-size:12px;font-weight:700;white-space:nowrap}.user-pill{max-width:220px;overflow:hidden;color:var(--text-soft);text-overflow:ellipsis}.status-pill.success{border-color:rgba(21,128,61,.24);background:var(--success-soft);color:var(--success)}.status-pill.warning{border-color:rgba(180,83,9,.26);background:var(--warning-soft);color:var(--warning)}.status-pill.info{border-color:rgba(37,99,235,.22);background:var(--info-soft);color:var(--info)}.status-pill.danger{border-color:rgba(185,28,28,.24);background:var(--danger-soft);color:var(--danger)}.icon-button,.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;border-radius:8px;border:1px solid transparent;font-weight:750;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease,box-shadow .16s ease}.icon-button{width:38px;color:var(--text);background:var(--panel);border-color:var(--line);box-shadow:var(--shadow-soft)}.primary-button{padding:0 14px;color:white;background:var(--gradient-primary);box-shadow:0 12px 28px rgba(37,99,235,.18)}.primary-button:hover{box-shadow:0 14px 32px rgba(109,40,217,.2)}.secondary-button{padding:0 12px;color:var(--text-soft);background:var(--panel);border-color:var(--line);box-shadow:var(--shadow-soft)}.icon-button:hover,.secondary-button:hover{border-color:rgba(15,118,110,.32);color:var(--accent-strong);background:var(--accent-soft)}.danger-button{color:var(--danger)}.danger-button:hover{border-color:rgba(185,28,28,.28);color:var(--danger);background:var(--danger-soft)}.icon-button:not(:disabled):active,.primary-button:not(:disabled):active,.secondary-button:not(:disabled):active{transform:translateY(1px)}.content-grid{display:grid;grid-gap:18px;gap:18px}.metrics-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px}.metrics-grid.compact .metric-card strong{font-size:24px}.detail-panel,.form-panel,.login-panel,.metric-card,.table-wrap{border:1px solid var(--line);border-radius:8px;background:var(--panel);box-shadow:var(--shadow)}.metric-card{position:relative;min-height:122px;padding:16px;overflow:hidden}.metric-card:before{position:absolute;top:0;right:16px;left:16px;height:3px;border-radius:999px;background:var(--gradient-primary);content:""}.metric-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.metric-icon{display:inline-grid;flex:0 0 auto;width:36px;height:36px;place-items:center;border:1px solid rgba(15,118,110,.14);border-radius:8px;background:linear-gradient(135deg,rgba(20,184,166,.12),rgba(37,99,235,.12));color:var(--accent-strong)}.metric-icon.info{border-color:rgba(37,99,235,.16);background:var(--info-soft);color:var(--info)}.metric-icon.warning{border-color:rgba(245,158,11,.18);background:var(--warning-soft);color:var(--warning)}.metric-card p{margin:0;color:var(--muted);font-size:13px;font-weight:700}.metric-card strong{display:block;margin-top:12px;font-size:30px;line-height:1}.section-header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px}.section-header>div{min-width:0}.compact-header{margin-bottom:14px}.section-header h2{margin:0;font-size:18px;line-height:1.2;overflow-wrap:anywhere}.section-header p{margin:4px 0 0;color:var(--muted);font-size:13px}.segmented-control{display:inline-grid;grid-auto-flow:column;gap:2px;border:1px solid var(--line);border-radius:8px;background:var(--panel-soft);padding:3px;box-shadow:var(--shadow-soft)}.segmented-control button{min-height:32px;border:0;border-radius:6px;background:transparent;color:var(--muted);padding:0 10px;font-size:13px;font-weight:750}.segmented-control button.active{background:var(--gradient-primary);color:white;box-shadow:0 6px 14px rgba(37,99,235,.18)}.table-wrap{overflow-x:auto;background:var(--panel)}.inline-table-wrap{margin-top:12px;overflow-x:auto;border:1px solid var(--line-soft);border-radius:8px}.data-table{width:100%;border-collapse:collapse;min-width:760px}.data-table td,.data-table th{padding:12px 14px;border-bottom:1px solid var(--line-soft);text-align:left;vertical-align:top;font-size:14px}.data-table th{background:var(--panel-soft);color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.data-table tbody tr{transition:background .14s ease}.data-table tbody tr:hover{background:#fbfdff}.data-table tr:last-child td{border-bottom:0}.data-table a{color:var(--accent-strong);font-weight:700}.data-table td:last-child{white-space:nowrap}.data-table .error-cell{max-width:300px;color:var(--danger);font-weight:650;overflow-wrap:anywhere}.table-note{display:grid;grid-gap:2px;gap:2px;margin-top:8px;color:var(--muted);font-size:12px;line-height:1.35;overflow-wrap:anywhere}.warning-note{color:var(--warning);font-weight:700}.recommendation-text{display:block;max-width:360px;color:var(--text-soft);font-weight:650;line-height:1.4;overflow-wrap:anywhere}.cell-stack{display:grid;grid-gap:8px;gap:8px;min-width:150px}.cell-stack select,.inline-action input,.password-field input{min-height:34px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:6px 9px;color:var(--text)}.inline-action{display:flex;align-items:center;gap:8px}.inline-action input{width:170px}.password-field{display:grid;grid-template-columns:minmax(0,1fr) 40px;align-items:stretch}.password-field input{width:100%;border-top-right-radius:0;border-bottom-right-radius:0}.password-field button{display:inline-grid;place-items:center;min-height:40px;border:1px solid var(--line);border-left:0;border-radius:0 8px 8px 0;background:var(--panel);color:var(--muted)}.password-field button:hover{color:var(--accent-strong);background:var(--accent-soft)}.password-field.compact{width:210px;grid-template-columns:minmax(0,1fr) 34px}.password-field.compact button{min-height:34px}.users-table{min-width:1040px}.settings-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;grid-gap:16px;gap:16px;align-items:start}.settings-card h2{margin:0;font-size:18px;line-height:1.25}.settings-side{display:grid;grid-gap:16px;gap:16px}.settings-divider{height:1px;margin:18px 0;background:var(--line-soft)}.readonly-grid{display:grid;grid-gap:10px;gap:10px;margin-top:14px}.readonly-grid div{display:grid;grid-gap:3px;gap:3px;border:1px solid var(--line-soft);border-radius:8px;background:var(--panel-soft);padding:11px}.readonly-grid span{color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.readonly-grid strong{color:var(--text-soft);line-height:1.3}.progress-track{width:100%;height:8px;overflow:hidden;border-radius:999px;background:var(--line-soft)}.progress-track span{display:block;height:100%;border-radius:inherit;background:var(--gradient-brand)}.checklist{display:grid;grid-gap:8px;gap:8px;margin:14px 0;padding:0;list-style:none}.checklist li{display:flex;align-items:center;gap:9px;min-height:34px;color:var(--muted);font-weight:700}.checklist li.done{color:var(--success)}.onboarding-banner{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,420px);grid-gap:18px;gap:18px;align-items:center}.onboarding-banner-main{display:flex;align-items:center;gap:12px}.onboarding-banner h2,.onboarding-banner p{margin:0}.onboarding-banner p{margin-top:3px;color:var(--muted);font-size:13px}.onboarding-banner-actions{display:grid;grid-template-columns:54px minmax(0,1fr) max-content;grid-gap:12px;gap:12px;align-items:center}.onboarding-banner-actions strong{color:var(--text);font-size:22px}.term-advisory{display:grid;grid-template-columns:40px minmax(0,1fr) max-content;grid-gap:12px;gap:12px;align-items:center;border-color:rgba(245,158,11,.26);background:linear-gradient(135deg,rgba(245,158,11,.08),rgba(37,99,235,.05)),var(--panel)}.term-advisory h2,.term-advisory p{margin:0}.term-advisory p{margin-top:4px;color:var(--muted);line-height:1.4}.advisory-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.setup-guide{display:grid;grid-gap:14px;gap:14px}.setup-guide-header{display:flex;align-items:flex-start;gap:12px}.setup-guide h2,.setup-guide p{margin:0}.setup-guide p{margin-top:4px;color:var(--muted);line-height:1.4}.setup-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:8px;gap:8px;margin:0;padding:0;list-style:none;counter-reset:setup}.setup-steps li{counter-increment:setup;display:grid;grid-gap:6px;gap:6px;border:1px solid var(--line-soft);border-radius:8px;background:var(--panel-soft);padding:10px;color:var(--text-soft);font-size:12px;font-weight:700;line-height:1.35}.setup-steps li:before{display:inline-grid;width:22px;height:22px;place-items:center;border-radius:999px;background:var(--gradient-brand);color:#fff;content:counter(setup);font-size:11px;font-weight:800}.dashboard-radar{gap:20px}.radar-hero{display:grid;grid-template-columns:minmax(0,1fr) max-content;grid-gap:18px;gap:18px;align-items:end}.radar-hero-copy{display:grid;grid-gap:8px;gap:8px}.radar-hero-copy .status-pill{width:max-content}.radar-hero h2{max-width:760px;margin:0;color:var(--text);font-size:28px;line-height:1.08}.radar-hero p{max-width:680px;margin:0;color:var(--muted);font-size:15px;line-height:1.45}.radar-action{min-height:44px;padding-inline:18px}.radar-status-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.78fr);grid-gap:18px;gap:18px;overflow:hidden}.radar-status-card:before{position:absolute;top:0;right:18px;left:18px;height:3px;border-radius:999px;background:var(--gradient-brand);content:""}.radar-status-card.warning:before{background:linear-gradient(135deg,#f59e0b,#2563eb)}.radar-status-card.danger:before{background:linear-gradient(135deg,#dc2626,#f59e0b)}.radar-status-main{display:flex;align-items:flex-start;gap:14px;min-width:0}.radar-status-main h2{margin:0;font-size:22px;line-height:1.18}.radar-status-main p{max-width:680px;margin:7px 0 0;color:var(--muted);line-height:1.45}.publication-summary-grid,.radar-status-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.publication-summary-grid div,.radar-status-meta div{display:grid;grid-gap:4px;gap:4px;min-width:0;border:1px solid var(--line-soft);border-radius:8px;background:var(--panel-soft);padding:11px}.publication-summary-grid span,.radar-status-meta span{color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.publication-summary-grid strong,.radar-status-meta strong{overflow-wrap:anywhere;color:var(--text-soft);line-height:1.3}.radar-status-error{grid-column:1/-1;display:grid;grid-template-columns:max-content minmax(0,1fr) max-content;grid-gap:12px;gap:12px;align-items:center;border:1px solid rgba(185,28,28,.18);border-radius:8px;background:var(--danger-soft);padding:12px;color:var(--danger)}.radar-status-error span{overflow-wrap:anywhere}.radar-section{display:grid;grid-gap:12px;gap:12px}.radar-today-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.radar-priority{background:linear-gradient(180deg,rgba(37,99,235,.04),rgba(255,255,255,0) 48%),var(--panel)}.dashboard-main-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.85fr);grid-gap:16px;gap:16px;align-items:stretch}.activity-card,.latest-publication-card{min-height:100%}.latest-publication-heading{display:grid;grid-gap:10px;gap:10px;margin-bottom:14px}.latest-publication-heading h3{max-width:880px;margin:0;color:var(--text);font-size:20px;line-height:1.28}.badge-row{display:flex;flex-wrap:wrap;gap:8px}.publication-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:14px}.latest-publication-link{width:max-content}.empty-panel-state{display:grid;justify-items:start;grid-gap:8px;gap:8px;border:1px dashed var(--line);border-radius:8px;background:var(--panel-soft);padding:18px;color:var(--muted)}.empty-panel-state strong{color:var(--text)}.empty-panel-state p{margin:0;line-height:1.45}.empty-panel-state.compact{padding:14px}.activity-list{display:grid;grid-gap:12px;gap:12px;margin:0;padding:0;list-style:none}.activity-item{display:grid;grid-template-columns:14px minmax(0,1fr) 24px;grid-gap:10px;gap:10px;align-items:start;min-width:0}.activity-dot{width:10px;height:10px;margin-top:5px;border-radius:999px;background:var(--info);box-shadow:0 0 0 4px var(--info-soft)}.activity-item.warning .activity-dot{background:var(--warning);box-shadow:0 0 0 4px var(--warning-soft)}.activity-item.success .activity-dot{background:var(--success);box-shadow:0 0 0 4px var(--success-soft)}.activity-item strong{display:block;color:var(--text);line-height:1.3}.activity-item p{margin:3px 0;color:var(--muted);line-height:1.4;overflow-wrap:anywhere}.activity-item span{color:var(--muted);font-size:12px;font-weight:650}.activity-item a{display:inline-grid;place-items:center;width:24px;height:24px;color:var(--accent-strong)}.operation-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.source-health-table{min-width:860px}.error-text{color:var(--danger);font-weight:700}.row-title{display:block;max-width:520px;color:var(--text);font-weight:750;line-height:1.35}.empty-state,.muted{color:var(--muted)}.empty-state{padding:26px 16px;text-align:center}.detail-panel,.form-panel{padding:18px}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px;align-items:end}.form-grid .primary-button{align-self:end}.field{display:grid;grid-gap:6px;gap:6px}.field label{font-weight:750}.field label,.field-hint{color:var(--muted);font-size:12px}.field-hint{line-height:1.35}.field input,.field select,.field textarea{width:100%;min-height:40px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:9px 11px;color:var(--text);transition:border-color .14s ease,box-shadow .14s ease,background .14s ease}.field input:hover,.field select:hover,.field textarea:hover{border-color:#b9c6d4}.field input:focus,.field select:focus,.field textarea:focus{border-color:rgba(15,118,110,.58);box-shadow:0 0 0 3px rgba(15,118,110,.12);outline:0}.field textarea{min-height:160px;resize:vertical}.workflow-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.workflow-form{align-items:start;margin-bottom:14px}.workflow-note{grid-column:1/-1}.workflow-note textarea{min-height:110px}.form-message{color:var(--muted)}.error-message,.form-message{margin:12px 0 0;font-size:13px}.error-message{color:var(--danger);font-weight:700}.login-screen{display:grid;min-height:100vh;place-items:center;padding:24px;background:linear-gradient(135deg,rgba(20,184,166,.08),rgba(37,99,235,.06) 42%,rgba(109,40,217,.08)),linear-gradient(180deg,#ffffff,#f5f7fb)}.login-panel{width:min(420px,100%);padding:24px}.login-panel h1{margin:0 0 4px;font-size:28px;line-height:1.1}.login-panel p{margin:0 0 18px;color:var(--muted)}.login-brand{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-bottom:20px}.login-brand-logo{width:min(196px,100%)}.login-brand p{margin:3px 0 0}.login-form{display:grid;grid-gap:12px;gap:12px}.detail-stack{display:grid;grid-gap:14px;gap:14px}.detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px}.detail-grid p{margin:0 0 4px;font-size:12px;font-weight:750}.detail-grid strong{display:block;overflow-wrap:anywhere;color:var(--text-soft);line-height:1.35}.publication-text{border:1px solid var(--line-soft);border-radius:8px;background:#fbfcfd;padding:14px;white-space:pre-wrap;color:var(--text-soft);line-height:1.6}.match-list{display:grid;grid-gap:8px;gap:8px;margin:0;padding:0;list-style:none}.match-list li{border:1px solid var(--line);border-radius:8px;background:var(--panel-soft);padding:12px}.match-list p{margin:8px 0 0;color:var(--text-soft);line-height:1.5}@media (max-width:920px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;border-right:0;border-bottom:1px solid var(--line);padding:10px 12px 8px}.brand{min-height:48px;padding:0}.brand-logo-full{width:220px}.nav-list{grid-auto-flow:column;grid-auto-columns:max-content;overflow-x:auto;gap:5px;margin-top:8px;padding-bottom:3px;flex:initial;scrollbar-width:none}.nav-list::-webkit-scrollbar{display:none}.main-area{padding:18px 14px}.topbar{align-items:flex-start}.dashboard-main-grid,.detail-grid,.form-grid,.metrics-grid,.onboarding-banner,.radar-hero,.radar-status-card,.settings-layout,.term-advisory{grid-template-columns:1fr}.radar-hero{align-items:start}.operation-grid,.radar-today-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-card{min-height:108px}.settings-side{grid-row:auto}.onboarding-banner-actions{grid-template-columns:48px minmax(0,1fr)}.onboarding-banner-actions .secondary-button{grid-column:1/-1;width:max-content}.publication-summary-grid,.radar-status-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.radar-status-error{grid-template-columns:1fr}.setup-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.advisory-actions{justify-content:flex-start}}@media (max-width:560px){body{background:linear-gradient(180deg,#ffffff,#f7f9ff 38%,#eef3ff) fixed}.sidebar{padding:8px 10px 7px}.brand{min-height:38px}.section-header,.topbar{display:grid;grid-gap:10px;gap:10px}.topbar-actions{justify-content:flex-start}.topbar h1{font-size:28px}.eyebrow{font-size:10px;letter-spacing:.07em}.main-area{padding:16px 12px 24px}.topbar{margin-bottom:18px}.content-grid{gap:14px}.section-header h2{font-size:20px}.section-header p{font-size:14px;line-height:1.35}.nav-item{min-width:40px;min-height:34px;padding:0 9px}.nav-item span{display:none}.brand{padding:0}.brand-logo-full{display:none}.brand-logo-mark{display:block}.sidebar-footer{display:none}.segmented-control{width:100%;display:flex;gap:4px;overflow-x:auto;padding:4px;scrollbar-width:none}.segmented-control::-webkit-scrollbar{display:none}.segmented-control button{flex:0 0 auto;min-height:34px;padding:0 14px;white-space:nowrap}.metrics-grid{gap:12px}.radar-hero h2{font-size:24px}.radar-hero p{font-size:14px}.latest-publication-link,.radar-action{width:100%}.radar-status-main{display:grid}.radar-status-main h2{font-size:20px}.operation-grid,.publication-summary-grid,.radar-status-meta,.radar-today-grid{grid-template-columns:1fr}.metric-card{min-height:92px;padding:14px}.metric-card p{font-size:13px}.metric-card strong{margin-top:10px;font-size:28px}.metric-icon{width:34px;height:34px}.user-pill{max-width:min(260px,calc(100vw - 86px))}.table-wrap{margin-right:-12px;margin-left:-12px;border-right:0;border-left:0;border-radius:0}.onboarding-banner-main{align-items:flex-start}.onboarding-banner-actions .secondary-button{width:100%}.activity-item{grid-template-columns:12px minmax(0,1fr)}.activity-item a{grid-column:2}.setup-guide-header{display:grid}.setup-steps{grid-template-columns:1fr}.advisory-actions .secondary-button{width:100%}.detail-panel,.form-panel,.login-panel{padding:16px}}