*{box-sizing:border-box}html{background:#f4f7fb}body{color:#182230;background:#f4f7fb;min-width:320px;min-height:100vh;margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a,button{font:inherit}.app-layout{min-height:100vh}.app-header{z-index:100;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff5;border-bottom:1px solid #e4e7ec;justify-content:space-between;align-items:center;gap:32px;min-height:86px;padding:16px 48px;display:flex;position:sticky;top:0;box-shadow:0 8px 30px #1018280f}.app-brand{align-items:center;gap:14px;display:flex}.app-brand-logo{color:#fff;background:linear-gradient(135deg,#4f46e5,#7c3aed);border-radius:14px;flex-shrink:0;place-items:center;width:46px;height:46px;font-size:20px;font-weight:800;display:grid;box-shadow:0 8px 18px #4f46e540,inset 0 1px #fff3}.app-brand-copy{flex-direction:column;gap:4px;display:flex}.app-brand-title-row{align-items:center;gap:8px;display:flex}.app-brand-title-row h1{color:#182230;letter-spacing:-.035em;margin:0;font-size:20px;font-weight:750}.app-brand-copy p{color:#667085;margin:0;font-size:12px;font-weight:500}.app-brand-badge{color:#067647;letter-spacing:.04em;text-transform:uppercase;background:#ecfdf3;border:1px solid #b7ebc6;border-radius:999px;padding:3px 7px;font-size:10px;font-weight:800}.main-navigation{background:#f2f4f7;border:1px solid #e4e7ec;border-radius:14px;align-items:center;gap:6px;padding:6px;display:flex}.nav-item{color:#667085;white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;min-height:43px;padding:0 18px;font-size:14px;font-weight:650;text-decoration:none;transition:color .2s,background .2s,box-shadow .2s,transform .2s;display:inline-flex;position:relative}.nav-item:hover{color:#344054;background:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #10182814}.nav-item.active{color:#fff;background:linear-gradient(135deg,#4f46e5,#6366f1);box-shadow:0 7px 16px #4f46e540,inset 0 1px #fff3}.nav-item.active:hover{color:#fff}.app-content{min-height:calc(100vh - 86px)}@media (width<=850px){.app-header{flex-direction:column;align-items:flex-start;gap:16px;padding:18px 24px}.main-navigation{width:100%;overflow-x:auto}.nav-item{flex:1;min-width:max-content}}@media (width<=560px){.app-header{padding:16px;position:static}.main-navigation{flex-direction:column;align-items:stretch}.nav-item{width:100%}.app-brand-title-row{flex-direction:column;align-items:flex-start;gap:4px}}.practicum-dashboard{width:min(1100px,100% - 40px);margin:0 auto;padding:48px 0 72px}.practicum-version-note{background:linear-gradient(135deg,#eef2ff,#f5f3ff);border:1px solid #c7d2fe;border-radius:14px;align-items:center;gap:16px;margin-bottom:30px;padding:16px 20px;display:flex}.practicum-version-label{color:#fff;letter-spacing:.04em;text-transform:uppercase;background:#4f46e5;border-radius:8px;flex-shrink:0;padding:7px 11px;font-size:12px;font-weight:800}.practicum-version-note p{color:#475467;margin:0;font-size:14px;line-height:1.6}.practicum-dashboard-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:32px;display:flex}.practicum-eyebrow{color:#4f46e5;letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px;font-size:13px;font-weight:800}.practicum-dashboard-header h1{color:#182230;letter-spacing:-.045em;margin:0;font-size:38px}.practicum-subtitle{color:#667085;margin:10px 0 0;font-size:16px}.practicum-status-badge{color:#067647;white-space:nowrap;background:#ecfdf3;border:1px solid #b7ebc6;border-radius:999px;align-items:center;gap:8px;padding:9px 14px;font-size:13px;font-weight:700;display:inline-flex}.practicum-status-dot{background:#12b76a;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #12b76a1f}.practicum-sync-section{background:#fff;border:1px solid #e4e7ec;border-radius:16px;justify-content:space-between;align-items:center;gap:24px;margin-bottom:30px;padding:22px 26px;display:flex;box-shadow:0 10px 28px #1018280f}.practicum-sync-section h2{color:#182230;margin:0;font-size:18px}.practicum-sync-section p{color:#667085;margin:6px 0 0;font-size:14px}.practicum-sync-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#4f46e5,#6366f1);border:none;border-radius:10px;flex-shrink:0;padding:11px 19px;font-size:14px;font-weight:700;transition:transform .2s,box-shadow .2s,opacity .2s;box-shadow:0 7px 16px #4f46e538}.practicum-sync-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 22px #4f46e547}.practicum-sync-button:disabled{cursor:not-allowed;opacity:.65}.practicum-inline-error{color:#b42318;background:#fef3f2;border:1px solid #fecdca;border-radius:10px;margin-bottom:26px;padding:14px 18px}.practicum-dashboard-tables{flex-direction:column;gap:28px;display:flex}.practicum-table-container{background:#fff;border:1px solid #e4e7ec;border-radius:16px;transition:transform .2s,box-shadow .2s;overflow:hidden;box-shadow:0 12px 32px #10182812}.practicum-table-container:hover{transform:translateY(-2px);box-shadow:0 16px 38px #10182817}.practicum-table-header{background:#fff;border-bottom:1px solid #e4e7ec;justify-content:space-between;align-items:center;padding:24px 28px;display:flex}.practicum-table-category{color:#4f46e5;letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:800;display:inline-block}.practicum-table-header h2{color:#182230;margin:0;font-size:20px}.practicum-table-header p{color:#667085;margin:6px 0 0;font-size:14px}.practicum-table-scroll{overflow-x:auto}.practicum-table{border-collapse:collapse;width:100%}.practicum-table th,.practicum-table td{text-align:left;padding:20px 28px}.practicum-table th{color:#667085;letter-spacing:.05em;text-transform:uppercase;background:#f9fafb;font-size:12px;font-weight:800}.practicum-table td{color:#667085;border-top:1px solid #eaecf0;font-size:14px}.practicum-table tbody tr{transition:background .2s}.practicum-table tbody tr:hover{background:#fafbff}.practicum-metric-name{font-weight:700;color:#182230!important}.practicum-metric-value{white-space:nowrap;font-weight:800;color:#4f46e5!important;text-align:right!important;font-size:18px!important}.practicum-priority-value{color:#b42318!important}.practicum-status-message{color:#475467;place-items:center;min-height:calc(100vh - 86px);font-size:18px;display:grid}.practicum-status-message.practicum-error{color:#b42318}@media (width<=700px){.practicum-dashboard{width:min(100% - 24px,1100px);padding:32px 0 48px}.practicum-version-note{flex-direction:column;align-items:flex-start}.practicum-dashboard-header{flex-direction:column}.practicum-dashboard-header h1{font-size:31px}.practicum-sync-section{flex-direction:column;align-items:stretch}.practicum-sync-button{width:100%}.practicum-table{min-width:700px}.practicum-dashboard-tables{gap:22px}}.sales-reports{flex-direction:column;gap:26px;display:flex}.sales-header{border-bottom:1px solid #eaecf0;justify-content:space-between;align-items:flex-start;gap:24px;padding-bottom:24px;display:flex}.sales-eyebrow{letter-spacing:.08em;text-transform:uppercase;margin:0 0 6px;font-size:12px;font-weight:800;color:#4f46e5!important}.sales-header h2{color:#182230;letter-spacing:-.035em;margin:0;font-size:28px}.sales-header p{color:#667085;max-width:720px;margin:8px 0 0;font-size:14px;line-height:1.7}.sales-data-badge{color:#3730a3;background:#eef2ff;border:1px solid #c7d2fe;border-radius:999px;flex-shrink:0;padding:8px 13px;font-size:12px;font-weight:800}.sales-report-card{background:#fff;border:1px solid #e4e7ec;border-radius:16px;padding:26px;box-shadow:0 10px 28px #1018280f}.sales-section-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;display:flex}.sales-report-number{color:#4f46e5;letter-spacing:.08em;margin-bottom:8px;font-size:12px;font-weight:800;display:inline-block}.sales-section-header h3{color:#182230;margin:0;font-size:20px}.sales-section-header p{color:#667085;margin:6px 0 0;font-size:14px;line-height:1.6}.sales-source-label{color:#475467;background:#f2f4f7;border:1px solid #e4e7ec;border-radius:999px;flex-shrink:0;padding:6px 10px;font-size:11px;font-weight:700}.pipeline-chart{flex-direction:column;gap:18px;display:flex}.pipeline-row{grid-template-columns:210px 1fr 110px;align-items:center;gap:18px;display:grid}.pipeline-row-label{flex-direction:column;gap:3px;display:flex}.pipeline-row-label strong{color:#344054;font-size:14px}.pipeline-row-label span{color:#98a2b3;font-size:12px}.pipeline-bar-track,.engagement-progress-track{background:#eef2ff;border-radius:999px;height:10px;overflow:hidden}.pipeline-bar,.engagement-progress{background:linear-gradient(90deg,#4f46e5,#818cf8);border-radius:999px;height:100%}.pipeline-value{color:#4f46e5;text-align:right;font-size:14px}.sales-table-wrapper{border:1px solid #eaecf0;border-radius:12px;overflow-x:auto}.sales-table{border-collapse:collapse;width:100%}.sales-table th,.sales-table td{text-align:left;white-space:nowrap;padding:16px 18px}.sales-table th{color:#667085;letter-spacing:.05em;text-transform:uppercase;background:#f9fafb;font-size:11px;font-weight:800}.sales-table td{color:#667085;border-top:1px solid #eaecf0;font-size:13px}.sales-table tbody tr:hover{background:#fafbff}.sales-company-name,.sales-deal-name{font-weight:700;color:#182230!important}.hubspot-record-button{color:#4f46e5;cursor:pointer;background:#eef2ff;border:1px solid #c7d2fe;border-radius:8px;padding:7px 11px;font-size:12px;font-weight:700}.hubspot-record-button:hover{color:#fff;background:#4f46e5}.engagement-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.engagement-card{background:#f9fafb;border:1px solid #eaecf0;border-radius:12px;padding:18px}.engagement-card-top{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.engagement-card-top span{color:#475467;font-size:13px;font-weight:700}.engagement-card-top strong{color:#4f46e5;font-size:22px}.engagement-progress-track{margin-bottom:12px}.engagement-card p{color:#98a2b3;margin:0;font-size:11px}.risk-badge{color:#b42318;background:#fef3f2;border:1px solid #fecdca;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800;display:inline-flex}@media (width<=900px){.engagement-grid{grid-template-columns:repeat(2,1fr)}.pipeline-row{grid-template-columns:180px 1fr 100px}}@media (width<=700px){.sales-header,.sales-section-header{flex-direction:column;align-items:flex-start}.pipeline-row{grid-template-columns:1fr;gap:8px}.pipeline-value{text-align:left}.engagement-grid{grid-template-columns:1fr}}.cs-reports{flex-direction:column;gap:26px;display:flex}.cs-header{border-bottom:1px solid #eaecf0;justify-content:space-between;align-items:flex-start;gap:24px;padding-bottom:24px;display:flex}.cs-eyebrow{letter-spacing:.08em;text-transform:uppercase;margin:0 0 6px;font-size:12px;font-weight:800;color:#4f46e5!important}.cs-header h2{color:#182230;letter-spacing:-.035em;margin:0;font-size:28px}.cs-header p{color:#667085;max-width:720px;margin:8px 0 0;font-size:14px;line-height:1.7}.cs-data-badge{color:#3730a3;background:#eef2ff;border:1px solid #c7d2fe;border-radius:999px;flex-shrink:0;padding:8px 13px;font-size:12px;font-weight:800}.cs-report-card{background:#fff;border:1px solid #e4e7ec;border-radius:16px;padding:26px;box-shadow:0 10px 28px #1018280f}.cs-section-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;display:flex}.cs-report-number{color:#4f46e5;letter-spacing:.08em;margin-bottom:8px;font-size:12px;font-weight:800;display:inline-block}.cs-section-header h3{color:#182230;margin:0;font-size:20px}.cs-section-header p{color:#667085;margin:6px 0 0;font-size:14px;line-height:1.6}.cs-source-label{color:#475467;background:#f2f4f7;border:1px solid #e4e7ec;border-radius:999px;flex-shrink:0;padding:6px 10px;font-size:11px;font-weight:700}.cs-status-chart{flex-direction:column;gap:18px;display:flex}.cs-status-row{grid-template-columns:210px 1fr 70px;align-items:center;gap:18px;display:grid}.cs-status-label{flex-direction:column;gap:3px;display:flex}.cs-status-label strong{color:#344054;font-size:14px}.cs-status-label span{color:#98a2b3;font-size:12px}.cs-bar-track,.cs-progress-track{background:#eef2ff;border-radius:999px;height:10px;overflow:hidden}.cs-bar,.cs-progress{background:linear-gradient(90deg,#4f46e5,#818cf8);border-radius:999px;height:100%}.cs-status-value{color:#4f46e5;text-align:right}.cs-table-wrapper{border:1px solid #eaecf0;border-radius:12px;overflow-x:auto}.cs-table{border-collapse:collapse;width:100%}.cs-table th,.cs-table td{text-align:left;white-space:nowrap;padding:16px 18px}.cs-table th{color:#667085;letter-spacing:.05em;text-transform:uppercase;background:#f9fafb;font-size:11px;font-weight:800}.cs-table td{color:#667085;border-top:1px solid #eaecf0;font-size:13px}.cs-table tbody tr:hover{background:#fafbff}.cs-ticket-name,.cs-company-name{font-weight:700;color:#182230!important}.cs-priority-badge,.cs-risk-count{color:#b42318;background:#fef3f2;border:1px solid #fecdca;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800;display:inline-flex}.cs-hubspot-button{color:#4f46e5;cursor:pointer;background:#eef2ff;border:1px solid #c7d2fe;border-radius:8px;padding:7px 11px;font-size:12px;font-weight:700}.cs-hubspot-button:hover{color:#fff;background:#4f46e5}.cs-engagement-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.cs-engagement-card{background:#f9fafb;border:1px solid #eaecf0;border-radius:12px;padding:18px}.cs-engagement-top{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.cs-engagement-top span{color:#475467;font-size:13px;font-weight:700}.cs-engagement-top strong{color:#4f46e5;font-size:22px}.cs-progress-track{margin-bottom:12px}.cs-engagement-card p{color:#98a2b3;margin:0;font-size:11px}@media (width<=900px){.cs-engagement-grid{grid-template-columns:repeat(2,1fr)}.cs-status-row{grid-template-columns:180px 1fr 60px}}@media (width<=700px){.cs-header,.cs-section-header{flex-direction:column;align-items:flex-start}.cs-status-row{grid-template-columns:1fr;gap:8px}.cs-status-value{text-align:left}.cs-engagement-grid{grid-template-columns:1fr}}.leadership-reports{flex-direction:column;gap:26px;display:flex}.leadership-header{border-bottom:1px solid #eaecf0;justify-content:space-between;align-items:flex-start;gap:24px;padding-bottom:24px;display:flex}.leadership-eyebrow{letter-spacing:.08em;text-transform:uppercase;margin:0 0 6px;font-size:12px;font-weight:800;color:#4f46e5!important}.leadership-header h2{color:#182230;letter-spacing:-.035em;margin:0;font-size:28px}.leadership-header p{color:#667085;max-width:720px;margin:8px 0 0;font-size:14px;line-height:1.7}.leadership-data-badge{color:#3730a3;background:#eef2ff;border:1px solid #c7d2fe;border-radius:999px;flex-shrink:0;padding:8px 13px;font-size:12px;font-weight:800}.leadership-report-card{background:#fff;border:1px solid #e4e7ec;border-radius:16px;padding:26px;box-shadow:0 10px 28px #1018280f}.leadership-section-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;display:flex}.leadership-report-number{color:#4f46e5;letter-spacing:.08em;margin-bottom:8px;font-size:12px;font-weight:800;display:inline-block}.leadership-section-header h3{color:#182230;margin:0;font-size:20px}.leadership-section-header p{color:#667085;margin:6px 0 0;font-size:14px;line-height:1.6}.leadership-source-label{color:#475467;background:#f2f4f7;border:1px solid #e4e7ec;border-radius:999px;flex-shrink:0;padding:6px 10px;font-size:11px;font-weight:700}.leadership-table-wrapper{border:1px solid #eaecf0;border-radius:12px;overflow-x:auto}.leadership-table{border-collapse:collapse;width:100%}.leadership-table th,.leadership-table td{text-align:left;white-space:nowrap;padding:16px 18px}.leadership-table th{color:#667085;letter-spacing:.05em;text-transform:uppercase;background:#f9fafb;font-size:11px;font-weight:800}.leadership-table td{color:#667085;border-top:1px solid #eaecf0;font-size:13px}.leadership-table tbody tr:hover{background:#fafbff}.leadership-company-name{font-weight:700;color:#182230!important}.leadership-hubspot-button{color:#4f46e5;cursor:pointer;background:#eef2ff;border:1px solid #c7d2fe;border-radius:8px;padding:7px 11px;font-size:12px;font-weight:700}.leadership-hubspot-button:hover{color:#fff;background:#4f46e5}.leadership-risk-badge,.leadership-days-badge{border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800;display:inline-flex}.leadership-risk-badge.high,.leadership-days-badge{color:#b42318;background:#fef3f2;border:1px solid #fecdca}.leadership-risk-badge.medium{color:#b54708;background:#fffaeb;border:1px solid #fedf89}.leadership-risk-badge.low{color:#067647;background:#ecfdf3;border:1px solid #abefc6}.leadership-financial-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.leadership-financial-card{background:#f9fafb;border:1px solid #eaecf0;border-radius:12px;padding:20px}.leadership-financial-card>span{color:#475467;font-size:13px;font-weight:700}.leadership-financial-card>strong{color:#182230;letter-spacing:-.03em;margin:10px 0 16px;font-size:25px;display:block}.leadership-progress-track{background:#eef2ff;border-radius:999px;height:10px;margin-bottom:10px;overflow:hidden}.leadership-progress{background:linear-gradient(90deg,#4f46e5,#818cf8);border-radius:999px;height:100%}.leadership-financial-card small{color:#98a2b3;font-size:11px}.leadership-activity-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.leadership-activity-card{background:#f9fafb;border:1px solid #eaecf0;border-radius:12px;padding:20px}.leadership-activity-card span{color:#475467;font-size:13px;font-weight:700}.leadership-activity-card strong{color:#4f46e5;margin:12px 0 8px;font-size:28px;display:block}.leadership-activity-card p{color:#98a2b3;margin:0;font-size:11px}@media (width<=900px){.leadership-financial-grid{grid-template-columns:1fr}.leadership-activity-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=700px){.leadership-header,.leadership-section-header{flex-direction:column;align-items:flex-start}.leadership-activity-grid{grid-template-columns:1fr}}.v2-page{width:min(1180px,100% - 40px);margin:0 auto;padding:48px 0 72px}.v2-intro{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:28px;display:flex}.v2-eyebrow{color:#4f46e5;letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px;font-size:13px;font-weight:800}.v2-intro h1{color:#182230;letter-spacing:-.045em;margin:0;font-size:38px}.v2-description{color:#667085;max-width:760px;margin:10px 0 0;font-size:16px;line-height:1.7}.v2-data-badge{color:#3730a3;background:#eef2ff;border:1px solid #c7d2fe;border-radius:999px;flex-shrink:0;padding:9px 14px;font-size:13px;font-weight:800}.v2-hubspot-note{background:linear-gradient(135deg,#eff6ff,#f5f3ff);border:1px solid #c7d2fe;border-radius:16px;justify-content:space-between;align-items:center;gap:24px;margin-bottom:30px;padding:22px 26px;display:flex;box-shadow:0 10px 28px #4f46e512}.v2-hubspot-note h2{color:#182230;margin:0;font-size:18px}.v2-hubspot-note p{color:#667085;max-width:760px;margin:7px 0 0;font-size:14px;line-height:1.65}.v2-portal-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#4f46e5,#6366f1);border:none;border-radius:10px;flex-shrink:0;padding:11px 18px;font-size:14px;font-weight:750;transition:transform .2s,box-shadow .2s;box-shadow:0 8px 18px #4f46e538}.v2-portal-button:hover{transform:translateY(-1px);box-shadow:0 11px 24px #4f46e547}.v2-tabs{background:#f2f4f7;border:1px solid #e4e7ec;border-radius:14px;align-items:center;gap:8px;margin-bottom:26px;padding:6px;display:flex}.v2-tab-button{color:#667085;cursor:pointer;background:0 0;border:none;border-radius:10px;flex:1;min-height:46px;padding:0 18px;font-size:14px;font-weight:750;transition:color .2s,background .2s,box-shadow .2s,transform .2s}.v2-tab-button:hover{color:#344054;background:#fff;box-shadow:0 4px 12px #10182812}.v2-tab-button.active{color:#fff;background:linear-gradient(135deg,#4f46e5,#6366f1);box-shadow:0 7px 16px #4f46e53d,inset 0 1px #fff3}.v2-tab-content{background:#fff;border:1px solid #e4e7ec;border-radius:18px;min-height:380px;padding:30px;box-shadow:0 14px 36px #10182812}.v2-tab-content h2{color:#182230;margin-top:0;font-size:24px}.v2-tab-content p{color:#667085;line-height:1.7}@media (width<=760px){.v2-page{width:min(100% - 24px,1180px);padding:32px 0 48px}.v2-intro,.v2-hubspot-note{flex-direction:column;align-items:flex-start}.v2-intro h1{font-size:31px}.v2-portal-button{width:100%}.v2-tabs{flex-direction:column;align-items:stretch}.v2-tab-button{width:100%}.v2-tab-content{padding:22px}}.v2-sync-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.v2-refresh-button{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:600;transition:background .2s,opacity .2s;display:inline-flex}.v2-refresh-icon{font-size:18px;line-height:1;display:inline-block}@keyframes v2-refresh-spin{to{transform:rotate(360deg)}}.v2-sync-message{color:#475569;background:#f8fafc;border-radius:8px;margin-top:12px;padding:10px 12px;font-size:13px}.v2-sync-message.success{color:#166534;background:#f0fdf4}.v2-sync-message.partial_success{color:#92400e;background:#fffbeb}.v2-sync-message.failed{color:#991b1b;background:#fef2f2}.v2-refresh-button{color:#fff;cursor:pointer;background:#2563eb;border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:600;display:inline-flex}.v2-refresh-button:hover:not(:disabled){background:#1d4ed8}.v2-refresh-button:disabled{cursor:not-allowed;opacity:.65}.v2-refresh-icon{font-size:18px;display:inline-block}.v2-refresh-icon.spinning{animation:.8s linear infinite v2-refresh-spin}.v2-sync-message{background:#f8fafc;border:1px solid #dbeafe;border-radius:10px;margin:16px 0;padding:14px}.v2-sync-message.success{background:#f0fdf4;border-color:#bbf7d0}.v2-sync-message.partial_success{background:#fffbeb;border-color:#fde68a}.v2-sync-message.failed{background:#fef2f2;border-color:#fecaca}.v2-sync-message-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.v2-sync-message-header>span{text-transform:uppercase;font-size:12px;font-weight:700}.v2-sync-results{gap:8px;display:grid}.v2-sync-result{background:#fff;border-radius:8px;grid-template-columns:1fr auto;gap:4px 12px;padding:10px 12px;display:grid}.v2-sync-result>div{gap:8px;display:flex}.v2-sync-result>div span{color:#64748b;font-size:13px}.v2-sync-result-status{font-weight:800}.v2-sync-result.success .v2-sync-result-status{color:#15803d}.v2-sync-result.failed .v2-sync-result-status,.v2-sync-result.failed p{color:#b91c1c}.v2-sync-result p{grid-column:1/-1;margin:4px 0 0;font-size:12px}.database-schema{flex-direction:column;gap:28px;display:flex}.database-schema-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:flex-start;gap:28px;padding-bottom:28px;display:flex}.database-schema-header h2{color:#0f172a;margin:6px 0 10px;font-size:28px}.database-schema-header>div:first-child>p:last-child{color:#64748b;max-width:760px;line-height:1.7}.database-schema-eyebrow{letter-spacing:.1em;text-transform:uppercase;font-size:12px;font-weight:800;color:#2563eb!important;margin:0!important}.database-schema-summary{grid-template-columns:repeat(3,minmax(100px,1fr));gap:10px;min-width:340px;display:grid}.database-schema-summary article{text-align:center;background:#f8fbff;border:1px solid #dbeafe;border-radius:14px;padding:16px}.database-schema-summary strong{color:#1d4ed8;margin-bottom:4px;font-size:24px;display:block}.database-schema-summary span{color:#64748b;font-size:12px;font-weight:700}.database-schema-section{background:#fff;border:1px solid #e2e8f0;border-radius:18px;flex-direction:column;gap:22px;padding:26px;display:flex}.database-section-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.database-section-heading h3{color:#0f172a;margin:4px 0 8px;font-size:21px}.database-section-heading p{color:#64748b;max-width:720px;line-height:1.6}.database-section-number{color:#2563eb;background:#eff6ff;border-radius:10px;justify-content:center;align-items:center;width:34px;height:34px;font-size:12px;font-weight:800;display:inline-flex}.database-section-label{color:#475569;text-transform:uppercase;background:#f1f5f9;border-radius:999px;flex-shrink:0;padding:7px 11px;font-size:11px;font-weight:800}.supabase-schema-figure{margin:0}.supabase-image-wrapper{background:#f8fafc;border:1px solid #cbd5e1;border-radius:16px;overflow:hidden}.supabase-image-wrapper img{width:100%;height:auto;display:block}.supabase-schema-figure figcaption{color:#64748b;text-align:center;margin-top:10px;font-size:13px}.database-access-card{background:linear-gradient(135deg,#eff6fff2,#f8fafcf2);border:1px solid #bfdbfe;border-radius:18px;align-items:center;gap:18px;padding:24px;display:flex}.database-access-icon{color:#fff;background:#2563eb;border-radius:16px;flex:0 0 58px;justify-content:center;align-items:center;width:58px;height:58px;font-size:16px;font-weight:900;display:flex}.database-access-content{flex:1}.database-access-label{color:#2563eb;letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:800}.database-access-content h3{color:#0f172a;margin:5px 0 8px;font-size:19px}.database-access-content p{color:#64748b;margin:3px 0;line-height:1.55}.database-access-button{color:#fff;cursor:pointer;background:#2563eb;border:0;border-radius:10px;flex-shrink:0;padding:11px 16px;font-size:13px;font-weight:800;transition:background .2s,transform .2s}.database-access-button:hover{background:#1d4ed8;transform:translateY(-1px)}.core-table-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.database-table-card{background:#fff;border:1px solid #dbe3ee;border-radius:16px;overflow:hidden;box-shadow:0 8px 20px #0f172a0a}.database-table-card:last-child{grid-column:1/-1;max-width:calc(50% - 9px)}.database-table-card-header{background:#f8fafc;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:14px;padding:17px 18px;display:flex}.database-table-card-header h4{color:#0f172a;margin:3px 0 0;font-size:18px}.database-table-card-header>code{color:#3730a3;background:#e0e7ff;border-radius:7px;padding:5px 8px;font-size:11px}.database-table-type{color:#2563eb;letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:800}.database-table-description{border-bottom:1px solid #f1f5f9;padding:15px 18px;font-size:13px;line-height:1.55;color:#64748b!important}.database-field-list{flex-direction:column;display:flex}.database-field-row{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;gap:12px;padding:10px 18px;display:flex}.database-field-row:last-child{border-bottom:0}.database-field-row>span{color:#94a3b8;font-family:monospace;font-size:11px}.database-field-name{align-items:center;gap:8px;display:flex}.database-field-name code{color:#334155;font-size:12px}.database-key-badge{text-align:center;text-transform:uppercase;border-radius:999px;min-width:34px;padding:3px 6px;font-size:9px;font-weight:900}.database-key-badge.pk{color:#92400e;background:#fef3c7}.database-key-badge.unique{color:#166534;background:#dcfce7}.relationship-diagram{flex-direction:column;gap:16px;display:flex}.relationship-row{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;grid-template-columns:minmax(130px,.8fr) 92px minmax(240px,1.4fr) 92px minmax(130px,.8fr);align-items:center;gap:10px;padding:16px;display:grid}.relationship-entity-card,.relationship-junction-card{border-radius:12px;flex-direction:column;gap:5px;padding:14px;display:flex}.relationship-entity-card{background:#eff6ff;border:1px solid #bfdbfe}.relationship-junction-card{text-align:center;background:#eef2ff;border:1px solid #c7d2fe}.relationship-entity-card span,.relationship-junction-card>span{color:#64748b;letter-spacing:.07em;text-transform:uppercase;font-size:9px;font-weight:800}.relationship-entity-card strong,.relationship-junction-card strong{color:#0f172a;word-break:break-word;font-size:13px}.relationship-entity-card code{color:#2563eb;font-size:10px}.relationship-junction-card div{justify-content:center;gap:7px;margin-top:4px;display:flex}.relationship-junction-card code{color:#4338ca;background:#fff;border-radius:6px;padding:4px 6px;font-size:9px}.relationship-connector{justify-content:center;align-items:center;display:flex}.relationship-line{background:#94a3b8;flex:1;height:1px}.relationship-cardinality{color:#475569;background:#fff;border:1px solid #cbd5e1;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:9px;font-weight:800;display:flex}.relationship-arrow{color:#2563eb;margin:0 4px;font-size:18px;font-weight:900}.database-design-note{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.database-design-note>div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;align-items:flex-start;gap:13px;padding:18px;display:flex}.database-design-note-number{color:#fff;background:#2563eb;border-radius:9px;flex:0 0 30px;justify-content:center;align-items:center;width:30px;height:30px;font-size:11px;font-weight:900;display:flex}.database-design-note strong{color:#0f172a;font-size:14px}.database-design-note p{color:#64748b;margin-top:5px;font-size:12px;line-height:1.55}.database-design-note code{color:#1d4ed8;font-size:11px}.database-inventory-wrapper{border:1px solid #e2e8f0;border-radius:14px;overflow-x:auto}.database-inventory-table{border-collapse:collapse;background:#fff;width:100%}.database-inventory-table th,.database-inventory-table td{text-align:left;border-bottom:1px solid #e2e8f0;padding:13px 15px}.database-inventory-table th{color:#475569;text-transform:uppercase;background:#f8fafc;font-size:11px;font-weight:800}.database-inventory-table td{color:#64748b;font-size:12px}.database-inventory-table tbody tr:last-child td{border-bottom:0}.database-inventory-table td code{color:#1e293b;font-weight:700}.database-category-badge{text-transform:uppercase;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:900;display:inline-flex}.database-category-badge.core{color:#1d4ed8;background:#dbeafe}.database-category-badge.association{color:#6d28d9;background:#ede9fe}@media (width<=1050px){.database-schema-header{flex-direction:column}.database-schema-summary{width:100%;min-width:0}.relationship-row{grid-template-columns:1fr}.relationship-connector{min-height:34px;transform:rotate(90deg)}.relationship-connector .relationship-line{max-width:45px}}@media (width<=780px){.database-schema-section{padding:20px}.database-section-heading{flex-direction:column}.database-access-card{flex-direction:column;align-items:flex-start}.database-access-button{width:100%}.core-table-grid{grid-template-columns:1fr}.database-table-card:last-child{grid-column:auto;max-width:none}.database-design-note{grid-template-columns:1fr}}@media (width<=520px){.database-schema-summary{grid-template-columns:1fr}.database-schema-section{padding:16px}.database-table-card-header,.database-field-row{flex-direction:column;align-items:flex-start}}.architecture-flow{flex-direction:column;gap:28px;display:flex}.architecture-flow-header h2{color:#0f172a;margin:6px 0 10px;font-size:28px}.architecture-flow-header p:last-child{color:#64748b;max-width:800px;line-height:1.7}.architecture-flow-eyebrow{color:#2563eb;letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:12px;font-weight:800}.architecture-flow-section{background:#fff;border:1px solid #e2e8f0;border-radius:18px;flex-direction:column;gap:22px;padding:26px;display:flex}.architecture-flow-section-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.architecture-flow-section-heading h3{color:#0f172a;margin:4px 0 8px;font-size:22px}.architecture-flow-section-heading p{color:#64748b;max-width:760px;line-height:1.6}.architecture-flow-number{color:#2563eb;background:#eff6ff;border-radius:10px;justify-content:center;align-items:center;width:34px;height:34px;font-size:12px;font-weight:800;display:inline-flex}.architecture-flow-label{color:#475569;text-transform:uppercase;background:#f1f5f9;border-radius:999px;flex-shrink:0;padding:7px 11px;font-size:11px;font-weight:800}.architecture-flow-steps{align-items:stretch;gap:14px;padding-bottom:6px;display:flex;overflow-x:auto}.architecture-flow-step-group{align-items:center;gap:14px;display:flex}.architecture-flow-card{background:#f8fafc;border:1px solid #dbe3ee;border-radius:16px;width:300px;min-width:300px;height:100%;padding:20px;box-shadow:0 8px 20px #0f172a0a}.architecture-flow-card-top{margin-bottom:12px}.architecture-flow-step-badge{color:#1d4ed8;letter-spacing:.06em;text-transform:uppercase;background:#dbeafe;border-radius:999px;margin-bottom:10px;padding:5px 9px;font-size:10px;font-weight:900;display:inline-flex}.architecture-flow-card h4{color:#0f172a;margin:0;font-size:18px}.architecture-flow-card p{color:#64748b;margin:0 0 14px;font-size:14px;line-height:1.6}.architecture-flow-card ul{color:#475569;margin:0;padding-left:18px;font-size:13px;line-height:1.7}.architecture-flow-card li+li{margin-top:5px}.architecture-flow-arrow{color:#2563eb;background:#eff6ff;border-radius:999px;justify-content:center;align-items:center;width:48px;min-width:48px;height:48px;font-size:22px;font-weight:900;display:flex}.architecture-endpoint-list{flex-wrap:wrap;gap:8px;display:flex}.architecture-endpoint-badge{color:#4338ca;background:#eef2ff;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:700;display:inline-flex}.architecture-image-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.architecture-image-card{margin:0}.architecture-image-wrapper{background:#f8fafc;border:1px solid #cbd5e1;border-radius:16px;overflow:hidden}.architecture-image-wrapper img{width:100%;height:auto;display:block}.architecture-image-card figcaption{color:#64748b;text-align:center;margin-top:10px;font-size:13px;line-height:1.5}@media (width<=900px){.architecture-flow-section-heading{flex-direction:column}.architecture-image-grid{grid-template-columns:1fr}}@media (width<=760px){.architecture-flow-section{padding:20px}.architecture-flow-steps,.architecture-flow-steps.reporting{flex-direction:column;overflow:visible}.architecture-flow-step-group{flex-direction:column;align-items:stretch}.architecture-flow-card{width:100%;min-width:0}.architecture-flow-arrow{border-radius:12px;width:100%;min-width:0;height:40px}.architecture-flow-arrow span{transform:rotate(90deg)}}.tradeoffs{flex-direction:column;gap:28px;display:flex}.tradeoffs-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:flex-start;gap:28px;padding-bottom:28px;display:flex}.tradeoffs-header h2{color:#0f172a;margin:6px 0 10px;font-size:28px}.tradeoffs-header>div:first-child>p:last-child{color:#64748b;max-width:780px;margin:0;line-height:1.7}.tradeoffs-eyebrow{color:#2563eb;letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:12px;font-weight:800}.tradeoffs-summary{text-align:center;background:#f8fbff;border:1px solid #dbeafe;border-radius:16px;flex-direction:column;flex:0 0 180px;justify-content:center;align-items:center;padding:20px;display:flex}.tradeoffs-summary strong{color:#1d4ed8;font-size:32px}.tradeoffs-summary span{color:#64748b;margin-top:5px;font-size:12px;font-weight:700;line-height:1.4}.tradeoffs-list{flex-direction:column;gap:18px;display:flex}.tradeoff-card{background:#fff;border:1px solid #e2e8f0;border-radius:18px;grid-template-columns:62px minmax(0,1fr);gap:20px;padding:24px;display:grid;box-shadow:0 8px 22px #0f172a0a}.tradeoff-number{justify-content:center;align-items:flex-start;display:flex}.tradeoff-number span{color:#fff;background:#2563eb;border-radius:14px;justify-content:center;align-items:center;width:48px;height:48px;font-size:13px;font-weight:900;display:flex}.tradeoff-content h3{color:#0f172a;margin:2px 0 18px;font-size:20px;line-height:1.4}.tradeoff-description-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.tradeoff-description{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:17px}.tradeoff-description.improvement{background:#eff6ff;border-color:#bfdbfe;grid-column:1/3}.tradeoff-label{letter-spacing:.07em;text-transform:uppercase;border-radius:999px;margin-bottom:10px;padding:5px 9px;font-size:9px;font-weight:900;display:inline-flex}.tradeoff-label.current{color:#475569;background:#e2e8f0}.tradeoff-label.weakness{color:#b91c1c;background:#fee2e2}.tradeoff-label.improvement{color:#1d4ed8;background:#dbeafe}.tradeoff-description p{color:#475569;margin:0;font-size:13px;line-height:1.7}.tradeoffs-conclusion{background:#eff6ff;border:1px solid #bfdbfe;border-radius:18px;align-items:flex-start;gap:18px;padding:24px;display:flex}.tradeoffs-conclusion-number{color:#fff;text-transform:uppercase;background:#1d4ed8;border-radius:14px;flex:0 0 52px;justify-content:center;align-items:center;width:52px;height:52px;font-size:11px;font-weight:900;display:flex}.tradeoffs-conclusion h3{color:#0f172a;margin:1px 0 8px;font-size:19px}.tradeoffs-conclusion p{color:#475569;margin:0;font-size:14px;line-height:1.7}@media (width<=850px){.tradeoffs-header{flex-direction:column}.tradeoffs-summary{flex-basis:auto;width:100%}.tradeoff-description-grid{grid-template-columns:1fr}.tradeoff-description.improvement{grid-column:auto}}@media (width<=620px){.tradeoff-card{grid-template-columns:1fr;padding:20px}.tradeoff-number{justify-content:flex-start}.tradeoffs-conclusion{flex-direction:column}}.architecture-page{flex-direction:column;gap:24px;display:flex}.architecture-header{background:#fff;border:1px solid #e2e8f0;border-radius:18px;justify-content:space-between;align-items:flex-start;gap:24px;padding:28px;display:flex;box-shadow:0 10px 30px #0f172a0d}.architecture-header h1{color:#0f172a;margin:6px 0 10px;font-size:32px}.architecture-header p{color:#64748b;max-width:720px;margin:0;line-height:1.6}.architecture-eyebrow{letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:12px;font-weight:800;color:#2563eb!important}.architecture-badge{color:#1d4ed8;background:#eff6ff;border-radius:999px;flex-shrink:0;padding:8px 12px;font-size:12px;font-weight:700}.architecture-tabs{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;gap:8px;padding:6px;display:flex;overflow-x:auto}.architecture-tab{color:#64748b;cursor:pointer;background:0 0;border:0;border-radius:8px;flex:1;min-width:170px;padding:11px 16px;font-size:14px;font-weight:700;transition:background .2s,color .2s,box-shadow .2s}.architecture-tab:hover{color:#0f172a}.architecture-tab.active{color:#2563eb;background:#fff;box-shadow:0 4px 12px #0f172a14}.architecture-content{background:#fff;border:1px solid #e2e8f0;border-radius:18px;min-height:360px;padding:28px;box-shadow:0 10px 30px #0f172a0d}.architecture-content h2{color:#0f172a;margin:0 0 10px;font-size:24px}.architecture-content p{color:#64748b;margin:0;line-height:1.6}@media (width<=760px){.architecture-header{flex-direction:column;padding:22px}.architecture-header h1{font-size:26px}.architecture-tabs{flex-direction:column}.architecture-tab{width:100%;min-width:0}.architecture-content{padding:22px}}.architecture-tabs{background:#f1f5f9;border:1px solid #dbe3ee;border-radius:14px;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:8px;display:grid}.architecture-tab{color:#475569;letter-spacing:.01em;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;width:100%;padding:15px 18px;font-size:14px;font-weight:800;transition:background .2s,color .2s,border-color .2s,box-shadow .2s,transform .2s}.architecture-tab:hover{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.architecture-tab.active{color:#fff;background:#2563eb;border-color:#2563eb;transform:translateY(-1px);box-shadow:0 8px 18px #2563eb38}.architecture-tab.active:hover{color:#fff;background:#1d4ed8}@media (width<=760px){.architecture-tabs{grid-template-columns:1fr}.architecture-tab{min-width:0}}
