:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#2d2734;background:#faf9fd;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:#faf9fd}.shell{width:min(100% - 28px,920px);margin:0 auto;padding:34px 0 60px}.narrow{max-width:680px}.hero{margin-bottom:22px}.hero h1,.card h1{font-size:clamp(34px,7vw,60px);letter-spacing:-.045em;line-height:1;margin:8px 0 14px;color:#322443}.hero p{max-width:680px;color:#696271;line-height:1.55}.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-weight:800;font-size:12px;color:#7652ad}.card{background:#fff;border:1px solid #e9e4ee;border-radius:22px;padding:20px;box-shadow:0 6px 24px rgba(30,20,45,.04);margin:16px 0}.camera-stage{position:relative;overflow:hidden;border-radius:18px;background:#17141b;aspect-ratio:3/4;max-height:70vh}video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.guide{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}.oval{width:58%;height:68%;border:3px solid rgba(255,255,255,.78);border-radius:50%;box-shadow:0 0 0 200vmax rgba(0,0,0,.16)}.status,.note{font-size:14px;color:#756e7b;line-height:1.5}.status{margin:14px 0}.actions{display:flex;gap:10px}.primary,.secondary{appearance:none;border:0;border-radius:14px;padding:14px 18px;font-weight:800;font-size:16px;cursor:pointer}.primary{background:#6338b6;color:#fff}.primary:disabled{opacity:.45}.secondary{background:#f2edf8;color:#53348b}.fallback{margin-top:18px;padding-top:16px;border-top:1px solid #eee9f2;display:grid;gap:8px;font-size:14px}#preview{width:100%;border-radius:18px;margin-top:16px}.progress-line{display:flex;align-items:center;gap:12px;font-weight:700}.pulse{width:11px;height:11px;background:#6338b6;border-radius:50%;animation:pulse 1.2s infinite}@keyframes pulse{50%{opacity:.3;transform:scale(.8)}}.error-card{border-color:#f0c8d0;background:#fffafb}.success{color:#217451;font-weight:700}.big-score{font-size:72px;font-weight:850;letter-spacing:-.05em;color:#6338b6;margin:20px 0}.big-score span{font-size:20px;color:#8d8794;letter-spacing:0}footer{margin-top:26px;font-size:13px}a{color:#6338b6}code{background:#f4f1f8;padding:2px 5px;border-radius:5px}@media(min-width:800px){.capture-card{padding:26px}.camera-stage{max-width:560px;margin:0 auto}.actions{justify-content:center}.primary,.secondary{min-width:180px}}
.camera-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;padding:28px;color:#fff;background:linear-gradient(180deg,rgba(23,20,27,.35),rgba(23,20,27,.72));z-index:2}.camera-placeholder[hidden]{display:none}.camera-placeholder span{max-width:300px;font-size:14px;line-height:1.45;color:rgba(255,255,255,.78)}.status-error{color:#9b3e50;font-weight:650}.status-ok{color:#28714c}.fallback strong{font-size:14px}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.mode-card{display:grid;gap:12px}.mode-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.mode-heading h2{margin:3px 0 0;font-size:22px;color:#322443}.dev-badge{font-size:12px;font-weight:800;background:#f0e9fb;color:#5c369a;border-radius:999px;padding:7px 10px}.mode-option{display:flex;align-items:flex-start;gap:12px;padding:14px;border:1px solid #e8e2ed;border-radius:16px;cursor:pointer}.mode-option:has(input:checked){border-color:#8b69c9;background:#faf7ff}.mode-option input{margin-top:3px;accent-color:#6338b6}.mode-option span{display:grid;gap:4px}.mode-option small{font-size:13px;line-height:1.45;color:#756e7b}.mode-option.disabled{opacity:.55;cursor:not-allowed}.mode-option strong{color:#392b49}
.dev-result{background:#f6f1fd;border:1px solid #e4d8f7;border-radius:14px;padding:12px 14px;color:#56388c;line-height:1.45}

/* Full analysis result */
.result-shell{width:min(100% - 24px,1180px);margin:0 auto;padding:24px 0 64px}.simulation-banner{background:#f4edff;border:1px solid #dfd0f7;color:#553589;border-radius:16px;padding:12px 16px;margin-bottom:16px;font-size:14px}.result-hero{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(260px,1.15fr) minmax(260px,1fr);gap:22px;align-items:stretch}.result-photo-wrap{min-height:310px}.result-photo{width:100%;height:100%;max-height:410px;object-fit:cover;border-radius:18px}.result-score-block{display:flex;flex-direction:column;justify-content:center}.result-score-block .big-score{margin:10px 0 4px}.result-title{font-size:clamp(28px,4vw,42px)!important;margin:4px 0 12px!important;letter-spacing:-.04em}.lead{font-size:16px;line-height:1.55;color:#5d5663}.small-lead{max-width:850px}.meta-row{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}.meta-row span{font-size:12px;background:#f6f3f8;border-radius:999px;padding:7px 10px}.snapshot-grid{display:grid;gap:12px}.snapshot-box{border:1px solid #eee8f2;background:#fbfafd;border-radius:16px;padding:15px}.snapshot-title{font-size:12px;text-transform:uppercase;letter-spacing:.06em;font-weight:850;color:#7252a0;margin-bottom:9px}.good-title{color:#33705b}.snapshot-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:8px 0;font-size:14px}.snapshot-factor{display:flex;align-items:center;gap:9px;min-width:0}.snapshot-factor strong{min-width:0}.snapshot-icon{flex:0 0 16px;color:#33263f;font-size:16px;line-height:1}.snapshot-state{color:#817a86;font-size:12px;text-align:right;white-space:nowrap}.report-section{margin-top:42px}.section-heading{margin-bottom:15px}.section-heading h2{font-size:clamp(26px,4vw,36px);letter-spacing:-.035em;margin:4px 0 7px;color:#342640}.section-heading p{margin:0;color:#756e7b;line-height:1.5}.profile-full{padding:24px}.evidence-row{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.evidence-chip{font-size:12px;border:1px solid #e4dcef;border-radius:999px;padding:7px 10px;background:#fff}.info-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.info-columns h3,.map-copy h4,.priority-card h4{font-size:13px;margin:18px 0 5px;color:#6c4b9d}.info-columns p,.map-copy p,.priority-card p{line-height:1.55;color:#514b59}.map-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:20px;padding:18px}.map-mobile-picker{display:none}.map-mobile-picker label{display:block;font-size:12px;font-weight:800;color:#6f6677;margin-bottom:7px}.map-select-mobile{width:100%;appearance:auto;border:1px solid #dcd3e4;border-radius:13px;background:#fff;color:#342640;padding:13px 42px 13px 13px;font:inherit;font-size:15px;font-weight:700;line-height:1.3}.map-select-mobile:focus{outline:3px solid rgba(99,56,182,.14);border-color:#8d68c9}.map-nav{display:grid;align-content:start;gap:7px}.map-tab{appearance:none;border:1px solid #e8e2ed;background:#fff;border-radius:13px;padding:11px 12px;text-align:left;cursor:pointer;display:flex;justify-content:space-between;gap:10px;align-items:center}.map-tab span{font-weight:750}.map-tab small{font-size:11px;color:#817a86}.map-tab.active{border-color:#8d68c9;background:#f7f2ff;color:#543390}.map-panel{display:none;grid-template-columns:minmax(260px,1.2fr) minmax(250px,.9fr);gap:24px;align-items:start}.map-panel.active{display:grid}.map-image img{width:100%;border-radius:17px;display:block}.map-copy{padding:8px 4px}.map-copy h3{font-size:26px;margin:4px 0}.map-score{font-size:48px;letter-spacing:-.045em;font-weight:850;color:#5f36a9;margin:8px 0}.map-score span{font-size:15px;color:#8a8390}.state-badge{display:inline-block;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:850}.map-help{background:#f7f4fa;border-radius:13px;padding:12px 14px;margin-top:16px}.map-help p{margin:5px 0 0}.region-group{padding:0;overflow:hidden}.region-group>summary{padding:18px 20px;font-size:18px;font-weight:800;cursor:pointer}.regional-layout{border-top:1px solid #eee8f2;border-radius:0;box-shadow:none;margin:0}.priority-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.priority-card{display:grid;grid-template-columns:auto 1fr;gap:14px;padding:20px}.priority-rank{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#6338b6;color:#fff;font-weight:850}.priority-card h3{font-size:21px;margin:2px 0 9px}.priority-state{display:flex;align-items:center;gap:9px}.objective-box{background:#f7f4fa;border-radius:13px;padding:12px 14px;margin-top:15px}.objective-box p{font-weight:750;margin:4px 0}.objective-box span{font-size:12px;color:#756e7b}.recommendation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.recommendation-card h3{margin:0 0 7px;font-size:20px}.recommendation-card>p{color:#665f6c;line-height:1.5}.strategy{border-top:1px solid #eee8f2;padding-top:13px;margin-top:13px}.strategy-title{display:flex;justify-content:space-between;gap:10px}.limited-tag{font-size:10px;background:#fff0e4;color:#965325;padding:5px 8px;border-radius:999px}.strategy>p{font-size:13px;color:#706978}.ingredient-group{display:grid;gap:4px;background:#faf9fb;border-radius:11px;padding:10px 12px;margin-top:8px}.ingredient-group span,.ingredient-group small{font-size:12px;color:#756e7b}.ingredient-group.blocked{opacity:.65}.full-results>summary{font-size:18px;font-weight:800;cursor:pointer}.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px}.metric-result{border:1px solid #ebe6ef;border-radius:15px;padding:14px}.metric-top{display:flex;justify-content:space-between;gap:8px}.metric-top span{font-weight:850}.metric-bar{height:7px;background:#eeeaf1;border-radius:999px;overflow:hidden;margin:11px 0}.metric-bar span{display:block;height:100%;background:#6a42bf;border-radius:999px}.metric-result p{font-size:12px;line-height:1.45;color:#756e7b}.result-footer{margin:38px 0 0;padding-top:18px;border-top:1px solid #e9e4ee;color:#817a86;font-size:12px;line-height:1.5}
@media(max-width:900px){.result-hero{grid-template-columns:180px 1fr}.snapshot-grid{grid-column:1/-1;grid-template-columns:1fr 1fr}.map-layout{grid-template-columns:190px minmax(0,1fr)}.map-panel{grid-template-columns:1fr}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.result-shell{width:min(100% - 16px,1180px);padding-top:12px}.result-hero{grid-template-columns:1fr}.result-photo-wrap{min-height:0}.result-photo{max-height:430px}.snapshot-grid{grid-template-columns:1fr}.snapshot-box{padding:17px}.snapshot-item{gap:12px;padding:10px 0}.snapshot-factor{gap:8px}.snapshot-factor strong{font-size:15px;line-height:1.3}.snapshot-state{font-size:13px}.info-columns{grid-template-columns:1fr}.map-layout,.regional-layout{grid-template-columns:1fr;padding:12px}.map-mobile-picker{display:block;grid-column:1/-1;margin-bottom:2px}.map-nav{display:none}.map-panel.active{grid-template-columns:1fr}.priority-grid,.recommendation-grid{grid-template-columns:1fr}.metrics-grid{grid-template-columns:1fr 1fr}.priority-card{grid-template-columns:auto 1fr}.section-heading h2{font-size:28px}}
@media(max-width:390px){.snapshot-factor strong{font-size:14px}.snapshot-state{font-size:12px}.map-select-mobile{font-size:14px}}

/* v0.6 onboarding + admin */
.button-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;box-sizing:border-box}.welcome-page{min-height:100vh;display:grid;place-items:center}.welcome-shell{width:min(100% - 28px,760px);padding:30px 0}.welcome-card{text-align:center;padding:clamp(32px,7vw,70px)}.brand-logo{display:block;max-width:min(260px,70%);max-height:110px;object-fit:contain;margin:0 auto 24px}.brand-mark{width:68px;height:68px;border-radius:22px;background:#f1eafa;color:#6338b6;display:grid;place-items:center;font-size:34px;margin:0 auto 24px}.welcome-card h1{font-size:clamp(38px,8vw,62px);letter-spacing:-.055em;margin:8px 0 18px}.welcome-copy{max-width:590px;margin:0 auto 28px;color:#665f6d;font-size:18px;line-height:1.55}.welcome-cta{min-width:240px;padding:16px 24px}.welcome-footer{text-align:center;color:#817a86}.compact-hero{padding-bottom:4px}.onboarding-shell{max-width:920px}.onboarding-form{padding:24px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.form-field,.stack-form label{display:grid;gap:7px}.form-field>label,.stack-form label,.field-label{font-size:13px;font-weight:800;color:#463a50}.full-width{grid-column:1/-1}.form-field input,.form-field select,.form-field textarea,.stack-form input,.stack-form select,.stack-form textarea,.admin-search input{width:100%;box-sizing:border-box;border:1px solid #ded7e5;background:#fff;color:#2f2636;border-radius:13px;padding:13px 14px;font:inherit}.form-field input:focus,.form-field select:focus,.form-field textarea:focus,.stack-form input:focus,.stack-form select:focus,.stack-form textarea:focus,.admin-search input:focus{outline:3px solid rgba(99,56,182,.12);border-color:#8c69ca}.checkbox-field{display:flex!important;align-items:flex-start;gap:10px!important;font-weight:650!important;line-height:1.45}.checkbox-field input{width:auto;margin-top:3px;accent-color:#6338b6}.has-error input,.has-error select,.has-error textarea{border-color:#c96878}.field-error{color:#9b3e50}.privacy-note{background:#f8f6fa;border-radius:12px;padding:12px 14px;color:#756e7b;font-size:12px;line-height:1.5;margin-top:20px}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.inline-error,.inline-warning,.inline-success{border-radius:13px;padding:12px 14px;margin:14px 0}.inline-error{background:#fff0f2;color:#8f3448}.inline-warning{background:#fff7e8;color:#835f1b}.inline-success{background:#ecf8f1;color:#24684a}.stack-form{display:grid;gap:16px}.admin-login-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.admin-login-card{width:min(100%,440px)}.admin-shell{width:min(100% - 28px,1180px);margin:0 auto;padding:20px 0 64px}.admin-nav{display:flex;align-items:center;gap:8px;padding:8px;background:#fff;border:1px solid #e9e3ed;border-radius:16px;position:sticky;top:10px;z-index:20;box-shadow:0 8px 30px rgba(30,20,45,.05)}.admin-nav a{text-decoration:none;padding:10px 13px;border-radius:11px;font-weight:750;color:#5b5065}.admin-nav a.active{background:#f3edfb;color:#59369b}.admin-nav .admin-logout{margin-left:auto}.admin-heading{margin:30px 0 18px}.admin-heading h1{font-size:clamp(30px,5vw,44px);margin:4px 0 6px;letter-spacing:-.045em}.admin-heading p{color:#756e7b}.client-heading{display:flex;justify-content:space-between;align-items:end;gap:18px}.admin-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.admin-kpis .card{display:grid;gap:4px}.admin-kpis strong{font-size:34px;color:#5e39a4}.admin-kpis span{color:#756e7b}.admin-actions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.admin-action{text-decoration:none;display:grid;gap:6px}.admin-action strong{color:#33263e;font-size:19px}.admin-action span{color:#756e7b;line-height:1.45}.admin-search{display:flex;gap:10px;align-items:center;padding:14px}.client-list,.analysis-list,.product-list{display:grid;gap:10px;margin-top:14px}.client-row,.analysis-row,.product-row{display:flex;align-items:center;justify-content:space-between;gap:16px;text-decoration:none}.client-row>div:first-child,.product-row>div:first-child{display:grid;gap:4px}.client-row span,.product-row span,.product-row small{color:#756e7b}.client-meta{text-align:right;display:grid}.client-meta strong{font-size:22px;color:#5f3aa4}.client-meta span,.client-meta small{font-size:12px;color:#817a86}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.detail-grid>div{display:grid;gap:4px;padding:12px;background:#faf8fb;border-radius:12px}.detail-grid span{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#817a86}.detail-grid strong{white-space:pre-wrap}.admin-section{margin-top:28px}.analysis-row{display:grid;grid-template-columns:1fr auto auto}.analysis-row>div:first-child{display:grid;gap:4px}.analysis-row span{color:#817a86;font-size:12px}.analysis-score{font-size:22px;font-weight:850;color:#5f3aa4}.product-editor{margin-bottom:24px}.check-grid{display:flex;flex-wrap:wrap;gap:9px}.check-option{display:flex!important;align-items:center;gap:8px!important;border:1px solid #e5deea;border-radius:999px;padding:8px 11px;font-weight:650!important}.check-option input{width:auto;accent-color:#6338b6}.ingredient-check-grid{align-items:flex-start}.product-actions{display:flex;gap:8px;align-items:center}.product-actions form{margin:0}.danger-button{appearance:none;border:0;border-radius:12px;padding:12px 14px;background:#fff0f2;color:#91384c;font-weight:800;cursor:pointer}.empty-state{color:#756e7b}
@media(max-width:720px){.form-grid,.detail-grid{grid-template-columns:1fr}.full-width{grid-column:auto}.form-actions{flex-direction:column-reverse}.form-actions .button-link,.form-actions button{width:100%}.admin-nav{overflow-x:auto;position:static}.admin-nav a{white-space:nowrap}.admin-kpis{grid-template-columns:1fr 1fr}.admin-actions-grid{grid-template-columns:1fr}.client-heading{align-items:flex-start;flex-direction:column}.client-heading .button-link{width:100%}.admin-search{align-items:stretch;flex-direction:column}.client-row,.product-row{align-items:flex-start;flex-direction:column}.client-meta{text-align:left}.analysis-row{grid-template-columns:1fr auto}.analysis-row .button-link{grid-column:1/-1}.product-actions{width:100%}.product-actions .button-link,.product-actions form,.product-actions button{flex:1;width:100%}.welcome-card{padding:34px 22px}.welcome-copy{font-size:16px}}
.product-recommendation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.consumer-product-card{display:grid;gap:12px}.consumer-product-card h3{margin:2px 0 0;font-size:19px}.product-brand{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#817a86;font-weight:800}.product-meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.product-meta>span:first-child{font-size:12px;background:#f5f2f8;border-radius:999px;padding:6px 9px}.consumer-product-card p{margin:0;color:#665f6d;font-size:13px;line-height:1.45}.catalog-note{font-size:12px;color:#817a86;margin-top:12px}@media(max-width:800px){.product-recommendation-grid{grid-template-columns:1fr}}

/* v0.7 public result access + QR */
.result-share-section{margin-top:18px}.result-share-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center;padding:24px}.result-share-copy h2{font-size:clamp(24px,4vw,32px);margin:5px 0 8px;letter-spacing:-.035em}.result-share-copy>p{max-width:680px;color:#665f6d;line-height:1.55;margin:0}.share-expiry{font-size:13px!important;color:#817a86!important;margin-top:12px!important}.share-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:17px}.share-status{font-size:12px!important;color:#5f3aa4!important;margin-top:9px!important;word-break:break-all}.result-share-qr{display:grid;gap:8px;justify-items:center;text-align:center}.result-share-qr small{color:#817a86;max-width:210px;line-height:1.35}.qr-box{width:220px;min-height:220px;background:#fff;border:1px solid #e8e1ed;border-radius:18px;padding:12px;box-sizing:border-box;display:grid;place-items:center}.qr-box img,.qr-box canvas{max-width:100%;height:auto!important}.qr-unavailable{font-size:12px;color:#817a86;line-height:1.4}.analysis-row-v070{grid-template-columns:minmax(0,1fr) auto minmax(280px,auto)}.analysis-actions{display:flex;justify-content:flex-end;align-items:center;gap:7px;flex-wrap:wrap}.analysis-actions form{margin:0}.analysis-actions button{white-space:nowrap}.access-state{font-weight:700}.access-active{color:#28714c}.access-revoked,.access-expired{color:#9b3e50}.access-missing{color:#817a86}
@media(max-width:800px){.result-share-card{grid-template-columns:1fr}.result-share-qr{justify-self:start}.analysis-row-v070{grid-template-columns:1fr auto}.analysis-actions{grid-column:1/-1;justify-content:flex-start}}
@media(max-width:650px){.result-share-qr{display:none}.share-actions{flex-direction:column}.share-actions .button-link,.share-actions button{width:100%}.analysis-actions{display:grid;width:100%;grid-template-columns:1fr}.analysis-actions .button-link,.analysis-actions form,.analysis-actions button{width:100%}}

/* v0.8 longitudinal history */
.client-evolution{display:grid;grid-template-columns:minmax(0,1.5fr) auto auto auto;gap:22px;align-items:center}.client-evolution h2,.client-evolution p{margin:5px 0}.client-evolution p{color:#756e7b}.client-evolution-score{display:grid;gap:4px;min-width:150px}.client-evolution-score>span,.client-evolution-counts span{font-size:12px;color:#817a86}.client-evolution-score strong{font-size:25px;color:#5f3aa4}.client-evolution-score small{font-weight:800;color:#5f3aa4}.client-evolution-counts{display:grid;grid-template-columns:repeat(3,auto);gap:12px}.client-evolution-counts span{display:grid;text-align:center;padding:8px 10px;background:#faf8fb;border-radius:12px}.client-evolution-counts b{font-size:20px;color:#44394c}.client-evolution-empty h2,.client-evolution-empty p{margin:5px 0}.client-evolution-empty p{color:#756e7b}.compact-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px}.compact-heading h2{margin:4px 0 0}.history-analysis-count{background:#f3edfb;color:#5b379d;padding:7px 10px;border-radius:999px;font-size:12px;font-weight:800}.history-timeline-card{margin-bottom:16px}.history-chart-wrap{overflow-x:auto;padding:8px 0 2px}.history-chart{display:block;min-width:650px;width:100%;height:auto}.history-grid-line{stroke:#eee8f2;stroke-width:1}.history-line{fill:none;stroke:#6a42bf;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.history-point{fill:#fff;stroke:#6a42bf;stroke-width:4}.history-axis-label,.history-date-label{font-size:11px;fill:#817a86}.history-score-label{font-size:13px;font-weight:800;fill:#4c356f}.history-compare-card{margin-bottom:16px}.history-compare-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:12px;align-items:end}.history-compare-form label{display:grid;gap:6px}.history-compare-form label>span{font-size:12px;font-weight:800;color:#6d6472}.history-compare-form select{width:100%;border:1px solid #ded6e5;border-radius:12px;padding:12px 13px;background:#fff;color:#33293c;font:inherit}.history-summary-grid{display:grid;grid-template-columns:1.4fr repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}.history-overall-card{display:grid;gap:5px;border-left:5px solid #d9d1df}.history-overall-card>span{font-size:12px;color:#817a86}.history-overall-card>strong{font-size:24px}.history-overall-card>b{font-size:30px}.history-overall-card>small{font-weight:750}.history-summary-stat{display:grid;place-content:center;text-align:center;gap:4px;min-height:130px;border-top:4px solid #d9d1df}.history-summary-stat strong{font-size:34px}.history-summary-stat span{font-size:12px;color:#756e7b}.history-positive{border-color:#7cb494!important}.history-negative{border-color:#d58b99!important}.history-stable{border-color:#d4c6a0!important}.history-neutral{border-color:#d9d1df!important}.history-positive-text{color:#28714c!important}.history-negative-text{color:#9b3e50!important}.history-highlight-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:16px 0}.history-highlight-grid h2{font-size:20px;margin:6px 0 12px}.history-highlight-list{display:grid;gap:0}.history-highlight-list>div{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0;border-top:1px solid #eee9f1}.history-highlight-list>div:first-child{border-top:0}.history-highlight-list span{font-weight:850;white-space:nowrap}.history-metric-list{display:grid;gap:10px}.history-metric-row{display:grid;grid-template-columns:minmax(180px,1.4fr) minmax(105px,.7fr) auto minmax(105px,.7fr) minmax(70px,.45fr);gap:16px;align-items:center;border-left:5px solid #d9d1df}.history-metric-name{display:grid;gap:4px}.history-metric-name span,.history-metric-score span,.history-metric-score small,.history-metric-delta span{font-size:11px;color:#817a86}.history-metric-score{display:grid;gap:3px}.history-metric-score strong{font-size:20px}.history-metric-arrow{text-align:center;color:#938a99;font-size:20px}.history-metric-delta{display:grid;text-align:right}.history-metric-delta strong{font-size:22px}.history-metric-delta span{white-space:nowrap}
@media(max-width:900px){.client-evolution{grid-template-columns:1fr 1fr}.client-evolution>.button-link{width:100%;text-align:center}.client-evolution-counts{grid-template-columns:repeat(3,1fr)}.history-summary-grid{grid-template-columns:1fr 1fr}.history-overall-card{grid-column:1/-1}.history-metric-row{grid-template-columns:minmax(150px,1fr) minmax(92px,.6fr) auto minmax(92px,.6fr)}.history-metric-delta{grid-column:1/-1;display:flex;justify-content:flex-end;gap:5px;align-items:baseline;border-top:1px solid #eee9f1;padding-top:8px}}
@media(max-width:650px){.client-evolution{grid-template-columns:1fr}.client-evolution-counts{grid-template-columns:repeat(3,1fr)}.history-compare-form{grid-template-columns:1fr}.history-summary-grid{grid-template-columns:1fr 1fr}.history-highlight-grid{grid-template-columns:1fr}.history-metric-row{grid-template-columns:1fr 1fr;gap:10px}.history-metric-name{grid-column:1/-1}.history-metric-arrow{display:none}.history-metric-delta{grid-column:1/-1}.history-chart{min-width:560px}}

/* v0.9 guided Camera Kit capture */
.capture-method-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:18px}.capture-method{appearance:none;border:1px solid #e6dfeb;background:#fff;border-radius:15px;padding:13px 15px;text-align:left;display:grid;gap:3px;color:#3b3043;cursor:pointer}.capture-method.active{border-color:#8662c5;background:#faf7ff;box-shadow:inset 0 0 0 1px #8662c5}.capture-method>span{font-size:10px;text-transform:uppercase;letter-spacing:.07em;font-weight:900;color:#6b45aa}.capture-method strong{font-size:15px}.capture-method small{font-size:12px;color:#817a86}.camera-kit-panel{display:grid;gap:14px}.camera-kit-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:4px 0}.camera-kit-intro h2{margin:4px 0 5px;font-size:22px;color:#342640}.camera-kit-intro p{margin:0;color:#756e7b;line-height:1.45;max-width:560px;font-size:14px}.camera-kit-module{width:100%;overflow:hidden;border-radius:18px;background:#17141b;transition:min-height .2s ease}.camera-kit-module.is-open{min-height:min(72vh,720px)}.quality-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.quality-item{border-radius:13px;padding:10px 11px;display:grid;gap:3px;border:1px solid #e9e4ed}.quality-item span{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#817a86;font-weight:800}.quality-item strong{font-size:12px;overflow-wrap:anywhere}.quality-pending{background:#faf9fb}.quality-good{background:#eef8f2;border-color:#cae7d5}.quality-good strong{color:#28714c}.quality-bad{background:#fff4f5;border-color:#f0d2d8}.quality-bad strong{color:#9b3e50}.camera-kit-note{margin:0}.preview-actions{margin-top:12px;justify-content:flex-start}
@media(max-width:650px){.capture-method-switch{grid-template-columns:1fr 1fr}.capture-method{padding:11px}.camera-kit-intro{align-items:stretch;flex-direction:column}.camera-kit-intro .primary{width:100%}.camera-kit-module.is-open{min-height:68vh}.quality-grid{grid-template-columns:1fr 1fr}.preview-actions{display:grid;grid-template-columns:1fr}.preview-actions .primary,.preview-actions .secondary{width:100%}}

/* v1.0 kiosk / PWA shell */
.kiosk-surface{min-height:100dvh;overscroll-behavior-y:contain;-webkit-tap-highlight-color:transparent}
.pwa-install-area{display:grid;justify-items:center;gap:8px;margin-top:16px}.pwa-install-button{min-width:220px}.pwa-install-status{max-width:440px;margin:0;color:#746d7e;font-size:13px;line-height:1.45;text-align:center}
.pwa-standalone .welcome-footer{opacity:.55}.pwa-standalone body{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}
.kiosk-warning{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:24px;background:rgba(24,18,31,.62);backdrop-filter:blur(8px)}.kiosk-warning[hidden]{display:none}.kiosk-warning-card{width:min(100%,460px);background:#fff;border-radius:24px;padding:28px;box-shadow:0 24px 80px rgba(20,12,35,.28);text-align:center}.kiosk-warning-icon{font-size:34px}.kiosk-warning-card h2{font-size:30px;letter-spacing:-.035em;margin:10px 0 8px;color:#322443}.kiosk-warning-card p{margin:0 auto;max-width:350px;color:#6e6675;line-height:1.5}.kiosk-countdown{display:flex;align-items:baseline;justify-content:center;gap:4px;margin:18px 0}.kiosk-countdown strong{font-size:48px;line-height:1;color:#6338b6}.kiosk-countdown span{font-size:18px;color:#827a88}.kiosk-warning-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.kiosk-warning-actions .primary,.kiosk-warning-actions .secondary{min-width:0}.kiosk-warning-open{overflow:hidden}
.kiosk-finish-card{display:flex;align-items:center;justify-content:space-between;gap:24px;background:#f7f3ff;border-color:#e3d8f5}.kiosk-finish-card h2{font-size:26px;margin:4px 0 6px;color:#322443}.kiosk-finish-card p{margin:0;max-width:660px;color:#665d6d;line-height:1.5}.kiosk-finish-button{flex:0 0 auto;min-width:170px}
@media(max-width:650px){.kiosk-warning{padding:16px}.kiosk-warning-card{padding:22px 18px}.kiosk-warning-actions{grid-template-columns:1fr}.kiosk-finish-card{align-items:stretch;flex-direction:column}.kiosk-finish-button{width:100%}.welcome-shell{min-height:100dvh;padding-top:max(18px,env(safe-area-inset-top));padding-bottom:max(18px,env(safe-area-inset-bottom))}}
@media(display-mode:standalone){html,body{min-height:100%;background:#faf9fd}.welcome-page,.kiosk-surface{user-select:none}.onboarding-form input,.onboarding-form textarea,.onboarding-form select{user-select:text}}

.device-welcome-meta{margin:0 auto 14px;color:#756e7b;font-size:13px;font-weight:700}.activation-card{margin:18px 0;border-color:#d7c7ef;background:#fbf8ff}.activation-code{display:block;font-size:clamp(24px,5vw,38px);letter-spacing:.08em;padding:18px;margin:12px 0;text-align:center;word-break:break-all}.device-card{display:grid;gap:16px}.device-state{display:inline-flex;padding:7px 10px;border-radius:999px;font-size:12px;font-weight:800}.device-active{background:#ecf8f1;color:#24684a}.device-disabled{background:#fff0f2;color:#8f3448}.branding-editor{display:grid;gap:16px}.admin-brand-logo{max-width:180px;max-height:70px;object-fit:contain}.inline-form{margin-top:10px}.device-setup-card{margin:auto}.admin-kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}

/* v1.3 onboarding v2 + cosmetic habits */
.habits-form{display:grid;gap:16px}.habit-section{padding:24px}.habit-section-heading{margin-bottom:18px}.habit-section-heading h2{margin:3px 0 5px}.habit-section-heading p{margin:0;color:#756e7b}.optional-badge{display:inline-flex;margin-top:10px;padding:6px 10px;border-radius:999px;background:#f3edfb;color:#59369b;font-size:12px;font-weight:800}.choice-grid{display:flex;flex-wrap:wrap;gap:10px}.choice-option{display:flex!important;align-items:center;gap:8px!important;border:1px solid #e5deea;border-radius:13px;padding:10px 12px;background:#fff;font-weight:650!important;cursor:pointer}.choice-option input{width:auto!important;margin:0;accent-color:#6338b6}.choice-option:has(input:checked){border-color:#8c69ca;background:#f7f2fc}.multi-choice-grid .choice-option{border-radius:999px}.field-help{color:#817a86;line-height:1.4}.habits-actions-card{padding:20px 24px}.habits-actions-card .privacy-note{margin:0}.form-config-card{display:grid;gap:16px}.form-config-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.form-config-heading h2{margin:3px 0 5px}.form-config-heading p{margin:0;color:#756e7b}.config-state{display:inline-flex;white-space:nowrap;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800}.config-state.default{background:#f2f0f4;color:#6e6674}.config-state.custom{background:#ecf8f1;color:#24684a}.json-editor{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace!important;font-size:13px!important;line-height:1.45;tab-size:2}.admin-form-actions{display:flex;justify-content:flex-end}
@media(max-width:720px){.choice-grid{display:grid;grid-template-columns:1fr}.form-config-heading{flex-direction:column}.habits-actions-card .form-actions{gap:8px}.habits-actions-card .form-actions button,.habits-actions-card .form-actions .button-link{width:100%}}
.myskinia-admin-panel{grid-column:1/-1;border-top:1px solid #ece6f0;padding-top:14px;margin-top:4px;display:flex;align-items:center;justify-content:space-between;gap:18px}.myskinia-admin-copy{display:grid;gap:3px}.myskinia-admin-copy>strong{font-size:18px}.myskinia-admin-copy>small{color:#817a86;font-size:11px}.myskinia-admin-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.myskinia-admin-actions form{margin:0}.myskinia-error{margin:5px 0 0;color:#9b3e50;font-size:12px;max-width:620px}@media(max-width:800px){.myskinia-admin-panel{align-items:flex-start;flex-direction:column}.myskinia-admin-actions{justify-content:flex-start}}@media(max-width:650px){.myskinia-admin-actions{display:grid;width:100%;grid-template-columns:1fr}.myskinia-admin-actions .button-link,.myskinia-admin-actions form,.myskinia-admin-actions button{width:100%}}

/* v1.8 QR migration */
.share-fallback{border-color:#ead6a2;background:#fffdf7}.share-migration-warning{margin-top:12px!important;padding:10px 12px;border-radius:12px;background:#fff5d9;color:#765614!important;font-size:13px!important}.config-radio,.config-check{display:flex;align-items:flex-start;gap:12px;border:1px solid #e5deea;border-radius:14px;padding:14px 16px;margin:12px 0;background:#fff;cursor:pointer}.config-radio input,.config-check input{width:auto!important;margin:4px 0 0;accent-color:#6338b6}.config-radio span,.config-check span{display:grid;gap:4px}.config-radio small,.config-check small{color:#756e7b;line-height:1.45}.config-radio:has(input:checked),.config-check:has(input:checked){border-color:#8c69ca;background:#f8f4fc}
