:root{--keyora-graphite:#101820;--keyora-graphite-soft:#182433;--keyora-blue:#008cff;--keyora-blue-dark:#006fd1;--keyora-blue-soft:#e8f2ff;--keyora-gold:#d6a84f;--keyora-gold-soft:#fff4d8;--keyora-ivory:#f8f6f1;--keyora-white:#fff;--keyora-border:#d9e1ec;--keyora-muted:#f3f6fa;--keyora-text:#101820;--keyora-text-muted:#5b6472;--keyora-approved:#2ead6b;--keyora-approved-soft:#e8f7ef;--keyora-review:#f4b740;--keyora-review-soft:#fff3d9;--keyora-rejected:#d9534f;--keyora-rejected-soft:#fdebea;--bg-main:var(--keyora-ivory);--bg-panel:var(--keyora-white);--accent:var(--keyora-blue);--accent-wash:var(--keyora-blue-dark);--text-main:var(--keyora-text);--text-soft:var(--keyora-text-muted);--text-muted:#7a8594;--border-soft:#10182014;--shadow-strong:0 14px 34px #10182014;--font-body:"Segoe UI Variable Display", "Aptos", "Trebuchet MS", sans-serif;--font-heading:"Segoe UI Variable Display", "Aptos Display", "Trebuchet MS", sans-serif;color:var(--keyora-text);font-family:var(--font-body);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at 80% -5%,#008cff14,#0000 22%),radial-gradient(circle at 10% 5%,#1824330f,#0000 28%),linear-gradient(#f9fbff 0%,#f3f6fa 100%);font-weight:400;line-height:1.45}*{box-sizing:border-box}html{background:var(--bg-main)}body{min-width:320px;min-height:100vh;color:var(--text-main);font-family:var(--font-body);background:0 0;margin:0}#root{min-height:100vh}h1,h2,h3{font-family:var(--font-heading);color:var(--text-main)}p{margin:0}button,input,select,textarea{font:inherit}a{color:inherit}.app-shell{min-height:100vh;color:var(--text-main)}.topbar{justify-content:space-between;align-items:flex-start;gap:24px;padding:32px 32px 20px;display:flex}.topbar__company{color:var(--text-soft);margin:8px 0 0;font-size:1rem}.topbar h1,.login-card h1{letter-spacing:-.05em;margin:0;font-size:clamp(2rem,4vw,3.8rem);line-height:.96}.topbar__meta{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.topbar__company-chip,.sync-status{border:1px solid var(--keyora-border);background:var(--keyora-white);color:var(--text-soft);border-radius:999px;align-items:center;padding:8px 12px;font-size:.9rem;display:inline-flex}.topbar__tagline{color:var(--keyora-blue-dark);margin:10px 0 0;font-size:.95rem;font-weight:600}.login-tagline{color:var(--keyora-blue-dark);margin:10px 0 0;font-weight:600}.eyebrow{text-transform:uppercase;letter-spacing:.18em;color:var(--text-muted);margin:0 0 10px;font-size:.72rem}.lead{max-width:50rem;color:var(--text-soft);margin:18px 0 28px}.nav-row{flex-wrap:wrap;gap:10px;padding:0 32px 16px;display:flex}.secondary-nav-row{justify-content:flex-end;padding:0 32px 8px;display:flex}.inline-link-button{color:var(--keyora-blue-dark);cursor:pointer;background:0 0;border:0;padding:6px 0;font-weight:600}.inline-link-button--active{color:var(--text-main);text-underline-offset:4px;text-decoration:underline}.nav-pill,.primary-button,.secondary-button,.ghost-button,.danger-button,.list-card{cursor:pointer;border:none;transition:transform .14s,background .14s,color .14s,border-color .14s}.nav-pill{background:var(--keyora-white);color:var(--text-main);border:1px solid var(--keyora-border);border-radius:999px;padding:12px 16px}.nav-pill--active{background:var(--keyora-blue-soft);border-color:var(--keyora-blue);color:var(--keyora-blue-dark)}.banner,.info-strip{border:1px solid var(--keyora-border);background:var(--keyora-white);border-radius:20px;margin:0 32px 16px;padding:14px 18px}.summary-strip,.info-strip{color:var(--text-soft);flex-wrap:wrap;gap:16px;display:flex}.banner--error{background:var(--keyora-rejected-soft);color:var(--keyora-rejected);border-color:#d9534f47}.banner--notice{background:var(--keyora-blue-soft);color:var(--keyora-blue-dark);border-color:#008cff42}.main-content{padding:0 32px 32px}.guided-workspace{gap:20px;display:grid}.guided-workspace--buyer{grid-template-columns:.95fr minmax(0,1.4fr) .95fr;align-items:start}.guided-workspace--buyer .workflow-card,.guided-workspace--buyer .workflow-card--soft,.guided-workspace--buyer .section-card{background:linear-gradient(180deg, var(--keyora-white) 0%, #fcfdff 100%);border-color:var(--keyora-border)}.guided-workspace--buyer .viewer-shell{background:radial-gradient(circle at 22% 16%,#008cff1f,#0000 33%),linear-gradient(#f7faff 0%,#ebf2fb 100%)}.guided-workspace--company .workflow-card,.guided-workspace--company-wizard .workflow-card,.guided-workspace--company-wizard .section-card{background:var(--keyora-white);border-color:var(--keyora-border)}.guided-workspace--company,.guided-workspace--company-wizard{background:0 0}.guided-workspace--company,.guided-workspace--single{grid-template-columns:minmax(0,1fr)}.guided-workspace--company-wizard{grid-template-columns:.8fr minmax(0,1.5fr) .9fr;align-items:start}.guided-workspace__rail,.guided-workspace__summary{gap:20px;display:grid}.workflow-stepper{gap:12px;margin:0;padding:0;list-style:none;display:grid}.workflow-stepper__button{text-align:left;border:1px solid var(--keyora-border);background:var(--keyora-white);width:100%;color:var(--text-main);border-radius:20px;grid-template-columns:42px 1fr;align-items:center;gap:14px;padding:16px;display:grid}.workflow-stepper__item--active .workflow-stepper__button{background:var(--keyora-blue-soft);border-color:#008cff4d}.workflow-stepper__item--complete .workflow-stepper__index{background:var(--keyora-approved-soft);color:var(--keyora-approved)}.workflow-stepper__index{background:var(--keyora-muted);width:42px;height:42px;color:var(--keyora-blue-dark);border-radius:14px;place-items:center;font-weight:700;display:grid}.workflow-stepper__button strong,.workflow-card h2,.room-preview-layout__header h2,.metric-card strong{font-family:var(--font-heading);display:block}.workflow-stepper__button small{color:var(--text-muted);margin-top:4px;display:block}.workflow-card{background:var(--keyora-white);border:1px solid var(--keyora-border);box-shadow:var(--shadow-strong);border-radius:30px;padding:24px}.workflow-card--soft{background:var(--keyora-muted)}.workflow-card__header,.choice-drawer__header,.room-preview-layout__header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.workflow-card__header h2,.room-preview-layout__header h2{margin:0;font-size:1.35rem}.workflow-card__header p,.choice-drawer__header p,.room-preview-layout__header p{color:var(--text-soft);margin:6px 0 0}.workflow-card__body,.workflow-card__footer{margin-top:18px}.workflow-card__footer{justify-content:flex-end;display:flex}.breadcrumb-trail{color:var(--text-soft);flex-wrap:wrap;gap:10px;font-size:.95rem;display:flex}.breadcrumb-trail__separator{color:var(--text-muted);margin-inline:8px}.card-grid{gap:14px;display:grid}.card-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.workflow-tile{text-align:left;border:1px solid var(--keyora-border);background:var(--keyora-white);color:var(--text-main);border-radius:20px;gap:6px;padding:18px;display:grid}.workflow-tile--active{background:var(--keyora-blue-soft);border-color:#008cff57;box-shadow:0 0 0 3px #008cff24}.workflow-metrics,.summary-list{gap:12px;display:grid}.workflow-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.metric-card,.summary-list>div{background:var(--keyora-white);border:1px solid var(--keyora-border);border-radius:18px;padding:16px}.metric-card span,.summary-list span{color:var(--text-muted);margin-top:6px;display:block}.room-preview-layout{gap:20px;display:grid}.room-preview-layout__header{padding:0 4px}.room-preview-layout__main{grid-template-columns:minmax(260px,.9fr) minmax(0,1.4fr) minmax(300px,1fr);align-items:start;gap:20px;display:grid}.room-preview-layout__rail,.room-preview-layout__stubs,.saved-choice-layout,.buyer-request-layout,.room-setup-grid{gap:20px;display:grid}.room-preview-layout__stubs{grid-template-columns:repeat(2,minmax(0,1fr))}.room-preview-layout__stubs-header{grid-column:1/-1;gap:6px;padding:0 4px;display:grid}.room-preview-layout__stubs-header h3{margin:0;font-size:1.15rem}.room-preview-layout__stubs-header p,.workflow-tile__cta{color:var(--text-muted)}.room-preview-canvas{min-height:30rem}.room-preview-layout .room-image{width:100%;height:15rem}.choice-drawer{z-index:1;background:var(--keyora-white);border:1px solid var(--keyora-border);box-shadow:var(--shadow-strong);border-radius:24px;padding:18px 20px;position:sticky;bottom:16px}.choice-drawer__content{gap:12px;margin-top:14px;display:grid}.friendly-error-state{background:var(--keyora-rejected-soft);border:1px solid #d9534f47;border-radius:18px;gap:12px;padding:18px;display:grid}.friendly-error-state h3,.friendly-error-state p{margin:0}.trust-row{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.room-setup-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.saved-choice-layout,.buyer-request-layout{grid-template-columns:minmax(260px,.95fr) minmax(0,1.05fr)}.saved-choice-layout .detail-panel,.buyer-request-layout .detail-panel{min-height:16rem}.workflow-tile__cta{font-size:.82rem;font-weight:600}.muted-copy{color:var(--text-muted)}.app-grid{gap:20px;display:grid}.app-grid--two-column{grid-template-columns:repeat(2,minmax(0,1fr))}.studio-layout{grid-template-columns:minmax(280px,.95fr) minmax(340px,1.15fr) minmax(280px,.9fr);gap:20px;display:grid}.studio-layout .section-card:last-child{grid-column:1/-1}.section-card{background:#ffffff0b;border:1px solid #ffffff14;border-radius:28px;padding:24px;box-shadow:0 20px 40px #00000038}.section-card__header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.section-card__header h2,.empty-state h3{margin:0;font-size:1.15rem}.section-card__header p,.detail-panel p,.list-card span,.audit-row span,.empty-state p,.rule-card p,.muted-copy{color:var(--text-soft)}.section-card__actions,.button-row,.pill-row{flex-wrap:wrap;gap:10px;display:flex}.stack-list{flex-direction:column;gap:12px;display:flex}.compact-list{max-height:18rem;overflow:auto}.list-card,.catalog-card,.rule-card,.audit-row,.detail-panel,.empty-state{background:var(--keyora-white);border:1px solid var(--keyora-border);border-radius:18px;padding:16px}.list-card{text-align:left;flex-direction:column;align-items:flex-start;gap:6px;display:flex}.list-card--active{background:var(--keyora-blue-soft);border-color:#008cff7a;transform:translateY(-1px);box-shadow:0 0 0 3px #008cff29}.inline-link{color:var(--accent)}.primary-button,.secondary-button,.ghost-button,.danger-button{border-radius:999px;padding:11px 16px;font-weight:600}.primary-button{background:var(--keyora-blue);color:var(--keyora-white)}.secondary-button{background:var(--keyora-white);color:var(--text-main);border:1px solid var(--keyora-border)}.ghost-button{color:var(--text-main);border:1px solid var(--keyora-border);background:0 0}.danger-button{background:var(--keyora-rejected-soft);color:var(--keyora-rejected);border:1px solid #d9534f47}.badge,.pill{background:var(--keyora-gold-soft);color:#846012;border:1px solid #d6a84f4d;border-radius:999px;align-items:center;padding:7px 12px;display:inline-flex}.badge--coming-soon{background:var(--keyora-blue-soft);color:var(--keyora-blue-dark);letter-spacing:.04em;text-transform:uppercase;border:1px solid #008cff38;padding:4px 10px;font-size:.72rem;font-weight:600}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.form-grid__full{grid-column:1/-1}.form-grid label,.toggle-row,.checkbox-chip{color:var(--text-soft);flex-direction:column;gap:8px;font-size:.95rem;display:flex}.toggle-row,.checkbox-chip{flex-direction:row;align-items:center}input,select,textarea{box-sizing:border-box;border:1px solid var(--keyora-border);background:var(--keyora-white);width:100%;color:var(--text-main);font:inherit;border-radius:14px;padding:12px 14px}textarea{resize:vertical;min-height:110px}.viewer-shell{background:radial-gradient(circle at 22% 16%,#008cff1f,#0000 33%),linear-gradient(#f7faff 0%,#ebf2fb 100%);border-radius:20px;height:28rem;overflow:hidden}.image-stack{flex-direction:column;gap:14px;display:flex}.room-image{object-fit:cover;border:1px solid var(--keyora-border);border-radius:20px;width:100%;height:17rem}.room-image--placeholder{background:var(--keyora-muted);color:var(--text-soft);place-items:center;display:grid}.detail-panel{flex-direction:column;gap:12px;display:flex}.checkbox-grid,.catalog-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;display:grid}.catalog-card{flex-direction:column;gap:6px;display:flex}.audit-row{grid-template-columns:minmax(140px,1.2fr) repeat(3,minmax(0,1fr));gap:8px;display:grid}.rule-card{flex-direction:column;gap:14px;display:flex}.rule-card__header{justify-content:space-between;gap:12px;display:flex}.login-shell{place-items:center;min-height:100vh;padding:32px;display:grid}.login-card{background:radial-gradient(circle at 94% -10%, #008cff29, transparent 25%), linear-gradient(180deg, var(--keyora-white) 0%, #f4f8ff 100%);border:1px solid var(--keyora-border);width:100%;max-width:58rem;box-shadow:var(--shadow-strong);border-radius:32px;padding:32px}.empty-state{text-align:center;place-items:center;min-height:10rem;display:grid}button:hover{transform:translateY(-1px)}button:disabled{opacity:.6;cursor:not-allowed;transform:none}@media (width<=1100px){.app-grid--two-column,.studio-layout,.guided-workspace--buyer,.guided-workspace--company-wizard,.room-preview-layout__main,.room-preview-layout__stubs,.room-setup-grid,.saved-choice-layout,.buyer-request-layout,.workflow-metrics,.card-grid--two,.audit-row{grid-template-columns:1fr}}@media (width<=720px){.topbar,.main-content,.nav-row,.summary-strip,.banner{margin-left:0;margin-right:0;padding-left:18px;padding-right:18px}.topbar,.workflow-card__header,.choice-drawer__header,.room-preview-layout__header{flex-direction:column}.section-card,.login-card{padding:18px}.form-grid{grid-template-columns:1fr}.guided-workspace__rail,.guided-workspace__summary{gap:16px}.choice-drawer{position:static}}.canvas-mode-toggle{grid-column:1/-1;gap:10px;margin-bottom:16px;display:flex}.toggle-button{border:1px solid var(--keyora-border);background:var(--keyora-white);color:var(--text-main);cursor:pointer;border-radius:999px;flex:1;padding:12px 18px;font-weight:600;transition:all .14s}.toggle-button--active{background:var(--keyora-blue-soft);color:var(--keyora-blue-dark);border-color:var(--keyora-blue)}.room-preview-layout__canvas{grid-column:1/-1;gap:20px;display:grid}.image-canvas-container{position:relative}.image-canvas-wrapper{width:100%;position:relative}.image-canvas{border:1px solid var(--keyora-border);border-radius:20px;width:100%;height:auto;display:block}.image-canvas-placeholder{background:var(--keyora-muted);border:1px solid var(--keyora-border);height:320px;color:var(--text-soft);border-radius:20px;place-items:center;display:grid}.image-canvas-overlay{border-radius:20px;width:100%;height:100%;position:absolute;top:0;left:0}.detection-box{fill:none;stroke:#008cff73;stroke-width:2px;pointer-events:all}.detection-box--selected{stroke:var(--keyora-blue);stroke-width:3px;fill:#008cff1f}.detection-label{pointer-events:none;background:#0009;border-radius:4px;padding:2px 6px}.canvas-control-panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10;background:#fffffffa;border:1px solid #008cff33;border-radius:16px;width:100%;max-width:320px;padding:16px;position:absolute;bottom:0;right:0;box-shadow:0 10px 30px #0006}.canvas-control-header{margin-bottom:14px}.canvas-control-header h4{color:var(--text-main);margin:0;font-size:1.05rem}.canvas-control-subtext{color:var(--text-muted);margin:4px 0 0;font-size:.85rem}.canvas-control-section{flex-direction:column;gap:8px;margin-bottom:14px;display:flex}.canvas-control-section label{color:var(--text-soft);font-size:.9rem;font-weight:600}.control-options{flex-wrap:wrap;gap:8px;display:flex}.color-option{border:2px solid var(--keyora-border);cursor:pointer;border-radius:8px;width:36px;height:36px;transition:all .14s}.color-option--active{border-color:var(--keyora-blue);box-shadow:0 0 12px #008cff4d}.texture-option{border:1px solid var(--keyora-border);background:var(--keyora-white);color:var(--text-main);cursor:pointer;border-radius:8px;padding:8px 12px;font-size:.85rem;transition:all .14s}.texture-option--active{background:var(--keyora-blue-soft);border-color:var(--keyora-blue);color:var(--keyora-blue-dark)}.control-buttons{grid-template-columns:1fr 1fr;gap:6px;display:grid}.small-button{border:1px solid var(--keyora-border);background:var(--keyora-white);color:var(--text-main);cursor:pointer;border-radius:8px;padding:8px 12px;font-weight:600;transition:all .14s}.small-button:hover{background:var(--keyora-blue-soft)}.canvas-note-input{border:1px solid var(--keyora-border);background:var(--keyora-white);width:100%;color:var(--text-main);resize:vertical;border-radius:8px;padding:10px 12px;font-family:inherit;font-size:.85rem}.generated-preview-container{flex-direction:column;gap:14px;display:flex}.generated-preview-image{border:1px solid var(--keyora-border);object-fit:cover;border-radius:20px;width:100%;height:auto;max-height:400px}.status-badge{text-transform:capitalize;border:1px solid #0000;border-radius:999px;align-items:center;padding:4px 10px;font-size:.78rem;font-weight:700;display:inline-flex}.status-badge--approved{color:var(--keyora-approved);background:var(--keyora-approved-soft);border-color:#2ead6b3d}.status-badge--review{color:#9f6b00;background:var(--keyora-review-soft);border-color:#f4b74047}.status-badge--rejected{color:var(--keyora-rejected);background:var(--keyora-rejected-soft);border-color:#d9534f3d}.generated-preview-actions{flex-wrap:wrap;gap:10px;display:flex}
