/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.table{display:table}}:root{--paper:#f6f7f2;--ink:#17211f;--muted:#6d7774;--line:#dfe4de;--green:#0b7961;--green-soft:#d9eee6;--blue:#2659d9;--blue-soft:#e6edff;--orange:#c86b1d;--orange-soft:#ffedda;--card:#fff;--shadow:0 18px 50px #17211f12}*{box-sizing:border-box}html{background:var(--paper)}body{background:var(--paper);color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif}button,input,select{font:inherit}button{cursor:pointer}.app-shell{max-width:1450px;margin:0 auto;padding:30px 32px 72px}.login-page{background:radial-gradient(circle at 50% 0,#fff 0,#f4f7f6 48%,#edf2ef 100%);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:#fffffff2;border:1px solid #dce4e1;border-radius:18px;width:min(100%,430px);padding:30px;box-shadow:0 24px 65px #132b241a}.login-brand{align-items:center;gap:14px;margin-bottom:19px;display:flex}.login-shield{width:46px;height:46px;color:var(--green);background:#e8f6f1;border:1px solid #b8dcd0;border-radius:12px;place-items:center;font-size:23px;font-weight:900;display:grid}.login-brand h1{font-size:24px}.login-copy{color:var(--muted);margin-bottom:23px;font-size:13px;line-height:1.65}.login-field{gap:8px;margin-top:15px;display:grid}.login-field span{color:#52605b;font-size:13px;font-weight:750}.login-field input{width:100%;color:var(--ink);background:#fff;border:1px solid #d8e0de;border-radius:10px;outline:none;padding:12px 13px;font-size:14px;transition:border-color .14s,box-shadow .14s}.login-field input:focus{border-color:var(--green);box-shadow:0 0 0 3px #dff2eb}.login-field input::placeholder{color:#a4afab}.login-button{background:var(--green);color:#fff;border:0;border-radius:9px;width:100%;min-height:45px;margin-top:22px;font-weight:800;transition:background .14s,transform .14s}.login-button:hover{background:#076952}.login-button:active{transform:translateY(1px)}.login-button:disabled{cursor:wait;opacity:.72}.login-error{color:#b02c23;margin:13px 0 -4px;font-size:12px;line-height:1.5}.login-footnote{color:#82908b;text-align:center;margin:19px 0 0;font-size:11px}.store-page{background:radial-gradient(circle at 50% 0,#fff 0,#f4f7f6 48%,#edf2ef 100%);place-items:center;min-height:100vh;padding:24px;display:grid}.store-picker{background:#fffffff5;border:1px solid #dce4e1;border-radius:20px;width:min(100%,600px);padding:31px;box-shadow:0 24px 65px #132b241a}.store-picker__brand{align-items:center;gap:13px;display:flex}.store-picker__copy{color:var(--muted);margin:22px 0 19px;font-size:13px;line-height:1.7}.store-options{border:1px solid var(--line);border-radius:14px;overflow:hidden}.store-option{width:100%;color:var(--ink);text-align:left;background:#fff;border:0;border-bottom:1px solid #edf0ec;align-items:center;gap:12px;padding:14px;transition:background .14s;display:flex}.store-option:last-child{border-bottom:0}.store-option:hover{background:#f4faf7}.store-option>span:nth-child(2){flex:1;min-width:0}.store-option strong,.store-option small{display:block}.store-option strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.store-option small{color:var(--muted);margin-top:4px;font-size:11px}.store-option>b{color:var(--green);font-size:18px;font-weight:600}.store-option__mark{background:var(--green-soft);width:34px;height:34px;color:var(--green);border-radius:10px;flex:none;place-items:center;font-size:12px;font-weight:850;display:grid}.store-create{background:#f2faf6;border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;margin-top:18px;padding:14px;display:grid}.store-create label{gap:6px;display:grid}.store-create label span{color:#52605b;font-size:11px;font-weight:750}.store-create input{min-width:0;min-height:39px;color:var(--ink);background:#fff;border:1px solid #d5e2dc;border-radius:9px;outline:none;padding:9px 10px;font-size:12px}.store-create input:focus{border-color:var(--green);box-shadow:0 0 0 3px #dff2eb}.store-create .account-error{grid-column:1/-1}.store-picker__foot{color:var(--muted);justify-content:space-between;gap:12px;margin-top:19px;font-size:11px;display:flex}.store-picker__foot button{color:var(--muted);background:0 0;border:0;font-size:11px}.store-picker__foot button:hover{color:var(--ink);text-decoration:underline}.hero{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;padding:4px 0 27px;display:flex}.hero__brand,.hero__summary,.panel-heading,.plans-header,.filter-row,.scene-row__heading,.scene-row__metrics{align-items:center;display:flex}.hero__brand{gap:13px}.brand-mark,.loading-mark{background:var(--ink);color:#e7fb9b;letter-spacing:-.08em;border-radius:13px;place-items:center;width:43px;height:43px;font-weight:850;display:grid}.eyebrow{color:var(--muted);letter-spacing:.15em;text-transform:uppercase;margin:0 0 5px;font-size:10px;font-weight:760}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.06em;margin-bottom:0;font-size:23px;line-height:1}.hero__summary{color:var(--muted);justify-content:flex-end;gap:12px;font-size:12px}.hero__summary strong{color:var(--ink);letter-spacing:-.02em;font-size:14px}.data-status{background:var(--green-soft);color:#075a47;border-radius:99px;align-items:center;gap:6px;padding:6px 9px;font-weight:700;display:inline-flex}.data-status i{background:var(--green);border-radius:50%;width:6px;height:6px}.data-status--empty{color:#a45116;background:#fff1df}.data-status--empty i{background:#dd7b26}.store-chip{color:var(--ink);background:#fff;border:1px solid #cadbd5;border-radius:99px;align-items:center;gap:6px;padding:5px 8px 5px 10px;display:inline-flex}.store-chip:hover{border-color:var(--green);background:#f3faf7}.store-chip small{color:var(--muted);font-size:9px}.store-chip b{text-overflow:ellipsis;white-space:nowrap;max-width:130px;font-size:11px;overflow:hidden}.store-chip>span{color:var(--green);font-size:12px}.viewer-chip{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:99px;align-items:center;gap:6px;padding:5px 8px;display:inline-flex}.viewer-chip b{font-size:11px}.viewer-chip small{background:var(--blue-soft);color:var(--blue);border-radius:99px;padding:2px 5px;font-size:9px;font-weight:750}.upload-button{color:var(--green);background:#fff;border:1px solid #b8d9ce;border-radius:99px;align-items:center;gap:6px;padding:7px 10px;font-size:11px;font-weight:800;transition:background .14s,border-color .14s,transform .14s;display:inline-flex}.upload-button span{font-size:15px;line-height:.7}.upload-button:hover{border-color:var(--green);background:#eff9f5}.upload-button:active{transform:translateY(1px)}.logout-button{color:var(--muted);background:0 0;border:0;padding:5px 2px;font-size:11px}.logout-button:hover{color:var(--ink);text-decoration:underline}.intro-grid{grid-template-columns:minmax(0,1fr) 355px;gap:40px;padding:45px 0 31px;display:grid}.intro-grid h2,.plans-header h2{letter-spacing:-.07em;margin-bottom:10px;font-size:clamp(25px,3vw,38px);line-height:1.08}.intro-copy{max-width:680px;color:var(--muted);margin-bottom:0;font-size:15px;line-height:1.7}.source-note{border-left:3px solid var(--blue);align-self:end;padding:4px 0 4px 16px}.source-note span,.source-note p{color:var(--muted);font-size:12px}.source-note strong{letter-spacing:-.02em;margin:7px 0;font-size:13px;display:block}.source-note p{margin-bottom:0;line-height:1.55}.store-empty-banner{background:#fff8f0;border:1px solid #f0d5b6;border-radius:15px;justify-content:space-between;align-items:center;gap:20px;margin-bottom:14px;padding:16px 18px;display:flex}.store-empty-banner strong,.store-empty-banner span{display:block}.store-empty-banner strong{color:#7d431b;font-size:13px}.store-empty-banner span{color:#89664e;margin-top:5px;font-size:11px;line-height:1.55}.metric-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;display:grid}.metric-card{background:var(--card);border:1px solid #0000;border-radius:18px;min-height:149px;padding:18px;box-shadow:0 1px #17211f08}.metric-card p{color:var(--muted);margin-bottom:13px;font-size:12px}.metric-card strong{letter-spacing:-.07em;margin-bottom:11px;font-size:clamp(23px,2.5vw,32px);line-height:1;display:block}.metric-card span{color:var(--muted);font-size:11px}.metric-card--blue{background:var(--blue-soft);border-color:#d9e3ff}.metric-card--green{background:var(--green-soft);border-color:#c5e2d7}.metric-card--orange{background:var(--orange-soft);border-color:#ffe3c8}.metric-card--red{background:#fce9e7;border-color:#f4cfca}.metric-card__value--good,.roi-value--good{color:var(--green)}.metric-card__value--bad,.roi-value--bad{color:#c03932}.metric-card__value--neutral,.roi-value--neutral{color:var(--ink)}.metric-card--ink{background:var(--ink)}.metric-card--ink p,.metric-card--ink span{color:#b8c7c2}.metric-card--ink strong{color:#fff}.analysis-grid{grid-template-columns:minmax(0,1.45fr) minmax(330px,.8fr);gap:14px;margin-top:14px;display:grid}.panel{border:1px solid var(--line);background:var(--card);min-height:356px;box-shadow:var(--shadow);border-radius:20px;padding:23px}.panel-heading{justify-content:space-between;gap:16px}.panel-heading h3{letter-spacing:-.05em;margin-bottom:0;font-size:19px}.panel-kicker{border:1px solid var(--line);color:var(--muted);white-space:nowrap;border-radius:99px;padding:6px 9px;font-size:11px}.trend-chart{height:256px;margin-top:29px}.trend-scale{color:var(--muted);justify-content:space-between;font-size:11px;display:flex}.trend-bars{border-bottom:1px solid var(--line);grid-template-columns:repeat(7,1fr);gap:12px;height:216px;padding:13px 4px 0;display:grid}.trend-day{text-align:center;grid-template-rows:18px 1fr 20px;gap:7px;min-width:0;display:grid}.trend-value{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.trend-track{background:repeating-linear-gradient(#0000 0 42px,#edf0ec 43px);border-radius:7px 7px 0 0;align-items:flex-end;height:100%;display:flex}.trend-bar{background:linear-gradient(180deg, #416ef1 0%, var(--blue) 100%);border-radius:7px 7px 0 0;width:100%;min-height:10px}.trend-day span{color:var(--muted);font-size:10px}.scene-list{gap:25px;margin-top:34px;display:grid}.scene-row__heading{justify-content:space-between;gap:16px}.scene-row__heading strong{letter-spacing:-.03em;margin-bottom:4px;font-size:14px;display:block}.scene-row__heading span,.scene-row__metrics{color:var(--muted);font-size:11px}.scene-row__metrics b{font-weight:800}.scene-row__heading b{color:var(--blue);font-size:14px}.scene-progress{background:#edf0ec;border-radius:99px;height:7px;margin:12px 0 8px;overflow:hidden}.scene-progress i{border-radius:inherit;background:var(--blue);height:100%;display:block}.scene-row:nth-child(2) .scene-progress i{background:var(--orange)}.scene-row__metrics{justify-content:space-between}.rule-banner{background:#eef8f4;border:1px solid #cae0d7;border-radius:20px;grid-template-columns:36px 1fr auto;align-items:center;gap:16px;margin-top:14px;padding:21px;display:grid}.rule-banner__icon{background:var(--green);color:#fff;border-radius:50%;place-items:center;width:34px;height:34px;font-weight:900;display:grid}.rule-banner h3{letter-spacing:-.04em;margin-bottom:6px;font-size:17px}.rule-banner p:last-child{color:#547268;margin-bottom:0;font-size:12px;line-height:1.6}.rule-tags{flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:220px;display:flex}.rule-tags span{color:#38725f;background:#fff;border:1px solid #bfdace;border-radius:99px;padding:6px 9px;font-size:11px;font-weight:700}.plans-section{padding-top:50px}.plans-header{justify-content:space-between;gap:20px}.plans-header p{color:var(--muted);font-size:12px}.filter-row{flex-wrap:wrap;gap:10px;margin:21px 0 15px}.search-box,.select-box{border:1px solid var(--line);background:#fff;border-radius:11px;align-items:center;gap:10px;min-height:42px;padding:0 12px;display:flex}.search-box span,.select-box span,.sort-group>span{color:var(--muted);font-size:11px;font-weight:700}.search-box input{width:190px;color:var(--ink);border:0;outline:0;font-size:12px}.search-box input::placeholder{color:#a6aeaa}.select-box select{color:var(--ink);background:0 0;border:0;outline:0;font-size:12px}.sort-group{align-items:center;gap:5px;margin-left:auto;display:flex}.sort-group button{border:1px solid var(--line);color:var(--muted);background:0 0;border-radius:8px;padding:7px 9px;font-size:11px}.sort-group button.is-active{border-color:var(--ink);background:var(--ink);color:#fff}.sort-group select{border:1px solid var(--line);max-width:150px;color:var(--ink);background:#fff;border-radius:8px;outline:0;padding:7px 8px;font-size:11px}.metric-filter-row{background:#f5f9f7;border:1px solid #d5e1dc;border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;margin:-4px 0 15px;padding:10px;display:flex}.metric-filter-row>span{color:#4f625b;font-size:11px;font-weight:800}.metric-filter-row select,.metric-filter-row input{min-height:33px;color:var(--ink);background:#fff;border:1px solid #d4dfda;border-radius:8px;outline:0;padding:7px 8px;font-size:11px}.metric-filter-row input{width:148px}.metric-filter-row input[type=date]{width:143px}.metric-filter-row select:focus,.metric-filter-row input:focus{border-color:var(--green);box-shadow:0 0 0 3px #dff2eb}.date-filter-label{color:#4f625b!important}.date-filter-separator{color:var(--muted);font-size:11px;font-style:normal}.date-filter-note{color:var(--muted);white-space:nowrap;font-size:10px;font-style:normal}.filter-divider{background:#d9e3de;width:1px;height:24px;margin:0 2px}.filter-add-button,.filter-clear-button{border-radius:8px;padding:8px 10px;font-size:11px;font-weight:750}.filter-add-button{background:var(--green);color:#fff;border:0}.filter-add-button:hover{background:#076952}.filter-clear-button{border:1px solid var(--line);color:var(--muted);background:#fff}.filter-clear-button:hover{color:var(--ink)}.metric-filter-row small{color:var(--muted);flex-basis:100%;font-size:10px}.filter-error{color:#b02c23;flex-basis:100%;margin:0;font-size:11px}.filter-tags{flex-wrap:wrap;flex-basis:100%;gap:6px;padding-top:2px;display:flex}.filter-tags button{color:#356557;background:#fff;border:1px solid #bad7cb;border-radius:99px;padding:5px 8px;font-size:10px}.filter-tags button:hover{border-color:var(--green)}.filter-tags span{margin-left:4px;font-size:13px;line-height:0}.table-wrap{border:1px solid var(--line);background:#fff;border-radius:17px;overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%;min-width:930px}th{border-bottom:1px solid var(--line);color:var(--muted);letter-spacing:.07em;text-transform:uppercase;padding:14px 16px;font-size:10px;font-weight:750}.table-sort{color:inherit;font:inherit;font-weight:inherit;letter-spacing:inherit;text-transform:inherit;white-space:nowrap;background:0 0;border:0;padding:0}.table-sort span{color:#9aa6a1;margin-left:5px;font-size:11px}.table-sort:hover,.table-sort.is-active{color:var(--ink)}.table-sort.is-active span{color:var(--blue)}td{color:#3d4744;white-space:nowrap;border-bottom:1px solid #edf0ec;padding:15px 16px;font-size:12px}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#f7faf8}td strong{max-width:240px;color:var(--ink);text-overflow:ellipsis;font-size:12px;display:block;overflow:hidden}td>span:not(.scene-chip){color:var(--muted);margin-top:4px;font-size:10px;display:block}.scene-chip{color:#4e615b;background:#eff3f0;border-radius:99px;padding:5px 8px;font-size:10px;display:inline-block}.roi-cell{font-weight:800}.detail-button{background:var(--blue-soft);color:var(--blue);border:0;border-radius:7px;padding:7px 9px;font-size:11px;font-weight:750}.empty-state{color:var(--muted);text-align:center;margin:0;padding:35px;font-size:13px}.drawer-backdrop{z-index:10;background:#111b184d;justify-content:flex-end;padding:16px;display:flex;position:fixed;inset:0}.plan-drawer{background:#fff;border-radius:22px;width:min(510px,100%);min-height:100%;padding:33px;overflow-y:auto;box-shadow:-20px 0 60px #121f1a2b}.close-button{float:right;border:1px solid var(--line);width:33px;height:33px;color:var(--ink);background:#fff;border-radius:50%;font-size:23px;line-height:1}.plan-drawer h2{clear:both;letter-spacing:-.06em;margin:4px 0 7px;padding-top:6px;font-size:27px}.drawer-id{color:var(--muted);margin-bottom:26px;font-size:12px}.drawer-metrics{grid-template-columns:1fr 1fr;gap:10px;display:grid}.drawer-metrics .metric-card{min-height:122px}.drawer-metrics .metric-card strong{font-size:22px}.drawer-callout{background:var(--paper);border-radius:14px;margin-top:13px;padding:16px}.drawer-callout strong{font-size:13px}.drawer-callout p{color:var(--muted);margin:6px 0 0;font-size:12px;line-height:1.6}.upload-backdrop{z-index:20;background:#111b1857;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.upload-dialog{background:#fff;border:1px solid #dce4e1;border-radius:22px;width:min(520px,100%);padding:30px;box-shadow:0 24px 70px #111b1838}.upload-dialog h2{clear:both;letter-spacing:-.06em;margin:4px 0 10px;padding-top:4px;font-size:26px}.upload-dialog__copy{color:var(--muted);margin-bottom:20px;font-size:13px;line-height:1.7}.file-picker{min-height:172px;color:var(--green);text-align:center;background:#f5fbf8;border:1.5px dashed #aacfc1;border-radius:15px;place-items:center;padding:20px;transition:background .14s,border-color .14s;display:grid}.file-picker:hover{border-color:var(--green);background:#ecf8f3}.file-picker input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.file-picker__icon{background:var(--green);color:#fff;border-radius:11px;place-items:center;width:38px;height:38px;margin-bottom:8px;font-size:23px;line-height:1;display:grid}.file-picker strong{font-size:14px}.file-picker small{color:#638278;margin-top:5px;font-size:11px}.upload-error{color:#b02c23;margin:12px 0 0;font-size:12px}.selected-file{background:#f2faf6;border:1px solid #cce2d8;border-radius:12px;justify-content:space-between;align-items:center;gap:15px;margin-top:13px;padding:13px;display:flex}.selected-file span,.selected-file small{color:var(--muted);font-size:10px;display:block}.selected-file strong{max-width:330px;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;margin:4px 0;font-size:12px;display:block;overflow:hidden}.selected-file button{color:var(--blue);background:0 0;border:0;flex:none;font-size:11px}.selected-file button:hover{text-decoration:underline}.upload-note{background:var(--paper);border-radius:12px;margin-top:17px;padding:14px}.upload-note strong{font-size:12px}.upload-note p{color:var(--muted);margin:5px 0 0;font-size:11px;line-height:1.6}.upload-actions{justify-content:flex-end;gap:9px;margin-top:19px;display:flex}.upload-cancel{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:9px;padding:10px 14px;font-size:12px;font-weight:700}.upload-cancel:hover{color:var(--ink);border-color:#bfc8c4}.upload-close{background:var(--green);color:#fff;border:0;border-radius:9px;padding:10px 16px;font-size:12px;font-weight:800}.upload-close:hover{background:#076952}.upload-close:disabled,.upload-cancel:disabled{cursor:not-allowed;opacity:.62}.account-dialog{background:#fff;border:1px solid #dce4e1;border-radius:22px;width:min(780px,100%);max-height:min(800px,100vh - 40px);padding:30px;overflow-y:auto;box-shadow:0 24px 70px #111b1838}.account-dialog h2{clear:both;letter-spacing:-.06em;margin:4px 0 10px;padding-top:4px;font-size:26px}.account-dialog__copy{max-width:630px;color:var(--muted);margin-bottom:20px;font-size:13px;line-height:1.7}.account-create{background:#f3faf6;border:1px solid #cde1d8;border-radius:15px;padding:17px}.account-form-heading,.account-list-heading,.account-row,.password-reset,.password-reset__actions{align-items:center;display:flex}.account-form-heading{justify-content:space-between;gap:14px;margin-bottom:14px}.account-form-heading strong,.account-list-heading strong,.password-reset strong{font-size:13px}.account-form-heading span,.account-list-heading span,.password-reset span{color:var(--muted);font-size:11px}.account-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;display:grid}.account-form-grid label{gap:6px;display:grid}.account-form-grid label>span{color:#52605b;font-size:11px;font-weight:750}.account-form-grid input,.account-form-grid select,.password-reset input{width:100%;min-height:39px;color:var(--ink);background:#fff;border:1px solid #d5e2dc;border-radius:9px;outline:none;padding:9px 10px;font-size:12px}.account-form-grid input:focus,.account-form-grid select:focus,.password-reset input:focus{border-color:var(--green);box-shadow:0 0 0 3px #dff2eb}.account-primary{background:var(--green);color:#fff;border:0;border-radius:9px;padding:10px 14px;font-size:12px;font-weight:800}.account-create .account-primary{margin-top:14px}.account-primary:hover{background:#076952}.account-primary:disabled,.account-refresh:disabled,.account-password-button:disabled{cursor:not-allowed;opacity:.6}.account-list-heading{justify-content:space-between;gap:15px;margin:24px 0 10px}.account-list-heading>div{gap:3px;display:grid}.account-refresh{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:8px;padding:7px 10px;font-size:11px;font-weight:700}.account-refresh:hover{color:var(--ink);border-color:#bfc8c4}.account-list{border:1px solid var(--line);border-radius:13px;overflow:hidden}.account-row{border-bottom:1px solid #edf0ec;justify-content:space-between;gap:12px;min-height:66px;padding:11px 13px}.account-row:last-child{border-bottom:0}.account-row__identity{flex:1;min-width:0}.account-row__identity strong,.account-row__identity span{display:block}.account-row__identity strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.account-row__identity span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:10px;overflow:hidden}.account-role-select select{border:1px solid var(--line);min-height:31px;color:var(--ink);background:#fff;border-radius:8px;outline:none;padding:5px 7px;font-size:11px}.account-role-select select:disabled{cursor:not-allowed;color:#71807a;background:#f2f4f2}.account-password-button{background:var(--blue-soft);color:var(--blue);border:0;border-radius:8px;flex:none;padding:8px 9px;font-size:11px;font-weight:750}.account-password-button:hover{background:#dbe5ff}.account-empty{color:var(--muted);text-align:center;margin:0;padding:25px;font-size:12px}.password-reset{background:#f4f7ff;border:1px solid #cbdaf9;border-radius:13px;grid-template-columns:1fr auto;gap:13px 18px;margin-top:14px;padding:15px;display:grid}.password-reset>div:first-child{gap:4px;display:grid}.password-reset__fields{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:10px;display:grid}.password-reset__actions{justify-content:flex-end;gap:8px}.account-error{color:#b02c23;margin:13px 0 0;font-size:12px;line-height:1.5}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.loading-page{text-align:center;place-content:center;gap:12px;min-height:100vh;display:grid}.loading-page .loading-mark{margin:auto}.loading-page p{color:var(--muted);font-size:13px}@media (width<=1050px){.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.analysis-grid{grid-template-columns:1fr}}@media (width<=720px){.app-shell{padding:22px 16px 50px}.hero,.intro-grid{display:block}.hero__summary{flex-wrap:wrap;justify-content:flex-start;margin-top:20px}.intro-grid{padding:37px 0 25px}.source-note{margin-top:28px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-card{min-height:132px}.metric-card:last-child{grid-column:span 2}.panel{padding:18px}.trend-bars{gap:6px}.trend-value{font-size:8px}.rule-banner{grid-template-columns:34px 1fr}.rule-tags{grid-column:2;justify-content:flex-start}.plans-header{display:block}.filter-row{align-items:stretch}.search-box{flex:100%}.search-box input{width:100%}.sort-group{flex-wrap:wrap;width:100%;margin-left:0}.metric-filter-row{align-items:stretch}.metric-filter-row>span,.metric-filter-row small,.filter-error,.filter-tags{width:100%}.metric-filter-row select,.metric-filter-row input{flex:42%;min-width:0}.metric-filter-row input[type=date]{width:auto}.date-filter-separator,.date-filter-note{align-self:center}.filter-divider{flex-basis:100%;width:100%;height:1px;margin:2px 0}.upload-dialog,.account-dialog{padding:24px 20px}.store-picker{padding:25px 20px}.store-create{grid-template-columns:1fr}.store-create .account-primary{width:100%}.store-empty-banner{flex-direction:column;align-items:flex-start}.account-form-grid,.password-reset__fields{grid-template-columns:1fr}.account-row{flex-wrap:wrap}.account-row__identity{flex-basis:calc(100% - 10px)}.password-reset{grid-template-columns:1fr}.password-reset__actions{justify-content:stretch}.password-reset__actions button{flex:1}}
