@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600&family=Archivo:wght@500;600&display=swap";:root{font-family:Space Grotesk,Archivo,sans-serif;line-height:1.5;font-weight:400;color:#f2f4ff;background-color:#06070c;--page-padding: clamp(1rem, 2vw, 2.5rem);--text-primary: #f2f4ff;--text-secondary: rgba(242, 244, 255, .76);--text-muted: rgba(242, 244, 255, .58);--text-strong: #ffffff;--surface-1: rgba(5, 6, 13, .72);--surface-2: rgba(8, 10, 18, .84);--surface-3: rgba(15, 18, 30, .9);--surface-4: rgba(255, 255, 255, .1);--surface-5: rgba(255, 255, 255, .14);--surface-elevated: rgba(255, 255, 255, .7);--input-bg: rgba(8, 10, 18, .8);--border-soft: rgba(255, 255, 255, .1);--border-strong: rgba(255, 255, 255, .2);--shadow-strong: 0 24px 70px rgba(4, 8, 24, .45);--shadow-soft: 0 18px 46px rgba(6, 4, 18, .32);--accent: #f2a65a;--accent-strong: #f28b50;--accent-soft: #f6d07c;--accent-contrast: #201504;--success: #2ed573;--danger: #ffb6b6;--chip-bg: rgba(247, 248, 255, .12);--status-bg: rgba(255, 255, 255, .18);--app-background: radial-gradient(circle at 15% 20%, #1f2939, transparent 45%), radial-gradient(circle at 80% 30%, #3c2245, transparent 42%), linear-gradient(120deg, #05060d, #0f1624 55%, #1a2335);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root[data-theme=light]{color:#1f2431;background-color:#fff;--text-primary: #1f2431;--text-secondary: rgba(31, 36, 49, .78);--text-muted: rgba(31, 36, 49, .58);--text-strong: #131722;--surface-1: rgba(255, 255, 255, .98);--surface-2: rgba(255, 255, 255, .99);--surface-3: rgba(255, 255, 255, 1);--surface-4: rgba(248, 248, 248, .95);--surface-5: rgba(255, 255, 255, .98);--surface-elevated: rgba(255, 255, 255, 1);--input-bg: rgba(255, 255, 255, 1);--border-soft: rgba(31, 36, 49, .08);--border-strong: rgba(31, 36, 49, .14);--shadow-strong: 0 24px 70px rgba(31, 36, 49, .08);--shadow-soft: 0 18px 46px rgba(31, 36, 49, .06);--chip-bg: rgba(242, 166, 90, .1);--status-bg: rgba(242, 166, 90, .12);--danger: #c54848;--app-background: #ffffff}*{box-sizing:border-box}body{margin:0;min-height:100vh;min-width:320px;background:var(--app-background);color:var(--text-primary);display:flex;align-items:flex-start;justify-content:center;padding:0 var(--page-padding) var(--page-padding);transition:background .22s ease,color .22s ease}#root{width:100%}button,input,textarea{font:inherit}@media(max-width:640px){:root{--page-padding: .75rem}}.dashboard-shell{width:min(1380px,100%);margin:0 auto;padding-top:var(--page-padding);display:flex;flex-direction:column;gap:1.5rem;color:var(--text-primary)}.dashboard-shell--report{gap:1.25rem}.dashboard-page-hero{display:flex;flex-direction:column;gap:1rem}.top-bar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;border-radius:14px;border:1px solid var(--border-soft);background:linear-gradient(180deg,color-mix(in srgb,var(--surface-1) 95%,transparent),color-mix(in srgb,var(--surface-2) 92%,transparent));box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.top-bar-brand{min-width:0}.top-bar-title{display:block;font-size:1.05rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.eyebrow{margin:0;font-size:.72rem;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:color-mix(in srgb,var(--accent) 55%,#8db4ff)}.top-menu{display:flex;flex-wrap:wrap;gap:.5rem;padding-left:1rem;border-left:1px solid var(--border-soft)}.top-menu button,.theme-toggle,.login-button,.ghost-button,.btn,.auth-form button{appearance:none;border:none;font:inherit}.top-menu button{border-radius:999px;padding:.7rem 1rem;background:transparent;color:var(--text-secondary);font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:background .18s ease,color .18s ease,transform .18s ease}.top-menu button:hover,.top-menu button:focus-visible{background:var(--surface-4);color:var(--text-strong);outline:none;transform:translateY(-1px)}.auth-cluster{margin-left:auto;display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.6rem}.user-chip,.report-email{display:inline-flex;align-items:center;min-height:2.5rem;padding:.35rem .95rem;border-radius:999px;background:var(--chip-bg);color:var(--text-primary);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.user-chip{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.theme-toggle,.ghost-button,.btn--secondary{border:1px solid var(--border-strong);background:color-mix(in srgb,var(--surface-5) 84%,transparent);color:var(--text-primary);border-radius:999px;padding:.72rem 1rem;font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease}.theme-toggle:hover,.theme-toggle:focus-visible,.ghost-button:hover,.ghost-button:focus-visible,.login-button:hover,.login-button:focus-visible,.btn--secondary:hover,.btn--secondary:focus-visible{outline:none;transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 55%,var(--border-strong));background:var(--surface-elevated)}.login-button,.btn--primary,.auth-form button{border-radius:10px;padding:.95rem 1rem;background:linear-gradient(135deg,var(--accent-soft),var(--accent-strong));color:var(--accent-contrast);font-weight:700;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;box-shadow:0 12px 30px color-mix(in srgb,var(--accent-strong) 28%,transparent);transition:transform .18s ease,box-shadow .18s ease}.login-button{border-color:transparent;border-radius:999px;padding-inline:1.1rem}.login-button:hover,.login-button:focus-visible,.btn--primary:hover,.btn--primary:focus-visible,.auth-form button:hover,.auth-form button:focus-visible{box-shadow:0 18px 34px color-mix(in srgb,var(--accent-strong) 34%,transparent)}.login-button:disabled,.btn:disabled,.auth-form button:disabled,.theme-toggle:disabled,.ghost-button:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}.dashboard-hero{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);gap:1rem;padding:1.25rem;border-radius:16px;border:1px solid var(--border-soft);background:radial-gradient(circle at top right,color-mix(in srgb,var(--accent-soft) 16%,transparent),transparent 32%),linear-gradient(145deg,var(--surface-2),var(--surface-3));box-shadow:var(--shadow-strong)}.dashboard-hero__copy{display:flex;flex-direction:column;justify-content:space-between;gap:.85rem;min-width:0}.dashboard-hero__copy h1,.auth-showcase h1{margin:0;font-size:clamp(2rem,5vw,3.6rem);line-height:.95;letter-spacing:-.04em}.dashboard-hero__copy p,.auth-showcase p{margin:0;max-width:60ch;color:var(--text-secondary);font-size:1rem}.report-hero__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem}.report-hero__actions{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.dashboard-hero__metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.dashboard-kpi-card{padding:1rem;border-radius:12px;border:1px solid var(--border-soft);background:color-mix(in srgb,var(--surface-elevated) 72%,transparent);box-shadow:inset 0 1px color-mix(in srgb,#fff 18%,transparent)}.dashboard-kpi-card__label{display:block;margin-bottom:.55rem;color:var(--text-muted);font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.dashboard-kpi-card strong{display:block;font-size:1.25rem;letter-spacing:-.03em}.dashboard-kpi-card p{margin:.45rem 0 0;color:var(--text-secondary);font-size:.88rem}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.85fr);gap:1rem;align-items:start}.dashboard-grid--report{grid-template-columns:minmax(0,1.5fr) minmax(280px,.75fr)}.dashboard-main-column,.dashboard-side-column{display:flex;flex-direction:column;gap:1rem}.dashboard-panel,.report-panel,.upload-card,.auth-sheet,.auth-showcase{padding:1.2rem;border-radius:14px;border:1px solid var(--border-soft);background:linear-gradient(180deg,var(--surface-2),var(--surface-3));box-shadow:var(--shadow-soft)}.dashboard-panel--compact{padding:1rem}.dashboard-panel__header,.report-panel__header,.upload-card__header,.auth-sheet__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.9rem}.dashboard-panel__header--stacked{align-items:flex-start}.dashboard-panel__header h2,.report-panel__header h2,.upload-card__header h2,.auth-sheet__header h2{margin:.25rem 0 0;font-size:1.4rem;line-height:1.05;letter-spacing:-.03em}.dashboard-panel__header p,.upload-card__header p,.auth-sheet__header p,.report-panel__header span{margin:.35rem 0 0;color:var(--text-secondary)}.dashboard-panel__header>div,.report-panel__header>div{min-width:0}.status-pill,.dashboard-zone-card__badge{display:inline-flex;align-items:center;justify-content:center;min-height:2rem;padding:.2rem .7rem;border-radius:999px;background:var(--status-bg);color:var(--text-primary);font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.preview-card{display:flex;flex-direction:column;gap:1rem;margin-top:.95rem;padding:1rem;border-radius:12px;border:1px solid var(--border-soft);background:color-mix(in srgb,var(--surface-elevated) 70%,transparent)}.preview-meta{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1rem;border-radius:10px;background:color-mix(in srgb,var(--surface-4) 88%,transparent);color:var(--text-primary)}.preview-meta p,.preview-meta span{margin:0}.preview-meta span{font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--text-secondary)}.preview-card img,.preview-image{width:100%;border-radius:10px;border:1px solid color-mix(in srgb,var(--text-primary) 10%,transparent);background:color-mix(in srgb,var(--surface-3) 72%,#000 28%);object-fit:cover}.preview-card img{max-height:520px}.floor-plan-status,.floor-plan-reference,.preview-container,.dashboard-action-card,.dashboard-empty-state,.agent-log{padding:.95rem 1rem;border-radius:10px;border:1px solid var(--border-soft);background:color-mix(in srgb,var(--surface-4) 78%,transparent)}.floor-plan-status{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;font-size:.82rem}.floor-plan-error,.auth-error,.alert--error{margin:0;color:var(--danger)}.floor-plan-reference p,.dashboard-empty-state p,.dashboard-action-card p,.agent-log p{margin:0;color:var(--text-secondary)}.floor-plan-reference code{display:block;margin-top:.4rem;color:var(--accent);word-break:break-word;font-size:.88rem}.dashboard-zone-grid,.report-grid,.auth-showcase__stats{display:grid;gap:.85rem}.dashboard-zone-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.dashboard-zone-card,.dashboard-detail-card,.report-card{padding:1rem;border-radius:12px;border:1px solid var(--border-soft);background:color-mix(in srgb,var(--surface-elevated) 72%,transparent)}.dashboard-zone-card__top,.dashboard-detail-card__header{display:flex;align-items:center;justify-content:space-between;gap:.7rem;flex-wrap:wrap}.dashboard-zone-card__sector{color:var(--text-secondary);font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.dashboard-zone-card h3,.dashboard-detail-card h3,.report-card h2,.report-panel__header h2{margin:.65rem 0 0;font-size:1.1rem;line-height:1.1}.dashboard-zone-card__details,.report-panel__grid{display:grid;gap:.8rem}.dashboard-zone-card__details{grid-template-columns:repeat(2,minmax(0,1fr));margin:1rem 0 0}.dashboard-zone-card__details dt,.report-label,.dashboard-facts-list span,.auth-showcase__stats span{margin:0 0 .35rem;color:var(--text-muted);font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.dashboard-zone-card__details dd,.report-note,.dashboard-facts-list strong,.auth-showcase__stats strong,.dashboard-action-card strong,.dashboard-empty-state h3,.report-value{margin:0;color:var(--text-primary)}.dashboard-zone-card__details dd,.report-note,.dashboard-action-card p,.dashboard-empty-state p,.auth-hint,.auth-magic-sent p,.agent-log li,.form-help{line-height:1.55}.dashboard-facts-list{display:grid;gap:.85rem}.dashboard-facts-list div,.auth-showcase__stats div{padding:.95rem 1rem;border-radius:10px;border:1px solid var(--border-soft);background:color-mix(in srgb,var(--surface-4) 72%,transparent)}.dashboard-facts-list strong,.auth-showcase__stats strong,.dashboard-action-card strong,.report-value{display:block;font-size:1rem}.dashboard-action-card{display:flex;flex-direction:column;gap:.9rem}.dashboard-detail-list{display:flex;flex-direction:column;gap:.85rem}.dashboard-detail-list>*{width:100%}.annual-analysis-list{flex-direction:column;overflow-x:visible;flex-wrap:wrap}.annual-analysis-list>*{flex:1 1 auto}.annual-analysis-card{width:100%}.annual-analysis-card .report-panel__header{align-items:center}.annual-analysis-card .report-panel__grid{grid-template-columns:repeat(3,minmax(160px,1fr));align-items:start}.dashboard-detail-card h4,.report-panel h3{margin:0 0 .35rem;font-size:.88rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}.report-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.report-card p,.report-panel__header span{margin:.45rem 0 0;color:var(--text-secondary)}.report-metric{display:block;color:var(--accent);font-size:clamp(1.7rem,3vw,2.2rem);font-weight:700;letter-spacing:-.05em}.report-panel{background:color-mix(in srgb,var(--surface-3) 94%,transparent)}.report-panel--flat{padding:1rem}.report-panel__grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin:.9rem 0}.report-value{font-size:1.5rem;font-weight:700}.auth-page{width:min(1380px,100%);margin:0 auto;padding-top:var(--page-padding);min-height:calc(100vh - 2rem);display:flex;align-items:center;justify-content:center}.auth-layout{width:100%;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(360px,.9fr);gap:1rem}.auth-showcase{display:flex;flex-direction:column;justify-content:space-between;gap:1rem;min-height:560px;background:radial-gradient(circle at top left,color-mix(in srgb,var(--accent-soft) 18%,transparent),transparent 36%),linear-gradient(145deg,var(--surface-2),var(--surface-3))}.auth-showcase__top{display:flex;align-items:center;justify-content:space-between;gap:1rem}.auth-showcase__stats{grid-template-columns:repeat(3,minmax(0,1fr))}.auth-sheet{display:flex;flex-direction:column;gap:1rem;justify-content:center}.auth-form{display:flex;flex-direction:column;gap:.8rem}.auth-form label,.form-label{color:var(--text-secondary);font-size:.76rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.auth-form input,.form-input,.form-input-file{width:100%;border-radius:10px;border:1px solid var(--border-strong);background:var(--input-bg);color:var(--text-primary);padding:.95rem 1rem;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.auth-form input:focus,.form-input:focus,.form-input-file:focus,.form-input:focus-visible,.form-input-file:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent)}.auth-link-btn{align-self:flex-start;padding:0;background:none;border:none;color:var(--accent);font-size:.9rem;font-weight:600;cursor:pointer}.auth-hint{margin:0;color:var(--text-muted)}.auth-magic-sent{display:flex;flex-direction:column;gap:.8rem}.upload-workspace{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:1rem}.upload-card{display:flex;flex-direction:column;gap:1rem}.upload-card--secondary{align-self:start}.alert{padding:.9rem 1rem;border-radius:10px;border:1px solid transparent}.alert--success{background:color-mix(in srgb,var(--success) 16%,transparent);border-color:color-mix(in srgb,var(--success) 32%,transparent);color:var(--success)}.alert--error{background:color-mix(in srgb,var(--danger) 10%,transparent);border-color:color-mix(in srgb,var(--danger) 28%,transparent)}.upload-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.form-group{display:flex;flex-direction:column;gap:.45rem}.form-group:has(textarea),.form-group:has(.form-input-file),.preview-container,.form-actions,.agent-log{grid-column:1 / -1}.form-input-file{cursor:pointer}.form-input-file::file-selector-button{margin-right:1rem;padding:.65rem .85rem;border:none;border-radius:8px;background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent);font-weight:700;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.form-help{margin:0;color:var(--text-muted);font-size:.84rem}.preview-container{display:flex;flex-direction:column;gap:.75rem}.preview-image{max-height:360px}.form-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:.75rem}.btn{min-height:3rem;padding:.95rem 1.25rem;border-radius:10px;font-size:.82rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;cursor:pointer}.agent-log ul{margin:.75rem 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.75rem}.agent-log li{padding:.9rem 1rem;border-radius:8px;background:color-mix(in srgb,var(--surface-elevated) 66%,transparent);border:1px solid var(--border-soft)}.agent-log strong{color:var(--text-strong)}@media(max-width:1120px){.dashboard-hero,.dashboard-grid,.dashboard-grid--report,.auth-layout,.upload-workspace{grid-template-columns:1fr}.auth-showcase{min-height:auto}.upload-card--secondary{align-self:stretch}}@media(max-width:820px){.dashboard-shell,.auth-page{gap:1rem}.top-bar{align-items:flex-start;flex-wrap:wrap}.top-menu{width:100%;padding-left:0;border-left:none;order:3}.auth-cluster{width:100%;margin-left:0;justify-content:flex-start}.dashboard-hero__metrics,.auth-showcase__stats,.upload-form,.dashboard-zone-card__details,.report-panel__grid,.report-grid,.dashboard-zone-grid{grid-template-columns:1fr}.preview-card img{max-height:420px}}@media(max-width:640px){.top-bar,.dashboard-hero,.dashboard-panel,.report-panel,.upload-card,.auth-sheet,.auth-showcase{padding:1rem;border-radius:12px}.dashboard-hero__copy h1,.auth-showcase h1{font-size:1.9rem}.top-menu button,.theme-toggle,.login-button,.ghost-button,.btn,.auth-form button{width:100%}.top-menu{gap:.45rem}.form-actions{flex-direction:column}.preview-card,.floor-plan-status,.floor-plan-reference,.dashboard-action-card,.dashboard-empty-state,.agent-log,.dashboard-zone-card,.dashboard-detail-card,.report-card,.dashboard-facts-list div,.auth-showcase__stats div{border-radius:10px}}.dashboard-zone-card__ratings{display:flex;gap:1.25rem;margin-top:1rem;justify-content:center}.dashboard-zone-card__rating-item{display:flex;flex-direction:column;align-items:center;gap:.35rem}.dashboard-zone-card__rating-item>span{font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}.dashboard-zone-card__rating-star{display:flex;flex-direction:column;align-items:center;gap:.15rem;font-size:.9rem;font-weight:600;color:var(--text-primary)}.dashboard-zone-card__rating-star em{font-style:normal;font-size:.65rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}.dashboard-zone-card__rating-pending{width:80px;height:80px;border-radius:50%;border:6px solid var(--border-soft);opacity:.25}.scoring-chart{position:relative;display:flex;align-items:center;justify-content:center}.scoring-chart svg{filter:drop-shadow(0 2px 8px color-mix(in srgb,var(--accent) 20%,transparent))}.scoring-chart__progress{color:var(--accent)}.scoring-chart__label{position:absolute;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:0}.scoring-chart__label strong{font-size:1.8rem;font-weight:700;letter-spacing:-.04em;color:var(--text-primary)}
