@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@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;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}.absolute{position:absolute}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.row-1{grid-row:1}.row-2{grid-row:2}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.hidden{display:none}.inline{display:inline}.table{display:table}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--label-strong:#000;--label-normal:#171719;--label-alt:#2e2f33e0;--label-assistive:#37383c9c;--label-disable:#37383c47;--label-inverse:#fff;--bg-normal:#fff;--bg-alt:#f7f7f8;--bg-elevated:#fff;--bg-elevated-alt:#f4f4f5;--bg-inverse:#171719;--bg-page:#f4f4f5;--line-soft:#70737c14;--line-normal:#70737c38;--line-strong:#70737c8c;--primary-normal:#06f;--primary-strong:#005eeb;--primary-heavy:#0050c7;--primary-soft:#eaf2fe;--primary-soft-ink:#003b95;--status-positive:#00a638;--status-positive-soft:#e6f8ec;--status-positive-ink:#006b25;--status-cautionary:#ff8a1f;--status-cautionary-soft:#fff1e2;--status-cautionary-ink:#9c5612;--status-negative:#ff4242;--status-negative-soft:#feeaea;--status-negative-ink:#a82323;--hover:#0000000a;--pressed:#00000014;--selected:#0066ff0f;--r-2:2px;--r-4:4px;--r-6:6px;--r-8:8px;--r-12:12px;--r-16:16px;--r-20:20px;--r-24:24px;--r-32:32px;--r-pill:9999px;--shadow-emphasize:0 1px 4px #00000014;--shadow-strong:0 6px 12px #1717170f, 0 1px 4px #17171712;--shadow-heavy:0 8px 24px #1717171a, 0 2px 6px #1717170f;--shadow-overlay:0 16px 40px #0000001f;--font-sans:"Pretendard", "Pretendard JP", -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Noto Sans KR", "Helvetica Neue", Arial, sans-serif;--font-mono:"JetBrains Mono", "SF Mono", ui-monospace, Menlo, Consolas, monospace}[data-theme=dark]{--label-strong:#fff;--label-normal:#f4f4f5;--label-alt:#f4f4f5d1;--label-assistive:#f4f4f58c;--label-disable:#f4f4f53d;--label-inverse:#171719;--bg-normal:#1b1c1e;--bg-alt:#171719;--bg-elevated:#232428;--bg-elevated-alt:#2a2b2f;--bg-inverse:#f4f4f5;--bg-page:#0f1012;--line-soft:#ffffff0f;--line-normal:#ffffff24;--line-strong:#ffffff52;--primary-normal:#3385ff;--primary-strong:#5b95fe;--primary-heavy:#84affe;--primary-soft:#0066ff29;--primary-soft-ink:#adcafe;--status-positive:#4ade80;--status-positive-soft:#00bf4029;--status-positive-ink:#86efac;--status-cautionary:#fbbf24;--status-cautionary-soft:#ff8a1f29;--status-cautionary-ink:#fcd34d;--status-negative:#ff6b6b;--status-negative-soft:#ff424229;--status-negative-ink:#fca5a5;--hover:#ffffff0d;--pressed:#ffffff1a;--selected:#5b95fe1a}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}html,body{margin:0;padding:0}body{font-family:var(--font-sans);color:var(--label-normal);background:var(--bg-page);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"ss01" 1,"tnum" 0;font-size:15px;line-height:1.47;transition:background .2s cubic-bezier(.2,.8,.2,1),color .2s cubic-bezier(.2,.8,.2,1)}button{font-family:inherit;font-size:inherit;cursor:pointer;color:inherit;background:0 0;border:0;padding:0}input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}a{color:var(--primary-normal);text-decoration:none}a:hover{text-decoration:underline}.num,.tnum{font-feature-settings:"tnum" 1,"ss01" 1;font-variant-numeric:tabular-nums}.mono{font-family:var(--font-mono)}.kw{word-break:keep-all}.display-2{letter-spacing:-.027em;font-size:36px;font-weight:700;line-height:1.33}.title-1{letter-spacing:-.024em;font-size:28px;font-weight:700;line-height:1.36}.title-2{letter-spacing:-.023em;font-size:24px;font-weight:700;line-height:1.33}.title-3{letter-spacing:-.02em;font-size:21px;font-weight:700;line-height:1.33}.heading-1{letter-spacing:-.012em;font-size:20px;font-weight:600;line-height:1.4}.heading-2{letter-spacing:-.008em;font-size:18px;font-weight:600;line-height:1.44}.body-1{font-size:17px;line-height:1.5}.body-2{font-size:16px;line-height:1.5}.body-3{font-size:15px;line-height:1.47}.label{letter-spacing:.014em;font-size:14px;font-weight:600;line-height:1.43}.cap{letter-spacing:.018em;font-size:13px;line-height:1.46}.tiny{letter-spacing:.024em;text-transform:uppercase;font-size:11px;font-weight:600;line-height:1.45}.muted{color:var(--label-assistive)}.alt{color:var(--label-alt)}.showcase{grid-template-rows:64px 1fr;min-height:100vh;display:grid}.showcase-top{background:var(--bg-normal);border-bottom:1px solid var(--line-normal);z-index:50;grid-template-columns:1fr auto;align-items:center;gap:16px;padding:0 32px;display:grid;position:sticky;top:0}.showcase-top .brand{align-items:center;gap:12px;display:flex}.showcase-top .brand-mark{background:var(--label-normal);width:28px;height:28px;color:var(--label-inverse);border-radius:8px;place-items:center;font-size:14px;font-weight:700;display:grid}.showcase-top .brand-text{font-size:15px;font-weight:600}.showcase-top .brand-meta{color:var(--label-assistive);border-left:1px solid var(--line-normal);margin-left:8px;padding-left:12px;font-size:13px}.showcase-top .comment-hint{border:1px solid var(--primary-normal);align-items:center;gap:8px;margin-left:12px;padding:6px 12px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.showcase-top .comment-hint{border:1px solid color-mix(in oklab,var(--primary-normal) 35%,var(--line-normal))}}.showcase-top .comment-hint{background:var(--primary-normal)}@supports (color:color-mix(in lab,red,red)){.showcase-top .comment-hint{background:color-mix(in oklab,var(--primary-normal) 6%,var(--bg-normal))}}.showcase-top .comment-hint{color:var(--primary-normal)}@supports (color:color-mix(in lab,red,red)){.showcase-top .comment-hint{color:color-mix(in oklab,var(--primary-normal) 80%,var(--label-normal))}}.showcase-top .comment-hint{letter-spacing:.005em;cursor:help;border-radius:9999px;font-size:12px;font-weight:600}.showcase-top .comment-hint__dot{background:var(--primary-normal);width:6px;height:6px;box-shadow:0 0 0 0 var(--primary-normal);border-radius:50%}@supports (color:color-mix(in lab,red,red)){.showcase-top .comment-hint__dot{box-shadow:0 0 color-mix(in oklab,var(--primary-normal) 60%,transparent)}}.showcase-top .comment-hint__dot{animation:2.4s ease-out infinite comment-hint-pulse}@keyframes comment-hint-pulse{0%{box-shadow:0 0 color-mix(in oklab,var(--primary-normal) 70%,transparent)}70%{box-shadow:0 0 0 8px color-mix(in oklab,var(--primary-normal) 0%,transparent)}to{box-shadow:0 0 color-mix(in oklab,var(--primary-normal) 0%,transparent)}}@media(max-width:1100px){.showcase-top .comment-hint span:last-child{display:none}}.viewport>.screen-host{display:block}.viewport.is-mobile>.screen-host{display:none!important}.viewport>.mobile-host{display:none}.viewport.is-mobile>.mobile-host{display:block}html[data-od-comment-mode] [data-od-id]{outline:1px dashed var(--primary-normal)}@supports (color:color-mix(in lab,red,red)){html[data-od-comment-mode] [data-od-id]{outline:1px dashed color-mix(in oklab,var(--primary-normal) 55%,transparent)}}html[data-od-comment-mode] [data-od-id]{outline-offset:2px;transition:outline-color .12s,background-color .12s}html[data-od-comment-mode] [data-od-id]:hover{outline:2px solid var(--primary-normal);background-color:var(--primary-normal)}@supports (color:color-mix(in lab,red,red)){html[data-od-comment-mode] [data-od-id]:hover{background-color:color-mix(in oklab,var(--primary-normal) 8%,transparent)}}.showcase-top .actions{align-items:center;gap:8px;display:flex}.showcase-toggle{border:1px solid var(--line-normal);height:36px;color:var(--label-normal);background:var(--bg-normal);border-radius:8px;align-items:center;gap:6px;padding:0 14px;font-size:14px;font-weight:600;transition:background .15s,border-color .15s;display:inline-flex}.showcase-toggle:hover{background:var(--hover)}.showcase-toggle.active{background:var(--label-normal);color:var(--label-inverse);border-color:var(--label-normal)}.showcase-toggle svg{width:14px;height:14px}.shell{grid-template-columns:240px 1fr;gap:0;min-height:calc(100vh - 64px);display:grid}.sidebar{background:var(--bg-normal);border-right:1px solid var(--line-normal);padding:24px 16px;overflow-y:auto}.sidebar-section+.sidebar-section{margin-top:24px}.sidebar-label{letter-spacing:.06em;text-transform:uppercase;color:var(--label-assistive);padding:0 12px 8px;font-size:11px;font-weight:600}.sidebar-item{width:100%;color:var(--label-alt);text-align:left;border-radius:8px;align-items:center;gap:8px;padding:10px 12px;font-size:14px;font-weight:500;transition:background .15s,color .15s;display:flex}.sidebar-item:hover{background:var(--hover);color:var(--label-normal)}.sidebar-item.active{background:var(--primary-soft);color:var(--primary-soft-ink);font-weight:600}[data-theme=dark] .sidebar-item.active{color:var(--primary-strong)}.sidebar-item .num-tag{font-family:var(--font-mono);color:var(--label-assistive);margin-right:4px;font-size:11px}.sidebar-item.active .num-tag{color:inherit;opacity:.7}.sidebar-foot{background:var(--bg-alt);border:1px solid var(--line-soft);border-radius:12px;margin-top:32px;padding:12px}.sidebar-foot .cap{color:var(--label-assistive)}.sidebar-foot .label{color:var(--label-normal);margin-top:4px}.main{padding:32px;overflow:hidden}.browser-chrome{background:var(--bg-normal);box-shadow:var(--shadow-strong);border:1px solid var(--line-normal);border-radius:12px;overflow:hidden}.browser-bar{background:var(--bg-elevated-alt);border-bottom:1px solid var(--line-normal);grid-template-columns:80px 1fr 80px;align-items:center;gap:12px;padding:10px 16px;display:grid}.traffic{gap:8px;display:flex}.traffic span{border-radius:50%;width:12px;height:12px;display:block}.traffic span:first-child{background:#ff5f57}.traffic span:nth-child(2){background:#febc2e}.traffic span:nth-child(3){background:#28c840}.url-bar{background:var(--bg-normal);border:1px solid var(--line-soft);height:28px;color:var(--label-assistive);font-size:12px;font-family:var(--font-mono);border-radius:6px;align-items:center;gap:8px;width:100%;max-width:480px;margin:0 auto;padding:0 12px;display:flex}.url-bar .lock{color:var(--status-positive)}.url-bar .path{color:var(--label-alt)}.browser-actions{color:var(--label-assistive);justify-content:flex-end;gap:12px;display:flex}.browser-actions svg{width:14px;height:14px}.viewport{background:var(--bg-page);scroll-behavior:smooth;max-height:calc(100vh - 200px);overflow-y:auto}.viewport.tall{max-height:calc(100vh - 200px)}.gallery{grid-template-columns:repeat(2,1fr);gap:24px;display:none}.showcase[data-view=all] .shell{display:none}.showcase[data-view=all] .gallery-wrap{display:block}.gallery-wrap{padding:32px;display:none}.gallery-wrap .gallery{display:grid}.gallery-card{background:var(--bg-normal);border:1px solid var(--line-normal);box-shadow:var(--shadow-emphasize);border-radius:12px;overflow:hidden}.gallery-card .browser-bar{padding:8px 12px}.gallery-card .browser-bar .url-bar{height:24px;font-size:11px}.gallery-card .traffic span{width:10px;height:10px}.gallery-card .frame{aspect-ratio:16/11;transform-origin:0 0;width:100%}.gallery-card .frame-inner{transform-origin:0 0;width:1280px;transform:scale(.5)}.gallery-card .frame-shell{background:var(--bg-page);width:100%;overflow:hidden}.gallery-card .label-row{border-top:1px solid var(--line-soft);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.gallery-card .label-row .heading-2{font-size:16px;font-weight:600}.gallery-card .label-row .tiny{color:var(--label-assistive)}.gallery-card .frame-shell .app-shell{height:720px}.static-canvas{padding-bottom:64px}.static-section{max-width:1480px;margin:0 auto;padding:32px}.static-section+.static-section{border-top:1px solid var(--line-soft);padding-top:40px}.static-section-head{margin-bottom:24px}.static-section-head .eyebrow{letter-spacing:.06em;color:var(--label-assistive);text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:600}.static-section-head h2{margin:0 0 8px}.static-section-head p{color:var(--label-assistive);max-width:720px;margin:0;font-size:14px;line-height:1.6}.static-section-head .test-tip{border-radius:var(--r-8);background:var(--primary-soft);color:var(--primary-soft-ink);margin-top:14px;padding:10px 14px;font-size:13px;line-height:1.5;display:inline-block}.static-section-head .test-tip strong{letter-spacing:.04em;text-transform:uppercase;margin-bottom:4px;font-size:12px;display:block}.static-section-head .test-tip kbd{font-family:var(--font-mono);background:var(--bg-normal);border:1px solid var(--line-normal);border-radius:3px;padding:1px 5px;font-size:11px}.static-stack{gap:32px;display:grid}.desktop-card{background:var(--bg-normal);border:1px solid var(--line-normal);box-shadow:var(--shadow-strong);border-radius:12px;overflow:hidden}.desktop-card-head{border-bottom:1px solid var(--line-soft);background:var(--bg-normal);align-items:baseline;gap:12px;padding:14px 20px;display:flex}.desktop-card-head .num{font-family:var(--font-mono);color:var(--label-assistive);letter-spacing:.05em;font-size:12px;font-weight:600}.desktop-card-head h3{color:var(--label-normal);margin:0;font-size:16px;font-weight:600}.desktop-card-head .path{font-family:var(--font-mono);color:var(--label-assistive);margin-left:auto;font-size:12px}.desktop-card .browser-bar{padding:8px 14px}.desktop-card .static-viewport{background:var(--bg-page);scroll-behavior:smooth;height:820px;overflow-y:auto}.desktop-card .static-viewport>.app-shell{min-height:100%}@media(max-width:1100px){.static-section{padding:24px 16px}.desktop-card .static-viewport{height:720px}.desktop-card-head .path{display:none}}@media(max-width:720px){.desktop-card .static-viewport{height:640px}}.app-shell{background:var(--bg-page);grid-template-rows:56px 1fr;min-height:100%;display:grid;position:relative}.app-top{background:var(--bg-normal);border-bottom:1px solid var(--line-normal);grid-template-columns:auto 1fr auto;align-items:center;gap:24px;padding:0 32px;display:grid}.app-logo{letter-spacing:-.01em;align-items:center;gap:8px;font-size:15px;font-weight:700;display:flex}.app-logo .mark{background:var(--primary-normal);color:#fff;border-radius:6px;place-items:center;width:24px;height:24px;font-size:12px;font-weight:700;display:grid}.app-nav{gap:4px;display:flex}.app-nav a{color:var(--label-alt);border-radius:6px;padding:8px 12px;font-size:14px;font-weight:500;transition:background .15s,color .15s}.app-nav a:hover{background:var(--hover);color:var(--label-normal);text-decoration:none}.app-nav a.active{color:var(--label-normal);font-weight:600}.app-nav a.active:after{content:"";background:var(--primary-normal);border-radius:2px 2px 0 0;height:2px;margin:2px -12px -12px;display:block}.app-top .right{align-items:center;gap:12px;display:flex}.upload-status-pill{background:var(--primary-soft);color:var(--primary-soft-ink);border-radius:999px;align-items:center;gap:8px;padding:6px 10px;font-size:12px;font-weight:600;display:inline-flex}[data-theme=dark] .upload-status-pill{color:var(--primary-strong)}.upload-status-pill .dot{background:var(--primary-normal);border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.5}}.avatar{color:#fff;background:linear-gradient(135deg,#84affe,#06f);border-radius:50%;place-items:center;width:28px;height:28px;font-size:12px;font-weight:700;display:grid}.app-page{max-width:1280px;margin:0 auto;padding:32px}.page-head{justify-content:space-between;align-items:flex-end;margin-bottom:24px;display:flex}.page-head .eyebrow{color:var(--label-assistive);letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px;font-size:12px;font-weight:600}.page-head h1{margin:0}.page-head .actions{align-items:center;gap:8px;display:flex}.btn{letter-spacing:-.01em;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:8px;height:40px;padding:0 18px;font-size:14px;font-weight:600;transition:background .15s,color .15s,border-color .15s,transform .15s;display:inline-flex}.btn:active{transform:scale(.985)}.btn--sm{border-radius:6px;gap:6px;height:32px;padding:0 12px;font-size:13px}.btn--lg{border-radius:10px;height:48px;padding:0 22px;font-size:16px;font-weight:700}.btn--primary{background:var(--primary-normal);color:#fff}.btn--primary:hover{background:var(--primary-strong)}.btn--primary:active{background:var(--primary-heavy)}.btn--inverse{background:var(--label-normal);color:var(--label-inverse)}.btn--inverse:hover{background:#000000d9}.btn--secondary{background:var(--bg-normal);color:var(--label-normal);border:1px solid var(--line-normal)}.btn--secondary:hover{background:var(--hover)}.btn--ghost{color:var(--label-alt)}.btn--ghost:hover{background:var(--hover);color:var(--label-normal)}.btn--soft{background:var(--primary-soft);color:var(--primary-soft-ink)}.btn--soft:hover{background:var(--primary-soft);filter:brightness(.96)}[data-theme=dark] .btn--soft{color:var(--primary-strong)}.btn--danger-ghost{color:var(--status-negative)}.btn--danger-ghost:hover{background:var(--status-negative-soft)}.btn--negative{background:var(--status-negative-soft);color:var(--status-negative-ink)}.btn--negative:hover{filter:brightness(.96)}.btn--icon{width:36px;height:36px;color:var(--label-alt);border-radius:8px;padding:0}.btn--icon:hover{background:var(--hover);color:var(--label-normal)}.btn--icon svg{width:16px;height:16px}.btn[disabled],.btn--disabled{pointer-events:none;background:var(--bg-elevated-alt)!important;color:var(--label-disable)!important;border-color:var(--line-soft)!important}.input-group{position:relative}.input{background:var(--bg-normal);border:1px solid var(--line-normal);height:36px;color:var(--label-normal);border-radius:8px;align-items:center;gap:8px;width:100%;padding:0 14px;font-size:14px;transition:border-color .15s,box-shadow .15s;display:inline-flex}.input:focus,.input:focus-within{border-color:var(--primary-normal);outline:none;box-shadow:0 0 0 3px #0066ff29}.input--lg{border-radius:10px;height:44px;padding:0 16px;font-size:15px}.input::placeholder{color:var(--label-assistive)}.input-with-icon{position:relative}.input-with-icon .input{padding-left:36px}.input-with-icon .ic{color:var(--label-assistive);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.input-with-icon .ic svg{width:14px;height:14px;display:block}.select{background:var(--bg-normal);border:1px solid var(--line-normal);appearance:none;cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M1 1L5 5L9 1' stroke='%2370737c' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-position:right 12px center;background-repeat:no-repeat;border-radius:8px;align-items:center;gap:8px;height:36px;padding:0 32px 0 12px;font-size:14px;font-weight:500;display:inline-flex}.checkbox{border:1.5px solid var(--line-strong);background:var(--bg-normal);cursor:pointer;border-radius:4px;flex-shrink:0;width:18px;height:18px;transition:background .15s,border-color .15s;position:relative}.checkbox:hover{border-color:var(--primary-normal)}.checkbox.checked{background:var(--primary-normal);border-color:var(--primary-normal)}.checkbox.checked:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:5px;height:9px;position:absolute;top:1px;left:4px;transform:rotate(45deg)}.checkbox.indeterminate{background:var(--primary-normal);border-color:var(--primary-normal)}.checkbox.indeterminate:after{content:"";background:#fff;height:2px;position:absolute;top:50%;left:3px;right:3px;transform:translateY(-50%)}.pill{letter-spacing:.005em;white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.pill .dot{border-radius:50%;width:6px;height:6px}.pill--positive{background:var(--status-positive-soft);color:var(--status-positive-ink)}.pill--positive .dot{background:var(--status-positive)}.pill--cautionary{background:var(--status-cautionary-soft);color:var(--status-cautionary-ink)}.pill--cautionary .dot{background:var(--status-cautionary)}.pill--negative{background:var(--status-negative-soft);color:var(--status-negative-ink)}.pill--negative .dot{background:var(--status-negative)}.pill--info{background:var(--primary-soft);color:var(--primary-soft-ink)}[data-theme=dark] .pill--info{color:var(--primary-strong)}.pill--info .dot{background:var(--primary-normal)}.pill--neutral{background:var(--bg-elevated-alt);color:var(--label-alt)}.pill--neutral .dot{background:var(--label-assistive)}.pill--ghost{border:1px solid var(--line-normal);color:var(--label-assistive);background:0 0}.card{background:var(--bg-normal);border:1px solid var(--line-normal);border-radius:16px;padding:24px}.card--lg{border-radius:20px}.card--alt{background:var(--bg-alt)}.card--inverse{background:var(--bg-inverse);color:var(--label-inverse);border-color:#0000}.kpi-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:32px;display:grid}.kpi{background:var(--bg-normal);border:1px solid var(--line-normal);cursor:pointer;border-radius:16px;padding:20px 22px;transition:border-color .15s,transform .15s;position:relative;overflow:hidden}.kpi:hover{border-color:var(--line-strong)}.kpi:hover .kpi-icon{transform:translateY(-1px)}.kpi-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.kpi-label{color:var(--label-assistive);padding-top:9px;font-size:13px;font-weight:500}.kpi-icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;transition:transform .18s cubic-bezier(.2,.8,.2,1);display:inline-flex}.kpi-icon svg{width:22px;height:22px;display:block}.kpi-icon--blue{background:var(--primary-soft);color:var(--primary-soft-ink)}.kpi-icon--cautionary{background:var(--status-cautionary-soft);color:var(--status-cautionary-ink)}.kpi-icon--positive{background:var(--status-positive-soft);color:var(--status-positive-ink)}.kpi-icon--neutral{color:var(--label-normal);background:#70737c1f}[data-theme=dark] .kpi-icon--neutral{color:var(--label-normal);background:#ffffff14}.kpi-value{letter-spacing:-.024em;color:var(--label-normal);font-feature-settings:"tnum" 1,"ss01" 1;font-variant-numeric:tabular-nums;align-items:baseline;gap:6px;font-size:32px;font-weight:700;line-height:1.2;display:flex}.kpi-value .unit{color:var(--label-assistive);letter-spacing:0;font-size:14px;font-weight:500}.kpi-foot{justify-content:space-between;align-items:center;gap:8px;margin-top:12px;display:flex}.kpi-trend{font-variant-numeric:tabular-nums;align-items:center;gap:4px;font-size:12px;font-weight:600;display:inline-flex}.kpi-trend.up{color:var(--status-positive)}.kpi-trend.down{color:var(--status-negative)}.kpi-trend.flat{color:var(--label-assistive)}.kpi--alert{background:linear-gradient(180deg,var(--status-cautionary-soft) 0%,var(--bg-normal) 60%);border-color:#ff8a1f52}[data-theme=dark] .kpi--alert{background:linear-gradient(180deg,#ff8a1f1a 0%,var(--bg-normal) 60%)}.kpi--alert .kpi-value{color:var(--status-cautionary-ink)}[data-theme=dark] .kpi--alert .kpi-value{color:var(--label-normal)}.kpi-pill-row{gap:6px;margin-top:8px;display:flex}.section{background:var(--bg-normal);border:1px solid var(--line-normal);border-radius:16px;overflow:hidden}.section+.section{margin-top:24px}.section-head{border-bottom:1px solid var(--line-normal);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.section-head h2{letter-spacing:-.012em;margin:0;font-size:17px;font-weight:700}.section-head .meta{color:var(--label-assistive);margin-left:8px;font-size:13px;font-weight:500}.toolbar{border-bottom:1px solid var(--line-soft);background:var(--bg-alt);grid-template-columns:minmax(220px,320px) auto 1fr auto;align-items:center;gap:8px;padding:14px 20px;display:grid}.toolbar--right{justify-content:flex-end;gap:8px;display:flex}.filter-group{background:var(--bg-normal);border:1px solid var(--line-normal);border-radius:8px;padding:2px;display:inline-flex}.filter-group button{color:var(--label-alt);border-radius:6px;padding:6px 14px;font-size:13px;font-weight:500;transition:background .15s,color .15s}.filter-group button.active{background:var(--label-normal);color:var(--label-inverse);font-weight:600}.filter-group button:not(.active):hover{background:var(--hover);color:var(--label-normal)}.selection-bar{background:var(--primary-soft);border-bottom:1px solid var(--line-soft);border-top:1px solid var(--line-soft);align-items:center;gap:8px;padding:12px 20px;display:flex}.selection-bar .count{color:var(--primary-soft-ink);font-size:13px;font-weight:600}[data-theme=dark] .selection-bar .count{color:var(--primary-strong)}.selection-bar .actions{gap:6px;margin-left:auto;display:flex}.table{border-collapse:collapse;width:100%}.table thead th{color:var(--label-assistive);letter-spacing:.04em;text-transform:uppercase;text-align:left;background:var(--bg-alt);border-bottom:1px solid var(--line-normal);white-space:nowrap;padding:12px 16px;font-size:12px;font-weight:600}.table thead th:first-child{padding-left:20px}.table thead th:last-child{padding-right:20px}.table tbody td{border-bottom:1px solid var(--line-soft);vertical-align:middle;padding:16px;font-size:14px}.table tbody td:first-child{padding-left:20px}.table tbody td:last-child{padding-right:20px}.table tbody tr{transition:background .15s}.table tbody tr:hover{background:var(--hover)}.table tbody tr.selected{background:var(--selected)}.table tbody tr:last-child td{border-bottom:0}.table .num-cell{font-feature-settings:"tnum" 1,"ss01" 1;font-variant-numeric:tabular-nums}.table .row-num{color:var(--label-assistive);font-family:var(--font-mono);font-size:12px}.file-cell{align-items:center;gap:10px;min-width:0;display:flex}.file-cell .file-ico{background:var(--bg-elevated-alt);width:28px;height:28px;color:var(--label-alt);border-radius:6px;flex-shrink:0;place-items:center;font-size:10px;font-weight:700;display:grid}.file-cell .file-ico.pdf{color:#dc2626;background:#fef2f2}.file-cell .file-ico.xlsx{color:#16a34a;background:#f0fdf4}.file-cell .file-ico.docx{color:#2563eb;background:#eff6ff}.file-cell .file-ico.csv{color:#ca8a04;background:#fefce8}[data-theme=dark] .file-cell .file-ico.pdf{color:#fca5a5;background:#dc262626}[data-theme=dark] .file-cell .file-ico.xlsx{color:#86efac;background:#16a34a26}[data-theme=dark] .file-cell .file-ico.docx{color:#93c5fd;background:#2563eb26}[data-theme=dark] .file-cell .file-ico.csv{color:#fde047;background:#ca8a0426}.file-cell .file-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:260px;font-weight:500;overflow:hidden}.file-cell .file-edit{opacity:0;color:var(--label-assistive);flex-shrink:0;transition:opacity .15s}.table tbody tr:hover .file-edit{opacity:1}.file-cell .file-edit:hover{color:var(--label-normal)}.row-actions{justify-content:flex-end;gap:4px;display:flex}.pagination{border-top:1px solid var(--line-soft);background:var(--bg-alt);justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.pagination .info{color:var(--label-assistive);font-size:13px}.pagination .controls{gap:4px;display:flex}.page-btn{width:32px;height:32px;color:var(--label-alt);border-radius:6px;place-items:center;font-size:13px;font-weight:500;transition:background .15s,color .15s;display:grid}.page-btn:hover{background:var(--hover);color:var(--label-normal)}.page-btn.active{background:var(--label-normal);color:var(--label-inverse);font-weight:600}.dash-split{display:block}.file-meta-line{color:var(--label-assistive);font-feature-settings:"tnum" 1;font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:8px 14px;margin-top:4px;font-size:11.5px;display:flex}.file-meta-line .item{align-items:center;gap:4px;display:inline-flex}.file-meta-line .item .lab{color:var(--label-disable);font-weight:500}.file-meta-line .item.warn{color:var(--status-cautionary-ink);font-weight:500}[data-theme=dark] .file-meta-line .item.warn{color:var(--status-cautionary)}.file-meta-line .item.warn .lab{color:inherit;opacity:.7}.drop-zone{border:2px dashed var(--line-strong);background:var(--bg-normal);text-align:center;border-radius:16px;padding:48px 24px;transition:border-color .15s,background .15s}.drop-zone:hover,.drop-zone.dragging,.drop-zone.state-dragging{border-color:var(--primary-normal);background:var(--primary-soft);border-style:solid}.drop-zone.state-busy{border-color:var(--primary-normal);background:var(--primary-soft);border-style:dashed}.drop-zone.state-success{border-color:var(--status-positive);background:var(--status-positive-soft);border-style:solid}.drop-zone.state-partial{border-color:var(--status-cautionary);background:var(--status-cautionary-soft);border-style:solid}.drop-zone.state-error{border-color:var(--status-negative);background:var(--status-negative-soft);border-style:solid}.drop-zone .icon-wrap{background:var(--primary-soft);width:56px;height:56px;color:var(--primary-soft-ink);border-radius:16px;place-items:center;margin:0 auto 16px;display:grid}.drop-zone.state-busy .icon-wrap svg{animation:1.2s linear infinite spin}.drop-zone.state-success .icon-wrap{color:var(--status-positive-ink);background:#00a6382e}.drop-zone.state-partial .icon-wrap{color:var(--status-cautionary-ink);background:#ff8a1f38}.drop-zone.state-error .icon-wrap{color:var(--status-negative-ink);background:#ff42422e}[data-theme=dark] .drop-zone .icon-wrap{color:var(--primary-strong)}.drop-zone .icon-wrap svg{width:24px;height:24px}@keyframes spin{to{transform:rotate(360deg)}}.drop-zone .state-meta{border-radius:9999px;align-items:center;gap:8px;margin-top:12px;padding:6px 14px;font-size:12px;font-weight:600;display:inline-flex}.drop-zone.state-busy .state-meta{color:var(--primary-soft-ink);background:#0066ff1a}.drop-zone.state-success .state-meta{color:var(--status-positive-ink);background:#00a63824}.drop-zone.state-partial .state-meta{color:var(--status-cautionary-ink);background:#ff8a1f2e}.drop-zone.state-error .state-meta{color:var(--status-negative-ink);background:#ff424224}.drop-zone .state-meta .dot{opacity:.85;background:currentColor;border-radius:50%;width:6px;height:6px}.drop-zone .formats{justify-content:center;gap:8px;margin-top:20px;display:flex}.format-chip{background:var(--bg-elevated-alt);color:var(--label-alt);font-size:12px;font-weight:600;font-family:var(--font-mono);border-radius:999px;padding:4px 10px}.upload-grid{grid-template-columns:1.4fr 1fr;gap:24px;display:grid}.progress-list .progress-item{border-bottom:1px solid var(--line-soft);grid-template-columns:36px 1fr auto;align-items:center;gap:12px;padding:14px 0;display:grid}.progress-list .progress-item:last-child{border-bottom:0}.progress-list .progress-item .meta{color:var(--label-assistive);font-feature-settings:"tnum" 1;font-variant-numeric:tabular-nums;font-size:12px}.progress-list .progress-item .file-name{font-size:14px;font-weight:500}.progress-bar{background:var(--bg-elevated-alt);border-radius:2px;height:4px;margin-top:6px;overflow:hidden}.progress-bar .fill{background:var(--primary-normal);border-radius:2px;height:100%;transition:width .2s}.progress-bar .fill.pos{background:var(--status-positive)}.progress-bar .fill.neg{background:var(--status-negative)}.state-preview-grid{grid-template-columns:repeat(5,1fr);gap:12px;padding:16px 24px 20px;display:grid}.state-card{flex-direction:column;gap:10px;min-width:0;display:flex}.state-card__head{display:flex}.state-pill{background:var(--bg-elevated-alt);color:var(--label-alt);letter-spacing:-.005em;border-radius:9999px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:600;display:inline-flex}.state-pill .dot{background:var(--label-assistive);border-radius:50%;width:6px;height:6px}.state-pill--info{background:var(--primary-soft);color:var(--primary-soft-ink)}.state-pill--info .dot{background:var(--primary-normal)}[data-theme=dark] .state-pill--info{color:var(--primary-strong)}.state-pill--cautionary{background:var(--status-cautionary-soft);color:var(--status-cautionary-ink)}.state-pill--cautionary .dot{background:var(--status-cautionary)}.state-pill--negative{background:var(--status-negative-soft);color:var(--status-negative-ink)}.state-pill--negative .dot{background:var(--status-negative)}.mini-drop{border:1.5px dashed var(--line-normal);background:var(--bg-normal);text-align:center;border-radius:12px;flex-direction:column;align-items:center;gap:6px;min-height:124px;padding:14px 12px;transition:border-color .15s,background .15s;display:flex}.mini-drop--dragging{border-color:var(--primary-normal);background:var(--primary-soft);border-style:solid}.mini-drop__icon{background:var(--bg-elevated-alt);width:28px;height:28px;color:var(--label-alt);border-radius:8px;place-items:center;display:grid}.mini-drop--dragging .mini-drop__icon{background:var(--bg-normal);color:var(--primary-normal)}.mini-drop__icon--spin{color:var(--primary-normal);animation:1.4s linear infinite state-spin}.mini-drop__icon--warn{background:var(--status-cautionary-soft);color:var(--status-cautionary-ink)}.mini-drop__icon--neg{background:var(--status-negative-soft);color:var(--status-negative-ink)}@keyframes state-spin{to{transform:rotate(360deg)}}.mini-drop__title{color:var(--label-normal);letter-spacing:-.005em;font-size:12.5px;font-weight:600}.mini-drop__meta{color:var(--label-assistive);font-feature-settings:"tnum" 1;font-variant-numeric:tabular-nums;font-size:11px}.mini-drop__progress{background:var(--bg-elevated-alt);border-radius:2px;width:100%;height:3px;overflow:hidden}.mini-drop__progress .fill{background:var(--primary-normal);border-radius:2px;height:100%}@media(max-width:1023px){.state-preview-grid{grid-template-columns:repeat(2,1fr)}}.upload-step{border-radius:10px;grid-template-columns:24px 1fr auto;align-items:center;gap:12px;padding:12px 16px;display:grid}.upload-step+.upload-step{margin-top:8px}.upload-step .step-ico{background:var(--bg-elevated-alt);width:24px;height:24px;color:var(--label-assistive);border-radius:50%;place-items:center;font-size:11px;font-weight:700;display:grid}.upload-step.active{background:var(--primary-soft)}.upload-step.active .step-ico{background:var(--primary-normal);color:#fff}.upload-step.done .step-ico{background:var(--status-positive);color:#fff}.upload-step .step-name{color:var(--label-alt);font-size:14px;font-weight:500}.upload-step.active .step-name{color:var(--primary-soft-ink);font-weight:600}[data-theme=dark] .upload-step.active .step-name{color:var(--primary-strong)}.upload-step.done .step-name{color:var(--status-positive-ink)}[data-theme=dark] .upload-step.done .step-name{color:var(--status-positive)}.upload-step .step-time{color:var(--label-assistive);font-size:12px;font-family:var(--font-mono)}.tabs{border-bottom:1px solid var(--line-normal);background:var(--bg-normal);gap:4px;padding:0 24px;display:flex}.tab-btn{color:var(--label-assistive);border-bottom:2px solid #0000;margin-bottom:-1px;padding:14px 16px;font-size:14px;font-weight:600;transition:color .15s,border-color .15s}.tab-btn:hover{color:var(--label-normal)}.tab-btn.active{color:var(--label-normal);border-bottom-color:var(--label-normal)}.tab-btn .count{color:var(--label-assistive);margin-left:4px;font-weight:500}.tab-pane{padding:24px}.tab-pane[hidden]{display:none}.reattach-banner{background:var(--status-cautionary-soft);border:1px solid var(--status-cautionary);grid-template-columns:28px 1fr auto;align-items:center;gap:12px;margin:0 24px;padding:12px 14px;display:grid}@supports (color:color-mix(in lab,red,red)){.reattach-banner{border:1px solid color-mix(in oklab,var(--status-cautionary) 28%,transparent)}}.reattach-banner{border-radius:12px}.reattach-banner__ic{background:var(--bg-normal);width:28px;height:28px;color:var(--status-cautionary-ink);border-radius:8px;place-items:center;display:grid}[data-theme=dark] .reattach-banner__ic{color:var(--status-cautionary)}.reattach-banner__title{color:var(--status-cautionary-ink);letter-spacing:-.005em;font-size:13px;font-weight:700}[data-theme=dark] .reattach-banner__title{color:var(--status-cautionary)}.reattach-banner__sub{color:var(--label-alt);font-feature-settings:"tnum" 1;font-variant-numeric:tabular-nums;margin-top:2px;font-size:11.5px}.reattach-banner__cta{white-space:nowrap}.pre-open-warning td{background:0 0;padding:0!important}.open-warning{background:var(--status-cautionary-soft);border:1px solid var(--status-cautionary);grid-template-columns:32px 1fr auto;align-items:center;gap:14px;margin:8px 14px;padding:12px 14px;display:grid}@supports (color:color-mix(in lab,red,red)){.open-warning{border:1px solid color-mix(in oklab,var(--status-cautionary) 40%,transparent)}}.open-warning{border-radius:12px;position:relative}.open-warning:after{content:"";background:var(--status-cautionary-soft);border-right:1px solid var(--status-cautionary);width:12px;height:12px;position:absolute;bottom:-7px;left:24px}@supports (color:color-mix(in lab,red,red)){.open-warning:after{border-right:1px solid color-mix(in oklab,var(--status-cautionary) 40%,transparent)}}.open-warning:after{border-bottom:1px solid var(--status-cautionary)}@supports (color:color-mix(in lab,red,red)){.open-warning:after{border-bottom:1px solid color-mix(in oklab,var(--status-cautionary) 40%,transparent)}}.open-warning:after{transform:rotate(45deg)}.open-warning__ic{background:var(--bg-normal);width:32px;height:32px;color:var(--status-cautionary-ink);border-radius:8px;place-items:center;display:grid}[data-theme=dark] .open-warning__ic{color:var(--status-cautionary)}.open-warning__title{color:var(--status-cautionary-ink);letter-spacing:-.005em;font-size:13px;font-weight:700}[data-theme=dark] .open-warning__title{color:var(--status-cautionary)}.open-warning__sub{color:var(--label-alt);margin-top:2px;font-size:12px;line-height:1.5}.open-warning__detail{color:var(--label-assistive);font-feature-settings:"tnum" 1;font-variant-numeric:tabular-nums;margin-top:4px;font-size:11.5px}.open-warning__detail strong{color:var(--label-normal);font-weight:600}.open-warning__actions{white-space:nowrap;align-items:center;gap:6px;display:flex}.evidence-grid{grid-template-columns:1fr 1fr;gap:16px;padding:16px 24px 8px;display:grid}@media(max-width:1100px){.evidence-grid{grid-template-columns:1fr}}.evidence-card{border:1px solid var(--line-normal);background:var(--bg-normal);border-radius:12px;flex-direction:column;min-width:0;display:flex;overflow:hidden}.evidence-card--alert{border-color:var(--status-cautionary)}@supports (color:color-mix(in lab,red,red)){.evidence-card--alert{border-color:color-mix(in oklab,var(--status-cautionary) 38%,transparent)}}.evidence-card__head{background:var(--bg-alt);border-bottom:1px solid var(--line-soft);flex-direction:column;gap:2px;padding:10px 14px;display:flex}.evidence-card__tag{letter-spacing:.02em;text-transform:uppercase;background:var(--label-normal);color:var(--label-inverse);border-radius:6px;align-self:flex-start;padding:3px 8px;font-size:11px;font-weight:700}.evidence-card__tag--alert{background:var(--status-cautionary-ink)}[data-theme=dark] .evidence-card__tag--alert{background:var(--status-cautionary);color:var(--bg-page)}.evidence-card__loc{color:var(--label-assistive);font-feature-settings:"tnum" 1;font-variant-numeric:tabular-nums;font-size:11.5px}.evidence-card__body{font-family:var(--font-mono);color:var(--label-alt);background:var(--bg-normal);white-space:pre;padding:14px 16px;font-size:12px;line-height:1.85;overflow-x:auto}.evidence-card__foot{border-top:1px dashed var(--line-soft);background:var(--bg-alt);padding:8px 14px}.evi-line{display:block}.evi-num{width:28px;color:var(--label-disable);text-align:right;-webkit-user-select:none;user-select:none;padding-right:10px;display:inline-block}.evi-text{color:var(--label-alt)}.evi-hl{background:0 0;border-radius:3px;padding:1px 3px;font-weight:600}.evi-hl--field{color:var(--primary-soft-ink);background:#0066ff24}[data-theme=dark] .evi-hl--field{color:var(--primary-strong)}.evi-hl--cas{color:var(--status-positive-ink);background:#00a63829}[data-theme=dark] .evi-hl--cas{color:var(--status-positive)}.evi-hl--name{color:#31248a;background:#7d63ff29}[data-theme=dark] .evi-hl--name{color:#9499fa}.evi-hl--qty{color:#004a5c;color:oklch(38% .12 220);background:#0096b424}[data-theme=dark] .evi-hl--qty{color:#2fb5d8}.evi-hl--warn{color:var(--status-cautionary-ink);background:#ff8a1f38}[data-theme=dark] .evi-hl--warn{color:var(--status-cautionary)}.evi-hl--reg{background:var(--status-cautionary-soft);color:var(--status-cautionary-ink);border:1px dashed var(--status-cautionary)}@supports (color:color-mix(in lab,red,red)){.evi-hl--reg{border:1px dashed color-mix(in oklab,var(--status-cautionary) 50%,transparent)}}.evi-hl--reg{padding:2px 6px}[data-theme=dark] .evi-hl--reg{color:var(--status-cautionary)}.evidence-legend{color:var(--label-assistive);flex-wrap:wrap;align-items:center;gap:6px 16px;padding:12px 24px 20px;font-size:11.5px;display:flex}.evi-legend-item{align-items:center;gap:6px;display:inline-flex}.evi-swatch{border-radius:2px;width:14px;height:10px;display:inline-block}.evi-swatch--field{background:#0066ff52}.evi-swatch--cas{background:#00a63852}.evi-swatch--name{background:#7d63ff52}.evi-swatch--qty{background:#0096b44d}.evi-swatch--warn{background:#ff8a1f6b}.form-grid{grid-template-columns:repeat(2,1fr);gap:14px 24px;display:grid}.form-field{flex-direction:column;gap:6px;display:flex}.form-field label{color:var(--label-assistive);letter-spacing:.02em;font-size:12px;font-weight:600}.form-field .value{background:var(--bg-alt);border:1px solid var(--line-soft);border-radius:8px;min-height:38px;padding:10px 14px;font-size:14px;font-weight:500}.form-field .value.editable{background:var(--bg-normal);border-color:var(--line-normal)}.form-field .value.muted{color:var(--label-assistive);font-style:normal}.table .highlight{background:linear-gradient(90deg,var(--status-cautionary-soft) 0%,transparent 100%)}.table .highlight .pill--cautionary{font-weight:700}.highlight-cell{background:var(--status-cautionary-soft);color:var(--status-cautionary-ink);border-radius:4px;padding:2px 6px;font-weight:700}.status-panel-wrap{padding:20px 24px}.status-panel{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.status-panel--two{grid-template-columns:repeat(2,1fr)}.status-item{background:var(--bg-alt);border:1px solid var(--line-soft);border-radius:12px;min-width:0;padding:18px}.status-item .label{color:var(--label-assistive);letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:600}.status-item .value{letter-spacing:-.012em;font-feature-settings:"tnum" 1;font-variant-numeric:tabular-nums;word-break:keep-all;margin-top:6px;font-size:22px;font-weight:700}.status-item .sub{color:var(--label-assistive);margin-top:4px;font-size:12px}.status-item.connected{background:linear-gradient(180deg,var(--status-positive-soft),var(--bg-normal));border-color:#00bf403d}.mobile-app .status-panel-wrap{padding:12px!important}.mobile-app .status-panel{grid-template-columns:1fr 1fr;gap:8px}.mobile-app .status-item{border-radius:10px;min-width:0;padding:10px 12px;overflow:hidden}.mobile-app .status-item .label{letter-spacing:.03em;white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.mobile-app .status-item .value{margin-top:4px;font-size:15px;line-height:1.25}.mobile-app .status-item .sub{word-break:keep-all;margin-top:3px;font-size:10px;line-height:1.35}.mobile-app [data-od-id=substance-page]{padding:14px!important}.mobile-app [data-od-id=substance-page-head]{gap:8px;margin-bottom:14px}.mobile-app [data-od-id=substance-page-head] .eyebrow{font-size:10px}.mobile-app [data-od-id=substance-page-head] h1{font-size:20px!important;line-height:1.2!important}.mobile-app [data-od-id=substance-page-head] p{word-break:keep-all;color:var(--label-assistive)!important;margin:4px 0 0!important;font-size:12px!important;line-height:1.55!important}.mobile-app [data-od-id=substance-page-head] p strong{color:var(--label-normal);font-weight:600}.mobile-app [data-od-id=substance-page-head] .actions{flex-wrap:nowrap;gap:6px;overflow-x:auto}.mobile-app [data-od-id=substance-page-head] .actions .btn{flex:none;gap:4px;height:30px;padding:0 10px;font-size:11px}.mobile-app [data-od-id=substance-status-panel]{margin-bottom:14px!important}.mobile-app [data-od-id=substance-status-panel] .section-head{padding:10px 12px}.mobile-app [data-od-id=substance-status-panel] .section-head h2{font-size:13px}.mobile-app [data-od-id=substance-status-panel] .section-head .meta{font-size:10px}.mobile-app [data-od-id=substance-status-panel] .pill{padding:3px 8px;font-size:10px}.mobile-app [data-od-id=substance-watchlist] .section-head{padding:10px 12px}.mobile-app [data-od-id=substance-watchlist] .section-head h2{font-size:13px}.mobile-app [data-od-id=substance-watchlist] .section-head .meta{font-size:10px}.mobile-app [data-od-id=substance-toolbar]{gap:8px;grid-template-columns:1fr!important;padding:10px 12px!important}.mobile-app [data-od-id=substance-toolbar] .input-with-icon input{height:32px;padding-left:32px;font-size:12px}.mobile-app [data-od-id=substance-toolbar] .filter-group{-webkit-overflow-scrolling:touch;gap:4px;width:100%;padding-bottom:2px;overflow-x:auto;flex-wrap:nowrap!important}.mobile-app [data-od-id=substance-toolbar] .filter-group::-webkit-scrollbar{height:0}.mobile-app [data-od-id=substance-toolbar] .filter-group button{white-space:nowrap;flex:none;padding:5px 10px;font-size:11px}.mobile-app [data-od-id=substance-toolbar] .toolbar--right{display:none}.mobile-app [data-od-id=substance-selection-bar]{font-size:11px;padding:8px 12px!important}.mobile-app [data-od-id=substance-selection-bar] .actions .btn{height:28px;padding:0 10px;font-size:11px}.mobile-app [data-od-id=substance-table]{max-height:280px;overflow-y:auto}.mobile-app [data-od-id=substance-table] table.table{min-width:540px;font-size:11px}.mobile-app [data-od-id=substance-table] table.table th,.mobile-app [data-od-id=substance-table] table.table td{padding:8px 10px}.mobile-app [data-od-id=substance-watchlist] .pagination{gap:6px;padding:10px 12px}.mobile-app [data-od-id=substance-watchlist] .pagination .info{font-size:10px}.mobile-app [data-od-id=substance-watchlist] .pagination .controls{gap:4px}.mobile-app [data-od-id=substance-page-m]{padding:14px!important}.mobile-app [data-od-id=substance-page-head-m]{gap:8px;margin-bottom:14px}.mobile-app [data-od-id=substance-page-head-m] .eyebrow{font-size:10px}.mobile-app [data-od-id=substance-page-head-m] h1{font-size:20px!important;line-height:1.2!important}.mobile-app [data-od-id=substance-page-head-m] p{word-break:keep-all;color:var(--label-assistive)!important;margin:4px 0 0!important;font-size:12px!important;line-height:1.55!important}.mobile-app [data-od-id=substance-page-head-m] p strong{color:var(--label-normal);font-weight:600}.mobile-app [data-od-id=substance-page-head-m] .actions{flex-wrap:nowrap;gap:6px;overflow-x:auto}.mobile-app [data-od-id=substance-page-head-m] .actions .btn{flex:none;gap:4px;height:30px;padding:0 10px;font-size:11px}.mobile-app [data-od-id=substance-status-panel-m]{margin-bottom:14px!important}.mobile-app [data-od-id=substance-status-panel-m] .section-head{padding:10px 12px}.mobile-app [data-od-id=substance-status-panel-m] .section-head h2{font-size:13px}.mobile-app [data-od-id=substance-status-panel-m] .section-head .meta{font-size:10px}.mobile-app [data-od-id=substance-status-panel-m] .pill{padding:3px 8px;font-size:10px}.mobile-app [data-od-id=substance-watchlist-m] .section-head{padding:10px 12px}.mobile-app [data-od-id=substance-watchlist-m] .section-head h2{font-size:13px}.mobile-app [data-od-id=substance-watchlist-m] .section-head .meta{font-size:10px}.mobile-app [data-od-id=substance-toolbar-m]{gap:8px;grid-template-columns:1fr!important;padding:10px 12px!important}.mobile-app [data-od-id=substance-toolbar-m] .input-with-icon input{height:32px;padding-left:32px;font-size:12px}.mobile-app [data-od-id=substance-toolbar-m] .filter-group{-webkit-overflow-scrolling:touch;gap:4px;width:100%;padding-bottom:2px;overflow-x:auto;flex-wrap:nowrap!important}.mobile-app [data-od-id=substance-toolbar-m] .filter-group::-webkit-scrollbar{height:0}.mobile-app [data-od-id=substance-toolbar-m] .filter-group button{white-space:nowrap;flex:none;padding:5px 10px;font-size:11px}.mobile-app [data-od-id=substance-toolbar-m] .toolbar--right{display:none}.mobile-app [data-od-id=substance-selection-bar-m]{font-size:11px;padding:8px 12px!important}.mobile-app [data-od-id=substance-selection-bar-m] .actions .btn{height:28px;padding:0 10px;font-size:11px}.mobile-app [data-od-id=substance-table-m]{max-height:280px;overflow-y:auto}.mobile-app [data-od-id=substance-table-m] table.table{min-width:540px;font-size:11px}.mobile-app [data-od-id=substance-table-m] table.table th,.mobile-app [data-od-id=substance-table-m] table.table td{padding:8px 10px}.mobile-app [data-od-id=substance-watchlist-m] .pagination{gap:6px;padding:10px 12px}.mobile-app [data-od-id=substance-watchlist-m] .pagination .info{font-size:10px}.mobile-app [data-od-id=substance-watchlist-m] .pagination .controls{gap:4px}.sites-grid{grid-template-columns:1fr 1fr;align-items:stretch;gap:24px;display:grid}.sites-grid>.section{flex-direction:column;min-height:600px;display:flex;overflow:hidden}.sites-grid>.section>.section-head{flex:none}.sites-grid>.section>.sites-pane{flex-direction:column;flex:auto;min-height:0;padding:20px 24px;display:flex;overflow:hidden}.sites-grid .link-panel{flex:auto;min-height:0}.sites-grid .checkbox-list,.sites-grid .site-list{flex:auto;min-height:0;max-height:none}.slot{border:1px solid var(--line-normal);cursor:pointer;background:var(--bg-normal);border-radius:12px;padding:16px;transition:border-color .15s,background .15s}.slot:hover{border-color:var(--line-strong)}.slot.active{border-color:var(--primary-normal);background:var(--primary-soft)}[data-theme=dark] .slot.active{background:var(--primary-soft)}.slot .name{align-items:center;gap:8px;margin-bottom:12px;font-size:15px;font-weight:700;display:flex}.slot.has-alert .name:after{content:"";background:var(--status-cautionary);width:6px;height:6px;box-shadow:0 0 0 3px var(--status-cautionary-soft);border-radius:50%}.slot .stats{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.slot .stat .num{font-feature-settings:"tnum" 1;font-variant-numeric:tabular-nums;font-size:18px;font-weight:700}.slot .stat .lab{color:var(--label-assistive);letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:600}.slot .stat .num.alert{color:var(--status-cautionary)}.slot .stat .num.neg{color:var(--status-negative)}.site-list{gap:8px;max-height:480px;padding-right:4px;display:grid;overflow-y:auto}.site-list::-webkit-scrollbar{width:6px}.site-list::-webkit-scrollbar-thumb{background:var(--line-normal);border-radius:3px}.link-panel{flex-direction:column;gap:12px;display:flex}.checkbox-list{border:1px solid var(--line-soft);background:var(--bg-alt);border-radius:12px;max-height:260px;overflow-y:auto}.checkbox-row{border-bottom:1px solid var(--line-soft);cursor:pointer;align-items:center;gap:10px;padding:10px 14px;transition:background .15s;display:flex}.checkbox-row:hover{background:var(--hover)}.checkbox-row:last-child{border-bottom:0}.checkbox-row.checked{background:var(--selected)}.checkbox-row .name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;font-weight:500;overflow:hidden}.toast-rack{pointer-events:none;z-index:30;flex-direction:column;gap:8px;max-width:360px;display:flex;position:absolute;bottom:24px;right:24px}.toast{background:var(--bg-inverse);color:var(--label-inverse);box-shadow:var(--shadow-overlay);pointer-events:auto;border-radius:10px;align-items:flex-start;gap:10px;padding:14px 16px;font-size:13px;display:flex}.toast .ic{color:var(--status-positive);flex-shrink:0;margin-top:2px}.toast .ic svg{width:16px;height:16px;display:block}.toast strong{font-weight:600}.toast .toast-meta{color:#ffffff8c;font-size:11px;font-family:var(--font-mono);margin-top:2px}[data-theme=dark] .toast{background:var(--label-normal);color:var(--bg-normal)}[data-theme=dark] .toast .toast-meta{color:#00000080}.empty{text-align:center;padding:48px 24px}.empty .ic-wrap{background:var(--bg-elevated-alt);width:48px;height:48px;color:var(--label-assistive);border-radius:12px;place-items:center;margin:0 auto 12px;display:grid}.empty .ic-wrap svg{width:20px;height:20px}.empty h3{margin:0;font-size:15px;font-weight:600}.empty p{color:var(--label-assistive);margin:4px 0 0;font-size:13px}.phone-frame{background:var(--bg-page);width:390px;height:844px;box-shadow:var(--shadow-overlay);border:8px solid #0f1012;border-radius:48px;margin:0 auto;padding:0;position:relative;overflow:hidden}.phone-frame:before{content:"";z-index:10;background:#0f1012;border-radius:14px;width:110px;height:28px;position:absolute;top:8px;left:50%;transform:translate(-50%)}.phone-content{width:100%;height:100%;padding:56px 0 0;overflow:hidden auto}.mobile-app{font-size:13px}.mobile-app .app-top{grid-template-columns:auto 1fr auto;gap:8px;height:48px;padding:0 14px}.mobile-app .app-logo{font-size:13px}.mobile-app .app-logo .mark{width:22px;height:22px;font-size:11px}.mobile-app .app-nav,.mobile-app .upload-status-pill{display:none}.mobile-app .app-top .right{gap:6px}.mobile-app .avatar{width:24px;height:24px;font-size:11px}.mobile-app .app-page{max-width:none;padding:16px}.mobile-app .page-head{flex-direction:column;align-items:flex-start;gap:10px;margin-bottom:16px}.mobile-app .page-head h1,.mobile-app .page-head .title-1,.mobile-app .page-head .display-2{font-size:22px!important;line-height:1.25!important}.mobile-app .page-head .actions{flex-wrap:wrap;gap:6px;width:100%}.mobile-app .page-head .actions .btn,.mobile-app .page-head .actions .select{height:32px;padding:0 10px;font-size:12px}.mobile-app .kpi-grid{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}.mobile-app .kpi{border-radius:12px;padding:14px}.mobile-app .kpi-value{font-size:22px}.mobile-app .kpi-icon{border-radius:10px;width:32px;height:32px}.mobile-app .kpi-icon svg{width:18px;height:18px}.mobile-app .kpi-label{padding-top:6px}.mobile-app .dash-split{grid-template-columns:1fr;gap:16px}.mobile-app .section{border-radius:12px}.mobile-app .section-head{padding:12px 14px}.mobile-app .toolbar{grid-template-columns:1fr;gap:8px;padding:12px}.mobile-app .toolbar>*{width:100%}.mobile-app .toolbar--right{flex-wrap:wrap;justify-content:flex-start}.mobile-app .upload-grid,.mobile-app .sites-grid,.mobile-app .form-grid,.mobile-app .substance-grid{gap:12px;grid-template-columns:1fr!important}.mobile-app .sites-grid>.section{min-height:0;overflow:visible}.mobile-app .sites-grid>.section>.sites-pane{overflow:visible;padding:12px!important}.mobile-app .sites-grid .checkbox-list,.mobile-app .sites-grid .site-list{flex:none;max-height:280px}.mobile-app .status-panel{grid-template-columns:1fr 1fr}.mobile-app .data-table-wrap,.mobile-app .table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.mobile-app .data-table,.mobile-app table{min-width:560px;font-size:12px}.mobile-app .data-table th,.mobile-app .data-table td{padding:10px 12px}.mobile-app .pagination{flex-direction:column;align-items:stretch;gap:8px;padding:12px}.mobile-app .pagination .info{font-size:11px}.mobile-app .pagination .controls{justify-content:center}.mobile-app .browser-actions{display:none}.mobile-app .filter-bar{flex-wrap:wrap;gap:6px}.mobile-app .sub-tabs{flex-wrap:nowrap;overflow-x:auto}.mobile-app .sub-tabs button{white-space:nowrap}.mobile-app .card,.mobile-app .card--lg{border-radius:14px;padding:16px}.msds-split{grid-template-columns:minmax(320px,1fr) minmax(0,1.2fr);align-items:stretch;gap:24px;height:640px;display:grid}.msds-split>.section{flex-direction:column;min-height:0;display:flex;overflow:hidden}.msds-split>.section>.toolbar,.msds-split>.section>.section-head,.msds-split>.section>.tabs,.msds-split>.section>.selection-bar,.msds-split>.section>.pagination{flex:none}.msds-split>.section>.table-scroll{flex:auto;min-height:0;overflow:auto}.msds-split>.section>.tab-pane{flex:auto;min-height:0;overflow-y:auto}.mobile-app .msds-split{grid-template-columns:1fr;gap:16px;height:auto}.mobile-app .msds-split>.section{overflow:visible}.mobile-app .msds-split>.section>.table-scroll,.mobile-app .msds-split>.section>.tab-pane{flex:none;min-height:0;max-height:360px}@media(max-width:1023px){.msds-split{grid-template-columns:1fr;height:auto}.msds-split>.section{overflow:visible}.msds-split>.section>.table-scroll,.msds-split>.section>.tab-pane{max-height:none}}.table-scroll{width:100%}.mobile-app .table-scroll{-webkit-overflow-scrolling:touch;border-bottom:1px solid var(--line-soft);overflow-x:auto}.mobile-app .table-scroll table.table{min-width:560px;font-size:12px}.mobile-app .table-scroll table.table th,.mobile-app .table-scroll table.table td{padding:10px 12px}.mobile-app .section-head{flex-wrap:wrap;gap:8px;padding:12px 14px}.mobile-app .section-head h2{font-size:14px}.mobile-app .section-head .stack-h,.mobile-app .section-head>div{flex-wrap:wrap;gap:6px}.mobile-app .section-head .filter-group{width:100%}.mobile-app .selection-bar{flex-wrap:wrap;gap:8px;padding:10px 12px}.mobile-app .selection-bar .actions{flex-wrap:wrap;width:100%;margin-left:0}.mobile-app .filter-group{flex-wrap:wrap;display:flex}.mobile-app .filter-group button{padding:4px 10px;font-size:12px}.mobile-app .stack-h{flex-wrap:wrap}.mobile-app .app-page>div[style*=padding],.mobile-app .section>div[style*=padding],.mobile-app .section [style*="padding: 20px 24px"],.mobile-app .section [style*="padding: 14px 24px"],.mobile-app .section [style*="padding: 8px 24px"],.mobile-app .section [style*="padding: 24px"]{padding:12px 14px!important}.mobile-app .row-actions{gap:2px}.mobile-app .row-actions .btn,.mobile-app .row-actions .btn--icon{height:28px}.mobile-app .file-cell .file-name{max-width:180px;font-size:12px}.mobile-app .drop-zone{padding:24px 16px}.mobile-app .drop-zone h3{font-size:15px}.mobile-app .drop-zone p{font-size:12px}.mobile-app .btn--lg{height:44px;padding:0 16px;font-size:14px}.mobile-app .toast-rack{max-width:none;bottom:12px;left:12px;right:12px}.mobile-app .toast{padding:12px}.mobile-app .app-page[style]{padding:16px!important}.mobile-app .page-head .actions .btn span,.mobile-app .page-head .actions .btn{white-space:nowrap}.mobile-app .slot{padding:14px}.mobile-app .slot .stats{grid-template-columns:1fr 1fr 1fr;gap:4px;font-size:11px}.mobile-app .chart-card{padding:14px}.mobile-app .activity li{padding:8px 0}.mobile-app .quick-link{padding:8px 10px;font-size:13px}.mobile-app .page-btn{width:28px;height:28px;font-size:11px}.mobile-app .tabs{flex-wrap:nowrap;padding:0 12px;overflow-x:auto}.mobile-app .tab{white-space:nowrap;padding:12px 14px;font-size:13px}.mobile-app .tab-pane{padding:16px}.mobile-app .form-field input,.mobile-app .form-field select,.mobile-app .form-field textarea{font-size:14px}.phone-frame .app-shell{width:100%;min-width:0;max-width:100%}.mobile-app .app-page{box-sizing:border-box;width:100%;min-width:0;max-width:100%;overflow-x:hidden}.mobile-app .app-top,.mobile-app .section,.mobile-app .card,.mobile-app .card--lg,.mobile-app .toolbar,.mobile-app .section-head,.mobile-app .selection-bar,.mobile-app .pagination,.mobile-app .page-head,.mobile-app .form-grid,.mobile-app .kpi-grid,.mobile-app .dash-split,.mobile-app .msds-split,.mobile-app .sites-grid,.mobile-app .substance-grid,.mobile-app .upload-grid,.mobile-app .status-panel,.mobile-app .stack-h,.mobile-app .filter-group,.mobile-app .tabs,.mobile-app .sub-tabs,.mobile-app .tab-pane{min-width:0;max-width:100%}.mobile-app .section{overflow:hidden}.mobile-app .section-head>*,.mobile-app .toolbar>*,.mobile-app .stack-h>*,.mobile-app .page-head>*,.mobile-app .selection-bar>*,.mobile-app .pagination>*,.mobile-app .filter-group>*{min-width:0}.mobile-app .section-head h2,.mobile-app .page-head h1,.mobile-app .page-head .title-1,.mobile-app .page-head .display-2{overflow-wrap:anywhere;word-break:break-word;white-space:normal;min-width:0;max-width:100%;line-height:1.25}.mobile-app .form-field .value{overflow-wrap:anywhere;word-break:break-word}.mobile-app .file-cell{min-width:0;max-width:100%}.mobile-app .file-cell .file-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;overflow:hidden}.mobile-app .pill{white-space:nowrap}.mobile-app .table-scroll{-webkit-overflow-scrolling:touch;width:100%;min-width:0;max-width:100%;overflow-x:auto!important}.mobile-app [style*="justify-content: space-between"]{flex-wrap:wrap;gap:8px}.phone-stage{grid-template-columns:390px 1fr;align-items:start;gap:48px;padding:48px;display:grid}.phone-stage .blurb{padding-top:16px}.phone-stage .blurb h2{margin:0}.phone-stage .blurb p{color:var(--label-assistive);font-size:14px;line-height:1.6}.phone-stage .blurb ul{color:var(--label-alt);padding-left:20px;font-size:14px;line-height:1.7}.phone-gallery-wrap{background:var(--bg-page);padding:24px 32px 48px}.phone-gallery-head{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px;padding:8px 0 24px;display:flex}.phone-gallery-head .blurb-text{max-width:640px}.phone-gallery-head .blurb-text h2{margin:0 0 6px}.phone-gallery-head .blurb-text p{color:var(--label-assistive);margin:0;font-size:14px;line-height:1.6}.phone-gallery-head .test-tip{background:var(--primary-soft);color:var(--primary-soft-ink);border-radius:12px;flex-shrink:0;max-width:300px;padding:14px 16px;font-size:12px;line-height:1.55}[data-theme=dark] .phone-gallery-head .test-tip{color:var(--primary-strong)}.phone-gallery-head .test-tip strong{letter-spacing:.04em;text-transform:uppercase;margin-bottom:4px;font-size:12px;display:block}.phone-gallery-head .test-tip kbd{background:var(--bg-normal);border:1px solid var(--line-normal);font-family:var(--font-mono);color:var(--label-normal);border-radius:4px;margin:0 2px;padding:1px 6px;font-size:11px;display:inline-block}.phone-gallery{scroll-snap-type:x proximity;scrollbar-width:thin;gap:32px;padding:8px 4px 32px;display:flex;overflow:auto hidden}.phone-card{scroll-snap-align:start;flex-direction:column;flex:none;gap:12px;display:flex}.phone-card .phone-frame{transform-origin:top;margin:0 -42px -180px;transform:scale(.78)}.phone-card .phone-label{text-align:center;align-self:center;width:308px}.phone-card .phone-label .num{font-family:var(--font-mono);color:var(--label-assistive);letter-spacing:.05em;font-size:11px}.phone-card .phone-label h3{color:var(--label-normal);margin:4px 0 6px;font-size:15px;font-weight:600}.phone-card .phone-label p{color:var(--label-assistive);margin:0;font-size:12px;line-height:1.5}.phone-card .phone-content{padding-top:56px}.stack-h{align-items:center;gap:8px;display:flex}.stack-h--lg{gap:16px}.stack-v{flex-direction:column;gap:8px;display:flex}.grow{flex:1}.divider-v{background:var(--line-normal);align-self:stretch;width:1px;margin:0 4px}.hidden{display:none!important}.floating-work-panel{z-index:60;gap:10px;width:min(360px,100vw - 32px);display:grid;position:fixed;bottom:24px;right:24px}.floating-work-card{border:1px solid var(--line-normal);border-radius:var(--r-12);background:var(--bg-elevated);box-shadow:var(--shadow-overlay);padding:14px}.floating-work-head{color:var(--label-normal);align-items:center;gap:8px;font-size:13px;display:flex}.floating-work-card p{color:var(--label-assistive);margin:8px 0 0;font-size:12px;line-height:1.5}.floating-skeleton-list{gap:8px;margin-top:10px;display:grid}.floating-skeleton-row{min-width:0;color:var(--label-alt);align-items:center;gap:8px;font-size:12px;display:flex}.skeleton-dot{background:var(--primary-normal);border-radius:50%;flex:none;width:8px;height:8px;animation:1s ease-in-out infinite pulse}.skeleton-line{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.spin-icon{animation:.9s linear infinite spin;display:inline-flex}.lookup-skeleton{border-radius:var(--r-8);background:var(--bg-alt);gap:8px;margin:12px 24px 0;padding:12px;display:grid}.lookup-skeleton-line{background:linear-gradient(90deg,var(--line-soft),var(--line-normal),var(--line-soft));background-size:200% 100%;border-radius:999px;height:10px;animation:1.1s ease-in-out infinite skeleton-sheen}.lookup-skeleton-line.short{width:62%}.compact-pagination{justify-content:center;padding:10px 0 0}@keyframes skeleton-sheen{0%{background-position:200% 0}to{background-position:-200% 0}}@media(max-width:1100px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.dash-split,.upload-grid,.sites-grid{grid-template-columns:1fr}.sites-grid>.section{min-height:0;overflow:visible}.sites-grid .checkbox-list,.sites-grid .site-list{flex:none;max-height:320px}.form-grid,.phone-stage{grid-template-columns:1fr}}@media(max-width:800px){.shell{grid-template-columns:1fr}.sidebar{display:none}.main{padding:16px}.toolbar{grid-template-columns:1fr;gap:8px}.toolbar>*{width:100%}.app-nav{display:none}.status-panel{grid-template-columns:1fr 1fr}}.panel{background:var(--bg-elevated);border:1px solid var(--line-normal);border-radius:var(--r-12);margin-bottom:16px;overflow:hidden}.panel+.panel{margin-top:16px}.panel-title{border-bottom:1px solid var(--line-soft);background:var(--bg-alt);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.panel-title h2{color:var(--label-normal);letter-spacing:-.01em;margin:0;font-size:15px;font-weight:700}.panel-title>span,.panel-title>.basic-info-actions>span,.panel-title>label>span{color:var(--label-assistive);font-size:12px}.panel-title button,.panel-title input[type=text],.panel-title input[type=search],.panel-title input[type=date],.panel-title select{border:1px solid var(--line-normal);border-radius:var(--r-8);background:var(--bg-normal);height:32px;color:var(--label-normal);padding:0 12px;font-size:13px}.panel-title button{cursor:pointer;background:var(--bg-alt);font-weight:500}.panel-title button:hover:not(:disabled){background:var(--hover)}.panel-title button:disabled{opacity:.4;cursor:not-allowed}.panel-title button[type=submit],.panel-title button.primary,.panel-title button:not([disabled]):not(.icon-text-button):not(.title-icon-button):last-child{background:var(--primary-normal);color:#fff;border-color:var(--primary-normal)}.panel-title button[type=submit]:hover:not(:disabled){background:var(--primary-strong)}.panel-title .icon-text-button,.panel-title .title-icon-button{border:1px solid var(--line-soft);background:0 0}.lookup-feedback{color:var(--label-alt);border-top:1px solid var(--line-soft);background:var(--bg-alt);margin:0;padding:12px 20px;font-size:13px}.lookup-feedback.compact{padding:8px 20px;font-size:12px}.lookup-feedback.edit-error{color:var(--status-negative-ink);background:var(--status-negative-soft)}.empty{text-align:center;color:var(--label-assistive);padding:32px 20px;font-size:13px}.empty.compact{padding:12px;font-size:12px}.basic-info-panel{margin-top:0}.basic-info-actions{align-items:center;gap:12px;display:flex}.basic-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;padding:20px;display:grid}.basic-info-pair{flex-direction:column;gap:6px;min-width:0;display:flex}.basic-info-label{color:var(--label-assistive);font-size:12px;font-weight:500}.basic-info-value{height:36px;color:var(--label-normal);border:1px solid var(--line-normal);border-radius:var(--r-8);background:var(--bg-normal);width:100%;padding:0 12px;font-size:14px}.basic-info-value:focus{border-color:var(--primary-normal);outline:2px solid var(--primary-soft);outline-offset:0}.basic-info-value.source-extracted{border-color:var(--status-positive)}.basic-info-value.source-manual{border-color:var(--line-normal)}.basic-info-value::placeholder{color:var(--label-disable)}.table-shell{padding:0;overflow-x:auto}.component-export-table,.component-review-table{border-collapse:collapse;width:100%;font-size:13px}.component-export-table thead tr,.component-review-table thead tr{background:var(--bg-alt);border-bottom:1px solid var(--line-normal)}.component-export-table th,.component-review-table th{text-align:left;color:var(--label-alt);white-space:nowrap;letter-spacing:.01em;padding:10px 12px;font-size:12px;font-weight:600}.component-export-table td,.component-review-table td{border-bottom:1px solid var(--line-soft);color:var(--label-normal);vertical-align:top;padding:10px 12px}.component-export-table tbody tr:hover,.component-review-table tbody tr:hover{background:var(--hover)}.table-subtext{color:var(--label-assistive);margin-top:2px;font-size:11px;display:block}.row-actions button{white-space:nowrap}table.table .row-actions{flex-wrap:nowrap;gap:4px}.table-action{height:26px;color:var(--label-normal);background:var(--bg-normal);border:1px solid var(--line-normal);border-radius:var(--r-6);cursor:pointer;padding:0 10px;font-size:12px;font-weight:500}.table-action:hover:not(:disabled){background:var(--hover)}.table-action:disabled{opacity:.4;cursor:not-allowed}.table-action.danger{color:var(--status-negative-ink);border-color:var(--status-negative)}.inline-check{cursor:pointer;align-items:center;gap:6px;font-size:13px;display:inline-flex}.component-edit-form{background:var(--primary-soft);border-bottom:1px solid var(--line-normal);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px 12px;padding:12px 20px;display:grid}.component-edit-form label{color:var(--label-alt);flex-direction:column;gap:4px;font-size:11px;display:flex}.component-edit-form input,.component-edit-form select{border:1px solid var(--line-normal);border-radius:var(--r-6);background:var(--bg-normal);height:32px;padding:0 10px;font-size:13px}.edit-actions{border-top:1px solid var(--line-soft);background:var(--bg-alt);flex-wrap:wrap;align-items:center;gap:8px;padding:12px 20px;display:flex}.edit-actions button{border:1px solid var(--line-normal);border-radius:var(--r-6);background:var(--bg-normal);cursor:pointer;height:30px;padding:0 12px;font-size:13px}.edit-actions button:disabled{opacity:.4;cursor:not-allowed}.edit-actions button.primary,.edit-actions button[type=submit]{background:var(--primary-normal);color:#fff;border-color:var(--primary-normal)}.field-row{grid-template-columns:140px 1fr;align-items:center;gap:12px;padding:8px 0;display:grid}table.table.table--center thead th,table.table.table--center tbody td{text-align:center;vertical-align:middle}.component-name-link:hover{color:var(--primary-strong)}[data-od-id=msds-detail-form] .form-field label{color:var(--label-assistive);font-size:11px}[data-od-id=msds-detail-form] .form-field .input{height:32px;font-size:13px}[data-od-id=msds-component-rows] .table-scroll{max-height:420px;overflow:auto}[data-od-id=msds-component-rows] .table-scroll table.table thead th{z-index:1;background:var(--bg-alt);position:sticky;top:0}.section-head--basic{align-items:flex-start;gap:16px}.section-head--basic .basic-info-meta{flex:1 1 0;min-width:0;overflow:hidden}.section-head--basic .basic-info-meta h2{letter-spacing:-.012em;white-space:nowrap;text-overflow:ellipsis;max-width:100%;margin:0;font-size:17px;font-weight:700;overflow:hidden}.section-head--basic .basic-actions{flex:none;grid-template-columns:1fr;gap:6px;min-width:110px;display:grid}.section-head--basic .basic-actions>.btn{justify-content:center;width:100%}.section-head{gap:12px}.section-head>div:first-child{flex:1 1 0;min-width:0}.section-head>div:first-child h2{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.section-head .stack-h{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end}.basic-info-pane{padding:4px 0 16px}[data-od-id=msds-detail-form].form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;padding:8px 24px 16px}[data-od-id=msds-detail-form] .form-field{flex-direction:column;gap:6px;min-width:0;display:flex}[data-od-id=msds-detail-form] .form-field label{color:var(--label-assistive);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:600}[data-od-id=msds-detail-form] .form-field .input{border:1px solid var(--line-soft);background:var(--bg-alt);border-radius:var(--r-8);height:36px;color:var(--label-normal);padding:0 12px;font-size:13.5px;transition:border-color .12s,background .12s}[data-od-id=msds-detail-form] .form-field .input:hover{background:var(--bg-elevated);border-color:var(--line-normal)}[data-od-id=msds-detail-form] .form-field .input:focus{background:var(--bg-elevated);border-color:var(--primary-normal);outline:2px solid var(--primary-soft);outline-offset:0}[data-od-id=msds-detail-form] .form-field .input::placeholder{color:var(--label-disable)}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
