@font-face{font-family:HarmonyOS Sans SC;src:url(/fonts/HarmonyOS_Sans_SC_Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:HarmonyOS Sans SC;src:url(/fonts/HarmonyOS_Sans_SC_Medium.ttf) format("truetype");font-weight:500 600;font-style:normal;font-display:swap}@font-face{font-family:HarmonyOS Sans SC;src:url(/fonts/HarmonyOS_Sans_SC_Bold.ttf) format("truetype");font-weight:700 900;font-style:normal;font-display:swap}:root{--shell-gutter: 24px;--shell-gap: 16px;--shell-max: 1800px;--workspace-side-margin: clamp(56px, 5.5vw, 128px);--font-family-ui: "HarmonyOS Sans SC", -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;--bg-base-default: #faf8f5;--bg-base-secondary: #ffffff;--bg-base-tertiary: #f5f0eb;--bg-overlay-l2: #eee7df;--bg-brand: #e85d2a;--bg-brand-hover: #d14e1f;--bg-brand-popup: #fff0e6;--bg-brand-gradient: linear-gradient(135deg, #e85d2a, #ff9a5c);--text-default: #1a1a1a;--text-secondary: #666666;--text-tertiary: #999999;--text-onbrand: #ffffff;--border-neutral-l1: #f0ebe3;--border-neutral-l2: #e5ddd3;--border-brand: #e85d2a;--status-success-default: #34c759;--status-success-surface: #eaf8ed;--status-success-surface-l1: #f0fbf2;--status-success-surface-l2: #d6f2dc;--status-warning-default: #ff9500;--status-warning-surface: #fff5e6;--status-warning-surface-l1: #fff8ec;--status-warning-surface-l2: #ffe2b8;--status-error-default: #ff3b30;--status-error-surface: #fff0ee;--status-error-surface-l1: #fff4f2;--status-error-surface-l2: #ffd7d2;--status-info-default: #4a90d9;--status-info-surface: #eef6ff;--status-info-surface-l1: #f2f8ff;--status-info-surface-l2: #d9ebff;--chart-unfilled: #e0e0e0;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06);--shadow-md: 0 8px 22px rgba(31, 25, 21, .09);--shadow-lg: 0 18px 38px rgba(31, 25, 21, .16);--shadow-xl: 0 24px 56px rgba(31, 25, 21, .22);--shadow-btn: 0 8px 18px rgba(232, 93, 42, .22);--scrollbar-size: 8px;--scrollbar-thumb: color-mix(in srgb, var(--text-tertiary) 42%, transparent);--scrollbar-thumb-hover: color-mix(in srgb, var(--bg-brand) 64%, var(--text-tertiary));color-scheme:light}html[data-theme=dark]{--bg-base-default: #151413;--bg-base-secondary: #201e1c;--bg-base-tertiary: #292521;--bg-overlay-l2: #342e29;--bg-brand-popup: rgba(232, 93, 42, .16);--text-default: #f6f1ec;--text-secondary: #c9beb6;--text-tertiary: #978c84;--border-neutral-l1: #36302b;--border-neutral-l2: #4a4139;--status-success-surface-l1: rgba(52, 199, 89, .12);--status-success-surface-l2: rgba(52, 199, 89, .24);--status-warning-surface-l1: rgba(255, 149, 0, .12);--status-warning-surface-l2: rgba(255, 149, 0, .24);--status-error-surface-l1: rgba(255, 59, 48, .12);--status-error-surface-l2: rgba(255, 59, 48, .24);--status-info-surface-l1: rgba(74, 144, 217, .12);--status-info-surface-l2: rgba(74, 144, 217, .24);--chart-unfilled: #3a332e;--shadow-sm: 0 1px 4px rgba(0, 0, 0, .24);--shadow-md: 0 12px 28px rgba(0, 0, 0, .28);--shadow-lg: 0 20px 42px rgba(0, 0, 0, .36);--shadow-xl: 0 28px 64px rgba(0, 0, 0, .44);color-scheme:dark}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}*::-webkit-scrollbar{width:var(--scrollbar-size);height:var(--scrollbar-size)}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{min-height:40px;border:2px solid transparent;border-radius:999px;background:var(--scrollbar-thumb);background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover);background-clip:content-box}*::-webkit-scrollbar-button{width:0;height:0;display:none}*::-webkit-scrollbar-corner{background:transparent}html,body,#root{min-height:100%;margin:0}body{background:var(--bg-base-default);color:var(--text-default);font-family:var(--font-family-ui);font-size:14px;line-height:1.5;overflow-x:hidden;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}button,input{font:inherit}button{border:0}.form-grid,.compact-form{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-grid>label,.compact-form>label{min-width:0;display:grid;gap:7px;color:var(--text-secondary);font-size:12px;font-weight:800}.form-grid input:not([type=checkbox]):not([type=radio]),.form-grid select,.form-grid textarea,.compact-form input:not([type=checkbox]):not([type=radio]),.compact-form select,.compact-form textarea{width:100%;min-width:0;border:1px solid var(--border-neutral-l1);border-radius:8px;background:var(--bg-base-tertiary);color:var(--text-default);padding:0 12px;font:inherit;outline:0}.form-grid input:not([type=checkbox]):not([type=radio]),.form-grid select,.compact-form input:not([type=checkbox]):not([type=radio]),.compact-form select{height:42px}.form-grid textarea,.compact-form textarea{min-height:96px;padding-top:10px;padding-bottom:10px;resize:vertical}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.compact-form input:focus,.compact-form select:focus,.compact-form textarea:focus{border-color:var(--border-brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--bg-brand) 16%,transparent)}.form-grid input:disabled,.form-grid select:disabled,.form-grid textarea:disabled,.compact-form input:disabled,.compact-form select:disabled,.compact-form textarea:disabled{background:var(--bg-base-secondary);color:var(--text-tertiary);cursor:not-allowed;opacity:.78}.form-grid select option,.compact-form select option,.cupping-create-field-grid select option{background:var(--bg-base-secondary);color:var(--text-default)}.span-2,.form-submit{grid-column:1 / -1}.form-submit{width:100%;justify-content:center}.status-badge{width:fit-content;min-height:24px;display:inline-flex;align-items:center;border:1px solid var(--border-neutral-l1);border-radius:999px;background:var(--bg-base-tertiary);color:var(--text-secondary);padding:0 8px;font-size:11px;font-weight:800;white-space:nowrap}.status-badge.is-success{border-color:color-mix(in srgb,var(--status-success-default) 32%,transparent);background:var(--status-success-surface-l1);color:var(--status-success-default)}.status-badge.is-danger{border-color:color-mix(in srgb,var(--status-error-default) 32%,transparent);background:var(--status-error-surface-l1);color:var(--status-error-default)}.record-list,.session-list{min-width:0;display:grid;gap:10px}.compact-records{max-height:260px;overflow:auto}.record-card{width:100%;min-width:0;min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--border-neutral-l1);border-radius:8px;background:var(--bg-base-tertiary);color:var(--text-default);padding:10px 12px;text-align:left}button.record-card{cursor:pointer}.record-card:hover,.record-card.is-active{border-color:var(--border-brand);background:var(--bg-brand-popup)}.record-card>span{min-width:0}.record-card strong,.record-card small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.record-card small{margin-top:3px;color:var(--text-tertiary);font-size:11px}.permission-cloud{display:flex;flex-wrap:wrap;gap:8px}.danger-action:hover{border-color:var(--status-error-default);color:var(--status-error-default)}@media(max-width:720px){.form-grid,.compact-form{grid-template-columns:1fr}.span-2,.form-submit{grid-column:auto}}.paged-search-select{position:relative;min-width:0}.paged-search-select-trigger{width:100%;min-width:0;height:38px;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--border-neutral-l1);border-radius:8px;background:var(--bg-base-default);color:var(--text-default);padding:0 11px 0 12px;font:inherit;cursor:pointer}.paged-search-select-trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.paged-search-select-trigger>svg{flex:0 0 auto;color:var(--text-tertiary);transition:transform .16s ease}.paged-search-select-trigger:hover,.paged-search-select-trigger.is-open,.paged-search-select-trigger:focus-visible{border-color:var(--border-brand);outline:0;box-shadow:0 0 0 2px color-mix(in srgb,var(--bg-brand) 12%,transparent)}.paged-search-select-trigger.is-open>svg{transform:rotate(180deg)}.paged-search-select-trigger:disabled{color:var(--text-tertiary);cursor:not-allowed;opacity:.68}.paged-search-select-popover{position:absolute;top:calc(100% + 6px);left:0;z-index:80;width:max(100%,280px);display:grid;gap:7px;border:1px solid var(--border-neutral-l1);border-radius:10px;background:var(--bg-base-secondary);box-shadow:var(--shadow-lg);padding:8px}.paged-search-select-search{height:36px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;border:1px solid var(--border-neutral-l1);border-radius:7px;background:var(--bg-base-default);color:var(--text-tertiary);padding:0 10px}.paged-search-select-search:focus-within{border-color:var(--border-brand);box-shadow:0 0 0 2px color-mix(in srgb,var(--bg-brand) 12%,transparent)}.paged-search-select-search input{min-width:0;width:100%;height:auto;border:0;outline:0;background:transparent;color:var(--text-default);padding:0;font:inherit}.paged-search-select-options{max-height:248px;overflow-y:auto;display:grid;gap:2px}.paged-search-select-options button{width:100%;min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:10px;border:0;border-radius:7px;background:transparent;color:var(--text-secondary);padding:8px 10px;text-align:left;font:inherit;cursor:pointer}.paged-search-select-options button:hover,.paged-search-select-options button:focus-visible{outline:0;background:var(--bg-base-tertiary);color:var(--text-default)}.paged-search-select-options button.is-selected{background:var(--bg-brand-popup);color:var(--bg-brand);font-weight:800}.paged-search-select-options button>span{min-width:0;display:grid;gap:2px}.paged-search-select-options strong,.paged-search-select-options small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.paged-search-select-options small{color:var(--text-tertiary);font-size:11px;font-weight:500}.paged-search-select-options svg{flex:0 0 auto}.paged-search-select-empty{margin:0;padding:14px 8px;color:var(--text-tertiary);text-align:center;font-size:12px}.paged-search-select-more{min-height:34px;border:0;border-top:1px solid var(--border-neutral-l1);background:transparent;color:var(--bg-brand);padding:8px 8px 0;font:inherit;font-size:12px;font-weight:800;cursor:pointer}.paged-search-select-more:disabled{color:var(--text-tertiary);cursor:wait}.paged-search-select-spinner{animation:paged-search-select-spin .8s linear infinite}@keyframes paged-search-select-spin{to{transform:rotate(360deg)}}@media(max-width:720px){.paged-search-select-popover{position:static;width:100%;margin-top:6px}}.auth-shell{--auth-scene-bg: #f5eee6;--auth-scene-ink: #201812;--auth-scene-muted: rgba(54, 43, 34, .72);--auth-scene-soft: rgba(84, 65, 50, .44);--auth-flow-brand: rgba(232, 93, 42, .28);--auth-flow-brand-soft: rgba(255, 154, 92, .18);--auth-flow-neutral: rgba(132, 106, 86, .34);--auth-flow-neutral-dim: rgba(168, 142, 120, .26);--auth-glass-border: rgba(96, 70, 50, .16);--auth-panel-offset-x: clamp(-132px, -5.4vw, -64px);width:100%;height:100vh;height:100svh;margin:0;padding:clamp(24px,3.4vw,44px) clamp(32px,4vw,64px);position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:minmax(520px,1fr) minmax(410px,500px);gap:clamp(30px,5.5vw,96px);align-items:center;align-content:center;color:var(--auth-scene-ink);background:radial-gradient(ellipse at 16% 72%,rgba(232,93,42,.11),transparent 36%),radial-gradient(ellipse at 74% 16%,rgba(255,154,92,.1),transparent 42%),linear-gradient(180deg,#fffaf4ad,#efe1d3f0 86%),linear-gradient(132deg,#fbf4ec,#f4e8dc 48%,#ead8c6)}html[data-theme=dark] .auth-shell{--auth-scene-bg: #1a120d;--auth-scene-ink: #fff7ef;--auth-scene-muted: rgba(245, 235, 226, .74);--auth-scene-soft: rgba(245, 235, 226, .48);--auth-flow-brand: rgba(232, 93, 42, .56);--auth-flow-brand-soft: rgba(255, 154, 92, .28);--auth-flow-neutral: rgba(222, 211, 198, .54);--auth-flow-neutral-dim: rgba(150, 140, 130, .4);--auth-glass-border: rgba(245, 235, 226, .18);background:radial-gradient(ellipse at 18% 72%,rgba(232,93,42,.12),transparent 38%),radial-gradient(ellipse at 78% 16%,rgba(255,154,92,.08),transparent 44%),linear-gradient(180deg,#25170f47,#140d09d6 84%),linear-gradient(132deg,#1a120d,#20150f 48%,#2a170d)}.auth-oauth-processing{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px;color:#201812;text-align:center;background:#f9f2eae0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:progress}.auth-oauth-processing svg{color:var(--bg-brand);animation:auth-oauth-processing-spin .8s linear infinite}.auth-oauth-processing strong{font-size:18px}.auth-oauth-processing p{margin:0;color:#362b22b8;font-size:14px}html[data-theme=dark] .auth-oauth-processing{color:#fff7ef;background:#1a120de0}html[data-theme=dark] .auth-oauth-processing p{color:#f5ebe2bd}@keyframes auth-oauth-processing-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.auth-oauth-processing svg{animation:none}}.auth-flow-bg,.auth-shell>.auth-hero,.auth-shell>.auth-panel,.auth-shell>.auth-state-panel,.auth-shell>.session-expired-card{position:relative}.auth-shell>.auth-hero,.auth-shell>.auth-panel,.auth-shell>.auth-state-panel,.auth-shell>.session-expired-card,.auth-shell>.auth-theme{z-index:2}.auth-flow-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden;background:radial-gradient(ellipse at 26% 46%,rgba(232,93,42,.1),transparent 42%),radial-gradient(ellipse at 80% 18%,rgba(255,154,92,.09),transparent 40%),linear-gradient(180deg,rgba(255,252,247,.7),transparent 28%,transparent 70%,rgba(218,194,174,.3)),linear-gradient(132deg,#fbf4ec,#f3e6da 48%,#ead7c5)}.auth-flow-bg:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;opacity:.34;background:linear-gradient(90deg,rgba(250,244,236,.78),transparent 18%,transparent 74%,rgba(250,244,236,.68)),linear-gradient(0deg,rgba(250,244,236,.76),transparent 28%,transparent 64%,rgba(250,244,236,.7))}.auth-flow-bg:after{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;z-index:3;opacity:.24;background:radial-gradient(ellipse at center,transparent 0 54%,rgba(126,92,66,.18) 86%),linear-gradient(180deg,rgba(255,250,244,.18),transparent 38%,rgba(126,92,66,.16))}html[data-theme=dark] .auth-flow-bg{background:radial-gradient(ellipse at 26% 46%,rgba(232,93,42,.12),transparent 42%),radial-gradient(ellipse at 80% 18%,rgba(255,154,92,.08),transparent 40%),linear-gradient(180deg,rgba(255,255,255,.024),transparent 22%,transparent 72%,rgba(0,0,0,.42)),linear-gradient(132deg,#18100c,#1f150f 48%,#2a170d)}html[data-theme=dark] .auth-flow-bg:before{opacity:.18;background:linear-gradient(90deg,rgba(18,13,9,.58),transparent 18%,transparent 74%,rgba(18,13,9,.52)),linear-gradient(0deg,rgba(18,13,9,.68),transparent 28%,transparent 64%,rgba(18,13,9,.64))}html[data-theme=dark] .auth-flow-bg:after{opacity:.16;background:radial-gradient(ellipse at center,transparent 0 52%,rgba(0,0,0,.28) 86%),linear-gradient(180deg,rgba(0,0,0,.18),transparent 38%,rgba(0,0,0,.26))}.auth-particle-scene{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;opacity:1;background:transparent}.auth-particle-scene canvas{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;touch-action:none;image-rendering:pixelated}.auth-particle-fallback{position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(0deg,rgba(130,102,80,.14) 0 5px,transparent 5px 14px),repeating-linear-gradient(90deg,rgba(130,102,80,.12) 0 5px,transparent 5px 14px);opacity:.18;-webkit-mask-image:linear-gradient(180deg,transparent,#000 18%,#000 82%,transparent);mask-image:linear-gradient(180deg,transparent,#000 18%,#000 82%,transparent)}html[data-theme=dark] .auth-particle-fallback{background:repeating-linear-gradient(0deg,rgba(232,226,218,.11) 0 5px,transparent 5px 14px),repeating-linear-gradient(90deg,rgba(232,226,218,.1) 0 5px,transparent 5px 14px);opacity:.16}.auth-particle-scene:has(canvas) .auth-particle-fallback{display:none}.auth-hero{min-height:0;height:100%;position:relative;padding:clamp(24px,5vh,64px) 0;display:flex;flex-direction:column;justify-content:center;gap:clamp(18px,3vh,30px)}.auth-brand-row{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:14px}.auth-brand{width:fit-content;color:var(--auth-scene-ink)}.auth-brand .brand-subtitle{color:var(--auth-scene-muted);font-size:12px;font-weight:650}.auth-theme{position:fixed;top:0;right:0;z-index:20;width:76px;height:76px;min-width:0;min-height:0;padding:0;border:0;border-radius:0;background:transparent;color:var(--auth-scene-ink);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;clip-path:polygon(0 0,100% 0,100% 100%);overflow:hidden}.auth-locale-menu{position:fixed;top:14px;right:84px;z-index:21}.auth-theme:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(135deg,#fffaf5eb,#fff1e4c7);border-left:1px solid rgba(96,70,50,.16);border-bottom:1px solid rgba(96,70,50,.16);box-shadow:-14px 14px 34px #5737221f}.auth-theme:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(135deg,transparent 49.2%,rgba(96,70,50,.2) 50%,transparent 50.8%)}.auth-theme svg{position:absolute;top:11px;right:11px}.auth-theme span{position:absolute;top:31px;right:8px;font-size:11px;font-weight:800;line-height:1}.auth-theme:hover,.auth-theme:focus-visible{color:var(--bg-brand);outline:0}html[data-theme=dark] .auth-theme:before{background:linear-gradient(135deg,#2b2119f0,#1d1510db);border-left-color:#fff6ee29;border-bottom-color:#fff6ee29;box-shadow:-14px 14px 34px #0000003d}html[data-theme=dark] .auth-theme:after{background:linear-gradient(135deg,transparent 49.2%,rgba(255,246,238,.18) 50%,transparent 50.8%)}.auth-hero-copy{max-width:660px}.auth-hero-slogan-lockup{display:inline-flex;flex-direction:column;align-items:flex-start;gap:12px;margin:0 0 22px;color:var(--auth-scene-ink)}.auth-hero-slogan-lockup .brand-mark{width:54px;height:54px;border-radius:16px}.auth-hero-slogan-lockup .brand-mark.has-logo{width:clamp(184px,14vw,230px);height:clamp(42px,3.4vw,52px);border-radius:0}.auth-hero-slogan-lockup span:not(.brand-mark){color:var(--auth-scene-ink);font-size:clamp(20px,1.8vw,28px);line-height:1.2;font-weight:850;text-shadow:0 14px 34px rgba(98,57,30,.16)}.auth-hero-copy .eyebrow{color:color-mix(in srgb,var(--bg-brand) 86%,#ffffff)}.auth-hero-copy h1{max-width:680px;margin:0;color:var(--auth-scene-ink);font-size:clamp(34px,4vw,50px);line-height:1.08;font-weight:900;text-wrap:balance;word-break:keep-all;overflow-wrap:normal;text-shadow:0 18px 48px rgba(98,57,30,.14)}.auth-hero-copy p{max-width:560px;margin:16px 0 0;color:var(--auth-scene-muted);font-size:15px;line-height:1.75}html[data-theme=dark] .auth-hero-slogan-lockup span:not(.brand-mark),html[data-theme=dark] .auth-hero-copy h1{text-shadow:0 18px 48px rgba(0,0,0,.36)}.auth-panel-icon{width:42px;height:42px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;color:var(--bg-brand);background:var(--bg-brand-popup)}.auth-panel{--text-default: #211812;--text-secondary: #64564c;--text-tertiary: #94867b;--bg-base-secondary: #fffaf5;--bg-base-tertiary: #f7f0e9;--bg-overlay-l2: #eee2d7;--border-neutral-l1: rgba(73, 52, 37, .13);--border-neutral-l2: rgba(73, 52, 37, .2);--bg-brand-popup: rgba(232, 93, 42, .12);width:100%;padding:34px;border:1px solid rgba(73,52,37,.14);border-radius:8px;background:linear-gradient(180deg,#fffaf5,#fff7ef);color:var(--text-default);box-shadow:0 24px 58px #462a1829,0 1px #ffffffd1 inset;-webkit-backdrop-filter:none;backdrop-filter:none;transform:translate(var(--auth-panel-offset-x))}html[data-theme=dark] .auth-panel,html[data-theme=dark] .auth-state-panel{--text-default: #f7f3ee;--text-secondary: #c9beb6;--text-tertiary: #a69b93;--bg-base-secondary: #2a211b;--bg-base-tertiary: #332923;--bg-overlay-l2: rgba(255, 255, 255, .1);--border-neutral-l1: rgba(255, 246, 238, .12);--border-neutral-l2: rgba(255, 246, 238, .2);--bg-brand-popup: rgba(232, 93, 42, .16);border-color:#fff6ee24;background:linear-gradient(180deg,#2a211b,#211914);box-shadow:0 28px 70px #0000005c,0 1px #ffffff12 inset}.auth-session-shell{width:100%;max-width:none;grid-template-columns:minmax(0,1fr);place-items:center;align-content:center;background:linear-gradient(135deg,color-mix(in srgb,var(--bg-brand-popup) 80%,transparent) 0%,var(--bg-base-default) 52%,color-mix(in srgb,var(--bg-brand) 10%,transparent) 100%),var(--bg-base-default)}.session-expired-card{width:min(100%,400px);padding:48px 32px;border:1px solid var(--border-neutral-l1);border-radius:16px;background:var(--bg-base-default);color:var(--text-default);text-align:center;box-shadow:0 24px 64px #0000000f,0 4px 16px #0000000a}.session-expired-brand{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:32px;color:var(--text-default);font-family:var(--font-family-heading);font-size:18px;font-weight:900}.session-expired-icon{width:48px;height:48px;margin:0 auto 20px;border-radius:999px;background:var(--bg-overlay-l2);color:var(--text-secondary);display:flex;align-items:center;justify-content:center}.session-expired-card h1{margin:0 0 12px;color:var(--text-default);font-family:var(--heading-md-font-family);font-size:var(--heading-md-font-size);line-height:var(--heading-md-line-height);font-weight:var(--heading-md-font-weight)}.session-expired-card p{margin:0;color:var(--text-secondary);font-size:15px;line-height:1.7}.session-expired-actions{display:grid;gap:16px;margin-top:32px}.session-expired-actions .primary-action{min-height:40px}.session-expired-link{width:fit-content;margin:0 auto;color:var(--text-tertiary)}.session-expired-link:hover{color:var(--bg-brand)}.auth-panel-head{display:grid;grid-template-columns:46px minmax(0,1fr);gap:14px;align-items:start;margin-bottom:26px}.auth-panel-head h2{margin:0;color:var(--text-default);font-size:27px;line-height:1.2}.auth-panel-head p{margin:8px 0 0;color:var(--text-secondary);line-height:1.6}.auth-form{display:grid;gap:15px}.auth-login-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin:-6px 0 20px;padding:4px;border:1px solid var(--border-neutral-l1);border-radius:8px;background:var(--bg-base-tertiary)}.auth-login-switch button{min-width:0;min-height:40px;border-radius:6px;background:transparent;color:var(--text-secondary);font-size:13px;font-weight:800;cursor:pointer}.auth-login-switch button.is-active{background:var(--bg-base-secondary);color:var(--text-default);box-shadow:var(--shadow-sm)}.auth-field{display:grid;gap:7px;color:var(--text-secondary);font-size:12px;font-weight:800}.auth-control{min-width:0;min-height:52px;border:1px solid var(--border-neutral-l1);border-radius:8px;background:var(--bg-base-tertiary);color:var(--text-default);display:flex;align-items:center;gap:9px;padding:0 13px}.auth-control:focus-within{border-color:var(--border-brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--bg-brand) 18%,transparent)}.auth-control input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:inherit}.auth-control input::placeholder{color:var(--text-tertiary)}.auth-field-hint{color:var(--text-tertiary);font-size:11px;font-weight:600;line-height:1.5}.field-icon-button{width:30px;height:30px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:var(--text-tertiary);cursor:pointer}.field-icon-button:hover{color:var(--bg-brand);background:var(--bg-brand-popup)}.auth-captcha-group{display:grid;grid-template-columns:minmax(0,1fr) 132px;gap:8px;align-items:stretch}.auth-captcha-image{min-width:0;min-height:52px;padding:5px;border:1px solid var(--border-neutral-l1);border-radius:8px;background:var(--bg-base-tertiary);color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.auth-captcha-image img{width:100%;height:40px;display:block;object-fit:contain}.auth-captcha-image span{font-size:12px;font-weight:800}.auth-captcha-image:hover:not(:disabled){border-color:var(--border-brand);color:var(--bg-brand);background:var(--bg-brand-popup)}.auth-captcha-image:disabled{cursor:wait;opacity:.68}.auth-code-row{display:grid;grid-template-columns:minmax(0,1fr) 132px;gap:8px;align-items:end}.auth-code-send{width:100%;min-height:52px;padding:0 10px;white-space:nowrap}.auth-options,.auth-secondary-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px}.text-button{padding:0;background:transparent;color:var(--bg-brand);font-weight:800;cursor:pointer}.auth-submit{width:100%;min-height:52px;margin-top:4px}.auth-oauth-section{margin-top:20px}.auth-divider{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:12px;align-items:center;color:var(--text-tertiary);font-size:12px;font-weight:700}.auth-divider:before,.auth-divider:after{content:"";height:1px;background:var(--border-neutral-l1)}.auth-oauth-grid{display:grid;grid-template-columns:repeat(4,44px);justify-content:center;gap:10px;margin-top:16px}.auth-oauth-button{width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:1px solid var(--border-neutral-l1);border-radius:10px;background:var(--bg-base-tertiary);color:var(--text-default);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.auth-oauth-button:hover:not(:disabled){border-color:var(--border-brand);color:var(--bg-brand);background:var(--bg-brand-popup)}.auth-oauth-button:disabled{cursor:wait;opacity:.66}.oauth-brand-icon{width:22px;height:22px;flex:0 0 22px;object-fit:contain}.oauth-brand-icon[data-provider=wechat-open]{width:24px;height:24px;flex-basis:24px}.oauth-brand-icon[data-provider=google]{width:19px;height:19px;flex-basis:19px}.oauth-brand-icon[data-provider=apple]{width:26px;height:26px;flex-basis:26px;transform:translate(.5px)}.oauth-brand-icon[data-provider=feishu]{width:21px;height:21px;flex-basis:21px}html[data-theme=dark] .oauth-brand-icon[data-provider=apple]{filter:invert(1)}.toast-container{position:fixed;top:20px;right:24px;z-index:240;width:min(360px,calc(100vw - 32px));max-height:calc(100vh - 40px);display:flex;flex-direction:column;gap:10px;pointer-events:none}@media(min-width:860px){body:has(.notification-preferences-drawer) .toast-container{right:calc(min(420px,100vw - 48px) + 72px)}}.toast{min-width:0;border:1px solid var(--border-neutral-l1);border-left:3px solid var(--status-success-default);border-radius:8px;background:var(--bg-base-secondary);color:var(--text-default);box-shadow:0 8px 24px #00000014,0 2px 8px #0000000a;padding:14px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;flex:0 0 auto;pointer-events:auto;animation:toastSlideIn .24s ease-out}.toast.is-exiting{pointer-events:none;animation:toastSlideOut .18s ease-in forwards}.toast-info{border-left-color:var(--bg-brand)}.toast-error{border-left-color:var(--status-error-default)}.toast-warning{border-left-color:var(--status-warning-default)}.toast-icon{width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center}.toast-icon.is-success{background:var(--status-success-surface);color:var(--status-success-default)}.toast-icon.is-info{background:var(--bg-brand-popup);color:var(--bg-brand)}.toast-icon.is-error{background:var(--status-error-surface);color:var(--status-error-default)}.toast-icon.is-warning{background:var(--status-warning-surface);color:var(--status-warning-default)}.toast-content{min-width:0}.toast-head{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px}.toast-head strong{min-width:0;color:var(--text-default);font-size:14px;font-weight:800;line-height:1.35;overflow-wrap:anywhere}.toast-close{width:24px;height:24px;border:0;border-radius:8px;background:transparent;color:var(--icon-secondary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.toast-close:hover{background:var(--bg-overlay-l2);color:var(--text-default)}.toast p{margin:5px 0 0;color:var(--text-secondary);font-size:13px;line-height:1.45;overflow-wrap:anywhere}.toast-action{margin:10px 0 0;padding:0;border:0;background:transparent;color:var(--bg-brand);font-size:13px;font-weight:800;cursor:pointer}.toast-action:hover{text-decoration:underline}.toast-progress{height:3px;margin-top:10px;border-radius:999px;background:var(--bg-overlay-l2);overflow:hidden}.toast-progress span{width:100%;height:100%;border-radius:inherit;background:var(--status-success-default);display:block;transform-origin:left center;animation:toastProgress var(--toast-duration, 5.6s) linear forwards}.toast-info .toast-progress span{background:var(--bg-brand)}.toast-error .toast-progress span{background:var(--status-error-default)}.toast-warning .toast-progress span{background:var(--status-warning-default)}@keyframes toastSlideIn{0%{transform:translate(32px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes toastProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes toastSlideOut{to{transform:translate(32px);opacity:0}}@media(max-width:640px){.toast-container{top:12px;right:12px;left:12px;width:auto;max-height:calc(100vh - 24px)}}@media(max-width:859px){body:has(.notification-preferences-drawer) .toast-container{top:128px}}@media(prefers-reduced-motion:reduce){.toast,.toast.is-exiting,.toast-progress span{animation-duration:.01ms}}.auth-secondary-actions{margin-top:18px;justify-content:space-between}.auth-step-hint{display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px 10px;align-items:start;padding:12px;border:1px solid var(--border-neutral-l1);border-radius:8px;background:var(--bg-base-tertiary)}.auth-step-hint span{width:28px;height:28px;border-radius:999px;background:var(--bg-brand);color:var(--text-onbrand);display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:900}.auth-step-hint strong{color:var(--text-default)}.auth-step-hint p{grid-column:2;margin:0;color:var(--text-secondary);font-size:12px;line-height:1.55}.auth-password-strength{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:6px;align-items:center;color:var(--text-tertiary)}.auth-password-strength i{height:4px;border-radius:999px;background:var(--border-neutral-l1)}.auth-password-strength strong{font-size:11px;font-weight:800}.auth-password-strength.is-weak i:first-child{background:var(--status-error-default)}.auth-password-strength.is-medium i:nth-child(-n+2){background:var(--status-warning-default)}.auth-password-strength.is-strong i{background:var(--status-success-default)}.auth-state-panel{display:grid;justify-items:center;gap:12px;text-align:center}.auth-state-icon{width:76px;height:76px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center}.auth-state-panel.is-success .auth-state-icon{background:var(--status-success-surface);color:var(--status-success-default)}.auth-state-panel.is-danger .auth-state-icon{background:var(--status-error-surface);color:var(--status-error-default)}.auth-state-panel h2{margin:8px 0 0;color:var(--text-default);font-size:26px;line-height:1.2}.auth-state-panel p{margin:0;color:var(--text-secondary);line-height:1.65}.auth-state-panel small{max-width:320px;color:var(--text-tertiary);line-height:1.65}.auth-state-actions{width:100%;display:grid;gap:10px;margin-top:10px}html:not([data-theme=dark]) .auth-session-shell{background:var(--auth-scene-bg)}html:not([data-theme=dark]) .session-expired-card{border-color:#ffffff8f;background:#ffffffeb}html:not([data-theme=dark]) .auth-control,html:not([data-theme=dark]) .auth-oauth-button,html:not([data-theme=dark]) .auth-login-switch,html:not([data-theme=dark]) .auth-captcha-image{border-color:#49342521;background:#f7f0e9}html:not([data-theme=dark]) .auth-login-switch button.is-active{background:#fffaf5}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:180;padding:18px;background:#16120f7a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:grid;place-items:center}.dialog-close{position:absolute;top:10px;right:10px}.data-export-dialog{width:min(560px,100%);max-height:calc(100vh - 40px);border:1px solid var(--border-neutral-l1);border-radius:16px;background:var(--bg-base-default);box-shadow:var(--shadow-xl);color:var(--text-default);overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr) auto}.data-export-head,.data-export-foot{padding:18px 20px;display:flex;gap:14px}.data-export-head{align-items:flex-start;justify-content:space-between;border-bottom:1px solid var(--border-neutral-l1)}.data-export-head h2,.data-export-head p,.data-export-section h3{margin:0}.data-export-head h2{color:var(--text-default);font-size:20px;line-height:1.25}.data-export-head p{margin-top:6px;color:var(--text-secondary);font-size:13px;line-height:1.55}.data-export-body{min-height:0;overflow:auto;padding:18px 20px;display:grid;gap:18px}.data-export-section{min-width:0;display:grid;gap:10px}.data-export-section h3{color:var(--text-default);font-size:15px;line-height:1.3}.data-export-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.data-export-radio-row,.data-export-format-row,.data-export-pill-row{min-width:0;display:flex;flex-wrap:wrap;gap:8px}.data-export-radio-row label,.data-export-format-row label,.data-export-field-grid label{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:10px;background:var(--bg-base-secondary);color:var(--text-secondary);padding:9px 11px;display:flex;align-items:center;gap:8px}.data-export-radio-row label{flex:1 1 190px}.data-export-radio-row input,.data-export-format-row input,.data-export-field-grid input{accent-color:var(--bg-brand)}.data-export-radio-row span,.data-export-format-row span,.data-export-field-grid span{color:var(--text-default);font-weight:800}.data-export-radio-row small{margin-left:auto;color:var(--text-tertiary);white-space:nowrap}.data-export-date-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px}.data-export-date-row label{min-width:0;min-height:38px;border:1px solid var(--border-neutral-l1);border-radius:10px;background:var(--bg-base-secondary);padding:0 10px;display:flex;align-items:center;gap:8px}.data-export-date-row svg{color:var(--text-tertiary)}.data-export-date-row input{min-width:0;width:100%;border:0;background:transparent;color:var(--text-default);font:inherit}.data-export-date-row>span{color:var(--text-tertiary)}.data-export-pill-row button{min-height:28px;border:1px solid var(--border-neutral-l1);border-radius:999px;background:var(--bg-base-secondary);color:var(--text-secondary);padding:0 12px;font:inherit;font-size:12px;font-weight:800;cursor:pointer}.data-export-pill-row button.is-active{border-color:var(--bg-brand);background:var(--bg-brand-popup);color:var(--bg-brand)}.data-export-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.data-export-foot{justify-content:space-between;align-items:center;border-top:1px solid var(--border-neutral-l1);background:var(--bg-base-secondary)}.data-export-foot>span,.data-export-foot>div{display:flex;align-items:center;gap:8px}.data-export-foot>span{color:var(--text-tertiary);font-size:13px}@media(max-width:640px){.data-export-dialog{max-height:calc(100vh - 24px)}.data-export-date-row,.data-export-field-grid{grid-template-columns:minmax(0,1fr)}.data-export-date-row>span{display:none}.data-export-foot{display:grid;justify-content:stretch}.data-export-foot>div{display:grid;grid-template-columns:1fr}}.app-shell{min-height:100vh;display:grid;grid-template-rows:auto minmax(0,1fr)}.brand{display:flex;align-items:center;gap:10px;min-width:0;padding:0;background:transparent;color:inherit;cursor:pointer;text-align:left}.brand-mark{width:38px;height:38px;border-radius:12px;background:var(--bg-brand-gradient);color:var(--text-onbrand);display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;box-shadow:var(--shadow-btn)}.brand-mark.has-logo{width:112px;height:38px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.brand-mark img{width:100%;height:100%;display:block;object-fit:contain;border-radius:0}.brand-mark .brand-logo-dark,html[data-theme=dark] .brand-mark.has-dark-logo .brand-logo-light{display:none}html[data-theme=dark] .brand-mark.has-dark-logo .brand-logo-dark,.brand-title,.brand-subtitle{display:block}.brand-title{font-size:15px;font-weight:800;line-height:1.2}.brand-subtitle{margin-top:3px;color:var(--text-tertiary);font-size:11px}.main-shell{min-width:0;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:20;min-height:64px;padding:12px var(--shell-gutter);background:color-mix(in srgb,var(--bg-base-default) 88%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--border-neutral-l1);display:grid;grid-template-columns:minmax(220px,1fr) minmax(360px,680px) minmax(220px,1fr);align-items:center;gap:18px}.topbar-brand{width:fit-content;max-width:100%}.search{width:100%;min-width:0;max-width:680px;justify-self:center;height:40px;border-radius:12px;border:1px solid var(--border-neutral-l1);background:var(--bg-base-secondary);color:var(--text-default);display:flex;align-items:center;gap:8px;padding:0 12px}.search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:inherit}.topbar-actions{position:relative;display:flex;align-items:center;justify-content:flex-end;justify-self:end;gap:10px;min-width:0;flex-wrap:nowrap}.notification-anchor{position:relative}.notification-popover{position:absolute;top:calc(100% + 10px);right:0;width:min(360px,calc(100vw - 28px));max-height:min(520px,calc(100vh - 110px));padding:14px;border:1px solid var(--border-neutral-l1);border-radius:16px;background:var(--bg-base-secondary);box-shadow:var(--shadow-lg);overflow:auto}.notification-list{display:grid;gap:8px}.notification-item{min-width:0;padding:10px;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-tertiary);color:inherit;cursor:pointer;text-align:left}.notification-item.is-unread{border-color:var(--border-brand);background:var(--bg-brand-popup)}.notification-item strong,.notification-item span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.locale-menu{position:relative;flex:0 0 auto}.locale-menu-trigger{min-width:48px;height:40px;border:1px solid var(--border-neutral-l1);border-radius:8px;background:var(--bg-base-secondary);color:var(--text-default);padding:0 10px;display:inline-flex;align-items:center;justify-content:center;gap:5px;font:inherit;font-size:11px;font-weight:800;cursor:pointer}.locale-menu-trigger:hover,.locale-menu-trigger[aria-expanded=true]{border-color:var(--border-brand);color:var(--bg-brand)}.locale-menu-popover{position:absolute;top:calc(100% + 8px);right:0;z-index:80;width:156px;border:1px solid var(--border-neutral-l1);border-radius:8px;background:var(--bg-base-secondary);box-shadow:var(--shadow-lg);padding:6px;display:grid;gap:2px}.locale-menu-popover button{width:100%;min-height:36px;border:0;border-radius:6px;background:transparent;color:var(--text-secondary);padding:0 9px;display:flex;align-items:center;justify-content:space-between;gap:10px;font:inherit;font-size:13px;cursor:pointer}.locale-menu-popover button:hover,.locale-menu-popover button.is-selected{background:var(--bg-brand-popup);color:var(--bg-brand)}.locale-menu-popover small{padding:7px 9px 3px;color:var(--status-error-default);font-size:11px;line-height:1.4}@media(max-width:680px){.locale-menu-trigger{width:40px;min-width:40px;padding:0}.locale-menu-trigger span{display:none}}.global-search-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:grid;align-items:start;justify-items:center;padding:32px 20px 20px;background:#12100e61;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.global-search-panel{width:min(760px,100%);max-height:min(720px,calc(100vh - 64px));border:1px solid var(--border-neutral-l1);border-radius:18px;background:var(--bg-base-secondary);box-shadow:var(--shadow-lg);overflow:hidden;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto}.global-search-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 20px 14px;border-bottom:1px solid var(--border-neutral-l1)}.global-search-head h2{margin:3px 0 0;font-size:20px;line-height:1.2}.global-search-control{margin:14px 20px;min-width:0;height:46px;border:1px solid var(--border-neutral-l2);border-radius:12px;background:var(--bg-base-tertiary);color:var(--text-default);display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:0 12px}.global-search-control input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:inherit}.global-search-spinner{animation:global-search-spin .8s linear infinite}@keyframes global-search-spin{to{transform:rotate(360deg)}}.global-search-control>span{min-width:0;padding:2px 7px;border:1px solid var(--border-neutral-l1);border-radius:6px;color:var(--text-tertiary);font-size:11px}.global-search-results,.global-search-command{min-height:0;overflow:auto;padding:0 20px 20px;display:grid;align-content:start}.global-search-results{gap:16px}.global-search-command{gap:18px}.global-search-command-section{min-width:0;display:grid;gap:10px}.global-search-section{min-width:0;display:grid;gap:8px}.global-search-section-title{color:var(--text-tertiary);font-size:12px;font-weight:700}.global-search-item{width:100%;min-width:0;min-height:58px;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-secondary);color:inherit;display:grid;grid-template-columns:auto minmax(0,1fr) minmax(96px,auto) auto;align-items:center;gap:12px;padding:10px 12px;text-align:left;cursor:pointer}.global-search-item:hover,.global-search-item:focus-visible,.global-search-item.is-active,.global-search-command-card:hover,.global-search-command-card:focus-visible,.global-search-command-card.is-active{border-color:var(--border-brand);background:var(--bg-brand-popup);outline:0}.global-search-item-icon{width:34px;height:34px;border-radius:10px;background:var(--bg-base-tertiary);color:var(--bg-brand);display:grid;place-items:center}.global-search-item-copy,.global-search-item-copy strong,.global-search-item-copy small,.global-search-item-meta{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.global-search-item-copy{display:grid;gap:2px}.global-search-item-copy strong{color:var(--text-default);font-size:14px}.global-search-item-copy small,.global-search-item-meta{color:var(--text-tertiary);font-size:12px}.global-search-empty{min-height:180px;border:1px dashed var(--border-neutral-l2);border-radius:14px;color:var(--text-secondary);display:grid;place-items:center;align-content:center;gap:8px;text-align:center;padding:24px}.global-search-empty strong{color:var(--text-default)}.global-search-command-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.global-search-command-card{min-width:0;min-height:62px;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-default);color:var(--text-default);display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;cursor:pointer;text-align:left}.global-search-command-icon,.global-search-recent-icon{width:36px;height:36px;border-radius:10px;background:var(--bg-base-tertiary);color:var(--bg-brand);display:grid;place-items:center}.global-search-command-card span:not(.global-search-command-icon){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:800}.global-search-command-card kbd{min-width:28px;height:22px;padding:0 6px;border:1px solid var(--border-neutral-l1);border-radius:6px;background:var(--bg-base-tertiary);color:var(--text-tertiary);font:inherit;font-size:11px;font-weight:800;display:inline-grid;place-items:center}.global-search-pill-row{display:flex;flex-wrap:wrap;gap:8px}.global-search-pill{min-height:32px;border:1px solid var(--border-neutral-l1);border-radius:999px;background:var(--bg-base-default);color:var(--text-secondary);display:inline-flex;align-items:center;gap:7px;padding:0 12px;cursor:pointer;font-weight:700}.global-search-pill span{width:18px;height:18px;display:inline-grid;place-items:center;color:var(--bg-brand)}.global-search-pill:hover,.global-search-pill:focus-visible,.global-search-pill.is-active{border-color:var(--border-brand);color:var(--text-default);background:var(--bg-brand-popup);outline:0}.global-search-recent-list{display:grid;gap:8px}.global-search-recent-item{min-width:0;min-height:54px;border:0;border-radius:10px;background:transparent;color:inherit;display:grid;grid-template-columns:auto minmax(0,1fr) minmax(92px,auto);align-items:center;gap:10px;padding:9px 10px;cursor:pointer;text-align:left}.global-search-recent-item:hover,.global-search-recent-item:focus-visible,.global-search-recent-item.is-active{background:var(--bg-base-tertiary);outline:0}.global-search-command-empty{min-height:58px;border:1px dashed var(--border-neutral-l2);border-radius:12px;color:var(--text-tertiary);display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;text-align:center}.global-search-footer{min-width:0;border-top:1px solid var(--border-neutral-l1);padding:10px 20px 14px;color:var(--text-tertiary);font-size:12px;display:flex;justify-content:center;gap:14px;flex-wrap:wrap}.global-search-footer kbd{min-width:22px;height:20px;padding:0 6px;border:1px solid var(--border-neutral-l1);border-radius:6px;background:var(--bg-base-tertiary);color:var(--text-secondary);font:inherit;font-weight:700;display:inline-grid;place-items:center;margin-right:5px}.global-search-footer-button{border:0;background:transparent;color:var(--text-secondary);font:inherit;font-weight:700;cursor:pointer;padding:0}.global-search-footer-button:hover,.global-search-footer-button:focus-visible{color:var(--bg-brand);outline:0}@media(max-width:760px){.global-search-backdrop{align-items:stretch;padding:10px}.global-search-panel{max-height:calc(100vh - 20px);border-radius:14px}.global-search-head{padding:14px}.global-search-control{margin:12px 14px}.global-search-results,.global-search-command{padding:0 14px 14px}.global-search-item{grid-template-columns:auto minmax(0,1fr) auto}.global-search-item-meta{grid-column:2 / 3}.global-search-command-grid{grid-template-columns:minmax(0,1fr)}.global-search-recent-item{grid-template-columns:auto minmax(0,1fr)}}.keyboard-shortcuts-dialog{width:min(560px,100%);max-height:min(680px,calc(100vh - 36px));border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-secondary);color:var(--text-default);box-shadow:var(--shadow-lg);overflow:hidden;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto}.keyboard-shortcuts-head{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px 12px;border-bottom:1px solid var(--border-neutral-l1)}.keyboard-shortcuts-head h2{margin:2px 0 0;font-size:20px;line-height:1.2}.keyboard-shortcuts-search{min-width:0;height:42px;margin:14px 18px 10px;border:1px solid var(--border-neutral-l2);border-radius:10px;background:var(--bg-base-tertiary);display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:0 12px;color:var(--text-secondary)}.keyboard-shortcuts-search input{min-width:0;width:100%;border:0;outline:0;background:transparent;color:var(--text-default)}.keyboard-shortcuts-body{min-height:0;overflow:auto;padding:0 18px 16px;display:grid;align-content:start;gap:14px}.keyboard-shortcuts-group{min-width:0;display:grid;gap:6px}.keyboard-shortcuts-group-title{color:var(--text-tertiary);font-size:12px;font-weight:800}.keyboard-shortcuts-row{min-width:0;min-height:44px;border:1px solid var(--border-neutral-l1);border-radius:8px;background:var(--bg-base-secondary);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:8px 10px}.keyboard-shortcuts-row strong,.keyboard-shortcuts-row small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.keyboard-shortcuts-row strong{font-size:14px}.keyboard-shortcuts-row small{margin-top:2px;color:var(--text-tertiary);font-size:12px}.keyboard-shortcuts-keys{display:inline-flex;align-items:center;justify-content:flex-end;gap:4px}.keyboard-shortcuts-dialog kbd{min-width:26px;height:24px;padding:0 7px;border:1px solid var(--border-neutral-l1);border-radius:6px;background:var(--bg-base-tertiary);color:var(--text-secondary);font:inherit;font-size:12px;font-weight:800;display:inline-grid;place-items:center}.keyboard-shortcuts-empty{min-height:120px;border:1px dashed var(--border-neutral-l2);border-radius:10px;color:var(--text-secondary);display:grid;place-items:center;align-content:center;gap:8px}.keyboard-shortcuts-footer{min-width:0;border-top:1px solid var(--border-neutral-l1);padding:10px 18px 12px;color:var(--text-tertiary);font-size:12px;display:flex;justify-content:center}.keyboard-shortcuts-footer kbd{margin-right:5px}@media(max-width:760px){.keyboard-shortcuts-dialog{max-height:calc(100vh - 20px);border-radius:10px}.keyboard-shortcuts-head{padding:14px}.keyboard-shortcuts-search{margin:12px 14px 10px}.keyboard-shortcuts-body{padding:0 14px 14px}.keyboard-shortcuts-row{align-items:start;grid-template-columns:1fr}.keyboard-shortcuts-keys{justify-content:flex-start}}.notification-item span,.notification-empty{color:var(--text-tertiary);font-size:12px}.has-badge{position:relative}.has-badge span{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;border-radius:999px;padding:0 5px;background:var(--status-error-default);color:var(--text-onbrand);font-size:10px;font-weight:900;line-height:18px}.user-chip{max-width:180px;min-width:0}.user-chip-label{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis}.icon-button,.theme-button,.primary-action,.secondary-action{min-height:40px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 12px;font-size:13px;font-weight:700;white-space:nowrap;cursor:pointer}.icon-button,.theme-button,.secondary-action{border:1px solid var(--border-neutral-l1);background:var(--bg-base-secondary);color:var(--text-default)}.icon-button{width:40px;padding:0}.icon-button[aria-label^=返回]{width:auto;min-width:40px;padding:0 12px}.icon-button[aria-label^=返回]:after{content:attr(aria-label)}.primary-action{border:1px solid var(--bg-brand);background:var(--bg-brand);color:var(--text-onbrand);box-shadow:var(--shadow-btn)}.compact-action{min-height:32px;border-radius:8px;padding:0 10px;font-size:12px}.primary-action:disabled{cursor:not-allowed;opacity:.58;box-shadow:none}.primary-action:hover{background:var(--bg-brand-hover)}.secondary-action:hover,.theme-button:hover,.icon-button:hover{border-color:var(--border-brand);color:var(--bg-brand)}.workspace{width:min(calc(100vw - (var(--workspace-side-margin) * 2)),var(--shell-max));margin:0 auto;padding:24px var(--shell-gutter) 44px;display:grid;gap:18px}.workspace>*{min-width:0}.workspace>.formal-page-canvas{width:100%;max-width:none}.workspace-return{min-height:32px;padding:0;border:0;border-radius:0;background:transparent;display:flex;align-items:center;gap:8px;color:var(--text-tertiary);font-size:12px;font-weight:800}.workspace-return span:after{content:"/";margin-left:10px;color:var(--border-neutral-l2)}.workspace-return strong{color:var(--text-default)}.workspace-return .secondary-action{min-height:30px;border-color:transparent;background:transparent;box-shadow:none;padding:0 8px 0 0;margin-right:0}.split-grid>*,.roast-console>*,.lower-grid>*,.hero-grid>*,.panel{min-width:0}.connection-banner{border:1px solid var(--status-warning-default);border-radius:14px;background:var(--status-warning-surface);color:#7a4200;padding:12px 14px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start}html[data-theme=dark] .connection-banner{color:#ffd39a}.connection-banner strong,.connection-banner span{display:block}.connection-banner span{margin-top:2px;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.network-error-page{min-height:100vh;padding:32px;display:flex;align-items:center;justify-content:center;background:var(--bg-base-default);color:var(--text-default)}.network-error-card{width:min(100%,420px);display:grid;justify-items:center;gap:16px;text-align:center}.network-error-icon{width:80px;height:80px;border-radius:50%;background:var(--status-error-surface-l1);color:var(--status-error-default);display:inline-flex;align-items:center;justify-content:center}.network-error-card h1{margin:8px 0 0;color:var(--text-default);font-size:28px;line-height:1.2}.network-error-card p{margin:-4px 0 0;color:var(--text-secondary);font-size:15px;line-height:1.65}.network-error-details{width:100%;margin:6px 0 0;padding:8px 16px;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-secondary);box-shadow:var(--shadow-sm);text-align:left}.network-error-details div{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:16px}.network-error-details div+div{border-top:1px solid var(--border-neutral-l1)}.network-error-details dt,.network-error-details dd{margin:0;font-size:14px;line-height:1.4}.network-error-details dt{color:var(--text-tertiary)}.network-error-details dd{min-width:0;color:var(--text-default);font-family:var(--font-family-metric);overflow-wrap:anywhere;text-align:right}.network-error-card .primary-action.wide{width:100%;min-height:44px}.network-error-hint,.network-error-version{color:var(--text-tertiary);font-size:13px;line-height:1.5}.network-error-version{margin-top:16px;font-size:12px}.workspace-skeleton-page{min-height:min(760px,calc(100vh - 96px));padding:clamp(16px,3vw,28px);color:var(--text-default)}.workspace-skeleton-shell{width:min(100%,1280px);min-height:min(680px,calc(100vh - 152px));margin:0 auto;display:grid;grid-template-columns:minmax(190px,260px) minmax(0,1fr) minmax(220px,280px);grid-template-rows:auto minmax(0,1fr);border:1px solid var(--border-neutral-l1);border-radius:8px;background:var(--bg-base-default);overflow:hidden}.workspace-skeleton-topbar{grid-column:1 / -1;min-width:0;min-height:72px;padding:12px 20px;border-bottom:1px solid var(--border-neutral-l1);display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px}.workspace-skeleton-status{min-width:0}.workspace-skeleton-status h1{margin:2px 0 0;color:var(--text-default);font-size:20px;line-height:1.25}.workspace-skeleton-status p{margin:3px 0 0;color:var(--text-secondary);font-size:13px;line-height:1.45}.workspace-skeleton-topbar-actions{min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:12px}.workspace-skeleton-left,.workspace-skeleton-center,.workspace-skeleton-right{min-width:0;display:grid;align-content:start;gap:14px}.workspace-skeleton-left,.workspace-skeleton-right{padding:16px;background:var(--bg-base-default)}.workspace-skeleton-left{border-right:1px solid var(--border-neutral-l1)}.workspace-skeleton-center{padding:20px;background:var(--bg-base-secondary)}.workspace-skeleton-right{border-left:1px solid var(--border-neutral-l1)}.workspace-skeleton-card-grid,.workspace-skeleton-action-grid{min-width:0;display:grid;gap:12px}.workspace-skeleton-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.workspace-skeleton-action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.workspace-skeleton-block{border-radius:8px;background:linear-gradient(90deg,var(--bg-base-secondary) 0%,var(--border-neutral-l1) 48%,var(--bg-base-secondary) 100%);background-size:200% 100%;animation:skeletonPulse 1.8s ease-in-out infinite}.workspace-skeleton-circle{border-radius:50%}.workspace-skeleton-logo,.workspace-skeleton-avatar{width:30px;height:30px}.workspace-skeleton-chip{width:86px;height:26px}.workspace-skeleton-device{width:100%;height:72px}.workspace-skeleton-curve{width:100%;min-height:320px}.workspace-skeleton-card{min-height:120px}.workspace-skeleton-section-title{width:86px;height:16px}.workspace-skeleton-caption{width:66px;height:14px}.workspace-skeleton-action{min-height:64px}.workspace-skeleton-activity{width:100%;height:48px}@media(max-width:1180px){.workspace-skeleton-shell{grid-template-columns:minmax(180px,240px) minmax(0,1fr)}.workspace-skeleton-right{grid-column:1 / -1;border-top:1px solid var(--border-neutral-l1);border-left:0}.workspace-skeleton-action-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:760px){.workspace-skeleton-page{padding:12px}.workspace-skeleton-shell{min-height:auto;grid-template-columns:minmax(0,1fr)}.workspace-skeleton-topbar{grid-template-columns:auto minmax(0,1fr);padding:14px 16px}.workspace-skeleton-topbar-actions{display:none}.workspace-skeleton-left,.workspace-skeleton-center,.workspace-skeleton-right{border-right:0;border-left:0}.workspace-skeleton-center,.workspace-skeleton-right{border-top:1px solid var(--border-neutral-l1)}.workspace-skeleton-card-grid,.workspace-skeleton-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-skeleton-curve{min-height:240px}}.permission-denied-page{min-height:min(680px,calc(100vh - 140px));padding:32px;display:flex;align-items:center;justify-content:center;color:var(--text-default)}.permission-denied-card{width:min(100%,420px);display:grid;justify-items:center;gap:16px;text-align:center}.permission-denied-icon{width:80px;height:80px;border-radius:50%;background:var(--status-warning-surface);color:var(--status-warning-default);display:inline-flex;align-items:center;justify-content:center}.permission-denied-card h1{margin:8px 0 0;color:var(--text-default);font-size:28px;line-height:1.2}.permission-denied-card p{margin:-4px 0 0;color:var(--text-secondary);font-size:15px;line-height:1.65}.permission-denied-details{width:100%;margin:6px 0 0;padding:8px 16px;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-secondary);box-shadow:var(--shadow-sm);text-align:left}.permission-denied-details div{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:16px}.permission-denied-details div+div{border-top:1px solid var(--border-neutral-l1)}.permission-denied-details dt,.permission-denied-details dd{margin:0;font-size:14px;line-height:1.4}.permission-denied-details dt{color:var(--text-tertiary)}.permission-denied-details dd{min-width:0;color:var(--text-default);overflow-wrap:anywhere;text-align:right}.permission-role-tag{display:inline-flex;align-items:center;max-width:100%;min-height:24px;padding:0 9px;border-radius:999px;background:var(--status-warning-surface);color:var(--status-warning-default);font-size:12px;font-weight:800}.permission-denied-actions{width:100%;display:grid;grid-template-columns:minmax(0,1fr)}.permission-denied-actions .primary-action{width:100%}.permission-denied-card small{color:var(--text-tertiary);font-size:13px;line-height:1.5}@media(max-width:560px){.network-error-page{padding:24px 16px}.permission-denied-page{min-height:auto;padding:24px 0}.permission-denied-details div,.network-error-details div{align-items:flex-start;flex-direction:column;gap:4px;padding:8px 0}.permission-denied-details dd,.network-error-details dd{text-align:left}}.hero-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(320px,.9fr);gap:var(--shell-gap);align-items:stretch}.hero-panel,.roaster-panel,.panel,.module-card,.metric{border:1px solid var(--border-neutral-l1);background:var(--bg-base-secondary);border-radius:16px;box-shadow:var(--shadow-sm)}.eyebrow{display:inline-flex;align-items:center;gap:7px;color:var(--bg-brand);font-size:12px;font-weight:800}h1{margin:8px 0 0;color:var(--text-default);font-size:clamp(24px,3.2vw,40px);line-height:1.12;letter-spacing:0}.hero-copy{max-width:720px;margin:10px 0 0;color:var(--text-secondary);line-height:1.6}.hero-actions{display:flex;flex-wrap:wrap;gap:10px}.metric-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.metric{padding:14px;background:var(--bg-base-tertiary)}.metric-label,.metric-trend,.section-note{color:var(--text-tertiary);font-size:12px}.metric-value{margin-top:5px;color:var(--text-default);font-size:22px;font-weight:900}.metric-trend{margin-top:3px}.roaster-panel{overflow:hidden;display:flex;flex-direction:column}.roaster-image{min-height:190px;background:linear-gradient(180deg,#17130f00,#17130f6b),url(/images/hero-roaster.jpg) center/cover}.roaster-body{padding:18px;display:grid;gap:14px}.device-state{display:flex;align-items:center;justify-content:space-between;gap:12px}.temperature{color:var(--text-default);font-size:36px;font-weight:900;letter-spacing:0}.state-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:var(--status-success-surface);color:var(--status-success-default);font-size:12px;font-weight:800}.progress-track{height:10px;margin-top:7px;border-radius:999px;background:var(--chart-unfilled);overflow:hidden}.progress-fill{width:63%;height:100%;border-radius:inherit;background:var(--bg-brand-gradient)}.wide{width:100%}.section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:8px 0 12px}.section-head h2{margin:0;font-size:16px}.module-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--shell-gap)}.module-card{min-height:150px;padding:18px;display:flex;flex-direction:column;gap:12px;color:inherit;cursor:pointer;text-align:left;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.module-card:hover{transform:translateY(-2px);border-color:var(--border-brand);box-shadow:var(--shadow-md)}.lower-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.8fr);gap:var(--shell-gap)}.panel{padding:18px}.task-list,.activity-list{display:grid;gap:10px}.task-item{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border-radius:12px;border:1px solid var(--border-neutral-l1);background:var(--bg-base-tertiary);color:inherit;cursor:pointer;text-align:left}.task-icon{width:36px;height:36px;border-radius:10px}.task-subtitle,.activity-text{display:block;color:var(--text-secondary);font-size:12px}.task-subtitle{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-status{color:var(--bg-brand);font-size:11px;font-weight:800}.activity-item{display:grid;grid-template-columns:8px minmax(0,1fr);gap:10px;align-items:start}.activity-dot{width:8px;height:8px;margin-top:6px;border-radius:50%;background:var(--bg-brand)}.activity-dot.is-info{background:var(--status-info-default)}.activity-dot.is-success{background:var(--status-success-default)}.activity-time{display:block;margin-top:2px;color:var(--text-tertiary);font-size:11px}.home-dashboard-page{width:min(100%,1480px);margin:0 auto;display:grid;gap:24px}.home-hero{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:18px}.home-breadcrumb{min-width:0;margin-bottom:8px;color:var(--text-tertiary);font-size:13px;font-weight:700}.home-hero h1{margin:0;color:var(--text-default);font-size:clamp(30px,3vw,42px);line-height:1.12;letter-spacing:0}.home-hero p{max-width:680px;margin:10px 0 0;color:var(--text-secondary);font-size:15px;line-height:1.7}.home-role-chip{min-height:32px;padding:0 12px;border:1px solid var(--border-neutral-l1);border-radius:999px;background:var(--bg-base-secondary);color:var(--text-secondary);display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:800;white-space:nowrap;box-shadow:var(--shadow-sm)}.home-role-chip svg{color:var(--status-success-default)}.home-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.metric-card{min-width:0;min-height:116px;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-secondary);box-shadow:var(--shadow-sm);padding:16px 18px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:start}.metric-card__icon{width:38px;height:38px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;background:var(--bg-brand-popup);color:var(--bg-brand)}.metric-card.is-success .metric-card__icon{background:var(--status-success-surface-l1);color:var(--status-success-default)}.metric-card.is-bean .metric-card__icon{background:color-mix(in srgb,var(--status-success-default) 12%,var(--bg-base-secondary));color:var(--status-success-default)}.metric-card.is-warning .metric-card__icon{background:var(--status-warning-surface-l1);color:var(--status-warning-default)}.metric-card__label{color:var(--text-tertiary);font-size:12px;font-weight:800}.metric-card__value{margin-top:3px;color:var(--text-default);font-size:28px;line-height:1.08;font-weight:900;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.metric-card__value span{margin-left:5px;color:var(--text-tertiary);font-size:13px;font-weight:700}.metric-card__sub{margin-top:6px;color:var(--text-tertiary);font-size:12px;line-height:1.45}.home-dashboard-layout{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,336px);gap:20px;align-items:start}.home-main-column,.home-side-column{min-width:0;display:grid;gap:16px}.home-onboarding-hero{min-width:0;min-height:272px;position:relative;isolation:isolate;overflow:hidden;border:1px solid color-mix(in srgb,var(--bg-brand) 30%,var(--border-neutral-l1));border-radius:18px;background:radial-gradient(circle at 78% 18%,color-mix(in srgb,var(--bg-brand) 17%,transparent) 0,transparent 34%),linear-gradient(135deg,color-mix(in srgb,var(--bg-brand-popup),var(--bg-base-secondary) 18%),var(--bg-base-secondary) 68%);box-shadow:var(--shadow-md);padding:clamp(26px,3vw,42px);display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:clamp(28px,4vw,64px);align-items:center}.home-onboarding-hero:before{content:"";position:absolute;z-index:-1;inset:0 auto 0 0;width:4px;background:var(--bg-brand)}.home-onboarding-hero__copy{min-width:0;display:grid;align-content:center;gap:12px}.home-onboarding-eyebrow{width:fit-content;display:inline-flex;align-items:center;gap:7px;color:var(--bg-brand);font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.home-onboarding-hero h2{margin:0;color:var(--text-default);font-size:clamp(27px,3vw,38px);line-height:1.15;letter-spacing:-.025em}.home-onboarding-hero__copy>p{max-width:660px;margin:0;color:var(--text-secondary);font-size:14px;line-height:1.75}.home-onboarding-actions{min-width:0;margin-top:6px;display:flex;align-items:center;flex-wrap:wrap;gap:14px}.home-onboarding-actions>span{display:inline-flex;align-items:center;gap:7px;color:var(--text-tertiary);font-size:12px;font-weight:800}.home-onboarding-visual{min-width:0;min-height:188px;position:relative;overflow:hidden;border:1px solid color-mix(in srgb,var(--bg-brand) 20%,var(--border-neutral-l1));border-radius:16px;background:color-mix(in srgb,var(--bg-base-default) 62%,transparent);box-shadow:inset 0 1px color-mix(in srgb,var(--text-onbrand) 16%,transparent);padding:26px 20px 16px;display:grid;align-items:end}.home-onboarding-visual__label{position:absolute;z-index:1;top:15px;left:17px;color:var(--text-tertiary);font-family:var(--font-family-metric);font-size:11px;font-weight:900;letter-spacing:.13em}.home-onboarding-visual svg{width:100%;height:auto;overflow:visible}.home-onboarding-gridline{fill:none;stroke:color-mix(in srgb,var(--border-neutral-l1) 70%,transparent);stroke-width:1}.home-onboarding-curve{fill:none;stroke:var(--bg-brand);stroke-width:4;stroke-linecap:round;filter:drop-shadow(0 4px 8px color-mix(in srgb,var(--bg-brand) 28%,transparent))}.home-onboarding-visual circle{fill:var(--bg-brand);stroke:var(--bg-base-secondary);stroke-width:3}.home-onboarding-progress{position:absolute;right:14px;bottom:12px;min-height:28px;border:1px solid var(--border-neutral-l1);border-radius:999px;background:color-mix(in srgb,var(--bg-base-secondary) 88%,transparent);color:var(--text-secondary);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:0 10px;display:inline-flex;align-items:center;font-size:11px;font-weight:900}.home-metric-grid--setup{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.setup-step-card{min-height:104px;position:relative;-webkit-appearance:none;-moz-appearance:none;appearance:none;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:16px;color:var(--text-default);text-align:left;cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.setup-step-card:hover{transform:translateY(-2px);border-color:var(--border-brand);box-shadow:var(--shadow-md)}.setup-step-card.is-complete{border-color:color-mix(in srgb,var(--status-success-default) 42%,var(--border-neutral-l1))}.setup-step-card.is-complete .metric-card__icon{background:var(--status-success-surface);color:var(--status-success-default)}.setup-step-card__number{align-self:start;color:var(--text-tertiary);font-family:var(--font-family-metric);font-size:10px;font-weight:900}.setup-step-card__copy{min-width:0;display:grid;gap:5px}.setup-step-card__copy strong{color:var(--text-default);font-size:14px;line-height:1.3}.setup-step-card__copy small{color:var(--text-tertiary);font-size:11px;line-height:1.45}.setup-step-card__arrow{color:var(--text-tertiary)}.home-journey-panel{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:14px;background:linear-gradient(120deg,color-mix(in srgb,var(--bg-brand-popup) 44%,transparent),transparent 45%),var(--bg-base-secondary);box-shadow:var(--shadow-sm);padding:22px;display:grid;gap:18px}.home-journey-head{min-width:0;display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.home-journey-head>div{min-width:0}.home-journey-head>div>span{color:var(--bg-brand);font-size:11px;font-weight:900;letter-spacing:.08em}.home-journey-head h2{margin:5px 0 0;color:var(--text-default);font-size:20px;line-height:1.25}.home-journey-head p{margin:6px 0 0;color:var(--text-secondary);font-size:12px;line-height:1.55}.home-journey-head>strong{flex:0 0 auto;min-height:30px;border:1px solid color-mix(in srgb,var(--bg-brand) 22%,var(--border-neutral-l1));border-radius:999px;background:var(--bg-brand-popup);color:var(--bg-brand);padding:0 11px;display:inline-flex;align-items:center;font-size:11px}.home-journey-steps{min-width:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:8px}.home-journey-step{min-width:0;min-height:116px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border-neutral-l1);border-radius:12px;background:color-mix(in srgb,var(--bg-base-default) 72%,var(--bg-base-secondary));color:var(--text-default);padding:13px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto 1fr;gap:8px;text-align:left;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease}.home-journey-step:hover{transform:translateY(-1px);border-color:var(--border-brand);background:var(--bg-brand-popup)}.home-journey-step.is-complete{border-color:color-mix(in srgb,var(--status-success-default) 35%,var(--border-neutral-l1))}.home-journey-step__rail{width:34px;height:34px;border-radius:10px;background:var(--bg-brand-popup);color:var(--bg-brand);display:inline-flex;align-items:center;justify-content:center}.home-journey-step.is-complete .home-journey-step__rail{background:var(--status-success-surface);color:var(--status-success-default)}.home-journey-step>svg{color:var(--text-tertiary)}.home-journey-step__copy{min-width:0;grid-column:1 / -1;display:grid;gap:3px}.home-journey-step__copy small{color:var(--text-tertiary);font-family:var(--font-family-metric);font-size:9px;font-weight:900}.home-journey-step__copy strong{min-width:0;color:var(--text-default);font-size:13px;line-height:1.35;overflow-wrap:anywhere}.home-journey-step__copy span{color:var(--bg-brand);font-size:11px;font-weight:800}.home-journey-step.is-complete .home-journey-step__copy span{color:var(--status-success-default)}.home-journey-note{min-width:0;border-top:1px solid var(--border-neutral-l1);padding-top:13px;display:flex;align-items:flex-start;gap:8px;color:var(--text-tertiary);font-size:11px;line-height:1.55}.home-journey-note svg{flex:0 0 auto;margin-top:1px;color:var(--status-success-default)}.home-nav-grid{min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.nav-card{min-width:0;min-height:178px;position:relative;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-secondary);color:var(--text-default);box-shadow:var(--shadow-sm);padding:22px;display:grid;gap:10px;text-align:left;cursor:pointer;overflow:hidden;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.nav-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--bg-brand) 35%,var(--border-neutral-l1));box-shadow:var(--shadow-md)}.nav-card__header{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:12px}.nav-card__icon{width:42px;height:42px;border-radius:12px;background:var(--bg-brand-popup);color:var(--bg-brand);display:inline-flex;align-items:center;justify-content:center}.nav-card__icon.is-roast,.nav-card--roast .nav-card__icon{background:color-mix(in srgb,var(--bg-brand) 14%,var(--bg-base-secondary))}.nav-card--devices .nav-card__icon,.nav-card--curves .nav-card__icon{background:var(--status-info-surface-l1);color:var(--status-info-default)}.nav-card--beans .nav-card__icon{background:color-mix(in srgb,var(--status-warning-default) 13%,var(--bg-base-secondary));color:var(--status-warning-default)}.nav-card--cupping .nav-card__icon,.nav-card--purchase .nav-card__icon{background:color-mix(in srgb,var(--status-success-default) 12%,var(--bg-base-secondary));color:var(--status-success-default)}.nav-card--production{border-color:color-mix(in srgb,var(--bg-brand) 28%,var(--border-neutral-l1));background:linear-gradient(145deg,color-mix(in srgb,var(--bg-brand) 7%,var(--bg-base-secondary)),var(--bg-base-secondary) 68%)}.nav-card--production .nav-card__icon{background:color-mix(in srgb,var(--bg-brand) 14%,var(--bg-base-secondary));color:var(--bg-brand)}.nav-card--admin .nav-card__icon{background:color-mix(in srgb,var(--text-default) 9%,var(--bg-base-secondary));color:var(--text-default)}.nav-card__arrow{color:var(--text-tertiary);transition:transform .16s ease,color .16s ease}.nav-card:hover .nav-card__arrow{color:var(--bg-brand);transform:translate(3px)}.nav-card__title{margin-top:4px;color:var(--text-default);font-size:18px;line-height:1.25;font-weight:900}.nav-card__desc{color:var(--text-secondary);font-size:13px;line-height:1.55}.nav-card__stat{color:var(--text-tertiary);font-size:12px;font-weight:800}.nav-card--featured{grid-column:span 2;grid-row:span 2;min-height:372px;grid-template-columns:minmax(0,1fr) minmax(220px,340px);align-items:center;gap:28px;padding:30px;background:linear-gradient(135deg,var(--bg-brand-popup),var(--bg-base-secondary))}.nav-card--featured:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-top:3px solid var(--bg-brand);pointer-events:none}.nav-card__content{min-width:0;display:grid;gap:10px}.nav-card--featured .nav-card__content{gap:14px}.nav-card--featured .nav-card__icon{width:48px;height:48px}.nav-card--featured .nav-card__title{font-size:22px}.home-start-badge{width:fit-content;min-height:32px;margin-top:4px;padding:0 12px;border-radius:999px;background:var(--bg-brand);color:var(--text-onbrand);display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:900}.home-sparkline{width:100%;max-width:340px;min-width:220px;justify-self:end}.home-sparkline-line{fill:none;stroke:var(--bg-brand);stroke-width:2.5;stroke-linecap:round}.home-sparkline-fill{fill:url(#homeSparkFill)}.home-sparkline circle{fill:var(--bg-brand)}.home-side-panel{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-secondary);box-shadow:var(--shadow-sm);padding:18px;display:grid;gap:14px}.workspace-members-card>p{margin:0;color:var(--text-secondary);font-size:13px;line-height:1.6}.workspace-members-card .secondary-action{width:100%;justify-content:center}.workspace-members-dialog{width:min(92vw,720px);max-height:min(86vh,780px);overflow:auto;display:grid;gap:18px;padding:22px;border:1px solid var(--border-neutral-l1);border-radius:16px;background:var(--bg-base-primary);box-shadow:var(--shadow-elevated)}.workspace-members-dialog>header,.workspace-members-toolbar,.workspace-member-list>div{display:flex;align-items:center;justify-content:space-between;gap:14px}.workspace-members-dialog h2{margin:4px 0 0;color:var(--text-default)}.workspace-invite-form{display:grid;grid-template-columns:minmax(0,1fr) 180px auto;align-items:end;gap:12px;padding:16px;border-radius:12px;background:var(--bg-base-secondary)}.workspace-invite-form label{min-width:0;display:grid;gap:7px;color:var(--text-secondary);font-size:13px}.workspace-invite-form input,.workspace-invite-form select{width:100%;min-width:0;height:40px;border:1px solid var(--border-neutral-l1);border-radius:9px;padding:0 11px;background:var(--bg-base-primary);color:var(--text-default);font:inherit}.workspace-members-toolbar strong,.workspace-members-toolbar button{display:inline-flex;align-items:center;gap:7px}.workspace-member-list{display:grid;border:1px solid var(--border-neutral-l1);border-radius:12px;overflow:hidden}.workspace-member-list>div{min-width:0;padding:12px 14px;border-bottom:1px solid var(--border-neutral-l1)}.workspace-member-list>div:last-child{border-bottom:0}.workspace-member-list span{min-width:0;display:grid;gap:3px}.workspace-member-list strong,.workspace-member-list small{overflow-wrap:anywhere}.workspace-member-list small,.workspace-member-list>p{color:var(--text-tertiary)}.workspace-member-list>p{margin:0;padding:16px;text-align:center}@media(max-width:720px){.workspace-invite-form{grid-template-columns:1fr}.workspace-member-list>div{align-items:flex-start;flex-direction:column}}.subject-invitation-page{min-height:min(72vh,680px);display:grid;place-items:center}.subject-invitation-card{width:min(100%,560px);display:grid;justify-items:center;gap:14px;padding:32px;border:1px solid var(--border-neutral-l1);border-radius:18px;background:var(--bg-base-primary);box-shadow:var(--shadow-elevated);text-align:center}.subject-invitation-icon{width:58px;height:58px;display:grid;place-items:center;border-radius:18px;color:var(--brand-primary);background:color-mix(in srgb,var(--brand-primary) 12%,transparent)}.subject-invitation-card h1,.subject-invitation-card p{margin:0}.subject-invitation-card p{color:var(--text-secondary);line-height:1.65}.subject-invitation-security{display:flex;align-items:center;gap:8px;color:var(--text-tertiary);font-size:13px}.subject-invitation-actions{display:flex;justify-content:center;gap:10px}.home-section-head{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:12px}.home-section-head h2{margin:0;color:var(--text-default);font-size:17px;line-height:1.25}.home-quick-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.quick-action{min-width:0;min-height:84px;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-default);color:var(--text-default);display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease}.quick-action:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--bg-brand) 35%,var(--border-neutral-l1));background:var(--bg-brand-popup)}.quick-action svg{color:var(--bg-brand)}.quick-action__label{min-width:0;max-width:100%;font-size:13px;font-weight:900;text-align:center;overflow-wrap:anywhere}.home-activity-list{display:grid;gap:0}.home-guide-panel .home-section-head>svg{color:var(--bg-brand)}.home-guide-list{min-width:0;display:grid;gap:2px}.home-guide-list article{min-width:0;border-bottom:1px solid var(--border-neutral-l1);padding:11px 0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start}.home-guide-list article:first-child{padding-top:2px}.home-guide-list article:last-child{border-bottom:0;padding-bottom:0}.home-guide-list article>span{width:32px;height:32px;border-radius:10px;background:var(--bg-brand-popup);color:var(--bg-brand);display:inline-flex;align-items:center;justify-content:center}.home-guide-list article:nth-child(2)>span{background:var(--status-success-surface);color:var(--status-success-default)}.home-guide-list article:nth-child(3)>span{background:var(--status-info-surface-l1);color:var(--status-info-default)}.home-guide-list strong{display:block;color:var(--text-default);font-size:12px;line-height:1.35}.home-guide-list p{margin:3px 0 0;color:var(--text-tertiary);font-size:11px;line-height:1.5}.home-activity-empty{min-height:174px;padding:18px 10px 8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center}.home-activity-empty>span{width:42px;height:42px;border-radius:14px;background:var(--bg-brand-popup);color:var(--bg-brand);display:inline-flex;align-items:center;justify-content:center}.home-activity-empty>strong{color:var(--text-default);font-size:13px;line-height:1.4}.home-activity-empty>p{max-width:250px;margin:0;color:var(--text-tertiary);font-size:11px;line-height:1.55}.home-activity-empty>button{min-height:28px;border:0;background:transparent;color:var(--bg-brand);padding:0 4px;display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:900;cursor:pointer}.home-activity-item{min-width:0;border-bottom:1px solid var(--border-neutral-l1);padding:10px 0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start}.home-activity-item:last-child{border-bottom:0}.home-activity-item>span{width:8px;height:8px;margin-top:7px;border-radius:999px;background:var(--bg-brand)}.home-activity-item.is-success>span{background:var(--status-success-default)}.home-activity-item.is-info>span{background:var(--status-info-default)}.home-activity-item strong,.home-activity-item small{display:block;min-width:0}.home-activity-item strong{color:var(--text-default);font-size:13px;line-height:1.45;overflow-wrap:anywhere}.home-activity-item small,.home-empty-note{color:var(--text-tertiary);font-size:12px;line-height:1.5}.home-empty-note{margin:0}@media(max-width:1180px){.home-onboarding-hero{grid-template-columns:minmax(0,1fr) minmax(280px,.8fr)}.home-journey-steps{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}}@media(max-width:820px){.home-onboarding-hero{grid-template-columns:minmax(0,1fr)}.home-onboarding-visual{min-height:164px}.home-journey-head{align-items:flex-start;flex-direction:column;gap:12px}}@media(max-width:640px){.home-onboarding-hero{min-height:0;border-radius:14px;padding:22px 18px;gap:22px}.home-onboarding-visual{min-height:132px;padding:20px 12px 10px}.home-onboarding-visual__label{top:10px;left:12px}.home-onboarding-progress{right:9px;bottom:8px}.home-metric-grid--setup,.home-journey-steps{grid-template-columns:minmax(0,1fr)}.home-journey-panel{padding:18px}.home-journey-step{min-height:96px}}.workspace-spatial-page{min-width:0;display:grid;gap:12px}.workspace-spatial-topbar{min-width:0;min-height:40px;display:flex;align-items:center}.workspace-spatial-heading{min-width:0;display:flex;align-items:center;gap:12px}.workspace-spatial-back-button{flex:0 0 auto}.workspace-spatial-breadcrumb{min-width:0;display:flex;align-items:center;gap:8px;color:var(--text-tertiary);font-size:14px;line-height:1.4}.workspace-spatial-breadcrumb button{border:0;background:transparent;color:inherit;padding:0;font:inherit;cursor:pointer}.workspace-spatial-breadcrumb button:hover{color:var(--text-default)}.workspace-spatial-breadcrumb h1{min-width:0;margin:0;color:var(--text-default);font:inherit;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-spatial-title{min-width:0;margin:0;color:var(--text-default);font-size:18px;line-height:1.4;font-weight:800}.workspace-care-panel{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:14px;background:linear-gradient(135deg,color-mix(in srgb,var(--bg-base-secondary),var(--bg-brand) 8%),var(--bg-base-secondary) 58%),var(--bg-base-secondary);box-shadow:var(--shadow-sm);padding:14px;display:grid;grid-template-columns:minmax(280px,.92fr) minmax(0,1.55fr);gap:12px;align-items:stretch}.workspace-care-copy{min-width:0;display:grid;align-content:center;gap:5px}.workspace-care-eyebrow{min-width:0;display:inline-flex;align-items:center;gap:6px;color:var(--bg-brand);font-size:14px;line-height:1.4;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-care-copy h2{min-width:0;margin:0;color:var(--text-default);font-size:20px;line-height:1.24;overflow-wrap:anywhere}.workspace-care-copy p{max-width:42rem;margin:0;color:var(--text-secondary);font-size:13px;line-height:1.5}.workspace-care-grid{min-width:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.workspace-care-card{min-width:0;min-height:104px;border:1px solid var(--border-neutral-l1);border-radius:12px;background:color-mix(in srgb,var(--bg-base-default),var(--bg-base-secondary) 42%);color:inherit;display:grid;align-content:start;gap:5px;padding:10px;text-align:left}button.workspace-care-card{cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}button.workspace-care-card:hover{transform:translateY(-1px);border-color:var(--border-brand);box-shadow:var(--shadow-sm)}.workspace-care-icon{width:28px;height:28px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center}.workspace-care-card strong{min-width:0;color:var(--text-default);font-size:13px;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-care-card p{margin:0;color:var(--text-secondary);font-size:12px;line-height:1.5;overflow-wrap:anywhere}.workspace-care-action{margin-top:2px;display:inline-flex;align-items:center;gap:3px;color:var(--bg-brand);font-size:12px;font-weight:800}.workspace-care-card.is-brand .workspace-care-icon{background:var(--bg-brand-popup);color:var(--bg-brand)}.workspace-care-card.is-success .workspace-care-icon{background:var(--status-success-surface);color:var(--status-success-default)}.workspace-care-card.is-warning .workspace-care-icon{background:var(--status-warning-surface-l1);color:var(--status-warning-default)}.workspace-care-card.is-info .workspace-care-icon{background:var(--status-info-surface-l1);color:var(--status-info-default)}.workspace-spatial-layout{min-width:0;display:grid;grid-template-columns:minmax(240px,.8fr) minmax(420px,1.6fr) minmax(260px,.76fr);grid-template-rows:auto auto;gap:14px;align-items:stretch}.workspace-spatial-layout.is-left-hidden{grid-template-columns:minmax(420px,1.6fr) minmax(260px,.76fr)}.workspace-spatial-layout:not(.is-left-hidden) .workspace-primary-left,.workspace-spatial-layout:not(.is-left-hidden) .workspace-primary-main{display:contents}.workspace-spatial-layout:not(.is-left-hidden) .workspace-devices-panel{grid-column:1;grid-row:1}.workspace-spatial-layout:not(.is-left-hidden) .workspace-cupping-panel{grid-column:1;grid-row:2}.workspace-spatial-layout:not(.is-left-hidden) .workspace-curve-panel{grid-column:2;grid-row:1}.workspace-spatial-layout:not(.is-left-hidden) .workspace-module-section{grid-column:2;grid-row:2}.workspace-spatial-layout:not(.is-left-hidden) .workspace-secondary-side{grid-column:3;grid-row:1 / span 2}.workspace-spatial-layout.is-device-hidden .workspace-cupping-panel,.workspace-spatial-layout.is-cupping-hidden .workspace-devices-panel{grid-row:1 / span 2}.workspace-spatial-layout.is-left-hidden .workspace-primary-main{grid-column:1;grid-row:1}.workspace-spatial-layout.is-left-hidden .workspace-secondary-side{grid-column:2;grid-row:1}.workspace-spatial-zone{min-width:0;display:grid;gap:14px;align-content:start}.workspace-spatial-page.is-guiding .workspace-home-panel,.workspace-spatial-page.is-guiding .workspace-curve-panel,.workspace-spatial-page.is-guiding .workspace-module-section{opacity:.42;transition:opacity .18s ease,box-shadow .18s ease,transform .18s ease}.workspace-spatial-page.is-guiding .workspace-spatial-zone.is-guide-target .workspace-home-panel,.workspace-spatial-page.is-guiding .workspace-home-panel.is-guide-target,.workspace-spatial-page.is-guiding .workspace-curve-panel.is-guide-target,.workspace-spatial-page.is-guiding .workspace-module-section.is-guide-target{position:relative;z-index:1;opacity:1;box-shadow:0 0 0 4px #e85d2a33,0 18px 56px #2318122e;transform:translateY(-2px)}.workspace-onboarding-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;pointer-events:none}.workspace-onboarding-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;width:100%;height:100%;border:0;background:#1c17145c;cursor:default;pointer-events:auto}.workspace-onboarding-panel{position:fixed;z-index:1;right:max(24px,calc((100vw - 1200px)/2 + 24px));bottom:32px;width:min(520px,calc(100vw - 32px));max-height:calc(100vh - 64px);overflow:auto;min-width:0;border:1px solid color-mix(in srgb,var(--border-neutral-l1),var(--bg-brand) 20%);border-radius:12px;background:color-mix(in srgb,var(--bg-base-default),var(--bg-base-secondary) 40%);box-shadow:0 24px 80px #2318123d;padding:18px;display:grid;gap:14px;pointer-events:auto}.workspace-onboarding-head{min-width:0;display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.workspace-onboarding-head h2{margin:2px 0 0;font-size:20px;line-height:1.2}.workspace-onboarding-head p{margin:8px 0 0;max-width:32rem;color:var(--text-secondary);font-size:13px;line-height:1.6}.workspace-onboarding-progress{display:inline-flex;align-items:center;gap:8px;color:var(--text-tertiary);font-size:12px;font-weight:800}.workspace-onboarding-actions{display:inline-flex;align-items:center;gap:8px;min-width:0}.workspace-onboarding-progress>span,.workspace-onboarding-step{min-width:40px;height:28px;border:1px solid var(--border-neutral-l1);border-radius:8px;background:var(--bg-base-tertiary);color:var(--text-secondary);display:inline-grid;place-items:center}.workspace-onboarding-footer{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:2px}.workspace-onboarding-dots,.workspace-onboarding-pager{display:inline-flex;align-items:center;gap:8px;min-width:0}.workspace-onboarding-dot{width:8px;height:8px;border:0;border-radius:999px;background:var(--border-neutral-l2);padding:0;cursor:pointer;transition:width .16s ease,background-color .16s ease}.workspace-onboarding-dot.is-complete{background:var(--status-success-default)}.workspace-onboarding-dot.is-active{width:24px;background:var(--bg-brand)}.onboarding-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.onboarding-steps .workspace-task-item{min-width:0;grid-template-columns:34px minmax(0,1fr) 16px}.onboarding-steps .workspace-task-item.is-active{border-color:color-mix(in srgb,var(--bg-brand),var(--border-neutral-l1) 24%);background:color-mix(in srgb,var(--bg-brand),transparent 90%)}.onboarding-steps .workspace-task-item>span:not(.workspace-task-icon){min-width:0}.onboarding-steps .workspace-task-item strong,.onboarding-steps .workspace-task-item small{white-space:normal;overflow-wrap:anywhere}.onboarding-steps .workspace-task-item small{line-height:1.45}.workspace-module-section{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-secondary);box-shadow:var(--shadow-sm);padding:14px;display:grid;grid-template-rows:auto minmax(0,1fr)}.workspace-section-head{min-height:28px;margin-bottom:14px;display:flex;align-items:center;justify-content:space-between;gap:12px}.workspace-section-head h2,.workspace-curve-head h2{margin:0;color:var(--text-default);font-size:16px;line-height:1.3}.workspace-section-head span,.workspace-curve-head span{color:var(--text-tertiary);font-size:12px;white-space:nowrap}.workspace-device-list,.workspace-activity-list{display:grid;gap:8px}.workspace-devices-panel{display:grid;grid-template-rows:auto minmax(0,1fr)}.workspace-devices-panel .workspace-device-list{min-height:0;height:100%;display:flex;flex-direction:column}.workspace-device-card{width:100%;min-height:68px;display:grid;grid-template-columns:8px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 14px;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-secondary);color:inherit;text-align:left;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.workspace-device-card:hover{transform:translateY(-1px);border-color:var(--border-brand);box-shadow:var(--shadow-sm)}.workspace-device-card.is-roasting{border-color:color-mix(in srgb,var(--status-warning-default) 45%,var(--border-neutral-l1));box-shadow:0 0 0 1px #ff950014,0 8px 18px #ff950014}.workspace-device-card.is-offline{opacity:.58}.workspace-device-dot{width:8px;height:8px;border-radius:999px;background:var(--status-success-default)}.workspace-device-card.is-roasting .workspace-device-dot{background:var(--status-warning-default);box-shadow:0 0 8px #ff95008c}.workspace-device-card.is-offline .workspace-device-dot{background:var(--text-tertiary);box-shadow:none}.workspace-device-copy{min-width:0;display:grid;gap:2px}.workspace-device-copy strong,.workspace-roast-card strong,.workspace-activity-item strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-device-copy strong{color:var(--text-default);font-size:14px}.workspace-device-copy small,.workspace-roast-card span,.workspace-activity-item small{color:var(--text-tertiary);font-size:12px}.workspace-device-time{color:var(--status-warning-default);font-size:12px;font-variant-numeric:tabular-nums}.workspace-bind-device{width:100%;min-height:44px;margin-top:auto;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px dashed var(--border-neutral-l2);border-radius:12px;color:var(--text-tertiary);background:transparent;cursor:pointer}.workspace-bind-device:hover{color:var(--bg-brand);border-color:var(--border-brand)}.workspace-cupping-panel{display:grid;grid-template-rows:auto minmax(0,1fr)}.workspace-cupping-list{display:grid;align-content:start;gap:8px}.workspace-cupping-entry{width:100%;min-width:0;display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px;border:1px solid var(--border-neutral-l1);border-radius:10px;background:var(--bg-base-secondary);color:inherit;text-align:left;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.workspace-cupping-entry:hover{transform:translateY(-1px);border-color:var(--border-brand);box-shadow:var(--shadow-sm)}.workspace-cupping-icon{width:32px;height:32px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:var(--bg-brand-popup);color:var(--bg-brand)}.workspace-cupping-copy{min-width:0;display:grid;gap:2px}.workspace-cupping-copy strong{min-width:0;overflow:hidden;color:var(--text-default);font-size:13px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.workspace-cupping-copy small{min-width:0;overflow:hidden;color:var(--text-tertiary);font-size:12px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.workspace-cupping-status{color:var(--status-warning-default);font-size:12px;white-space:nowrap}.workspace-cupping-create{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px dashed var(--border-neutral-l2);border-radius:10px;background:transparent;color:var(--text-tertiary);cursor:pointer}.workspace-cupping-create:hover{border-color:var(--border-brand);color:var(--bg-brand)}.workspace-cupping-empty{min-width:0;min-height:220px;border:1px dashed var(--border-neutral-l2);border-radius:10px;background:color-mix(in srgb,var(--bg-base-tertiary),transparent 16%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px 18px;text-align:center}.workspace-cupping-empty-icon{width:48px;height:48px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:var(--bg-brand-popup);color:var(--bg-brand)}.workspace-cupping-empty-copy{min-width:0;display:grid;justify-items:center;gap:6px}.workspace-cupping-empty strong{display:block;color:var(--text-default);font-size:16px;line-height:1.35}.workspace-cupping-empty p{max-width:280px;margin:0;color:var(--text-tertiary);font-size:12px;line-height:1.55}.workspace-cupping-empty-action{min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 14px}.workspace-main-zone{display:grid;gap:22px}.workspace-curve-panel{min-height:300px;padding:16px 18px 12px;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-secondary);box-shadow:var(--shadow-sm)}.workspace-curve-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:10px}.workspace-curve-head p{margin:4px 0 0;color:var(--text-tertiary);font-size:12px}.workspace-curve-head-actions{flex:0 0 auto;display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px}.workspace-curve-head-actions .text-button{display:inline-flex;align-items:center;gap:5px}.workspace-curve-panel>.curve-detail-legend{min-height:22px;margin:-4px 0 4px}.workspace-curve-panel>.curve-detail-chart{min-height:210px}.workspace-curve-empty{min-height:260px;display:grid;place-items:center;gap:10px;color:var(--text-tertiary);text-align:center}.workspace-section-empty{min-width:0;min-height:220px;border:1px dashed var(--border-neutral-l2);border-radius:12px;background:var(--bg-base-tertiary);color:var(--text-tertiary);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:32px 18px;text-align:center}.workspace-section-empty.is-device{min-height:240px}.workspace-section-empty.is-curve{min-height:260px}.workspace-section-empty.is-roast{grid-column:1 / -1;min-height:172px}.workspace-section-empty.is-activity{min-height:196px}.workspace-section-empty-icon{width:56px;height:56px;border-radius:50%;background:var(--bg-base-secondary);color:var(--text-tertiary);display:inline-flex;align-items:center;justify-content:center}.workspace-section-empty strong{min-width:0;color:var(--text-default);font-size:16px;line-height:1.35;font-weight:800;overflow-wrap:anywhere}.workspace-section-empty p{max-width:280px;margin:0;color:var(--text-tertiary);font-size:13px;line-height:1.6;overflow-wrap:anywhere}.workspace-section-empty .primary-action{min-height:36px;margin-top:4px;padding:0 14px;border-radius:10px}.workspace-roast-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:8px}.workspace-roast-strip>.query-failure-state{grid-column:1 / -1}.workspace-roast-card{min-width:0;min-height:118px;display:grid;align-content:start;gap:7px;padding:12px;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-secondary);color:inherit;text-align:left;cursor:pointer;box-shadow:var(--shadow-sm)}.workspace-roast-card:hover{border-color:var(--border-brand)}.workspace-roast-card small{color:var(--text-tertiary);font-size:12px}.workspace-roast-card-head{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px}.workspace-roast-card-head em{min-width:0;max-width:48%;overflow:hidden;border:1px solid color-mix(in srgb,var(--border-brand) 42%,var(--border-neutral-l1));border-radius:5px;background:var(--bg-brand-popup);color:var(--bg-brand);padding:2px 6px;font-size:11px;font-style:normal;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.workspace-roast-card strong{display:block;min-width:0;color:var(--text-default);font-size:14px}.workspace-roast-metrics{min-width:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.workspace-roast-metrics div{min-width:0;display:grid;gap:2px}.workspace-roast-metrics dt,.workspace-roast-metrics dd{min-width:0;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-roast-metrics dt{color:var(--text-tertiary);font-size:10px}.workspace-roast-metrics dd{color:var(--text-secondary);font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}.workspace-roast-card i{width:100%;height:26px;margin-top:8px;display:block;background:radial-gradient(circle at 28% 60%,color-mix(in srgb,var(--bg-brand) 70%,transparent) 0 2px,transparent 3px),linear-gradient(135deg,transparent 0 34%,var(--bg-brand) 35% 37%,transparent 38% 100%);opacity:.48}.workspace-side-zone{display:grid;gap:24px}.workspace-home-panel{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-secondary);box-shadow:var(--shadow-sm);padding:14px}.workspace-quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.workspace-quick-action{min-height:92px;display:grid;place-items:center;align-content:center;gap:8px;padding:16px 10px;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-secondary);color:var(--text-default);cursor:pointer;box-shadow:var(--shadow-sm)}.workspace-quick-action:hover{transform:translateY(-1px);border-color:var(--border-brand)}.workspace-quick-action span{font-size:13px;font-weight:800}.workspace-quick-action.is-brand svg{color:var(--bg-brand)}.workspace-quick-action.is-blue svg{color:var(--status-info-default)}.workspace-quick-action.is-amber svg{color:var(--status-warning-default)}.workspace-quick-action.is-violet svg{color:#7c5cff}.workspace-task-list{display:grid;gap:10px}.workspace-task-item{width:100%;min-height:62px;border:1px solid var(--border-neutral-l1);border-radius:10px;background:var(--bg-base-default);color:inherit;display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px;text-align:left;cursor:pointer}.workspace-task-item:hover{border-color:var(--border-brand)}.workspace-task-icon{width:34px;height:34px;border-radius:10px;background:var(--bg-brand-popup);color:var(--bg-brand);display:grid;place-items:center}.workspace-task-item.is-danger .workspace-task-icon{background:var(--status-error-surface-l1);color:var(--status-error-default)}.workspace-task-item.is-warning .workspace-task-icon{background:var(--status-warning-surface-l1);color:var(--status-warning-default)}.workspace-task-item.is-info .workspace-task-icon{background:var(--status-info-surface-l1);color:var(--status-info-default)}.workspace-task-item.is-complete .workspace-task-icon{background:var(--status-success-surface);color:var(--status-success-default)}.workspace-task-item.is-complete{border-color:var(--status-success-default)}.workspace-task-item strong,.workspace-task-item small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-task-item strong{color:var(--text-default);font-size:13px}.workspace-task-item small{margin-top:2px;color:var(--text-tertiary);font-size:12px}.workspace-task-item>svg{color:var(--text-tertiary)}.workspace-activity-item{display:grid;grid-template-columns:7px minmax(0,1fr);gap:10px;align-items:start;padding:10px 0;border-bottom:1px solid var(--border-neutral-l1)}.workspace-activity-item:last-child{border-bottom:0}.workspace-activity-item>span{width:6px;height:6px;margin-top:7px;border-radius:999px;background:var(--bg-brand)}.workspace-activity-item.is-info>span{background:var(--status-info-default)}.workspace-activity-item.is-success>span{background:var(--status-success-default)}.workspace-activity-item strong{display:block;color:var(--text-default);font-size:13px;font-weight:700}.workspace-activity-item small{display:block;margin-top:2px}.workspace-status-strip{grid-column:1 / -1;min-height:30px;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:20px;color:var(--text-tertiary);font-size:12px}.workspace-status-strip span{display:inline-flex;align-items:center;gap:5px}.workspace-status-strip svg{color:var(--status-success-default)}.roast-setup-page{width:min(100%,980px);margin:0 auto;display:grid;gap:28px}.roast-setup-topbar{min-width:0;min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 0 16px;border-bottom:1px solid var(--border-neutral-l1)}.roast-setup-breadcrumb,.roast-setup-topbar-actions{min-width:0;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.roast-setup-breadcrumb>span,.roast-setup-breadcrumb>svg{color:var(--text-tertiary)}.roast-setup-breadcrumb>strong{color:var(--text-default);font-size:14px}.roast-setup-topbar-actions{justify-content:flex-end}.roast-setup-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:start}.roast-setup-header h1{margin:2px 0 0;font-size:28px;line-height:1.15}.roast-setup-header p{max-width:620px;margin:8px 0 0;color:var(--text-tertiary);line-height:1.7}.roast-setup-section{display:grid;gap:18px}.roast-setup-section-head{display:flex;align-items:center;gap:12px}.roast-setup-section-head>span{width:28px;height:28px;display:grid;place-items:center;flex:0 0 auto;border-radius:999px;color:var(--text-onbrand);background:var(--bg-brand);font-size:13px;font-weight:900}.roast-setup-section-head h2{margin:0;color:var(--text-default);font-size:18px}.roast-setup-section-head small{margin-left:auto;color:var(--text-tertiary)}.roast-device-grid,.roast-bean-grid{display:grid;gap:14px}.roast-device-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.roast-bean-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.roast-device-card,.roast-bean-card{position:relative;min-width:0;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-secondary);color:inherit;cursor:pointer;text-align:left;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.roast-device-card:hover,.roast-bean-card:hover{transform:translateY(-1px);border-color:var(--border-brand)}.roast-device-card.is-selected,.roast-bean-card.is-selected{border:2px solid var(--border-brand);box-shadow:0 0 0 2px var(--bg-brand-popup)}.roast-device-card{min-height:118px;display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:14px;align-items:start;padding:18px}.roast-card-icon,.roast-bean-thumb{display:grid;place-items:center;border-radius:10px;color:var(--bg-brand);background:var(--bg-brand-popup)}.roast-card-icon{width:40px;height:40px}.roast-card-copy{min-width:0;display:grid;gap:5px}.roast-card-copy strong,.roast-bean-card strong{overflow:hidden;color:var(--text-default);text-overflow:ellipsis;white-space:nowrap}.roast-card-copy small,.roast-card-copy span,.roast-bean-card small,.roast-bean-inventory span{color:var(--text-tertiary);font-size:12px}.roast-card-copy span{display:inline-flex;align-items:center;gap:6px}.roast-card-copy i{width:7px;height:7px;border-radius:999px;background:var(--text-tertiary)}.roast-card-copy i.is-online{background:var(--status-success-default)}.roast-selected-mark{width:22px;height:22px;display:grid;place-items:center;border-radius:999px;color:var(--text-onbrand);background:var(--bg-brand)}.roast-bean-card{min-height:210px;display:grid;align-content:start;gap:10px;padding:18px}.roast-bean-thumb{width:48px;height:48px;margin-bottom:2px}.roast-bean-card .roast-selected-mark{position:absolute;top:18px;right:18px}.roast-bean-inventory{margin-top:4px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px}.roast-bean-inventory b{color:var(--text-default);font-variant-numeric:tabular-nums}.roast-resource-grid{grid-template-columns:minmax(0,1fr)}.roast-device-grid.roast-resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.roast-bean-grid.roast-resource-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.roast-resource-card{min-width:0;min-height:104px;display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:14px;padding:18px;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-secondary);color:inherit;text-align:left;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.roast-resource-card:hover:not(:disabled){transform:translateY(-1px);border-color:var(--border-brand)}.roast-resource-card.is-selected{border-color:var(--border-brand);box-shadow:0 0 0 2px var(--bg-brand-popup)}.roast-resource-card:disabled{cursor:not-allowed;opacity:.68}.roast-bean-grid .roast-resource-card{grid-template-columns:44px minmax(0,1fr);align-content:start}.roast-resource-action{min-width:112px;display:inline-flex;align-items:center;justify-content:flex-end;gap:6px;color:var(--bg-brand);font-size:13px;font-weight:800;white-space:nowrap}.roast-bean-grid .roast-resource-action{grid-column:1 / -1;min-width:0;justify-content:flex-start}.roast-more-card{min-width:0;min-height:104px;border:1px dashed var(--border-neutral-l2);border-radius:12px;background:var(--bg-base-default);color:var(--text-secondary);padding:16px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-content:center;gap:4px 10px;text-align:left;cursor:pointer}.roast-more-card:hover{border-color:var(--border-brand);color:var(--bg-brand)}.roast-more-card span{min-width:0;font-size:13px;font-weight:800}.roast-more-card strong{grid-column:1;color:var(--text-default);font-size:20px;line-height:1}.roast-more-card svg{grid-column:2;grid-row:1 / span 2;align-self:center}.roast-param-panel{display:grid;grid-template-columns:minmax(0,1fr);gap:18px 22px;padding:22px;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-secondary)}.roast-param-panel label{min-width:0;display:grid;gap:8px;color:var(--text-default);font-weight:800}.roast-param-selector{width:100%;min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid transparent;border-radius:12px;background:var(--bg-base-tertiary);color:var(--text-default);padding:10px 14px;text-align:left;cursor:pointer}.roast-param-selector:hover,.roast-param-selector:focus-visible{border-color:var(--border-brand);outline:0;box-shadow:0 0 0 3px #e85d2a1f}.roast-param-selector>span{min-width:0;display:grid;gap:4px}.roast-param-selector strong,.roast-param-selector small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roast-param-selector small{color:var(--text-tertiary);font-size:12px}.roast-preview-panel{display:grid;gap:14px;padding:22px;border:1px solid var(--border-brand);border-radius:12px;background:var(--bg-brand-popup)}.roast-preview-panel>div:first-child{display:flex;align-items:center;gap:10px;color:var(--bg-brand)}.roast-preview-panel h2,.roast-preview-panel p,.roast-ready-grid{margin:0}.roast-preview-panel h2{font-size:16px}.roast-preview-panel p{color:var(--text-default);line-height:1.7}.roast-ready-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.roast-ready-grid div{padding:12px;border:1px solid color-mix(in srgb,var(--border-brand) 24%,transparent);border-radius:10px;background:var(--bg-base-secondary)}.roast-ready-grid dt{color:var(--text-tertiary);font-size:12px}.roast-ready-grid dd{margin:4px 0 0;color:var(--text-default);font-weight:800;overflow-wrap:anywhere}.roast-setup-header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.roast-history-page,.roast-report-page{width:min(100%,1320px);margin:0 auto;display:grid;gap:18px}.roast-history-topbar,.roast-report-topbar,.roast-history-breadcrumb,.roast-report-breadcrumb,.roast-history-actions,.roast-report-actions{min-width:0;display:flex;align-items:center;gap:12px}.roast-history-topbar,.roast-report-topbar{justify-content:space-between}.roast-history-breadcrumb{align-items:flex-start}.roast-history-topbar h1,.roast-report-hero h1{margin:2px 0 0;color:var(--text-default);font-size:clamp(24px,3vw,34px);line-height:1.12}.roast-report-breadcrumb span{color:var(--text-tertiary)}.roast-report-breadcrumb strong{color:var(--text-default)}.roast-history-stats,.roast-report-kpis{min-width:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.roast-history-empty-overview{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:20px;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-secondary);box-shadow:var(--shadow-sm)}.roast-history-empty-overview div{min-width:0}.roast-history-empty-overview span{color:var(--text-tertiary);font-size:13px;line-height:1.4}.roast-history-empty-overview strong{display:flex;align-items:baseline;gap:4px;margin-top:5px;color:var(--text-default);font-size:34px;line-height:1;font-weight:900;font-variant-numeric:tabular-nums}.roast-history-empty-overview small{color:var(--text-tertiary);font-size:13px;font-weight:700}.roast-history-empty-state{min-height:400px;border:1px dashed var(--border-neutral-l2);border-radius:12px;background:var(--bg-base-secondary);color:var(--text-tertiary);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:48px 24px;text-align:center}.roast-history-empty-state svg{color:var(--text-tertiary)}.roast-history-empty-state h2{margin:4px 0 0;color:var(--text-default);font-size:22px;line-height:1.3}.roast-history-empty-state p{max-width:320px;margin:0;color:var(--text-tertiary);font-size:14px;line-height:1.6}.roast-history-empty-state .primary-action{margin-top:10px}.roast-history-stats>div,.roast-report-kpis>div{min-width:0;padding:16px;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-secondary);box-shadow:var(--shadow-soft)}.roast-history-stats span,.roast-report-kpis span{display:inline-flex;align-items:center;gap:7px;color:var(--text-tertiary);font-size:12px}.roast-history-stats svg,.roast-report-kpis svg{color:var(--bg-brand)}.roast-history-stats strong,.roast-report-kpis strong{display:block;margin-top:8px;color:var(--text-default);font-size:24px;line-height:1}.roast-report-kpis strong small{margin-left:5px;color:var(--status-warning-default);font-size:12px;font-weight:800}.roast-report-kpis>div.is-warning strong,.roast-report-kpis>div.is-warning svg{color:var(--status-warning-default)}.roast-history-stats>div.is-success strong,.roast-history-stats>div.is-success svg{color:var(--status-success-default)}.roast-history-filterbar{min-width:0;display:grid;grid-template-columns:minmax(260px,1fr) 180px 180px auto;gap:10px;align-items:center;padding:12px;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-secondary)}.roast-history-search{min-width:0;min-height:38px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:center;padding:0 12px;border:1px solid var(--border-neutral-l1);border-radius:10px;background:var(--bg-base-default)}.roast-history-search input,.roast-history-filterbar select{min-width:0;width:100%;border:0;outline:0;background:transparent;color:var(--text-default);font:inherit}.roast-history-search-spinner{animation:roast-history-search-spin .8s linear infinite}@keyframes roast-history-search-spin{to{transform:rotate(360deg)}}.roast-history-filterbar select{min-height:38px;padding:0 10px;border:1px solid var(--border-neutral-l1);border-radius:10px;background:var(--bg-base-default)}.roast-history-tabs{display:inline-flex;border:1px solid var(--border-neutral-l1);border-radius:10px;background:var(--bg-base-default);overflow:hidden}.roast-history-tabs button{min-height:36px;padding:0 12px;border:0;border-right:1px solid var(--border-neutral-l1);background:transparent;color:var(--text-secondary);cursor:pointer}.roast-history-tabs button:last-child{border-right:0}.roast-history-tabs button.is-active{background:color-mix(in srgb,var(--bg-brand) 11%,var(--bg-base-secondary));color:var(--bg-brand);font-weight:800}.roast-history-list{display:grid;gap:10px}.roast-history-row{min-width:0;display:grid;grid-template-columns:160px minmax(0,1fr) minmax(220px,.72fr) 92px auto auto;gap:14px;align-items:center;padding:14px;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-secondary)}.roast-history-row time,.roast-history-main{min-width:0;display:grid;gap:4px}.roast-history-row time strong,.roast-history-main h2{min-width:0;margin:0;color:var(--text-default);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roast-history-row time span,.roast-history-main p{margin:0;color:var(--text-tertiary);font-size:12px}.roast-history-row dl{min-width:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.roast-history-row dt,.roast-report-card dt{color:var(--text-tertiary);font-size:11px}.roast-history-row dd,.roast-report-card dd{margin:2px 0 0;color:var(--text-default);font-weight:800}.roast-history-row-actions{display:grid;gap:6px;justify-items:end}.roast-history-context{position:relative;justify-self:end}.roast-history-more{width:32px;height:32px}.roast-history-context-menu{position:absolute;top:calc(100% + 7px);right:0;z-index:80;width:220px;display:grid;gap:2px;padding:6px;border:1px solid var(--border-neutral-l1);border-radius:8px;background:var(--bg-menu, var(--bg-base-secondary));box-shadow:0 18px 42px #00000024,0 3px 10px #00000014}.roast-history-context-menu button{min-width:0;width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 10px;border:0;border-radius:6px;background:transparent;color:var(--text-default);font:inherit;font-size:13px;text-align:left;cursor:pointer}.roast-history-context-menu button:hover,.roast-history-context-menu button:focus-visible{background:var(--bg-overlay-l2);outline:none}.roast-history-context-menu button.is-danger{color:var(--status-error-default)}.roast-history-context-menu button.is-danger:hover,.roast-history-context-menu button.is-danger:focus-visible{background:var(--status-error-surface-l1)}.roast-history-context-menu button svg{width:16px;height:16px}.roast-history-context-menu button span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roast-history-context-menu kbd{min-width:30px;padding:1px 5px;border:0;border-radius:4px;background:var(--bg-overlay-l2);color:var(--text-tertiary);font-family:inherit;font-size:11px;font-weight:800;text-align:center}.roast-history-context-menu>i{height:1px;margin:4px 0;background:var(--border-neutral-l1)}.roast-history-delete-facts{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.roast-history-delete-facts div{min-width:0;padding:10px 12px;border:1px solid var(--border-neutral-l1);border-radius:10px;background:var(--bg-base-default)}.roast-history-delete-facts dt,.roast-history-delete-facts dd{margin:0}.roast-history-delete-facts dt{color:var(--text-tertiary);font-size:12px;font-weight:800}.roast-history-delete-facts dd{margin-top:4px;color:var(--text-default);font-size:13px;font-weight:900;overflow-wrap:anywhere}.roast-history-delete-checks{margin:0;padding:0;list-style:none;display:grid;gap:9px}.roast-history-delete-checks li{min-width:0;display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:13px;line-height:1.5}.roast-history-delete-checks svg{flex:0 0 auto;color:var(--status-success-default)}.roast-history-delete-warning{min-width:0;display:flex;align-items:flex-start;gap:9px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--status-error-default) 28%,var(--border-neutral-l1));border-radius:10px;background:var(--status-error-surface);color:var(--text-default);font-size:13px;line-height:1.6}.roast-history-delete-warning svg{flex:0 0 auto;margin-top:1px;color:var(--status-error-default)}.roast-history-sparkline{width:80px;height:28px;justify-self:end;flex-shrink:0}.roast-history-sparkline path{fill:none;stroke:var(--viz-series-brand);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.roast-history-sparkline .is-shadow{opacity:.16;transform:translateY(2px)}.roast-history-sparkline.is-warning path{stroke:var(--status-warning-default)}.roast-history-sparkline.is-danger path{stroke:var(--status-error-default)}.roast-history-sparkline.is-empty{min-height:28px;display:inline-flex;align-items:center;justify-content:center;padding:0 8px;border:1px dashed var(--border-neutral-l1);border-radius:999px;color:var(--text-tertiary);font-size:11px;white-space:nowrap;background:var(--bg-base-default)}.roast-history-sparkline.is-error{border-color:color-mix(in srgb,var(--status-error-default) 45%,var(--border-neutral-l1));background:color-mix(in srgb,var(--status-error-default) 8%,var(--bg-base-default));color:var(--status-error-default)}.curve-copy-source .roast-history-sparkline,.curve-action-preview .roast-history-sparkline{width:72px;height:34px;justify-self:auto;flex:0 0 auto}.roast-report-hero,.roast-report-chart-card,.roast-report-notes,.roast-report-card{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:14px;background:var(--bg-base-secondary);box-shadow:var(--shadow-soft)}.roast-report-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:18px;padding:22px}.roast-report-hero.is-interrupted{border-color:color-mix(in srgb,var(--status-warning-default) 34%,var(--border-neutral-l1));background:color-mix(in srgb,var(--status-warning-surface-l1) 58%,var(--bg-base-secondary))}.roast-report-hero p{margin:8px 0 0;color:var(--text-tertiary)}.roast-report-score{min-width:180px;display:grid;gap:8px;justify-items:end}.roast-report-score span{color:var(--text-tertiary);font-size:12px}.roast-report-score strong{color:var(--bg-brand);font-size:28px;line-height:1}.roast-report-hero.is-interrupted .roast-report-score strong{color:var(--status-warning-default)}.roast-interrupted-alert{min-width:0;border:1px solid color-mix(in srgb,var(--status-warning-default) 30%,var(--border-neutral-l1));border-left:3px solid var(--status-warning-default);border-radius:12px;background:var(--status-warning-surface-l1);padding:20px 22px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;color:var(--status-warning-default)}.roast-interrupted-alert h2{margin:0 0 10px;color:var(--text-default);font-size:20px;line-height:1.3}.roast-interrupted-alert-grid{min-width:0;display:flex;flex-wrap:wrap;gap:10px 24px;color:var(--text-secondary);font-size:14px;line-height:1.55}.roast-interrupted-alert-grid span{min-width:0;overflow-wrap:anywhere}.roast-interrupted-alert-grid b{color:var(--text-tertiary);font-weight:700}.roast-report-layout{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,340px);gap:18px;align-items:start}.roast-report-main,.roast-report-side{min-width:0;display:grid;gap:16px}.roast-report-chart-card,.roast-report-notes,.roast-report-card{padding:18px}.roast-report-section-head{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.roast-report-section-head h2,.roast-report-card h2{margin:0;color:var(--text-default);font-size:18px}.roast-report-section-head span{color:var(--text-tertiary);font-size:13px}.roast-report-chart{width:100%;min-height:330px}.roast-report-gridline{stroke:var(--border-neutral-l1);stroke-width:1}.roast-report-axis{fill:var(--text-tertiary);font-size:11px}.roast-report-fill{fill:url(#roastReportBtFill)}.roast-report-line{fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.roast-report-line.is-bean{stroke:var(--bg-brand)}.roast-report-line.is-environment{stroke:var(--status-success-default)}.roast-report-line.is-ror{stroke:var(--accent-violet);stroke-dasharray:5 5}.roast-report-interruption line{stroke:var(--status-error-default);stroke-width:2;stroke-dasharray:6 4;opacity:.74}.roast-report-interruption circle{fill:var(--status-error-default);stroke:var(--bg-base-secondary);stroke-width:2}.roast-report-interruption rect{fill:var(--status-error-surface);stroke:color-mix(in srgb,var(--status-error-default) 34%,transparent)}.roast-report-interruption text{fill:var(--status-error-default);font-size:11px;font-weight:800}.roast-interrupted-phases{min-width:0;padding:18px;border:1px solid var(--border-neutral-l1);border-radius:14px;background:var(--bg-base-secondary);box-shadow:var(--shadow-soft)}.roast-interrupted-phase-grid{min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.roast-interrupted-phase{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-default);padding:14px;display:grid;gap:7px}.roast-interrupted-phase.is-interrupted{border-color:color-mix(in srgb,var(--status-warning-default) 36%,var(--border-neutral-l1));background:var(--status-warning-surface-l1)}.roast-interrupted-phase.is-pending{opacity:.42}.roast-interrupted-phase strong{min-width:0;color:var(--text-default);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roast-interrupted-phase>span{color:var(--text-default);font-size:22px;line-height:1;font-weight:900;font-variant-numeric:tabular-nums}.roast-interrupted-phase small{color:var(--text-tertiary)}.roast-report-notes p{margin:0;color:var(--text-secondary);line-height:1.8}.roast-report-phase-list{display:grid;gap:10px}.roast-report-phase-list>div{display:grid;grid-template-columns:minmax(58px,1fr) auto auto;gap:8px;align-items:center;padding:9px 10px;border:1px solid var(--border-neutral-l1);border-radius:10px;background:var(--bg-base-default)}.roast-report-phase-list span,.roast-report-phase-list small{color:var(--text-tertiary)}.roast-report-phase-list strong{color:var(--text-default);font-variant-numeric:tabular-nums}.roast-report-card dl{display:grid;gap:10px;margin:0}.roast-report-tags{display:flex;flex-wrap:wrap;gap:8px}.roast-report-tags span{min-height:30px;display:inline-flex;align-items:center;gap:5px;padding:0 10px;border:1px solid var(--border-neutral-l1);border-radius:999px;color:var(--text-secondary);background:var(--bg-base-default)}.roast-interrupted-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}@media(max-width:1120px){.roast-history-filterbar,.roast-history-row,.roast-report-layout{grid-template-columns:1fr}.roast-history-tabs,.roast-history-actions,.roast-report-actions{justify-self:start}.roast-history-row-actions{justify-items:start}.roast-history-sparkline{justify-self:start}}@media(max-width:760px){.roast-setup-header,.roast-history-topbar,.roast-report-topbar,.roast-report-hero{align-items:flex-start;grid-template-columns:1fr;flex-direction:column}.roast-history-stats,.roast-report-kpis,.roast-interrupted-phase-grid,.roast-ready-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.roast-history-row dl{grid-template-columns:repeat(3,minmax(72px,1fr))}.roast-report-score{justify-items:start}}@media(max-width:540px){.roast-setup-header-actions,.roast-history-actions,.roast-report-actions,.roast-interrupted-actions,.roast-history-tabs{width:100%}.roast-setup-header-actions .secondary-action,.roast-history-actions .primary-action,.roast-history-actions .secondary-action,.roast-report-actions .primary-action,.roast-report-actions .secondary-action{width:100%;justify-content:center}.roast-interrupted-actions .primary-action,.roast-interrupted-actions .secondary-action{width:100%}.roast-history-stats,.roast-history-empty-overview,.roast-report-kpis,.roast-interrupted-phase-grid,.roast-ready-grid,.roast-history-delete-facts,.roast-history-row dl,.roast-report-phase-list>div{grid-template-columns:1fr}.roast-interrupted-alert{grid-template-columns:minmax(0,1fr)}.roast-history-empty-state{min-height:320px;padding:34px 16px}.roast-history-empty-state .primary-action{width:100%}.roast-history-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}.roast-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;justify-content:flex-end;background:#00000052}.roast-resource-drawer{width:min(420px,100%);height:100%;display:flex;flex-direction:column;border-left:1px solid var(--border-neutral-l1);background:var(--bg-base-default);color:var(--text-default);box-shadow:-12px 0 36px #0000002e;animation:drawerSlideIn .18s ease-out}.roast-device-selector-drawer{width:min(390px,100%)}.roast-drawer-head{padding:20px 24px 16px;border-bottom:1px solid var(--border-neutral-l1)}.roast-drawer-title{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:12px}.roast-drawer-title h2{margin:0;font-size:20px;line-height:1.2}.roast-drawer-body{min-height:0;flex:1;overflow-y:auto;display:grid;align-content:start;gap:12px;padding:16px 24px}.roast-drawer-foot{padding:16px 24px;border-top:1px solid var(--border-neutral-l1)}.roast-drawer-sort,.roast-drawer-search{min-width:0;display:flex;align-items:center}.roast-drawer-sort{justify-content:flex-end;gap:8px;color:var(--text-tertiary);font-size:12px}.roast-drawer-sort>span:last-child{position:relative;display:inline-flex;align-items:center}.roast-drawer-sort select{min-height:34px;min-width:128px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border-neutral-l1);border-radius:8px;background:var(--bg-base-secondary);color:var(--text-default);padding:0 32px 0 10px}.roast-drawer-sort svg{position:absolute;right:10px;pointer-events:none;color:var(--text-tertiary)}.roast-drawer-search{min-height:42px;gap:8px;border:1px solid var(--border-neutral-l1);border-radius:10px;background:var(--bg-base-secondary);padding:0 12px}.roast-drawer-search svg{color:var(--text-tertiary)}.roast-drawer-search input{min-width:0;width:100%;border:0;outline:0;background:transparent;color:var(--text-default)}.roast-bean-filter-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;padding:2px;border:1px solid var(--border-neutral-l1);border-radius:10px;background:var(--bg-base-secondary)}.roast-bean-filter-tabs button{min-width:0;min-height:30px;border:0;border-radius:8px;background:transparent;color:var(--text-secondary);font:inherit;font-size:12px;cursor:pointer}.roast-bean-filter-tabs button.is-active{background:var(--bg-base-default);color:var(--text-default);font-weight:800;box-shadow:0 1px 2px #0000000f}.roast-drawer-list{min-width:0;display:grid;gap:10px}.roast-drawer-result-count{color:var(--text-tertiary);font-size:12px;font-variant-numeric:tabular-nums}.roast-drawer-load-more{width:100%;min-height:40px;border:1px solid var(--border-neutral-l1);border-radius:8px;background:var(--bg-base-secondary);color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-weight:700;cursor:pointer}.roast-drawer-load-more:hover:not(:disabled),.roast-drawer-load-more:focus-visible{border-color:var(--border-brand);color:var(--bg-brand);outline:0}.roast-drawer-load-more:disabled{cursor:wait;opacity:.7}.roast-drawer-load-more svg{animation:roast-drawer-load-spin .8s linear infinite}.roast-drawer-search-spinner{animation:roast-drawer-load-spin .8s linear infinite}@keyframes roast-drawer-load-spin{to{transform:rotate(360deg)}}.roast-drawer-device-item,.roast-drawer-bean-item,.roast-drawer-curve-card{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-default);color:inherit;text-align:left;cursor:pointer;transition:background .14s ease,border-color .14s ease,box-shadow .14s ease}.roast-drawer-device-item:hover:not(:disabled),.roast-drawer-bean-item:hover,.roast-drawer-curve-card:hover{background:var(--bg-base-secondary)}.roast-drawer-device-item.is-selected,.roast-drawer-bean-item.is-selected,.roast-drawer-curve-card.is-selected{border-color:var(--border-brand);background:var(--bg-brand-popup)}.roast-drawer-device-item{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px}.roast-drawer-device-item.is-disabled{cursor:not-allowed;opacity:.56}.roast-drawer-item-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:10px;background:var(--bg-brand-popup);color:var(--bg-brand)}.roast-drawer-item-icon.is-busy{background:var(--status-alert-surface-l1);color:var(--status-alert-default)}.roast-drawer-item-icon.is-offline{background:var(--bg-base-tertiary);color:var(--text-tertiary)}.roast-drawer-item-copy{min-width:0;display:grid;gap:4px}.roast-drawer-item-copy strong,.roast-drawer-curve-copy strong{overflow:hidden;color:var(--text-default);text-overflow:ellipsis;white-space:nowrap}.roast-drawer-item-copy small,.roast-drawer-curve-copy small{color:var(--text-tertiary);font-size:12px}.roast-drawer-item-copy>span:not(.roast-stock-bar){display:inline-flex;align-items:center;gap:6px;color:var(--text-tertiary);font-size:12px}.roast-drawer-item-copy>span.is-online{color:var(--status-success-default)}.roast-drawer-item-copy>span.is-busy{color:var(--status-alert-default)}.roast-drawer-item-copy>span.is-offline{color:var(--text-disabled)}.roast-drawer-item-copy i{width:6px;height:6px;flex:0 0 auto;border-radius:999px;background:currentColor}.roast-drawer-item-action{min-width:56px;color:var(--bg-brand);font-size:13px;font-weight:800;text-align:right;white-space:nowrap}.roast-drawer-bean-item{display:grid;grid-template-columns:4px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 14px}.roast-bean-color{width:4px;height:44px;border-radius:999px;background:var(--accent-amber)}.roast-bean-color.is-low{background:var(--status-alert-default)}.roast-bean-color.is-muted{background:var(--text-disabled)}.roast-stock-bar{width:76px;height:4px;display:block;overflow:hidden;border-radius:999px;background:var(--bg-overlay-l2)}.roast-stock-bar i{display:block;height:100%;border-radius:inherit;background:var(--status-success-default)}.roast-bean-stock{display:grid;justify-items:end;gap:7px;color:var(--text-default);font-size:12px;white-space:nowrap}.roast-bean-stock svg{width:22px;height:22px;padding:4px;border-radius:999px;color:var(--text-onbrand);background:var(--bg-brand)}.roast-drawer-selection-foot,.roast-drawer-count{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:12px}.roast-drawer-selection-foot span,.roast-drawer-count{color:var(--text-secondary);font-size:13px}.roast-drawer-selection-foot strong,.roast-drawer-count strong{color:var(--text-default)}.roast-drawer-curve-card{display:grid;grid-template-columns:88px minmax(0,1fr);gap:14px;padding:14px}.roast-curve-thumb{min-height:78px;display:grid;place-items:center;gap:6px;border:1px solid var(--border-neutral-l1);border-radius:10px;background:var(--bg-base-secondary);color:var(--bg-brand)}.roast-curve-thumb small{color:var(--text-tertiary);font-size:11px}.roast-drawer-curve-copy{min-width:0;display:grid;gap:8px}.roast-drawer-curve-copy>span{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.roast-drawer-curve-copy b{padding:3px 7px;border-radius:999px;background:var(--bg-base-secondary);color:var(--text-secondary);font-size:11px}.roast-curve-stats{display:inline-flex;align-items:center;gap:5px;color:var(--text-tertiary);font-size:12px}.devices-page{width:min(100%,1280px);margin:0 auto;display:grid;gap:24px}.devices-toolbar{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:18px}.devices-heading{min-width:0;display:flex;align-items:center;gap:12px}.devices-back-button{flex:0 0 auto;background:var(--bg-base-secondary)}.devices-breadcrumb{min-width:0;display:flex;align-items:center;gap:8px;color:var(--text-tertiary);font-size:14px;line-height:1.4}.devices-breadcrumb button{border:0;background:transparent;color:inherit;padding:0;font:inherit;cursor:pointer}.devices-breadcrumb button:hover{color:var(--text-default)}.devices-breadcrumb h1{min-width:0;margin:0;color:var(--text-default);font:inherit;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.devices-toolbar>h1{margin:2px 0 0;font-size:28px;line-height:1.15}.devices-toolbar-actions{flex:0 0 auto;display:flex;align-items:center;justify-content:flex-end}.devices-bind-form{min-height:32px;display:inline-grid;align-items:center;gap:8px;border:1px solid var(--border-neutral-l1);border-radius:8px;background:var(--bg-base-secondary)}.devices-bind-form{grid-template-columns:auto minmax(130px,1fr) auto;padding:4px 4px 4px 12px}.devices-bind-form svg{color:var(--text-tertiary)}.devices-bind-form input{min-width:0;border:0;outline:0;background:transparent;color:var(--text-default)}.devices-overview-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.devices-overview-strip>div{min-height:64px;display:flex;align-items:center;gap:12px;padding:12px 16px;border-left:3px solid var(--status-info-default);border-radius:8px;background:var(--bg-base-secondary);box-shadow:var(--shadow-sm)}.devices-overview-strip>div.is-success{border-left-color:var(--status-success-default)}.devices-overview-strip>div.is-warning{border-left-color:var(--status-warning-default)}.devices-overview-strip>div.is-danger{border-left-color:var(--status-error-default)}.devices-overview-strip span{color:var(--text-tertiary)}.devices-overview-strip strong{margin-left:auto;color:var(--text-default);font-size:26px;line-height:1;font-variant-numeric:tabular-nums}.beans-empty-onboarding,.curves-empty-onboarding,.cupping-empty-onboarding,.notifications-empty-onboarding{grid-column:1 / -1;min-height:420px;display:grid;place-items:center;align-content:center;gap:18px;padding:40px 24px;border:1px dashed var(--border-neutral-l2);border-radius:14px;background:var(--bg-base-secondary);color:var(--text-secondary);text-align:center}.beans-empty-icon,.curves-empty-icon,.cupping-empty-icon,.notifications-empty-icon{width:64px;height:64px;display:inline-grid;place-items:center;border-radius:18px;background:var(--bg-brand-popup);color:var(--bg-brand)}.beans-empty-onboarding h2,.curves-empty-onboarding h2,.cupping-empty-onboarding h2,.notifications-empty-onboarding h2{margin:0 0 8px;color:var(--text-default);font-size:24px;line-height:1.2}.beans-empty-onboarding p,.curves-empty-onboarding p,.cupping-empty-onboarding p,.notifications-empty-onboarding p{max-width:520px;margin:0;color:var(--text-secondary);line-height:1.7}.empty-workflow-list{width:min(100%,640px);margin:4px 0 0;padding:12px 0 0;border-top:1px solid var(--border-neutral-l1);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;list-style:none}.empty-workflow-list li{min-width:0;display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:8px;color:var(--text-secondary);font-size:12px;line-height:1.45;text-align:left}.empty-workflow-list svg{width:24px;height:24px;padding:5px;border-radius:8px;background:color-mix(in srgb,var(--empty-workflow-accent, var(--bg-brand)),transparent 88%);color:var(--empty-workflow-accent, var(--bg-brand))}.empty-workflow-list span{min-width:0;overflow-wrap:anywhere}.beans-empty-workflow{--empty-workflow-accent: #5b8c3e}.curves-empty-workflow{--empty-workflow-accent: #2f7d9b}.cupping-empty-workflow{--empty-workflow-accent: #9a5b8f}.beans-empty-actions,.curves-empty-actions,.cupping-empty-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:10px}.devices-workspace{height:max(420px,calc(100dvh - 292px));display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:stretch}.devices-workspace.is-single{grid-template-columns:minmax(0,1fr)}.devices-matrix-panel,.devices-detail-panel{min-width:0;height:100%}.devices-matrix-panel{min-height:0;overflow:hidden;padding:16px;border:1px solid var(--border-neutral-l1);border-radius:8px;background:var(--bg-base-secondary);box-shadow:var(--shadow-sm);display:grid;grid-template-rows:auto minmax(0,1fr) auto}.devices-section-head{min-height:38px;margin-bottom:12px;display:flex;align-items:center;justify-content:space-between;gap:14px}.devices-section-head>div:first-child{min-width:0;display:flex;align-items:center;gap:8px}.devices-section-head h2{margin:0;color:var(--text-default);font-size:16px}.devices-section-count{display:inline-flex;padding:2px 7px;border-radius:999px;color:var(--text-tertiary);background:var(--bg-base-tertiary);font-size:11px}.devices-section-tools{display:flex;align-items:center;justify-content:flex-end;gap:7px}.devices-section-tools .text-button{min-height:30px;padding:0 7px;display:inline-flex;align-items:center;gap:4px}.devices-toolbar-menu{position:relative}.devices-toolbar-menu:has(.devices-toolbar-options){z-index:30}.devices-select-control{min-height:30px;display:inline-flex;align-items:center;justify-content:space-between;gap:5px;padding:0 7px;border:1px solid var(--border-neutral-l1);border-radius:8px;background:var(--bg-base-default);color:var(--text-tertiary);font:inherit;font-size:12px;cursor:pointer}.devices-select-control:hover,.devices-select-control.is-open{color:var(--text-default);background:var(--bg-base-tertiary)}.devices-select-control:focus-visible,.devices-select-control.is-open{border-color:var(--border-brand);box-shadow:0 0 0 2px color-mix(in srgb,var(--bg-brand) 12%,transparent);outline:0}.devices-select-control span{color:var(--text-secondary);white-space:nowrap}.devices-select-control>svg:last-child{transition:transform .15s ease}.devices-select-control.is-open>svg:last-child{transform:rotate(180deg)}.devices-toolbar-options{position:absolute;top:calc(100% + 6px);right:0;z-index:40;min-width:144px;display:grid;gap:2px;padding:4px;border:1px solid var(--border-neutral-l1);border-radius:8px;background:var(--bg-base-secondary);box-shadow:var(--shadow-lg)}.devices-toolbar-options button{width:100%;min-height:32px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 9px;border:0;border-radius:6px;background:transparent;color:var(--text-secondary);font:inherit;font-size:12px;text-align:left;cursor:pointer}.devices-toolbar-options button:hover,.devices-toolbar-options button:focus-visible{outline:0;background:var(--bg-base-tertiary);color:var(--text-default)}.devices-toolbar-options button.is-selected{background:var(--bg-brand-popup);color:var(--bg-brand)}.devices-view-switch{min-height:30px;padding:2px;border:1px solid var(--border-neutral-l1);border-radius:8px;background:var(--bg-base-default);display:inline-flex;align-items:center}.devices-view-switch button{min-height:24px;padding:0 8px;border:0;border-radius:6px;background:transparent;color:var(--text-tertiary);display:inline-flex;align-items:center;justify-content:center;gap:5px;font-size:12px;cursor:pointer}.devices-view-switch button:hover{color:var(--text-default)}.devices-view-switch button.is-active{background:var(--bg-base-tertiary);color:var(--text-default);box-shadow:var(--shadow-sm)}.devices-collection-body{min-height:0;overflow:hidden;padding:2px}.devices-matrix{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-content:start;gap:10px}.devices-matrix-tile{min-height:108px;min-width:0;display:grid;align-content:start;gap:7px;padding:12px;border:1px solid var(--border-neutral-l1);border-radius:8px;background:var(--bg-base-default);color:inherit;cursor:pointer;text-align:left;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.devices-matrix-tile:hover{border-color:var(--border-neutral-l2);background:var(--bg-base-tertiary)}.devices-matrix-tile.is-selected{border-color:var(--border-brand);box-shadow:inset 0 0 0 1px var(--border-brand),0 0 0 2px var(--bg-brand-popup)}.devices-matrix-tile.is-offline{opacity:.68}.devices-matrix-tile.is-warning{border-color:var(--status-warning-default)}.devices-matrix-tile.is-error{border-color:var(--status-error-default)}.devices-matrix-tile>span:first-child,.devices-list-name{min-width:0;display:flex;align-items:center;gap:7px}.devices-matrix-tile i,.devices-list-name i{width:7px;height:7px;flex:0 0 auto;border-radius:999px;background:var(--status-success-default)}.devices-matrix-tile.is-roasting i,.devices-list-row.is-roasting .devices-list-name i{background:var(--bg-brand)}.devices-matrix-tile.is-warning i,.devices-list-row.is-warning .devices-list-name i{background:var(--status-warning-default)}.devices-matrix-tile.is-error i,.devices-list-row.is-error .devices-list-name i{background:var(--status-error-default)}.devices-matrix-tile.is-offline i,.devices-list-row.is-offline .devices-list-name i{background:var(--text-tertiary)}.devices-matrix-tile strong,.devices-list-name strong{min-width:0;overflow:hidden;color:var(--text-default);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.devices-matrix-tile small{width:fit-content;max-width:100%;overflow:hidden;padding:2px 6px;border-radius:5px;color:var(--text-secondary);background:var(--bg-base-tertiary);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.devices-matrix-tile em{color:var(--text-tertiary);font-size:12px;font-style:normal}.devices-matrix-tile.is-roasting em{color:var(--bg-brand)}.devices-matrix-tile.is-error em{color:var(--status-error-default)}.devices-matrix-tile.is-warning em{color:var(--status-warning-default)}.devices-list{min-width:720px;display:grid;align-content:start;gap:6px}.devices-list-head,.devices-list-row{display:grid;grid-template-columns:minmax(150px,1.3fr) minmax(100px,.8fr) minmax(150px,1.2fr) minmax(110px,.8fr) 18px;align-items:center;gap:12px}.devices-list-head{min-height:32px;padding:0 12px;color:var(--text-tertiary);font-size:11px}.devices-list-row{min-height:54px;width:100%;padding:8px 12px;border:1px solid var(--border-neutral-l1);border-radius:8px;background:var(--bg-base-default);color:var(--text-secondary);font-size:12px;text-align:left;cursor:pointer}.devices-list-row:hover{border-color:var(--border-neutral-l2);background:var(--bg-base-tertiary)}.devices-list-row.is-selected{border-color:var(--border-brand);box-shadow:inset 3px 0 0 var(--border-brand)}.devices-list-row.is-offline{color:var(--text-tertiary)}.devices-list-row>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.devices-list-status{width:fit-content;padding:3px 7px;border-radius:999px;background:var(--bg-base-tertiary)}.devices-list-status.is-online{color:var(--status-success-default);background:var(--status-success-surface)}.devices-list-status.is-roasting{color:var(--bg-brand);background:var(--bg-brand-popup)}.devices-list-status.is-warning{color:var(--status-warning-default);background:var(--status-warning-surface)}.devices-list-status.is-error{color:var(--status-error-default);background:var(--status-error-surface)}.devices-list-row>svg{color:var(--icon-secondary)}.devices-more-tile{width:100%;min-height:54px;margin-top:10px;display:grid;place-items:center;border:1px dashed var(--border-neutral-l2);border-radius:8px;color:var(--text-tertiary);background:color-mix(in srgb,var(--bg-base-tertiary) 72%,transparent);cursor:pointer}.devices-empty-onboarding{min-height:100%;display:grid;place-items:center;align-content:center;gap:18px;padding:40px 24px;border:1px dashed var(--border-neutral-l2);border-radius:8px;background:var(--bg-base-default);color:var(--text-secondary);text-align:center}.devices-empty-icon{width:64px;height:64px;display:inline-grid;place-items:center;border-radius:8px;background:var(--bg-brand-popup);color:var(--bg-brand)}.devices-empty-onboarding h3{margin:0 0 8px;color:var(--text-default);font-size:24px;line-height:1.2}.devices-empty-onboarding p{max-width:480px;margin:0;color:var(--text-secondary);line-height:1.7}.devices-empty-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:10px}@media(min-width:1500px){.devices-matrix{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(max-width:1100px)and (min-width:821px){.devices-workspace{grid-template-columns:minmax(0,1fr) 300px}.devices-matrix{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:820px){.devices-workspace{height:auto;grid-template-columns:minmax(0,1fr)}.devices-matrix-panel,.devices-detail-panel{height:auto}.devices-matrix-panel{min-height:520px}.devices-collection-body{overflow:visible}.devices-matrix{grid-template-columns:repeat(3,minmax(0,1fr))}.devices-list{min-width:0}.devices-list-head,.devices-list-row{grid-template-columns:minmax(130px,1.2fr) minmax(90px,.8fr) minmax(120px,1fr) minmax(88px,.7fr) 18px;gap:8px}}@media(max-width:560px){.devices-matrix-panel{min-height:460px;padding:14px}.devices-section-head{align-items:flex-start;flex-direction:column}.devices-section-tools{width:100%;justify-content:flex-start;flex-wrap:wrap}.devices-matrix{grid-template-columns:minmax(0,1fr)}.devices-list{min-width:0}.devices-list-head{display:none}.devices-list-row{grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding:12px}.devices-list-row>span:not(.devices-list-name){grid-column:1 / -1;display:grid;grid-template-columns:74px minmax(0,1fr);gap:8px;white-space:normal}.devices-list-row>span[data-label]:before{content:attr(data-label);color:var(--text-tertiary)}.devices-list-row>svg{grid-column:2;grid-row:1}}.query-failure-state{min-height:160px;display:flex;align-items:center;justify-content:center;gap:14px;padding:24px;color:var(--status-error-default);text-align:left}.query-failure-state>div{display:grid;gap:3px}.query-failure-state strong,.query-failure-state span{display:block}.query-failure-state span{color:var(--text-secondary);font-size:12px}.query-failure-state.is-compact{min-height:96px;padding:12px 0}@media(max-width:640px){.query-failure-state{flex-direction:column;text-align:center}}.app-error-state{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:32px;color:var(--text-secondary);background:var(--bg-base-primary);text-align:center}.app-error-state.is-route{min-height:min(560px,70vh);border:1px solid var(--border-neutral-l1);border-radius:16px;background:var(--bg-base-secondary)}.app-error-state>div{display:grid;gap:6px}.app-error-state strong{color:var(--text-default);font-size:18px}.app-error-state span{font-size:14px}.app-error-state .secondary-action{display:inline-flex;align-items:center;gap:8px}.devices-section-actions{min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:14px}.devices-search-form{width:220px;min-width:180px;min-height:30px;display:grid;grid-template-columns:minmax(0,1fr) 32px;overflow:hidden;border:1px solid var(--border-neutral-l1);border-radius:8px;background:var(--bg-base-default)}.devices-search-form:focus-within{border-color:var(--border-brand);box-shadow:0 0 0 2px color-mix(in srgb,var(--bg-brand) 12%,transparent)}.devices-search-field{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}.devices-search-field input{width:100%;min-width:0;height:100%;padding:0 9px;border:0;outline:0;background:transparent;color:var(--text-default);font:inherit;font-size:12px}.devices-search-field button,.devices-search-submit{width:30px;height:28px;display:inline-grid;place-items:center;padding:0;border:0;background:transparent;color:var(--text-tertiary);cursor:pointer}.devices-search-field button:hover,.devices-search-submit:hover:not(:disabled){color:var(--text-default);background:var(--bg-base-tertiary)}.devices-search-field button:focus-visible,.devices-search-submit:focus-visible{outline:2px solid var(--border-brand);outline-offset:-2px}.devices-search-submit{width:32px;border-left:1px solid var(--border-neutral-l1);color:var(--bg-brand)}.devices-search-submit:disabled{color:var(--text-disabled);cursor:default}.devices-search-spinner{animation:devices-search-spin .8s linear infinite}@keyframes devices-search-spin{to{transform:rotate(360deg)}}@media(max-width:1100px){.devices-section-head{flex-wrap:wrap}.devices-section-actions{width:100%;justify-content:space-between}}@media(max-width:560px){.devices-section-actions{align-items:stretch;flex-direction:column;gap:10px}.devices-search-form{width:100%;min-width:0}}.devices-collection-body>.query-failure-state{min-height:100%}.devices-detail-panel{min-height:0;overflow:hidden;align-content:start;display:grid;gap:14px;padding:16px;border:1px solid var(--border-neutral-l1);border-radius:8px;background:var(--bg-base-secondary);box-shadow:var(--shadow-sm)}.devices-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.devices-detail-head h2{margin:0 0 8px;color:var(--text-default);font-size:20px}.devices-kpi-card{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:12px;border-radius:8px;background:var(--bg-base-default)}.devices-kpi-card div{display:grid;justify-items:center;gap:3px;padding:0 8px;text-align:center}.devices-kpi-card div+div{border-left:1px solid var(--border-neutral-l1)}.devices-kpi-card strong{color:var(--text-default);font-size:18px;font-variant-numeric:tabular-nums}.devices-kpi-card span,.devices-recent-roasts small,.devices-info-list dt{color:var(--text-tertiary);font-size:11px}.devices-recent-roasts h3,.devices-info-list h3{margin:0 0 10px;color:var(--text-default);font-size:14px}.devices-recent-roasts>div{display:grid;gap:7px}.devices-recent-item{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border:1px solid transparent;border-radius:8px;background:var(--bg-base-default);color:inherit;font:inherit;text-align:left;cursor:pointer}.devices-recent-item:hover,.devices-recent-item:focus-visible{border-color:var(--border-brand);outline:0;background:var(--bg-base-tertiary)}.devices-recent-state{min-height:54px;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px;border:1px dashed var(--border-neutral-l2);border-radius:8px;color:var(--text-tertiary);background:var(--bg-base-default);font-size:12px;text-align:center}.devices-recent-state.is-error{color:var(--status-error-default);border-color:color-mix(in srgb,var(--status-error-default) 30%,var(--border-neutral-l1));background:var(--status-error-surface);flex-wrap:wrap}.devices-recent-state .text-button{display:inline-flex;align-items:center;gap:4px}.devices-recent-spinner{animation:devices-recent-spin .9s linear infinite}@keyframes devices-recent-spin{to{transform:rotate(360deg)}}.devices-recent-item>span:first-child{min-width:0;display:grid;gap:2px}.devices-recent-open{flex:0 0 auto;display:inline-flex;align-items:center;gap:2px;color:var(--bg-brand);font-size:12px;font-weight:700}.devices-recent-roasts strong{overflow:hidden;color:var(--text-default);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.devices-detail-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.device-more-actions{position:relative;flex:0 0 auto}.device-more-actions-trigger{width:36px;min-height:36px}.device-more-actions-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:80;width:168px;padding:5px;border:1px solid var(--border-neutral-l1);border-radius:8px;background:var(--bg-base-secondary);box-shadow:var(--shadow-lg)}.device-more-actions-menu button{width:100%;min-height:36px;display:flex;align-items:center;gap:9px;padding:0 10px;border:0;border-radius:6px;background:transparent;color:var(--status-error-default);font:inherit;font-size:13px;font-weight:700;text-align:left;cursor:pointer}.device-more-actions-menu button:hover,.device-more-actions-menu button:focus-visible{outline:0;background:var(--status-error-surface-l1)}.devices-info-list dl{display:grid;gap:9px;margin:0;padding-top:12px;border-top:1px solid var(--border-neutral-l1)}.devices-info-list dl div{display:flex;justify-content:space-between;gap:12px}.devices-info-list dd{margin:0;color:var(--text-secondary);overflow-wrap:anywhere;text-align:right}@media(min-width:821px)and (max-height:820px){.devices-detail-panel{gap:6px;padding:10px}.devices-detail-head h2{margin-bottom:4px;font-size:17px}.devices-kpi-card{padding:6px 4px}.devices-kpi-card strong{font-size:15px}.devices-recent-roasts h3,.devices-info-list h3{margin-bottom:4px}.devices-recent-item{padding:5px 7px}.devices-recent-item:nth-of-type(n+2){display:none}.devices-detail-actions{gap:4px}.devices-detail-actions button{min-height:28px;padding:0 7px;font-size:12px}.devices-info-list dl{gap:3px;padding-top:4px}.devices-info-list dl div{line-height:1.15}}.device-unbind-modal{width:min(520px,calc(100vw - 32px));max-height:calc(100vh - 48px);overflow:auto;border:1px solid var(--border-neutral-l1);border-radius:16px;background:var(--bg-base-secondary);box-shadow:var(--shadow-lg);padding:18px;display:grid;gap:16px}.device-unbind-modal header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:flex-start;gap:12px}.device-unbind-modal h2,.device-unbind-modal p{margin:0}.device-unbind-modal h2{color:var(--text-default);font-size:18px}.device-unbind-modal p,.device-unbind-warning{color:var(--text-secondary);font-size:13px;line-height:1.55}.device-unbind-icon{width:38px;height:38px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;color:var(--status-error-default);background:var(--status-error-surface)}.device-unbind-warning{border:1px solid var(--status-error-surface-l2);border-radius:12px;background:var(--status-error-surface-l1);box-shadow:inset 3px 0 0 var(--status-error-default);color:var(--text-default);font-weight:600;padding:12px}.device-unbind-modal .primary-action.danger-action{border-color:var(--status-error-default);background:var(--status-error-default);color:var(--text-onbrand);box-shadow:0 8px 18px color-mix(in srgb,var(--status-error-default) 24%,transparent)}.device-unbind-modal .primary-action.danger-action:hover{border-color:color-mix(in srgb,var(--status-error-default) 84%,black);background:color-mix(in srgb,var(--status-error-default) 84%,black);color:var(--text-onbrand)}.device-unbind-facts,.bean-delete-facts{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.device-unbind-facts div,.bean-delete-facts div{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-tertiary);padding:10px}.device-unbind-facts dt,.bean-delete-facts dt{color:var(--text-tertiary);font-size:12px}.device-unbind-facts dd,.bean-delete-facts dd{margin:3px 0 0;color:var(--text-default);font-weight:800;overflow-wrap:anywhere}.device-unbind-reason{display:grid;gap:8px}.device-unbind-reason span{color:var(--text-tertiary);font-size:12px}.device-unbind-reason textarea{width:100%;resize:vertical;min-height:86px;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-tertiary);color:var(--text-default);padding:10px 12px;font:inherit}.device-unbind-modal footer,.bean-delete-modal footer{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.device-flow-page,.device-pairing-page{width:min(100%,1180px);margin:0 auto;display:grid;gap:20px}.device-flow-topbar{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px}.device-flow-topbar h1{margin:2px 0 0;color:var(--text-default);font-size:24px;line-height:1.25}.device-flow-topbar-spacer{width:1px;min-height:1px}.device-pairing-layout,.device-status-layout{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}.device-pairing-hero{grid-column:1 / -1;min-height:170px;overflow:hidden;position:relative;grid-template-columns:auto minmax(0,1fr);align-items:center}.device-flow-card{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:14px;background:var(--bg-base-default);box-shadow:0 10px 28px #1118270a;padding:18px;display:grid;gap:16px}.device-flow-icon,.device-flow-section-head>span{width:38px;height:38px;border-radius:12px;background:var(--bg-brand-popup);color:var(--bg-brand);display:inline-flex;align-items:center;justify-content:center}.device-flow-section-head{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:start}.device-flow-section-head h2,.device-pairing-hero h2,.device-status-hero h2{margin:0;color:var(--text-default);font-size:18px;line-height:1.3}.device-flow-section-head p,.device-pairing-hero p,.device-status-hero p{margin:4px 0 0;color:var(--text-tertiary);font-size:13px;line-height:1.5}.device-scan-pulse{position:absolute;right:36px;top:50%;width:132px;height:132px;transform:translateY(-50%);pointer-events:none}.device-scan-pulse i{position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid color-mix(in srgb,var(--bg-brand) 42%,transparent);border-radius:999px}.device-scan-pulse i:nth-child(2){top:22px;right:22px;bottom:22px;left:22px}.device-scan-pulse i:nth-child(3){top:44px;right:44px;bottom:44px;left:44px;background:var(--bg-brand-popup)}.device-flow-search,.device-manual-form label,.device-manual-form,.device-bind-preview,.device-bind-facts{min-width:0}.device-flow-search{height:40px;border:1px solid var(--border-neutral-l1);border-radius:10px;background:var(--bg-base-secondary);display:flex;align-items:center;gap:8px;padding:0 12px;color:var(--text-tertiary)}.device-flow-search input,.device-manual-form input{min-width:0;width:100%;border:0;outline:0;background:transparent;color:var(--text-default);font:inherit}.device-pairing-page{width:min(100%,760px);position:relative;gap:24px;padding-bottom:72px}.device-pairing-topbar{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px}.device-pairing-topbar h1{margin:2px 0 0;color:var(--text-default);font-size:24px;line-height:1.25}.device-pairing-main{min-width:0;display:grid;gap:24px;justify-items:center}.device-pairing-title{text-align:center;display:grid;gap:8px}.device-pairing-title h2{margin:0;color:var(--text-default);font-size:30px;line-height:1.18}.device-pairing-title p,.device-pairing-scanning{margin:0;color:var(--text-secondary);font-size:15px;line-height:1.6}.device-claim-guide{justify-items:stretch}.device-claim-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.device-claim-steps article{min-width:0;display:grid;align-content:start;gap:10px;padding:18px;border:1px solid var(--border-neutral-l1);border-radius:14px;background:var(--bg-base-secondary)}.device-claim-steps article>span{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;color:var(--brand-primary);background:color-mix(in srgb,var(--brand-primary) 12%,transparent)}.device-claim-steps strong{color:var(--text-default)}.device-claim-steps p{margin:0;color:var(--text-secondary);font-size:13px;line-height:1.6}.device-claim-guide .device-pairing-note{justify-content:flex-start}.device-claim-guide .device-pairing-note.is-success{color:var(--semantic-success)}@media(max-width:720px){.device-claim-steps{grid-template-columns:1fr}}.device-manual-entry{width:min(100%,560px);display:grid;justify-items:stretch;gap:16px;padding:20px;border:1px solid var(--border-neutral-l1);border-radius:8px;background:var(--bg-base-default);box-shadow:var(--shadow-sm)}.device-manual-input{min-width:0;height:42px;border:1px solid var(--border-neutral-l1);border-radius:8px;background:var(--bg-base-secondary);color:var(--text-tertiary);display:flex;align-items:center;gap:8px;padding:0 12px}.device-manual-input input{min-width:0;width:100%;border:0;outline:0;background:transparent;color:var(--text-default);font:inherit}.device-manual-entry .device-pairing-note{width:100%;justify-content:center;text-align:center}.device-mobile-scan-action{display:none}.device-manual-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}.device-manual-form>label{grid-column:1 / -1;display:grid;gap:7px;color:var(--text-secondary);font-size:13px;font-weight:700}.device-pairing-note{border-radius:12px;background:var(--bg-base-secondary);color:var(--text-secondary);padding:12px;display:flex;align-items:center;gap:10px;font-size:13px;line-height:1.45}.device-scan-dialog{width:min(100%,520px);border:1px solid var(--border-neutral-l1);border-radius:8px;background:var(--bg-base-default);box-shadow:var(--shadow-lg);padding:18px;display:grid;gap:16px}.device-scan-dialog header,.device-scan-dialog header>div{min-width:0;display:flex;align-items:flex-start;gap:12px}.device-scan-dialog header{justify-content:space-between}.device-scan-dialog h2{margin:0;color:var(--text-default);font-size:18px;line-height:1.25}.device-scan-dialog p{margin:4px 0 0;color:var(--text-tertiary);font-size:13px;line-height:1.5}.device-camera-preview{position:relative;width:100%;aspect-ratio:4 / 3;overflow:hidden;border:1px solid var(--border-neutral-l1);border-radius:8px;background:#111}.device-camera-preview video{width:100%;height:100%;display:block;object-fit:cover}.device-camera-frame{position:absolute;top:18%;right:18%;bottom:18%;left:18%;border:2px solid rgba(255,255,255,.88);border-radius:8px;box-shadow:0 0 0 999px #00000052}.device-camera-state{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;align-items:center;justify-items:center;gap:9px;padding:24px;background:#111111d1;color:#fff;font-size:13px;text-align:center}.device-camera-state.is-error{line-height:1.55}.device-scan-dialog>.dialog-actions{justify-content:flex-end}.device-bind-drawer-backdrop{display:flex;justify-content:flex-end;align-items:stretch;padding:0}.device-bind-drawer{width:min(420px,100%);height:100%;border-left:1px solid var(--border-neutral-l1);background:var(--bg-base-secondary);box-shadow:-18px 0 42px #1118272e;display:grid;grid-template-rows:auto minmax(0,auto) auto 1fr auto;animation:drawerSlideIn .18s ease-out}@keyframes drawerSlideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.device-bind-drawer header{min-width:0;padding:20px;display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid var(--border-neutral-l1)}.device-bind-drawer header>div{min-width:0;display:flex;gap:12px;align-items:flex-start}.device-bind-drawer-icon,.device-bind-preview>span{width:42px;height:42px;border-radius:12px;background:var(--bg-brand-popup);color:var(--bg-brand);display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.device-bind-drawer h2{margin:0;color:var(--text-default);font-size:20px;line-height:1.25}.device-bind-drawer p{margin:6px 0 0;color:var(--text-secondary);line-height:1.55}.device-bind-preview{margin:20px 20px 0;padding:16px;border:1px solid var(--border-neutral-l1);border-radius:14px;background:var(--bg-base-default);display:flex;gap:14px;align-items:center}.device-bind-preview div{min-width:0;display:grid;gap:4px}.device-bind-preview strong{color:var(--text-default);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-bind-preview small{color:var(--text-tertiary);font-size:12px}.device-bind-owner{margin:14px 20px 0;padding:12px;border-radius:12px;display:flex;gap:8px;align-items:center;line-height:1.5}.device-bind-owner.is-available{background:var(--status-success-surface);color:var(--status-success-default)}.device-bind-owner.is-owned{background:var(--status-warning-surface);color:var(--status-warning-default)}.device-bind-owner.is-unknown{background:var(--bg-base-tertiary);color:var(--text-secondary)}@media(max-width:820px)and (hover:none)and (pointer:coarse){.device-mobile-scan-action{display:inline-flex}}.device-bind-facts{margin:16px 20px 0;display:grid;gap:10px}.device-bind-facts div{display:flex;justify-content:space-between;gap:16px;padding-bottom:10px;border-bottom:1px solid var(--border-neutral-l1)}.device-bind-facts dt{color:var(--text-tertiary)}.device-bind-facts dd{margin:0;color:var(--text-default);font-weight:800;text-align:right}.device-bind-message{margin:14px 20px 0}.device-bind-drawer footer{padding:16px 20px 20px;border-top:1px solid var(--border-neutral-l1);display:flex;justify-content:flex-end;gap:10px}.device-transfer-modal{width:min(92vw,620px)}.device-transfer-lock-note{color:var(--text-default)}.device-transfer-token{display:grid;gap:8px;margin:0 20px;padding:16px;border:1px solid color-mix(in srgb,var(--brand-primary) 34%,var(--border-neutral-l1));border-radius:12px;background:color-mix(in srgb,var(--brand-primary) 8%,var(--bg-base-secondary))}.device-transfer-token>span{color:var(--text-secondary);font-size:13px;font-weight:700}.device-transfer-token code{overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;color:var(--text-default);font-size:14px;line-height:1.6}.device-transfer-token small{color:var(--text-tertiary);line-height:1.55}.device-transfer-steps{display:grid;gap:10px;margin:0 20px;padding:0 0 0 22px;color:var(--text-secondary);line-height:1.55}.device-status-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.device-status-layout{grid-template-columns:minmax(0,1fr) 340px}.device-status-hero{grid-column:1 / -1;min-width:0;border:1px solid var(--border-neutral-l1);border-radius:16px;padding:20px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center}.device-status-hero.is-error{border-color:color-mix(in srgb,var(--status-error-default) 36%,var(--border-neutral-l1));background:var(--status-error-surface);color:var(--status-error-default)}.device-status-hero.is-warning,.device-status-hero.is-offline{border-color:color-mix(in srgb,var(--status-warning-default) 36%,var(--border-neutral-l1));background:var(--status-warning-surface);color:var(--status-warning-default)}.device-status-hero.is-online{border-color:color-mix(in srgb,var(--status-success-default) 36%,var(--border-neutral-l1));background:var(--status-success-surface);color:var(--status-success-default)}.device-status-hero>span{width:46px;height:46px;border-radius:14px;background:var(--bg-base-default);display:inline-flex;align-items:center;justify-content:center}.device-status-facts{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.device-status-facts div{border-bottom:1px solid var(--border-neutral-l1);padding-bottom:10px}.device-status-facts dt,.device-status-facts dd{margin:0}.device-status-facts dt{color:var(--text-tertiary);font-size:12px}.device-status-facts dd{margin-top:4px;color:var(--text-default);font-weight:800;overflow-wrap:anywhere}.device-realtime-diagnostics{display:grid;gap:14px;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-secondary);padding:12px}.device-realtime-diagnostics h3{margin:0;color:var(--text-default);font-size:16px;line-height:1.3}.device-realtime-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.device-realtime-summary span{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:10px;background:var(--bg-base-default);padding:10px;display:grid;gap:4px}.device-realtime-summary b,.device-realtime-readings dd{min-width:0;color:var(--text-default);font-weight:900;overflow-wrap:anywhere}.device-realtime-summary small{color:var(--text-tertiary);font-size:12px}.device-realtime-readings{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.device-realtime-readings div{min-width:0;border-bottom:1px solid var(--border-neutral-l1);padding-bottom:8px}.device-realtime-readings dt,.device-realtime-readings dd{margin:0}.device-realtime-readings dt,.device-realtime-empty{color:var(--text-tertiary);font-size:12px}.device-realtime-empty{margin:0;line-height:1.5}.device-troubleshooting{margin:0;padding-left:20px;color:var(--text-secondary);display:grid;gap:10px;line-height:1.55}.secondary-action.is-active{border-color:var(--border-brand);background:var(--bg-brand-popup);color:var(--bg-brand)}.production-page{width:min(100%,1240px);margin:0 auto;display:grid;gap:16px}.production-page-header{min-width:0;display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.production-page-heading{min-width:0;display:flex;align-items:flex-start;gap:14px}.production-page-heading h1,.production-page-heading p{margin:0}.production-page-heading h1{margin-top:4px;color:var(--text-default);font-size:25px;line-height:1.25}.production-page-heading p{max-width:720px;margin-top:7px;color:var(--text-secondary);font-size:14px;line-height:1.6}.production-access-status{flex:0 0 auto;display:flex;align-items:center;gap:8px}.production-stage-strip{min-width:0;margin:0;border:1px solid var(--border-neutral-l1);border-radius:14px;background:var(--bg-base-default);box-shadow:var(--shadow-sm);padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden;list-style:none}.production-stage-strip li{min-width:0;padding:14px 16px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center}.production-stage-strip li+li{border-left:1px solid var(--border-neutral-l1)}.production-stage-strip li>span{width:31px;height:31px;border-radius:10px;background:var(--bg-brand-popup);color:var(--text-brand);display:grid;place-items:center;font-size:11px;font-weight:900}.production-stage-strip li>div{min-width:0;display:grid;gap:3px}.production-stage-strip strong,.production-stage-strip small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.production-stage-strip strong{color:var(--text-default);font-size:13px}.production-stage-strip small{color:var(--text-tertiary);font-size:11px}.production-tabs{width:min(100%,660px);min-width:0;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-secondary);padding:4px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.production-tabs>button{min-width:0;min-height:54px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--text-tertiary);padding:8px 12px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px;align-items:center;cursor:pointer;text-align:left}.production-tabs>button:hover:not(:disabled){color:var(--text-default);background:var(--bg-base-default)}.production-tabs>button.is-active{border-color:color-mix(in srgb,var(--bg-brand) 32%,var(--border-neutral-l1));background:var(--bg-base-default);color:var(--text-brand);box-shadow:var(--shadow-sm)}.production-tabs>button:disabled{opacity:.5;cursor:not-allowed}.production-tabs>button>span{display:grid;gap:3px}.production-tabs strong,.production-tabs small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.production-tabs strong{color:var(--text-default);font-size:13px}.production-tabs small{color:var(--text-tertiary);font-size:11px}.production-panel{border:1px solid var(--border-neutral-l1);border-radius:16px;background:var(--bg-base-default);box-shadow:var(--shadow-sm);padding:20px;display:grid;gap:18px}.production-panel-head{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:16px}.production-panel-head>div{display:grid;grid-template-columns:auto minmax(0,1fr);gap:11px;align-items:center}.production-panel-head h2,.production-panel-head p{margin:0}.production-panel-head h2{color:var(--text-default);font-size:19px}.production-panel-head p{margin-top:4px;color:var(--text-secondary);font-size:13px;line-height:1.5}.production-panel-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center}.production-panel-icon.is-register{background:var(--bg-brand-popup);color:var(--text-brand)}.production-panel-icon.is-flow{background:var(--status-info-surface-l1);color:var(--status-info-default)}.production-loading-state{min-height:240px;border:1px dashed var(--border-neutral-l2);border-radius:12px;display:grid;place-items:center}.production-register-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:16px;align-items:stretch}.production-register-form{border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-secondary);padding:16px;display:grid;gap:14px}.production-register-form label,.production-flow-search label{min-width:0;display:grid;gap:7px}.production-register-form label>span,.production-flow-search label>span{color:var(--text-secondary);font-size:12px;font-weight:800}.production-register-form input,.production-register-form select,.production-register-form textarea,.production-flow-search input{width:100%;min-width:0;border:1px solid var(--border-neutral-l1);border-radius:10px;background:var(--bg-base-default);color:var(--text-default);padding:10px 12px;font:inherit;outline:0}.production-register-form input,.production-register-form select,.production-flow-search input{height:42px}.production-register-form textarea{resize:vertical;line-height:1.55}.production-register-form input:focus,.production-register-form select:focus,.production-register-form textarea:focus,.production-flow-search input:focus{border-color:var(--border-brand);box-shadow:0 0 0 3px var(--bg-brand-popup)}.production-register-form label>small{color:var(--text-tertiary);font-size:11px}.production-form-grid{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.production-primary-action{width:100%}.production-batch-preview{min-width:0;border:1px solid color-mix(in srgb,var(--bg-brand) 25%,var(--border-neutral-l1));border-radius:12px;background:color-mix(in srgb,var(--bg-brand-popup) 48%,var(--bg-base-default));padding:18px;display:grid;align-content:start;justify-items:center;gap:5px;text-align:center}.production-batch-illustration{width:72px;height:72px;margin-bottom:7px;border-radius:22px;background:var(--bg-brand-popup);color:var(--text-brand);display:grid;place-items:center}.production-batch-preview>span,.production-batch-preview>small{color:var(--text-secondary);font-size:12px}.production-batch-preview>strong{color:var(--text-brand);font-size:38px;line-height:1}.production-batch-preview dl{width:100%;margin:16px 0 0;border-top:1px solid var(--border-neutral-l1);padding-top:12px;display:grid;gap:10px}.production-batch-preview dl>div{min-width:0;display:flex;justify-content:space-between;gap:10px}.production-batch-preview dt,.production-batch-preview dd{min-width:0;margin:0;font-size:11px}.production-batch-preview dt{color:var(--text-tertiary)}.production-batch-preview dd{color:var(--text-default);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.production-flow-search{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-secondary);padding:15px;display:grid;grid-template-columns:minmax(260px,.8fr) minmax(360px,1.2fr);gap:18px;align-items:end}.production-flow-search label{gap:4px}.production-flow-search label>small{color:var(--text-tertiary);font-size:11px;line-height:1.45}.production-flow-search>div{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.production-flow-search .primary-action{min-width:126px}.production-flow-workspace{min-width:0;display:grid;gap:14px}.production-flow-device-card{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-secondary);padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:16px}.production-flow-device-card>div{min-width:0;display:grid;gap:3px}.production-flow-device-card>div>span,.production-next-action>div>span{color:var(--text-brand);font-size:11px;font-weight:850}.production-flow-device-card strong{color:var(--text-default);font-size:20px;line-height:1.25}.production-flow-device-card small{color:var(--text-tertiary);font-size:12px}.production-next-action{min-width:0;border:1px solid color-mix(in srgb,var(--bg-brand) 34%,var(--border-neutral-l1));border-radius:14px;background:color-mix(in srgb,var(--bg-brand-popup) 46%,var(--bg-base-default));padding:18px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px}.production-next-action h3,.production-next-action p{margin:0}.production-next-action h3{margin-top:4px;color:var(--text-default);font-size:20px}.production-next-action p{max-width:720px;margin-top:6px;color:var(--text-secondary);font-size:13px;line-height:1.55}.production-next-action .primary-action{min-width:170px}.production-device-summary{min-width:0;overflow:hidden;border:1px solid var(--border-neutral-l1);border-radius:10px;background:var(--bg-base-default);display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.production-device-summary>span{min-width:0;padding:10px 12px;display:grid;gap:4px}.production-device-summary>span+span{border-left:1px solid var(--border-neutral-l1)}.production-device-summary small{color:var(--text-tertiary);font-size:10px}.production-device-summary strong{min-width:0;color:var(--text-default);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.production-flow-steps{min-width:0;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;list-style:none}.production-flow-steps li{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-secondary);padding:13px;display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:start;gap:9px}.production-flow-steps li.is-current{border-color:color-mix(in srgb,var(--bg-brand) 42%,var(--border-neutral-l1));background:color-mix(in srgb,var(--bg-brand-popup) 40%,var(--bg-base-secondary));box-shadow:0 0 0 2px color-mix(in srgb,var(--bg-brand) 8%,transparent)}.production-flow-steps li.is-done{border-color:color-mix(in srgb,var(--status-success-default) 28%,var(--border-neutral-l1))}.production-flow-steps li.is-waiting,.production-flow-steps li.is-blocked{opacity:.64}.production-flow-step-index{color:var(--text-tertiary);font-size:10px;font-weight:900}.production-flow-step-icon{width:34px;height:34px;border-radius:10px;background:var(--status-info-surface-l1);color:var(--status-info-default);display:grid;place-items:center}.production-flow-step-icon.is-reset{background:var(--status-warning-surface-l1);color:var(--status-warning-default)}.production-flow-step-icon.is-ship,.production-flow-steps li.is-done .production-flow-step-icon{background:var(--status-success-surface-l1);color:var(--status-success-default)}.production-flow-steps li>div{min-width:0;display:grid;gap:3px}.production-flow-steps li>div>span{color:var(--text-brand);font-size:10px;font-weight:850}.production-flow-steps strong{color:var(--text-default);font-size:13px}.production-flow-steps small{color:var(--text-tertiary);font-size:11px;line-height:1.45}.production-confirm-modal .admin-confirm-icon{color:var(--text-brand);background:var(--bg-brand-popup)}@media(max-width:980px){.production-stage-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.production-stage-strip li:nth-child(3){border-left:0}.production-stage-strip li:nth-child(n+3){border-top:1px solid var(--border-neutral-l1)}.production-register-layout,.production-flow-search{grid-template-columns:1fr}.production-batch-preview{grid-template-columns:auto auto minmax(0,1fr);justify-items:start;align-items:center;text-align:left}.production-batch-illustration{grid-row:span 2;margin:0}.production-batch-preview dl{grid-column:1 / -1}}@media(max-width:680px){.production-page-header,.production-page-heading,.production-panel-head{align-items:stretch;flex-direction:column}.production-access-status{flex-wrap:wrap}.production-tabs,.production-form-grid,.production-device-summary,.production-flow-steps,.production-flow-search>div,.production-next-action{grid-template-columns:1fr}.production-flow-device-card{align-items:flex-start;flex-direction:column}.production-next-action .primary-action{width:100%}.production-panel{padding:14px}.production-device-summary>span+span{border-top:1px solid var(--border-neutral-l1);border-left:0}}@media(max-width:480px){.production-stage-strip{grid-template-columns:1fr}.production-stage-strip li+li,.production-stage-strip li:nth-child(3){border-top:1px solid var(--border-neutral-l1);border-left:0}.production-batch-preview{grid-template-columns:1fr;justify-items:center;text-align:center}.production-batch-illustration{grid-row:auto}}.production-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}.production-access-status{flex-wrap:wrap;justify-content:flex-end}.production-panel-icon.is-credential,.production-panel-icon.is-app-gateway,.mqtt-delivery-icon{color:var(--brand-primary);background:color-mix(in srgb,var(--brand-primary) 12%,transparent)}.app-gateway-workspace{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.app-gateway-target-card,.app-gateway-sessions-card,.app-gateway-endpoints-card{display:grid;gap:13px;min-width:0;padding:16px;border:1px solid var(--border-neutral-l1);border-radius:13px;background:var(--bg-surface)}.app-gateway-target-card>header,.app-gateway-sessions-card>header,.app-gateway-endpoints-card>header,.app-gateway-session-record>header,.app-gateway-endpoint-record>header,.app-gateway-session-record footer,.app-gateway-endpoint-record footer{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.app-gateway-target-card h3,.app-gateway-target-card p,.app-gateway-sessions-card h3,.app-gateway-sessions-card p,.app-gateway-endpoints-card h3,.app-gateway-endpoints-card p,.app-gateway-session-record strong,.app-gateway-session-record small,.app-gateway-endpoint-record strong,.app-gateway-endpoint-record small{margin:0}.app-gateway-target-card h3,.app-gateway-sessions-card h3,.app-gateway-endpoints-card h3{margin-top:3px;color:var(--text-default);font-size:16px}.app-gateway-target-card p,.app-gateway-sessions-card p,.app-gateway-endpoints-card p,.app-gateway-target-hint,.app-gateway-session-record small,.app-gateway-endpoint-record small,.app-gateway-pairing-code small{color:var(--text-secondary);font-size:12px;line-height:1.5}.app-gateway-target-search{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px}.app-gateway-target-search label,.app-gateway-pairing-code{display:grid;gap:7px;color:var(--text-secondary);font-size:12px}.app-gateway-target-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:0}.app-gateway-target-summary>div{min-width:0;display:grid;gap:3px;padding:10px;border-radius:9px;background:color-mix(in srgb,var(--brand-primary) 5%,var(--bg-surface))}.app-gateway-target-summary dt,.app-gateway-session-record dt,.app-gateway-endpoint-record dt{color:var(--text-secondary);font-size:11px}.app-gateway-target-summary dd,.app-gateway-session-record dd,.app-gateway-endpoint-record dd{min-width:0;margin:0;overflow-wrap:anywhere;color:var(--text-default);font-size:12px}.app-gateway-session-list,.app-gateway-endpoint-list{display:grid;gap:11px}.app-gateway-session-record,.app-gateway-endpoint-record{min-width:0;padding:13px;border:1px solid var(--border-neutral-l1);border-radius:11px;background:color-mix(in srgb,var(--brand-primary) 2%,var(--bg-surface))}.app-gateway-session-record>header>div,.app-gateway-endpoint-record>header>div{min-width:0;display:grid;gap:3px}.app-gateway-session-record dl,.app-gateway-endpoint-record dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 12px;margin:13px 0 0}.app-gateway-session-record dl>div,.app-gateway-endpoint-record dl>div{min-width:0;display:grid;gap:3px}.app-gateway-session-record footer,.app-gateway-endpoint-record footer{justify-content:flex-end;margin-top:13px;padding-top:11px;border-top:1px solid var(--border-neutral-l1)}.app-gateway-endpoints-card{margin-top:14px}.app-gateway-endpoint-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))}.app-gateway-confirm-modal{width:min(92vw,560px)}.app-gateway-pairing-code{margin:14px 0}.mqtt-delivery-panel{display:grid;gap:14px;margin-top:18px;padding:18px;border:1px solid color-mix(in srgb,var(--warning) 34%,var(--border-neutral-l1));border-radius:14px;background:color-mix(in srgb,var(--warning) 5%,var(--bg-surface))}.mqtt-delivery-panel>header,.mqtt-delivery-card-heading,.mqtt-credential-record>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.mqtt-delivery-panel>header>div,.mqtt-delivery-card-heading>div,.mqtt-credential-record>header>div{min-width:0;display:grid;gap:4px}.mqtt-delivery-panel h3,.mqtt-delivery-panel p,.mqtt-credential-record strong,.mqtt-credential-record small{margin:0}.mqtt-delivery-panel h3{color:var(--text-default);font-size:17px}.mqtt-delivery-panel header p,.mqtt-credential-record small{color:var(--text-secondary);font-size:12px;line-height:1.5}.mqtt-delivery-icon{flex:0 0 auto;display:grid;width:40px;height:40px;place-items:center;border-radius:11px}.mqtt-delivery-toolbar,.mqtt-credential-toolbar,.mqtt-credential-record footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.mqtt-delivery-list,.mqtt-credential-history{display:grid;gap:12px}.mqtt-delivery-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))}.mqtt-delivery-card,.mqtt-credential-record{min-width:0;padding:15px;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-surface)}.mqtt-delivery-card dl,.mqtt-credential-record dl{display:grid;gap:9px;margin:14px 0 0}.mqtt-delivery-card dl>div,.mqtt-credential-record dl>div{min-width:0;display:grid;grid-template-columns:110px minmax(0,1fr);gap:10px}.mqtt-delivery-card dt,.mqtt-credential-record dt{color:var(--text-secondary);font-size:12px}.mqtt-delivery-card dd,.mqtt-credential-record dd{min-width:0;margin:0;overflow-wrap:anywhere;color:var(--text-default);font-size:12px}.mqtt-delivery-card .is-secret dd{display:flex;align-items:center;gap:8px}.mqtt-delivery-card code{min-width:0;flex:1;overflow-wrap:anywhere;color:var(--danger);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}.mqtt-delivery-warning{padding:10px 12px;border-radius:9px;color:var(--text-secondary);background:color-mix(in srgb,var(--warning) 9%,transparent);font-size:12px;line-height:1.55}.mqtt-credential-toolbar{align-items:flex-end;margin-bottom:16px}.mqtt-credential-toolbar label{min-width:min(100%,420px);display:grid;gap:7px;color:var(--text-secondary);font-size:12px}.mqtt-credential-device-picker{min-width:min(100%,420px);display:grid;gap:10px}.mqtt-credential-toolbar .mqtt-credential-device-picker label{min-width:0}.mqtt-credential-toolbar input,.mqtt-credential-toolbar select{width:100%}.mqtt-credential-toolbar .mqtt-credential-actions,.mqtt-credential-record footer{display:flex;flex-wrap:wrap;gap:8px}.mqtt-credential-history{grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));margin-top:14px}.mqtt-credential-record footer{justify-content:flex-end;margin-top:14px;padding-top:12px;border-top:1px solid var(--border-neutral-l1)}.mqtt-credential-empty{display:grid;justify-items:center;gap:12px;padding:18px 0}.mqtt-credential-confirm-modal{width:min(92vw,560px)}.mqtt-credential-reason{display:grid;gap:7px;margin:14px 0;color:var(--text-secondary);font-size:12px}.mqtt-credential-reason textarea{width:100%;resize:vertical}.emqx-postgresql-card{display:grid;gap:14px;margin-bottom:18px;padding:16px;border:1px solid var(--border-neutral-l1);border-radius:13px;background:color-mix(in srgb,var(--brand-primary) 3%,var(--bg-surface))}.emqx-postgresql-card>header,.emqx-postgresql-card>header>div,.emqx-postgresql-card>footer,.emqx-postgresql-card>footer>div{display:flex;align-items:center;gap:10px}.emqx-postgresql-card>header,.emqx-postgresql-card>footer{justify-content:space-between}.emqx-postgresql-card>header>div>div{min-width:0}.emqx-postgresql-card h3,.emqx-postgresql-card p{margin:0}.emqx-postgresql-card h3{margin-top:3px;color:var(--text-default);font-size:16px}.emqx-postgresql-card p,.emqx-postgresql-card footer>span{margin-top:4px;color:var(--text-secondary);font-size:12px}.emqx-postgresql-icon{flex:0 0 auto;display:grid;width:38px;height:38px;place-items:center;border-radius:10px;color:var(--brand-primary);background:color-mix(in srgb,var(--brand-primary) 11%,transparent)}.emqx-postgresql-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.emqx-postgresql-status-grid>span{min-width:0;display:grid;gap:3px;padding:11px;border:1px solid var(--border-neutral-l1);border-radius:9px;background:var(--bg-surface)}.emqx-postgresql-status-grid small,.emqx-postgresql-status-grid em{color:var(--text-secondary);font-size:11px;font-style:normal;overflow-wrap:anywhere}.emqx-postgresql-status-grid strong{color:var(--text-default);font-size:14px}@media(max-width:780px){.production-tabs{grid-template-columns:1fr}.production-access-status{justify-content:flex-start}.mqtt-delivery-toolbar,.mqtt-credential-toolbar,.app-gateway-target-search{align-items:stretch;flex-direction:column}.mqtt-delivery-toolbar button,.mqtt-credential-toolbar .mqtt-credential-actions,.mqtt-credential-toolbar button,.app-gateway-target-search button{width:100%}.mqtt-credential-toolbar .mqtt-credential-actions{display:grid}.mqtt-delivery-card dl>div,.mqtt-credential-record dl>div{grid-template-columns:1fr;gap:3px}.mqtt-delivery-card-heading{flex-direction:column}.app-gateway-workspace,.app-gateway-target-summary,.app-gateway-session-record dl,.app-gateway-endpoint-record dl{grid-template-columns:1fr}.app-gateway-sessions-card>header,.app-gateway-endpoints-card>header,.app-gateway-session-record>header,.app-gateway-endpoint-record>header{flex-direction:column}.emqx-postgresql-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.emqx-postgresql-card>header,.emqx-postgresql-card>footer{align-items:stretch;flex-direction:column}.emqx-postgresql-card>footer>div,.emqx-postgresql-card>footer button{width:100%}.emqx-postgresql-card>footer>div{display:grid}}@media(max-width:960px){.device-flow-topbar,.device-pairing-layout,.device-status-layout,.device-manual-form,.device-discovered-row,.device-status-hero{grid-template-columns:minmax(0,1fr)}.device-scan-pulse{display:none}}@media(max-width:560px){.device-pairing-topbar{grid-template-columns:repeat(2,minmax(0,1fr))}.device-pairing-topbar>div{grid-column:1 / -1;order:-1}.device-pairing-topbar .secondary-action,.device-flow-topbar .primary-action,.device-flow-topbar .secondary-action,.device-manual-form .primary-action,.device-status-actions .secondary-action{width:100%;justify-content:center}.device-status-facts,.device-realtime-summary,.device-realtime-readings{grid-template-columns:minmax(0,1fr)}}@media(max-width:1180px){.home-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-dashboard-layout{grid-template-columns:minmax(0,1fr)}.home-side-column{grid-template-columns:repeat(2,minmax(0,1fr))}.home-side-column.is-member{grid-template-columns:repeat(3,minmax(0,1fr))}.workspace-spatial-layout,.workspace-spatial-layout.is-left-hidden,.workspace-spatial-layout.is-device-hidden{grid-template-columns:minmax(0,1fr)}.workspace-spatial-layout:not(.is-left-hidden) .workspace-devices-panel,.workspace-spatial-layout:not(.is-left-hidden) .workspace-cupping-panel,.workspace-spatial-layout:not(.is-left-hidden) .workspace-curve-panel,.workspace-spatial-layout:not(.is-left-hidden) .workspace-module-section,.workspace-spatial-layout:not(.is-left-hidden) .workspace-secondary-side,.workspace-spatial-layout.is-left-hidden .workspace-primary-main,.workspace-spatial-layout.is-left-hidden .workspace-secondary-side{grid-column:1;grid-row:auto}.workspace-spatial-layout:not(.is-left-hidden) .workspace-primary-left,.workspace-spatial-layout:not(.is-left-hidden) .workspace-primary-main{display:grid;gap:14px}.workspace-care-panel{grid-template-columns:minmax(0,1fr)}.workspace-care-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-side-zone{grid-column:1 / -1;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.workspace-roast-strip,.onboarding-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:820px){.home-hero,.nav-card--featured{grid-template-columns:minmax(0,1fr)}.home-role-chip,.home-sparkline{justify-self:start}.home-nav-grid,.home-side-column,.home-side-column.is-member{grid-template-columns:minmax(0,1fr)}.nav-card--featured{grid-column:auto;grid-row:auto}.workspace-spatial-layout,.workspace-side-zone{grid-template-columns:minmax(0,1fr)}.workspace-care-panel{padding:16px}.workspace-side-zone,.workspace-status-strip{grid-column:auto}.workspace-curve-head,.workspace-onboarding-head{align-items:flex-start;flex-direction:column}.workspace-onboarding-panel{left:16px;right:16px;bottom:16px;width:auto;max-height:calc(100vh - 32px)}.workspace-onboarding-progress,.workspace-onboarding-actions{width:100%;justify-content:space-between}.workspace-onboarding-footer{align-items:flex-start;flex-direction:column}.workspace-onboarding-pager{width:100%;justify-content:flex-end;flex-wrap:wrap}.roast-setup-header,.roast-device-grid,.roast-bean-grid,.roast-param-panel,.roast-ready-grid,.roast-device-grid.roast-resource-grid,.roast-bean-grid.roast-resource-grid{grid-template-columns:minmax(0,1fr)}.roast-param-panel label:last-child{grid-row:auto}.devices-toolbar{align-items:stretch;flex-direction:column}.devices-toolbar-actions,.devices-bind-form{width:100%}.devices-toolbar-actions{justify-content:flex-end}.devices-overview-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.devices-bind-action{width:100%;justify-content:center}.home-dashboard-page{gap:18px}.home-metric-grid,.home-quick-actions{grid-template-columns:minmax(0,1fr)}.metric-card,.nav-card,.home-side-panel{padding:16px}.metric-card{min-height:104px}.nav-card{min-height:158px}.workspace-curve-panel{padding:18px}.workspace-care-grid{grid-template-columns:minmax(0,1fr)}.workspace-care-copy h2{font-size:19px}.workspace-care-card{min-height:108px}.workspace-device-card{grid-template-columns:8px minmax(0,1fr)}.workspace-device-time{grid-column:2}.workspace-roast-strip,.workspace-quick-grid{grid-template-columns:minmax(0,1fr)}.workspace-home-panel{padding:16px}.workspace-section-empty{min-height:180px;padding:24px 14px}.workspace-section-empty p{max-width:100%}.workspace-section-empty .primary-action{width:100%}.roast-device-card{grid-template-columns:40px minmax(0,1fr)}.roast-device-card .roast-selected-mark{grid-column:2;justify-self:start}.roast-setup-section-head{align-items:flex-start}.roast-setup-section-head small{margin-left:0}.devices-overview-strip,.devices-detail-actions,.devices-kpi-card{grid-template-columns:minmax(0,1fr)}.devices-bind-form{grid-template-columns:auto minmax(0,1fr)}.devices-bind-form .primary-action{grid-column:1 / -1;width:100%}.devices-toolbar-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.devices-kpi-card div+div{border-left:0;border-top:1px solid var(--border-neutral-l1);padding-top:10px;margin-top:10px}.beans-empty-onboarding,.curves-empty-onboarding,.cupping-empty-onboarding,.notifications-empty-onboarding{min-height:360px;padding:28px 16px}.beans-empty-actions,.curves-empty-actions,.cupping-empty-actions{width:100%;max-width:280px;display:grid}.empty-workflow-list{max-width:320px;grid-template-columns:minmax(0,1fr)}.beans-empty-actions .primary-action,.beans-empty-actions .secondary-action,.curves-empty-actions .primary-action,.curves-empty-actions .secondary-action,.cupping-empty-actions .primary-action,.cupping-empty-actions .secondary-action{width:100%;justify-content:center}}.curve-preview{min-height:352px}.curve-line-chart{min-height:228px;border:1px solid var(--border-neutral-l1);border-radius:14px;background:linear-gradient(180deg,var(--bg-base-tertiary),var(--bg-base-secondary));padding:12px;display:grid;gap:10px;overflow:hidden}.curve-line-svg{width:100%;min-height:190px;display:block}.curve-line-grid line,.curve-line-axis{stroke:var(--border-neutral-l1);stroke-width:1}.curve-line-labels text{fill:var(--text-tertiary);font-size:20px;font-weight:700}.curve-line-fill{fill:url(#curvePreviewBtFill)}.curve-line{fill:none;stroke-linecap:round;stroke-linejoin:round}.curve-line.is-bean{stroke:var(--bg-brand);stroke-width:5}.curve-line.is-hot-air{stroke:var(--status-success-default);stroke-width:4}.curve-line.is-ror{stroke:var(--status-warning-default);stroke-width:3;stroke-dasharray:9 8}.curve-line-milestone circle{fill:var(--bg-base-default);stroke:var(--bg-brand);stroke-width:3}.curve-line-milestone text{fill:var(--text-secondary);font-size:18px;font-weight:800}.curve-line-legend{min-width:0;display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:var(--text-tertiary);font-size:12px;font-weight:800}.curve-line-legend span{display:inline-flex;align-items:center;gap:6px}.curve-line-legend span:before{content:"";width:18px;height:3px;border-radius:999px;background:currentColor}.curve-line-legend .is-bean{color:var(--bg-brand)}.curve-line-legend .is-hot-air{color:var(--status-success-default)}.curve-line-legend .is-ror{color:var(--status-warning-default)}.curve-empty{min-height:180px;border:1px dashed var(--border-neutral-l2);border-radius:14px;color:var(--text-tertiary);display:grid;place-items:center;gap:8px;text-align:center}.roast-summary{position:sticky;top:88px}.action-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px}.score-input{width:92px;flex:0 0 92px}.sample-list{margin-top:12px}.sample-list span,.sample-list small,.permission-cloud span,.permission-cloud small{width:fit-content;border-radius:999px;background:var(--bg-base-tertiary);color:var(--text-secondary);padding:6px 9px;font-size:11px;font-weight:800}.sample-form{grid-template-columns:repeat(2,minmax(0,1fr)) auto;margin-top:12px}.maintenance-form{margin-top:14px}.profile-panel{display:grid;grid-template-columns:54px minmax(0,1fr);gap:12px}.profile-panel h3{margin:0;font-size:18px}.profile-panel p{margin:4px 0 0;color:var(--text-secondary)}.profile-avatar{width:54px;height:54px;border-radius:16px;background:var(--bg-brand-popup);color:var(--bg-brand);display:inline-flex;align-items:center;justify-content:center}.profile-panel .kv-grid{grid-column:1 / -1;margin-top:4px}.permission-cloud{display:flex;flex-wrap:wrap}.empty-state{min-height:112px;border:1px dashed var(--border-neutral-l2);border-radius:14px;background:var(--bg-base-tertiary);color:var(--text-tertiary);display:flex;align-items:center;justify-content:center;padding:18px;text-align:center}table{width:100%;min-width:680px;border-collapse:collapse}th,td{padding:12px;border-bottom:1px solid var(--border-neutral-l1);text-align:left}th{color:var(--text-tertiary);background:var(--bg-base-tertiary);font-size:12px}tr:last-child td{border-bottom:0}.roast-live-breadcrumb,.roast-live-device,.roast-live-actions,.roast-live-footer,.roast-live-legend,.roast-stage-row{min-width:0;display:flex;align-items:center}.roast-live-actions{gap:8px;justify-content:flex-end}.roast-live-actions .secondary-action,.roast-live-actions .primary-action{min-height:36px;padding:0 12px}.roast-live-grid{min-width:0;display:grid;grid-template-columns:minmax(190px,.72fr) minmax(380px,2fr) minmax(260px,.98fr)}.roast-live-chart-panel{min-width:0;background:var(--bg-base-default);padding:14px;display:grid;grid-template-rows:auto minmax(320px,1fr) auto;gap:10px}.roast-live-legend{flex-wrap:wrap;gap:12px;color:var(--text-secondary);font-size:12px}.roast-live-legend span{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.roast-live-legend span:before{content:"";width:18px;height:3px;border-radius:999px;background:currentColor}.roast-live-legend .is-fire{color:var(--bg-brand)}.roast-live-legend .is-air{color:var(--status-info-default)}.roast-live-legend .is-warning{color:var(--status-warning-default)}.roast-live-chart{width:100%;min-height:320px;height:100%;border:1px solid var(--border-neutral-l1);border-radius:14px;background:var(--bg-base-secondary);display:block}.device-status-mark span.is-offline{background:var(--text-tertiary);box-shadow:0 0 0 6px color-mix(in srgb,var(--text-tertiary) 18%,transparent)}.device-title-row h2,.bean-detail-hero h2{margin:0;font-size:24px;line-height:1.15}.bean-detail-hero{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:18px;background:linear-gradient(135deg,var(--bg-base-secondary),var(--bg-brand-popup));padding:18px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center}.bean-detail-hero p{margin:7px 0 10px;color:var(--text-secondary)}.bean-tags,.bean-roast-cards,.bean-cupping-list,.bean-related-grid{min-width:0;display:grid;gap:10px}.bean-stock-progress{height:8px;border-radius:999px;background:var(--bg-base-tertiary);overflow:hidden}.bean-stock-progress span{display:block;height:100%;border-radius:inherit;background:var(--status-success-default)}.bean-roast-card,.bean-cupping-entry{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:14px;background:var(--bg-base-secondary);padding:13px}.bean-roast-card{display:grid;gap:7px}.bean-roast-card time,.bean-roast-card small,.bean-cupping-entry small{color:var(--text-tertiary);font-size:12px}.bean-roast-card strong,.bean-cupping-entry b{min-width:0;color:var(--text-default);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.curve-library-page{display:grid;gap:20px;min-height:100%;padding:28px clamp(20px,2.6vw,44px) 34px;background:radial-gradient(circle at 96% 2%,color-mix(in srgb,var(--bg-brand) 7%,transparent),transparent 24%),var(--bg-base-default)}.library-topbar{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;padding:2px 0}.library-heading{min-width:0;display:flex;align-items:center;gap:14px}.library-back-button{flex:0 0 auto;min-height:42px;border-radius:12px;background:var(--bg-base-secondary)}.library-title-copy{min-width:0;display:grid;gap:5px}.library-title-copy h1{margin:0;color:var(--text-default);font-size:clamp(26px,2vw,32px);line-height:1.08;letter-spacing:-.02em}.library-title-copy p{margin:0;color:var(--text-tertiary);font-size:13px;font-variant-numeric:tabular-nums}.library-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.library-actions .primary-action,.library-actions .secondary-action{min-height:42px;border-radius:11px}.library-browser{min-width:0;display:grid;gap:12px;border:1px solid var(--border-neutral-l1);border-radius:16px;background:color-mix(in srgb,var(--bg-base-secondary) 88%,transparent);box-shadow:var(--shadow-sm);padding:14px}.library-search{min-width:0;height:48px;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-default);display:flex;align-items:center;gap:10px;padding:0 15px;color:var(--text-tertiary);transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.library-search:focus-within{border-color:var(--border-brand);background:var(--bg-base-secondary);box-shadow:0 0 0 3px color-mix(in srgb,var(--bg-brand) 14%,transparent)}.library-search input{width:100%;min-width:0;border:0;background:transparent;outline:0;color:var(--text-default);font:inherit;font-size:14px}.library-search-spinner{animation:library-search-spin .8s linear infinite}@keyframes library-search-spin{to{transform:rotate(360deg)}}.curve-card-tags,.curve-detail-tags-row,.curve-detail-labels{min-width:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.curve-library-grid{min-width:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:18px}.curves-favorite-empty{position:relative;grid-column:1 / -1;min-height:340px;overflow:hidden;display:grid;place-items:center;align-content:center;gap:18px;border:1px solid color-mix(in srgb,var(--bg-brand) 20%,var(--border-neutral-l1));border-radius:18px;background:radial-gradient(circle at 50% 0,color-mix(in srgb,var(--bg-brand) 10%,transparent),transparent 42%),linear-gradient(180deg,var(--bg-base-secondary),var(--bg-base-default));padding:42px 24px;text-align:center}.curves-favorite-empty-icon{width:68px;height:68px;display:inline-grid;place-items:center;border-radius:20px;background:var(--bg-brand-popup);color:var(--bg-brand);box-shadow:0 10px 28px color-mix(in srgb,var(--bg-brand) 16%,transparent)}.curves-favorite-empty h2{margin:0 0 9px;color:var(--text-default);font-size:24px;line-height:1.25}.curves-favorite-empty p{max-width:560px;margin:0;color:var(--text-secondary);font-size:14px;line-height:1.7}.curves-favorite-empty .primary-action{min-width:148px;justify-content:center}.library-result-foot{min-width:0;margin-top:-2px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--text-tertiary);font-size:12px}.library-result-foot strong{color:var(--text-default);font-variant-numeric:tabular-nums}.library-result-foot>div{display:flex;align-items:center;gap:10px}.library-result-foot .secondary-action{min-height:32px;border-radius:999px;padding:0 14px}.curve-library-card{position:relative;min-width:0;border:1px solid var(--border-neutral-l1);border-radius:16px;background:linear-gradient(155deg,color-mix(in srgb,var(--bg-base-secondary) 96%,var(--bg-brand)),var(--bg-base-secondary) 46%);box-shadow:var(--shadow-sm);overflow:hidden;height:100%;min-height:318px;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.curve-library-card:before{content:"";position:absolute;z-index:2;top:0;right:18px;left:18px;height:2px;border-radius:0 0 999px 999px;background:linear-gradient(90deg,transparent,var(--curve-card-bean, #f88f52),transparent);opacity:0;transition:opacity .2s ease}.curve-library-card:hover{border-color:color-mix(in srgb,var(--bg-brand) 62%,var(--border-neutral-l1));box-shadow:0 14px 32px color-mix(in srgb,#000 18%,transparent);transform:translateY(-4px)}.curve-library-card:hover:before{opacity:1}.curve-library-card.is-selected-for-comparison{border-color:var(--border-brand);box-shadow:0 0 0 2px color-mix(in srgb,var(--bg-brand) 15%,transparent),0 12px 30px color-mix(in srgb,#000 14%,transparent)}.curve-library-card.is-selected-for-comparison:before{right:0;left:0;height:3px;background:var(--bg-brand);opacity:1}.curve-card-selection-index{position:absolute;z-index:4;top:24px;right:24px;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;gap:2px;border:2px solid var(--bg-base-secondary);border-radius:999px;background:var(--bg-brand);color:var(--text-onbrand);box-shadow:0 6px 16px color-mix(in srgb,var(--bg-brand) 36%,transparent);font-size:12px;font-weight:900;pointer-events:none}.curve-card-open{width:100%;height:100%;min-width:0;border:0;background:transparent;padding:0;text-align:left;display:grid;grid-template-rows:auto minmax(0,1fr) auto;color:inherit;cursor:pointer;font:inherit}.curve-card-open:focus-visible{outline:2px solid var(--border-brand);outline-offset:-2px}.curve-card-waveform{position:relative;height:158px;overflow:hidden;margin:14px 14px 0;border:1px solid var(--border-neutral-l1);border-radius:12px;background:color-mix(in srgb,var(--bg-base-default) 97%,var(--bg-brand));box-shadow:inset 0 1px color-mix(in srgb,#fff 55%,transparent);padding:0}.curve-card-waveform img{width:100%;height:100%;display:block;object-fit:fill}.curve-card-waveform.is-empty{display:flex;align-items:center;justify-content:center;border:1px dashed var(--border-neutral-l1)}.curve-card-waveform.is-empty em{font-style:normal;color:var(--text-tertiary);font-size:12px}.curve-card-body{min-width:0;display:grid;gap:9px;padding:15px 18px 13px}.curve-card-title-row{min-width:0;display:flex;align-items:center;gap:10px}.curve-card-title-row strong{min-width:0;color:var(--text-default);font-size:17px;line-height:1.3;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.curve-card-meta{min-width:0;display:flex;align-items:center;gap:8px;color:var(--text-tertiary);font-size:12px}.curve-card-meta span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.curve-card-meta span:last-child{flex:1}.curve-card-meta i{width:3px;height:3px;flex:0 0 auto;border-radius:999px;background:var(--text-tertiary);opacity:.6}.curve-card-tags{min-height:24px;gap:6px}.curve-card-footer{min-width:0;display:grid;grid-template-columns:repeat(3,minmax(54px,auto)) minmax(92px,1fr);align-items:center;gap:12px;border-top:1px solid var(--border-neutral-l1);background:color-mix(in srgb,var(--bg-base-tertiary) 34%,transparent);padding:12px 18px 14px}.curve-card-metric{min-width:0;display:grid;gap:2px}.curve-card-metric small{color:var(--text-tertiary);font-size:10px;line-height:1.2}.curve-card-metric b{color:var(--text-default);font-size:13px;line-height:1.25;font-variant-numeric:tabular-nums;white-space:nowrap}.curve-card-view{justify-self:end;display:inline-flex;align-items:center;gap:5px;color:var(--bg-brand);font-size:12px;font-weight:850;white-space:nowrap;transition:gap .18s ease}.curve-library-card:hover .curve-card-view{gap:8px}.curve-state-badge{min-height:22px;display:inline-flex;align-items:center;gap:5px;border:1px solid color-mix(in srgb,var(--bg-brand) 32%,var(--border-neutral-l1));border-radius:999px;background:var(--bg-brand-popup);color:var(--bg-brand);padding:0 7px;font-size:11px;font-weight:800}.curve-state-badge.is-favorite{background:color-mix(in srgb,var(--bg-brand) 10%,var(--bg-base-secondary))}.curve-context-menu{position:fixed;z-index:160;width:270px;overflow:hidden;display:grid;gap:5px;border:1px solid var(--border-neutral-l1);border-radius:14px;background:color-mix(in srgb,var(--bg-base-secondary) 97%,transparent);box-shadow:0 20px 50px color-mix(in srgb,#000 26%,transparent);padding:7px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);animation:curve-context-menu-in .14s ease-out}@keyframes curve-context-menu-in{0%{opacity:0;transform:translateY(-4px) scale(.98)}}.curve-context-menu__head{min-width:0;display:grid;gap:3px;padding:8px 10px 9px;border-bottom:1px solid var(--border-neutral-l1)}.curve-context-menu__head span{color:var(--text-tertiary);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.curve-context-menu__head strong{overflow:hidden;color:var(--text-default);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.curve-context-menu>button{width:100%;min-width:0;display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:9px;border:0;border-radius:10px;background:transparent;color:var(--text-default);padding:9px;text-align:left;cursor:pointer;font:inherit}.curve-context-menu>button:hover,.curve-context-menu>button:focus-visible{outline:0;background:var(--bg-base-tertiary)}.curve-context-menu>button.is-selected{background:var(--bg-brand-popup);color:var(--bg-brand)}.curve-context-menu>button:disabled{opacity:.56;cursor:not-allowed}.curve-context-menu__icon{width:34px;height:34px;display:inline-grid;place-items:center;border-radius:9px;background:var(--bg-base-tertiary);color:var(--bg-brand)}.curve-context-menu>button>span:last-child{min-width:0;display:grid;gap:2px}.curve-context-menu>button strong,.curve-context-menu>button small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.curve-context-menu>button strong{font-size:13px}.curve-context-menu>button small{color:var(--text-tertiary);font-size:11px}.curve-compare-tray{position:fixed;z-index:90;right:24px;bottom:24px;width:min(370px,calc(100vw - 32px));overflow:hidden;border:1px solid color-mix(in srgb,var(--bg-brand) 30%,var(--border-neutral-l1));border-radius:18px;background:color-mix(in srgb,var(--bg-base-secondary) 96%,transparent);box-shadow:0 22px 60px color-mix(in srgb,#000 25%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);animation:curve-compare-tray-in .18s ease-out}@keyframes curve-compare-tray-in{0%{opacity:0;transform:translateY(12px)}}.curve-compare-tray__head{min-width:0;display:grid;grid-template-columns:38px minmax(0,1fr) 32px;align-items:center;gap:10px;border-bottom:1px solid var(--border-neutral-l1);padding:14px 15px 12px}.curve-compare-tray__mark{width:38px;height:38px;display:inline-grid;place-items:center;border-radius:11px;background:var(--bg-brand);color:var(--text-onbrand);box-shadow:0 7px 16px color-mix(in srgb,var(--bg-brand) 25%,transparent)}.curve-compare-tray__head>span:nth-child(2){min-width:0;display:grid;gap:2px}.curve-compare-tray__head strong{color:var(--text-default);font-size:15px}.curve-compare-tray__head small{color:var(--text-tertiary);font-size:11px}.curve-compare-tray__clear,.curve-compare-tray__list button{width:30px;height:30px;display:inline-grid;place-items:center;border:0;border-radius:8px;background:transparent;color:var(--text-tertiary);cursor:pointer}.curve-compare-tray__clear:hover,.curve-compare-tray__list button:hover{background:var(--bg-base-tertiary);color:var(--text-default)}.curve-compare-tray__list{max-height:232px;overflow-y:auto;display:grid;gap:2px;margin:0;padding:8px;list-style:none}.curve-compare-tray__list li{min-width:0;display:grid;grid-template-columns:26px minmax(0,1fr) 30px;align-items:center;gap:9px;border-radius:10px;padding:7px}.curve-compare-tray__list li:hover{background:var(--bg-base-tertiary)}.curve-compare-tray__order{width:24px;height:24px;display:inline-grid;place-items:center;border-radius:8px;background:var(--bg-brand-popup);color:var(--bg-brand);font-size:11px;font-weight:900}.curve-compare-tray__curve{min-width:0;display:grid;gap:3px}.curve-compare-tray__curve strong,.curve-compare-tray__curve small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.curve-compare-tray__curve strong{color:var(--text-default);font-size:12px}.curve-compare-tray__curve small{color:var(--text-tertiary);font-size:10px}.curve-compare-tray__foot{display:grid;gap:10px;border-top:1px solid var(--border-neutral-l1);background:color-mix(in srgb,var(--bg-base-tertiary) 45%,transparent);padding:12px 15px 15px}.curve-compare-tray__foot p{margin:0;color:var(--text-tertiary);font-size:11px;line-height:1.45}.curve-compare-tray__foot .primary-action{width:100%;min-height:40px;justify-content:center;border-radius:11px}@media(max-width:720px){.curve-compare-tray{right:12px;bottom:12px;left:12px;width:auto}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:130;display:grid;place-items:center;padding:20px;background:#0f0e0c6b;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.curve-import-modal{width:min(760px,100%);max-height:min(760px,calc(100vh - 40px));overflow:hidden;border:1px solid var(--border-neutral-l1);border-radius:18px;background:var(--bg-base-secondary);box-shadow:var(--shadow-xl);display:grid;grid-template-rows:auto auto minmax(0,1fr)}.curve-import-head{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px;border-bottom:1px solid var(--border-neutral-l1)}.curve-import-head>div{display:flex;align-items:center;gap:10px;color:var(--bg-brand)}.curve-import-head h2,.curve-import-preview h3{margin:0;color:var(--text-default)}.curve-import-tabs{display:flex;gap:0;padding:14px 20px 0;border-bottom:1px solid var(--border-neutral-l1)}.curve-import-tabs button{height:40px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--text-secondary);padding:0 18px;font:inherit;font-weight:800}.curve-import-tabs button.is-active{color:var(--bg-brand);border-bottom-color:var(--bg-brand)}.curve-import-body{min-height:0;overflow-y:auto;display:grid;gap:14px;padding:16px 20px 20px}.curve-import-title-field,.curve-import-paste{display:grid;gap:8px;color:var(--text-secondary);font-weight:800;font-size:13px}.curve-import-title-field input,.curve-import-paste textarea{width:100%;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-tertiary);color:var(--text-default);padding:12px 14px;font:inherit;resize:vertical}.curve-file-drop{min-height:148px;border:1px dashed var(--border-neutral-l2);border-radius:14px;background:var(--bg-base-tertiary);color:var(--text-secondary);display:grid;place-items:center;gap:8px;padding:22px;text-align:center;cursor:pointer}.curve-file-drop input{position:absolute;opacity:0;pointer-events:none}.curve-file-drop strong{color:var(--text-default)}.curve-file-drop span{color:var(--text-tertiary);font-size:13px}.curve-import-preview{display:grid;gap:12px}.curve-import-preview .section-head h3{display:inline-flex;align-items:center;gap:7px;font-size:15px}.curve-import-preview-table{overflow-x:auto;border:1px solid var(--border-neutral-l1);border-radius:12px}.curve-import-preview-table table{width:100%;border-collapse:collapse;font-size:13px}.curve-import-preview-table th,.curve-import-preview-table td{padding:9px 12px;text-align:left;border-bottom:1px solid var(--border-neutral-l1);white-space:nowrap}.curve-import-preview-table th{color:var(--text-tertiary);background:var(--bg-base-tertiary)}.curve-import-preview-table tr:last-child td{border-bottom:0}.curve-import-valid{display:flex;align-items:center;gap:8px;border:1px solid var(--status-success-surface-l2);border-radius:12px;background:var(--status-success-surface-l1);color:var(--status-success-default);padding:10px 12px;font-size:13px;font-weight:800}.curve-import-foot{display:flex;justify-content:flex-end;gap:10px;padding-top:4px}.library-filter-bar{min-width:0;display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:10px;border-top:1px solid var(--border-neutral-l1);padding:12px 0 0}.library-filter-scope{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:12px}.library-filter-chips,.library-selects{min-width:0;display:flex;align-items:center;gap:8px}.library-filter-chips{flex-wrap:wrap}.library-filter-chips>button{min-height:34px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--text-secondary);padding:0 13px;font:inherit;font-size:14px;font-weight:700;cursor:pointer}.library-filter-chips>button:hover{border-color:var(--border-neutral-l1);background:var(--bg-base-tertiary);color:var(--text-default)}.library-filter-chips>button.is-active{border-color:color-mix(in srgb,var(--bg-brand) 48%,var(--border-neutral-l1));background:var(--bg-brand-popup);color:var(--bg-brand);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--bg-brand) 8%,transparent)}.library-selects{justify-content:flex-start;flex-wrap:wrap}.curve-filter-menu{position:relative;min-width:148px}.curve-filter-trigger{width:100%;min-width:148px;min-height:50px;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--border-neutral-l1);border-radius:10px;background:var(--bg-base-default);color:var(--text-default);padding:7px 11px 7px 13px;font:inherit;font-size:13px;font-weight:700;cursor:pointer}.curve-filter-trigger-copy{min-width:0;display:grid;gap:2px;text-align:left}.curve-filter-trigger-copy small,.curve-filter-trigger-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.curve-filter-trigger-copy small{color:var(--text-tertiary);font-size:10px;font-weight:700;letter-spacing:.02em}.curve-filter-trigger-copy strong{color:var(--text-default);font-size:13px;font-weight:750}.curve-filter-trigger svg{flex:0 0 auto;color:var(--text-tertiary);transition:transform .16s ease}.curve-filter-trigger:hover,.curve-filter-trigger.is-open{border-color:var(--border-brand);background:var(--bg-base-secondary)}.curve-filter-trigger.is-open{box-shadow:0 0 0 2px color-mix(in srgb,var(--bg-brand) 12%,transparent)}.curve-filter-trigger.is-open svg{transform:rotate(180deg)}.curve-filter-trigger:focus-visible,.curve-filter-options button:focus-visible,.curve-device-search:focus-within{outline:2px solid var(--border-brand);outline-offset:2px}.curve-filter-options,.curve-device-popover{position:absolute;top:calc(100% + 7px);right:0;z-index:40;min-width:100%;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-secondary);box-shadow:var(--shadow-lg)}.curve-filter-options{display:grid;gap:2px;max-height:300px;overflow-y:auto;padding:7px}.curve-filter-reset{min-height:32px;flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;border:0;border-radius:8px;background:transparent;color:var(--text-tertiary);padding:0 9px;font:inherit;font-size:12px;font-weight:700;cursor:pointer}.curve-filter-reset:hover{background:var(--bg-base-tertiary);color:var(--bg-brand)}.curve-filter-load-state{min-width:0;display:flex;align-items:center;gap:7px;color:var(--text-tertiary);font-size:12px}.curve-filter-load-state.is-error{color:var(--status-error-default)}.curve-filter-load-state button{display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;color:inherit;padding:0;font:inherit;font-weight:800;cursor:pointer}.curve-filter-options button{width:100%;min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:0;border-radius:8px;background:transparent;color:var(--text-secondary);padding:8px 10px;text-align:left;font:inherit;font-size:13px;cursor:pointer}.curve-filter-options button:hover,.curve-filter-options button:focus-visible{background:var(--bg-base-tertiary);color:var(--text-default)}.curve-filter-options button.is-selected{background:var(--bg-brand-popup);color:var(--bg-brand);font-weight:800}.curve-filter-options button>svg{flex:0 0 auto}.curve-device-filter{min-width:164px}.curve-device-popover{width:300px;display:grid;gap:8px;padding:8px}.curve-device-search{height:36px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;border:1px solid var(--border-neutral-l1);border-radius:7px;background:var(--bg-base-default);color:var(--text-tertiary);padding:0 10px}.curve-device-search input{min-width:0;border:0;outline:0;background:transparent;color:var(--text-default);font:inherit;font-size:13px}.curve-device-options{position:static;max-height:280px;overflow-y:auto;border:0;border-radius:0;box-shadow:none;padding:0}.curve-device-options button>span{min-width:0;display:grid;gap:2px}.curve-device-options strong,.curve-device-options small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.curve-device-options strong{color:inherit;font-size:13px}.curve-device-options small{color:var(--text-tertiary);font-size:11px;font-weight:500}.curve-filter-state,.curve-filter-error{margin:0;color:var(--text-tertiary);font-size:12px}.curve-filter-state{padding:8px 10px 10px;text-align:center}.curve-filter-error{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid var(--border-neutral-l1);padding:8px 6px 0 10px;color:var(--status-error-default)}.curve-filter-error span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.curve-filter-error button{width:30px;height:30px;flex:0 0 auto;display:inline-grid;place-items:center;border:0;border-radius:6px;background:transparent;color:var(--status-error-default);cursor:pointer}.curve-filter-error button:hover{background:var(--status-error-surface-l1)}.curve-filter-spinner{animation:curve-filter-spin .8s linear infinite}@keyframes curve-filter-spin{to{transform:rotate(360deg)}}@media(max-width:620px){.library-filter-scope{align-items:flex-start}.library-selects{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.curve-filter-menu,.curve-filter-trigger{width:100%;min-width:0}.curve-device-popover{right:auto;left:50%;width:min(300px,calc(100vw - 32px));transform:translate(-50%)}}.curve-detail-page{display:grid;gap:16px;padding:20px 24px 28px}.curve-detail-header{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px}.curve-detail-titlebar{min-width:0;display:flex;align-items:center;gap:12px}.curve-detail-titlebar>div{min-width:0}.curve-detail-titlebar h1{margin:2px 0 0;color:var(--text-default);font-size:24px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.curve-detail-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.curve-detail-meta-strip{min-width:0;display:flex;align-items:center;gap:8px;overflow-x:auto;padding:10px 0 14px;border-bottom:1px solid var(--border-neutral-l1);scrollbar-width:none}.curve-detail-meta-strip::-webkit-scrollbar{display:none}.curve-detail-meta-strip .status-badge{flex:0 0 auto}.curve-detail-layout{min-width:0;display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-items:start}.curve-detail-chart-panel,.curve-detail-card{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:8px;background:var(--bg-base-secondary);box-shadow:var(--shadow-sm)}.curve-detail-card h2{margin:0;color:var(--text-default);font-size:17px;display:inline-flex;align-items:center;gap:7px}.curve-detail-page .curve-detail-side{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px}.curve-detail-side>.curve-detail-card{height:100%}.curve-detail-card{display:grid;gap:12px;padding:16px}.curve-phase-list{display:grid;gap:3px;overflow:hidden;border-radius:10px}.curve-phase-list article{min-width:0;display:grid;grid-template-columns:5px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;background:linear-gradient(135deg,color-mix(in srgb,var(--status-warning-default) 13%,var(--bg-base-tertiary)),var(--bg-base-tertiary))}.curve-phase-list i{width:5px;align-self:stretch;border-radius:999px;background:var(--status-warning-default)}.curve-phase-list article.is-browning i{background:var(--bg-brand)}.curve-phase-list article.is-browning{background:linear-gradient(135deg,color-mix(in srgb,var(--bg-brand) 13%,var(--bg-base-tertiary)),var(--bg-base-tertiary))}.curve-phase-list article.is-first-crack i{background:var(--status-error-default)}.curve-phase-list article.is-first-crack{background:linear-gradient(135deg,color-mix(in srgb,var(--status-error-default) 12%,var(--bg-base-tertiary)),var(--bg-base-tertiary))}.curve-phase-list article.is-development i{background:var(--status-success-default)}.curve-phase-list article.is-development{background:linear-gradient(135deg,color-mix(in srgb,var(--status-success-default) 12%,var(--bg-base-tertiary)),var(--bg-base-tertiary))}.curve-phase-list strong,.curve-phase-list span,.curve-phase-list small{display:block}.curve-phase-list strong{color:var(--text-default)}.curve-phase-list span{color:var(--text-secondary);font-size:12px}.curve-phase-list small{margin-top:2px;color:var(--text-tertiary);font-size:11px}.curve-phase-list b{color:var(--text-default);font-size:13px}.curve-related-list span{color:var(--text-tertiary);font-size:12px}.curve-cupping-card{gap:14px}.curve-cupping-summary{display:grid;gap:12px}.curve-cupping-summary p{margin:0;color:var(--text-secondary);font-size:13px;line-height:1.6}.curve-cupping-score{display:flex;align-items:baseline;gap:7px}.curve-cupping-score strong{color:var(--text-default);font-size:34px;line-height:1;font-weight:900;font-variant-numeric:tabular-nums}.curve-cupping-score span{color:var(--text-tertiary);font-size:13px}.curve-cupping-progress{height:8px;overflow:hidden;border-radius:999px;background:var(--bg-base-tertiary)}.curve-cupping-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--bg-brand),var(--status-warning-default))}.curve-cupping-summary dl{display:grid;gap:8px;margin:0}.curve-cupping-summary dl>div{display:grid;grid-template-columns:76px minmax(0,1fr);gap:10px}.curve-cupping-summary dt{color:var(--text-tertiary);font-size:12px}.curve-cupping-summary dd{min-width:0;margin:0;color:var(--text-default);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.curve-related-list{display:grid;grid-template-columns:76px minmax(0,1fr);gap:9px 12px;align-items:center}.curve-related-list strong{min-width:0;color:var(--text-default);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.curve-detail-tags{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.curve-detail-print-report{display:none}.curve-detail-pdf-render-host{position:fixed;top:0;left:-12000px;z-index:-1;pointer-events:none;background:var(--bg-base-default)}.curve-detail-pdf-render-host .curve-detail-print-report{display:block;box-sizing:border-box;width:960px;padding:24px;background:radial-gradient(circle at 92% 1%,rgb(232 93 42 / 11%),transparent 24%),var(--bg-base-default);color:var(--text-default);font-family:var(--font-family-ui)}.curve-detail-print-cover{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:20px;border:1px solid var(--border-neutral-l1);border-left:4px solid var(--bg-brand);border-radius:10px;background:linear-gradient(135deg,var(--bg-brand-popup),transparent 42%),var(--bg-base-secondary);box-shadow:var(--shadow-sm)}.curve-detail-print-cover span{color:var(--bg-brand);font-size:12px;font-weight:800;letter-spacing:.08em}.curve-detail-print-cover h1{margin:7px 0 0;color:var(--text-default);font-size:28px;line-height:1.18}.curve-detail-print-cover dl{margin:0;display:grid;grid-template-columns:repeat(2,minmax(86px,auto));gap:8px 16px;text-align:right}.curve-detail-print-cover dt,.curve-detail-print-section dt{color:var(--text-tertiary);font-size:11px;font-weight:700}.curve-detail-print-cover dd,.curve-detail-print-section dd{margin:2px 0 0;color:var(--text-default);font-size:14px;font-weight:900}.curve-detail-print-cover dt{color:var(--text-tertiary)}.curve-detail-print-section{margin-top:14px;padding:16px;border:1px solid var(--border-neutral-l1);border-radius:8px;background:var(--bg-base-secondary);box-shadow:var(--shadow-sm);break-inside:avoid;page-break-inside:avoid}.curve-detail-print-section h2{margin:0 0 12px;color:var(--text-default);font-size:17px;letter-spacing:-.01em}.curve-detail-print-section-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.curve-detail-print-section-title h2{margin-bottom:0}.curve-detail-print-section-title span{display:block;margin-top:3px;color:var(--text-tertiary);font-size:12px}.curve-detail-print-info-grid,.curve-detail-print-summary-grid{margin:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;border:0}.curve-detail-print-summary-grid{grid-template-columns:repeat(7,minmax(0,1fr))}.curve-detail-print-info-grid>div,.curve-detail-print-summary-grid>div{min-width:0;min-height:54px;padding:10px 11px;border:1px solid var(--border-neutral-l1);border-radius:8px;background:var(--bg-base-tertiary)}.curve-detail-print-summary-grid>div.is-highlight{border-color:var(--border-neutral-l2);background:radial-gradient(circle at 16% 0%,rgb(232 93 42 / 13%),transparent 45%),var(--bg-base-tertiary)}.curve-detail-print-info-grid dd,.curve-detail-print-summary-grid dd{margin-top:6px;overflow-wrap:anywhere}.curve-detail-print-summary-grid>div.is-highlight dd{color:var(--text-default);font-size:16px}.curve-detail-print-point-table{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0;overflow:hidden;border:1px solid var(--border-neutral-l1);border-radius:6px;color:var(--text-default);font-variant-numeric:tabular-nums}.curve-detail-print-point-table th,.curve-detail-print-point-table td{height:38px;border-right:1px solid var(--border-neutral-l1);border-bottom:1px solid var(--border-neutral-l1);padding:6px;color:var(--text-default);text-align:center;font-size:11px}.curve-detail-print-point-table th:last-child,.curve-detail-print-point-table td:last-child{border-right:0}.curve-detail-print-point-table tbody tr:last-child td{border-bottom:0}.curve-detail-print-point-table th{background:var(--bg-base-tertiary);color:var(--text-secondary);font-weight:900}.curve-detail-print-point-table th small{display:block;margin-top:2px;color:var(--text-tertiary);font-weight:700}.curve-detail-print-point-table tbody tr.has-event td{background:var(--status-warning-surface-l1)}.curve-detail-print-point-table td.is-event{color:var(--status-warning-default);font-weight:850}@media print{@page{size:A4 portrait;margin:10mm}body{background:#fff!important}.curve-detail-page{display:block!important;min-height:0!important;padding:0!important;background:#fff!important}.curve-detail-page>:not(.curve-detail-print-report){display:none!important}body *{visibility:hidden!important}.curve-detail-print-report,.curve-detail-print-report *{visibility:visible!important}.curve-detail-print-report{display:block!important;position:static;width:100%;padding:0;background:#fff;color:#111827}.curve-detail-print-chart .curve-detail-chart{min-height:0;max-height:360px;aspect-ratio:2 / 1}.curve-detail-print-chart .curve-detail-legend{gap:6px 10px;font-size:10px}.curve-detail-print-chart .curve-detail-legend-swatch{width:14px}.curve-detail-print-section{margin-top:12px}}.curve-detail-page,.workspace-curve-panel,.curve-detail-print-report{--curve-bean: #f88f52;--curve-hot-air: #fb5950;--curve-exhaust: #68a7fb;--curve-ambient: #7f9a03;--curve-ror: #4f555c;--curve-fire: #8b5cf6;--curve-airflow: #0f9f8f;--curve-drum: #d18b18;--curve-tooltip-bg: rgb(24 28 34 / 95%);--curve-tooltip-border: rgb(255 255 255 / 16%);--curve-tooltip-text: #d8dee9;--curve-tooltip-title: #ffffff}html[data-theme=dark] :is(.curve-detail-page,.workspace-curve-panel,.curve-detail-print-report){--curve-ror: #fbfbfb;--curve-fire: #a78bfa;--curve-airflow: #2dd4bf;--curve-drum: #fbbf24}.curve-detail-chart-panel{display:grid;grid-template-rows:auto auto;align-content:start;gap:12px;padding:16px}.curve-detail-chart-head{min-width:0;display:flex;justify-content:space-between;gap:12px;align-items:start}.curve-detail-chart-head h2{margin:0;color:var(--text-default);font-size:17px}.curve-detail-chart-head>div>span{color:var(--text-tertiary);font-size:13px}.curve-detail-legend{display:flex;align-items:center;justify-content:flex-end;gap:9px 13px;flex-wrap:wrap;color:var(--text-secondary);font-size:12px}.curve-detail-legend span{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.curve-detail-legend-swatch{width:20px;height:3px;flex:0 0 auto;border-radius:999px;background:currentColor}.curve-detail-legend :is(.is-fire,.is-airflow,.is-drum) .curve-detail-legend-swatch{height:0;border-top:2px dashed currentColor;border-radius:0;background:transparent}.curve-detail-legend .is-bean,.curve-detail-line.is-bean,.curve-detail-hover>circle.is-bean{color:var(--curve-bean)}.curve-detail-legend .is-hot-air-temp,.curve-detail-line.is-hot-air-temp,.curve-detail-hover>circle.is-hot-air-temp{color:var(--curve-hot-air)}.curve-detail-legend .is-exhaust-temp,.curve-detail-line.is-exhaust-temp,.curve-detail-hover>circle.is-exhaust-temp{color:var(--curve-exhaust)}.curve-detail-legend .is-ambient-temp,.curve-detail-line.is-ambient-temp,.curve-detail-hover>circle.is-ambient-temp{color:var(--curve-ambient)}.curve-detail-legend .is-ror,.curve-detail-line.is-ror,.curve-detail-hover>circle.is-ror{color:var(--curve-ror)}.curve-detail-legend .is-fire,.curve-detail-line.is-fire,.curve-detail-hover>circle.is-fire{color:var(--curve-fire)}.curve-detail-legend .is-airflow,.curve-detail-line.is-airflow,.curve-detail-hover>circle.is-airflow{color:var(--curve-airflow)}.curve-detail-legend .is-drum,.curve-detail-line.is-drum,.curve-detail-hover>circle.is-drum{color:var(--curve-drum)}.curve-detail-chart{width:100%;height:auto;min-height:0;display:block;aspect-ratio:2 / 1;cursor:crosshair;pointer-events:all;touch-action:pan-y;-webkit-user-select:none;user-select:none}.curve-detail-gridline{stroke:var(--border-neutral-l1);stroke-width:.8}.curve-detail-axis-separator{stroke:var(--border-neutral-l2);stroke-width:1;stroke-dasharray:5 4}.curve-detail-axis{fill:var(--text-tertiary);font-size:11px}.curve-detail-fill{fill:url(#curveDetailBtFill);opacity:.55}.curve-detail-line{fill:none;stroke:currentColor;stroke-width:1.33;stroke-linecap:round;stroke-linejoin:round}.curve-detail-line.is-bean{stroke-width:1.87}.curve-detail-line.is-ror{stroke-width:1.2;opacity:.9}.curve-detail-line:is(.is-fire,.is-airflow,.is-drum){stroke-width:1.07;stroke-dasharray:7 4;opacity:.84}.curve-detail-marker line{stroke:var(--text-tertiary);stroke-width:.8;stroke-dasharray:3 3}.curve-detail-marker circle{fill:var(--curve-bean);stroke:var(--bg-base-secondary);stroke-width:2}.curve-detail-marker text{fill:var(--text-secondary);font-size:10px;font-weight:800}.curve-detail-right-axis>line{stroke:var(--border-neutral-l2);stroke-width:.9}.curve-detail-right-axis text{fill:var(--text-tertiary);font-size:10px;font-weight:750}.curve-detail-right-axis text.is-axis-title,.curve-detail-right-axis text.is-ror-axis{fill:var(--curve-ror)}.curve-detail-right-axis text.is-axis-title{font-size:9px}.curve-detail-hover{pointer-events:none}.curve-detail-hover>line{stroke:var(--text-secondary);stroke-width:.8;stroke-dasharray:4 3;opacity:.8}.curve-detail-hover>circle{fill:currentColor;stroke:var(--bg-base-secondary);stroke-width:2}.curve-detail-hover-tooltip>path{fill:var(--curve-tooltip-bg);stroke:var(--curve-tooltip-border);stroke-width:1}.curve-detail-hover-tooltip text{fill:var(--curve-tooltip-text);font-size:10px;font-weight:700}.curve-detail-hover-tooltip text.is-title{fill:var(--curve-tooltip-title);font-weight:900}.curve-roast-summary{min-width:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin:0}.curve-roast-summary>div{min-width:0;min-height:62px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--border-neutral-l1) 82%,transparent);border-radius:13px;background:linear-gradient(145deg,rgb(255 255 255 / 4%),transparent 62%),color-mix(in srgb,var(--bg-panel-muted) 92%,transparent);box-shadow:inset 0 1px #ffffff0a}.curve-roast-summary>div.is-highlight{min-height:66px;border-color:color-mix(in srgb,var(--border-neutral-l1) 88%,transparent);background:radial-gradient(circle at 18% 0%,rgb(245 158 11 / 10%),transparent 42%),linear-gradient(145deg,rgb(255 255 255 / 5%),transparent 62%),color-mix(in srgb,var(--bg-panel-muted) 88%,var(--brand-primary) 5%)}.curve-roast-summary dt{color:var(--text-tertiary);font-size:12px;font-weight:700;line-height:1.35}.curve-roast-summary dd{min-width:0;margin:7px 0 0;color:var(--text-default);font-size:14px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.01em;line-height:1.25;overflow-wrap:anywhere}.curve-roast-summary>div.is-highlight dd{margin-top:8px;color:var(--text-strong, var(--text-default));font-size:18px;font-weight:900}@media(max-width:1280px){.curve-roast-summary{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:540px){.curve-detail-chart-panel{padding:12px}.curve-detail-legend{gap:8px 10px}.curve-detail-legend-swatch{width:15px}.curve-roast-summary>div{min-height:60px;padding:10px}.curve-roast-summary>div.is-highlight dd{font-size:17px}}@media(max-width:980px){.curve-roast-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:820px){.curve-detail-page .curve-detail-side{grid-template-columns:1fr}}.curve-point-panel{min-width:0;display:grid;gap:14px;border:1px solid var(--border-neutral-l1);border-radius:8px;background:var(--bg-base-secondary);box-shadow:var(--shadow-sm);padding:16px}.curve-point-head{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:16px}.curve-point-head h2{margin:0;color:var(--text-default);font-size:17px}.curve-point-head>div>span{display:block;margin-top:3px;color:var(--text-tertiary);font-size:12px}.curve-point-table{width:100%;table-layout:fixed;border-spacing:0;border-collapse:separate;border:1px solid var(--border-neutral-l1);border-radius:6px;overflow:hidden;color:var(--text-default);font-size:12px;font-variant-numeric:tabular-nums}.curve-point-table caption{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.curve-point-table th,.curve-point-table td{min-width:0;height:42px;border-right:1px solid var(--border-neutral-l1);border-bottom:1px solid var(--border-neutral-l1);padding:7px 6px;text-align:center;overflow-wrap:anywhere}.curve-point-table th:last-child,.curve-point-table td:last-child{border-right:0}.curve-point-table tbody tr:last-child td{border-bottom:0}.curve-point-table th{background:var(--bg-base-tertiary);color:var(--text-secondary);font-size:11px;font-weight:850}.curve-point-table th span,.curve-point-table th small{display:block}.curve-point-table th small{margin-top:2px;color:var(--text-tertiary);font-size:9px;font-weight:700}.curve-point-table tbody tr:hover td{background:color-mix(in srgb,var(--bg-brand) 6%,transparent)}.curve-point-table tbody tr.has-event td{background:color-mix(in srgb,var(--status-warning-default) 8%,var(--bg-base-secondary))}.curve-point-table td.is-event{color:var(--status-warning-default);font-weight:850}.curve-point-mobile-list{display:none}@media(max-width:820px){.curve-point-head{align-items:start}.curve-point-table{display:none}.curve-point-mobile-list{display:grid}.curve-point-mobile-list article{min-width:0;display:grid;gap:10px;border-bottom:1px solid var(--border-neutral-l1);padding:12px 0}.curve-point-mobile-list article:first-child{padding-top:0}.curve-point-mobile-list article:last-child{border-bottom:0;padding-bottom:0}.curve-point-mobile-list header{display:flex;align-items:center;justify-content:space-between;gap:12px}.curve-point-mobile-list time{color:var(--text-default);font-weight:900;font-variant-numeric:tabular-nums}.curve-point-mobile-list header strong{color:var(--status-warning-default);font-size:12px}.curve-point-mobile-list dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;margin:0}.curve-point-mobile-list dl>div{min-width:0;display:flex;align-items:baseline;justify-content:space-between;gap:8px}.curve-point-mobile-list dt{color:var(--text-tertiary);font-size:11px}.curve-point-mobile-list dd{min-width:0;margin:0;color:var(--text-default);text-align:right;font-size:12px;font-weight:800;font-variant-numeric:tabular-nums}}.curve-share-modal{width:min(520px,100%);max-height:min(760px,calc(100vh - 40px));overflow:hidden;border:1px solid var(--border-neutral-l1);border-radius:16px;background:var(--bg-base-secondary);color:var(--text-default);box-shadow:var(--shadow-xl);display:grid;grid-template-rows:auto minmax(0,1fr) auto}.curve-share-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px;border-bottom:1px solid var(--border-neutral-l1)}.curve-share-head>div{min-width:0;display:flex;align-items:center;gap:10px;color:var(--bg-brand)}.curve-share-head h2{margin:0;color:var(--text-default);font-size:20px;line-height:1.25}.curve-share-body{min-width:0;overflow:auto;display:grid;gap:18px;padding:18px 20px}.curve-share-strip{min-width:0;display:grid;grid-template-columns:96px minmax(0,1fr);align-items:center;gap:12px;padding:12px;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-tertiary)}.curve-share-strip>svg{width:96px;height:38px}.curve-share-strip>svg path{fill:none;stroke:var(--bg-brand);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.share-summary-icon,.curve-mini-preview-empty{width:96px;height:38px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-neutral-l1);border-radius:10px;background:var(--bg-base-default);color:var(--text-tertiary);font-size:12px;font-weight:800;white-space:nowrap}.share-summary-icon{color:var(--text-brand)}.curve-share-strip>div>strong,.curve-share-strip>div>span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.curve-share-strip>div>span{margin-top:3px;color:var(--text-tertiary);font-size:12px}.curve-share-body h3{margin:0 0 10px;color:var(--text-default);font-size:14px}.curve-share-options{display:grid;gap:8px}.curve-share-options button,.curve-share-option{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:flex-start;padding:12px;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-secondary);color:var(--text-default);text-align:left;font:inherit}.curve-share-options button{cursor:pointer}.curve-share-options button.is-active,.curve-share-option.is-active{border-color:var(--border-brand);background:var(--bg-brand-popup)}.curve-share-options svg{margin-top:2px;color:var(--bg-brand)}.curve-share-options strong,.curve-share-options small{display:block}.curve-share-options small{margin-top:3px;color:var(--text-tertiary);line-height:1.5}.curve-share-link{display:grid;gap:8px}.curve-share-link span{color:var(--text-secondary);font-size:13px;font-weight:800}.curve-share-link input{min-width:0;width:100%;height:38px;border:1px solid var(--border-neutral-l1);border-radius:10px;background:var(--bg-base-default);color:var(--text-secondary);padding:0 12px;font:inherit;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}.curve-share-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;padding:16px 20px 20px;border-top:1px solid var(--border-neutral-l1)}.curve-edit-modal,.curve-action-modal,.curve-duplicate-modal,.curve-delete-modal{width:min(480px,100%);max-height:min(760px,calc(100vh - 40px));overflow:hidden;border:1px solid var(--border-neutral-l1);border-radius:16px;background:var(--bg-base-secondary);color:var(--text-default);box-shadow:var(--shadow-xl)}.curve-action-modal{width:min(620px,100%)}.curve-delete-modal{width:min(430px,100%)}.curve-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px;border-bottom:1px solid var(--border-neutral-l1)}.curve-modal-head>div{min-width:0;display:flex;align-items:center;gap:10px;color:var(--bg-brand)}.curve-delete-modal .curve-modal-head>div{color:var(--status-error-default)}.curve-action-modal.is-danger .curve-modal-head>div{color:var(--status-error-default)}.curve-modal-head h2{margin:0;color:var(--text-default);font-size:20px;line-height:1.25}.curve-action-body{min-width:0;max-height:min(560px,calc(100vh - 180px));overflow-y:auto;display:grid;gap:14px;padding:18px 20px}.curve-action-preview{min-width:0;display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-default)}.curve-action-preview>svg{width:96px;height:42px;flex:0 0 auto}.curve-action-preview .curve-mini-preview-empty{width:96px;height:42px;flex:0 0 auto}.curve-action-preview>svg path{fill:none;stroke:var(--bg-brand);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.curve-action-preview div{min-width:0;display:grid;gap:4px}.curve-action-preview strong,.curve-action-preview span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.curve-action-preview strong{color:var(--text-default);font-weight:900}.curve-action-preview span{color:var(--text-tertiary);font-size:12px}.curve-action-summary{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.curve-action-summary div{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:10px;background:var(--bg-base-default);padding:10px 12px}.curve-action-summary dt,.curve-action-summary dd{margin:0}.curve-action-summary dt{color:var(--text-tertiary);font-size:12px;font-weight:800}.curve-action-summary dd{margin-top:4px;color:var(--text-default);font-size:13px;font-weight:900;overflow-wrap:anywhere}.curve-action-edit-review,.curve-action-delete-review{min-width:0;display:grid;gap:12px;padding:14px;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-default)}.curve-action-edit-review h3,.curve-action-delete-review h3{margin:0;color:var(--text-default);font-size:14px;line-height:1.35}.curve-action-delete-review p{margin:0;color:var(--text-secondary);font-size:13px;line-height:1.5}.curve-action-edit-fields{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.curve-action-edit-fields>div{min-width:0;display:grid;gap:6px;padding:10px 12px;border:1px solid var(--border-neutral-l1);border-radius:10px;background:var(--bg-base-secondary)}.curve-action-edit-fields>.is-wide{grid-column:1 / -1}.curve-action-edit-fields span,.curve-action-bean-link span{color:var(--text-tertiary);font-size:12px;font-weight:800}.curve-action-edit-fields strong,.curve-action-edit-fields p{margin:0;min-width:0;color:var(--text-default);font-size:13px;font-weight:900;line-height:1.45;overflow-wrap:anywhere}.curve-action-edit-fields p{color:var(--text-secondary);font-weight:700}.curve-action-tag-field{min-height:40px;display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:8px;border:1px solid var(--border-neutral-l1);border-radius:10px;background:var(--bg-base-secondary)}.curve-action-tag-field>span{display:inline-flex;align-items:center;min-height:26px;padding:0 9px;border-radius:999px;background:var(--bg-brand-popup);color:var(--text-brand);font-size:12px;font-weight:900}.curve-action-bean-link{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;padding:12px;border:1px solid var(--border-neutral-l1);border-radius:10px;background:var(--bg-base-secondary);color:var(--text-brand)}.curve-action-bean-link>div{min-width:0;display:grid;gap:4px}.curve-action-bean-link strong,.curve-action-bean-link small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.curve-action-bean-link strong{color:var(--text-default);font-size:13px;font-weight:900}.curve-action-bean-link small{color:var(--text-secondary);font-size:12px}.curve-action-delete-preview{min-width:0;display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--border-neutral-l1);border-radius:10px;background:var(--bg-base-secondary)}.curve-action-delete-preview>svg,.curve-action-delete-preview .curve-mini-preview-empty{width:96px;height:42px;flex:0 0 auto}.curve-action-delete-preview>svg path{fill:none;stroke:var(--status-error-default);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.curve-action-delete-preview>div{min-width:0;display:grid;gap:4px}.curve-action-delete-preview strong,.curve-action-delete-preview span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.curve-action-delete-preview strong{color:var(--text-default);font-weight:900}.curve-action-delete-preview span{color:var(--text-tertiary);font-size:12px}.curve-action-delete-impact{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.curve-action-delete-impact div{min-width:0;padding:10px 12px;border:1px solid var(--border-neutral-l1);border-radius:10px;background:var(--bg-base-secondary)}.curve-action-delete-impact dt,.curve-action-delete-impact dd{margin:0}.curve-action-delete-impact dt{color:var(--text-tertiary);font-size:12px;font-weight:800}.curve-action-delete-impact dd{margin-top:4px;color:var(--text-default);font-size:13px;font-weight:900;overflow-wrap:anywhere}.curve-action-danger-note{min-width:0;display:flex;align-items:flex-start;gap:9px;padding:11px 12px;border:1px solid color-mix(in srgb,var(--status-error-default) 28%,var(--border-neutral-l1));border-radius:10px;background:var(--status-error-surface);color:var(--text-default);font-size:13px;line-height:1.6}.curve-action-danger-note svg{flex:0 0 auto;margin-top:2px;color:var(--status-error-default)}.curve-action-checks{margin:0;padding:0;list-style:none;display:grid;gap:9px}.curve-action-checks li{min-width:0;display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:13px;line-height:1.5}.curve-action-checks svg{flex:0 0 auto;color:var(--status-success-default)}.curve-action-warning{min-width:0;border:1px solid color-mix(in srgb,var(--status-warning-default) 30%,var(--border-neutral-l1));border-radius:10px;background:var(--status-warning-surface);color:var(--text-default);padding:12px 14px;display:flex;gap:9px;align-items:flex-start;font-size:13px;line-height:1.6}.curve-action-modal.is-danger .curve-action-warning{border-color:color-mix(in srgb,var(--status-error-default) 28%,var(--border-neutral-l1));background:var(--status-error-surface)}.curve-action-warning svg{flex:0 0 auto;color:var(--status-warning-default);margin-top:1px}.curve-action-modal.is-danger .curve-action-warning svg{color:var(--status-error-default)}.curve-edit-body{min-width:0;max-height:min(560px,calc(100vh - 180px));overflow-y:auto;display:grid;gap:16px;padding:18px 20px}.curve-edit-field{min-width:0;display:grid;gap:7px}.curve-edit-field>span{color:var(--text-default);font-size:14px;font-weight:800}.curve-edit-field input,.curve-edit-field select,.curve-edit-field textarea{width:100%;min-width:0;border:1px solid var(--border-neutral-l1);border-radius:10px;background:var(--bg-base-default);color:var(--text-default);font:inherit;padding:10px 12px;outline:none}.curve-edit-field textarea{resize:vertical}.curve-edit-field input:focus,.curve-edit-field select:focus,.curve-edit-field textarea:focus{border-color:var(--border-brand);box-shadow:0 0 0 3px var(--bg-brand-popup)}.curve-edit-field small{color:var(--text-tertiary);font-size:12px}.curve-copy-source,.curve-delete-preview{min-width:0;display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-default)}.curve-copy-source strong,.curve-delete-preview strong{min-width:0;color:var(--text-default);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.curve-copy-source span,.curve-delete-preview span{margin-left:auto;color:var(--text-tertiary);font-size:12px;white-space:nowrap}.curve-copy-source>svg{width:72px;height:34px;flex:0 0 auto}.curve-copy-source .curve-mini-preview-empty{width:72px;height:34px;flex:0 0 auto}.curve-copy-source>svg path{fill:none;stroke:var(--bg-brand);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.curve-copy-options{display:grid;gap:10px}.curve-copy-options button{min-width:0;display:flex;align-items:flex-start;gap:12px;padding:13px 14px;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-default);color:var(--text-default);text-align:left;cursor:pointer}.curve-copy-options button.is-active{border-color:var(--border-brand);background:var(--bg-brand-popup)}.curve-copy-options button>svg{color:var(--bg-brand);flex:0 0 auto}.curve-copy-options span{min-width:0;display:grid;gap:3px}.curve-copy-options strong{color:var(--text-default)}.curve-copy-options small,.curve-delete-copy{color:var(--text-tertiary);line-height:1.6}.curve-delete-preview{align-items:flex-start;flex-direction:column;gap:4px}.curve-delete-preview span{margin-left:0}.curve-modal-foot{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;padding:16px 20px 20px;border-top:1px solid var(--border-neutral-l1)}.admin-console-page{align-content:start}.cupping-detail-hero{display:flex;align-items:center;justify-content:space-between;gap:14px}.cupping-detail-hero h2,.admin-users-topbar h2,.profile-identity h2{margin:0;color:var(--text-default);font-size:22px}.cupping-detail-hero p,.profile-identity p{margin:6px 0 0;color:var(--text-secondary)}.cupping-sample-card{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:16px;background:var(--bg-base-secondary);box-shadow:var(--shadow-sm);padding:16px;display:grid;gap:12px}.cupping-sample-card>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:8px}.cupping-sample-card h2{margin:0;min-width:0;color:var(--text-default);font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cupping-sample-card>strong{width:82px;height:82px;border-radius:999px;background:var(--bg-brand-popup);color:var(--bg-brand);display:grid;place-items:center;justify-self:center;font-size:26px}.cupping-summary-card h2,.cupping-detail-table-wrap h2,.radar-card h2,.score-range-card h2,.cupping-recommendation h2{margin:0 0 10px;color:var(--text-default);font-size:18px}.cupping-detail-table td.is-num{text-align:right;font-variant-numeric:tabular-nums}.radar-card,.score-range-card{display:grid;gap:12px}.radar-card svg{width:100%;max-height:270px}.radar-card text{fill:var(--text-tertiary);font-size:12px}.radar-area{fill:color-mix(in srgb,var(--bg-brand) 20%,transparent);stroke:var(--bg-brand);stroke-width:2}.admin-page{width:min(100%,1240px);margin:0 auto;display:grid;gap:18px}.admin-page-topbar{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:16px}.admin-page-heading{min-width:0;display:flex;align-items:flex-start;gap:12px}.admin-page-heading>div{min-width:0}.admin-back-button{flex:0 0 auto;margin-top:1px}.admin-page-topbar h1{margin:2px 0 0;color:var(--text-default);font-size:24px;line-height:1.25}.admin-page-topbar p{max-width:680px;margin:8px 0 0;color:var(--text-secondary);font-size:14px;line-height:1.6}.admin-page-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.admin-confirm-modal{width:min(540px,calc(100vw - 32px));max-height:calc(100vh - 48px);overflow:auto;border:1px solid var(--border-neutral-l1);border-radius:16px;background:var(--bg-base-secondary);box-shadow:var(--shadow-lg);padding:18px;display:grid;gap:16px}.admin-confirm-modal header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:flex-start;gap:12px}.admin-confirm-modal h2,.admin-confirm-modal p{margin:0}.admin-confirm-modal h2{color:var(--text-default);font-size:18px;line-height:1.3}.admin-confirm-modal p{color:var(--text-secondary);font-size:13px;line-height:1.55}.admin-confirm-icon{width:38px;height:38px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;color:var(--status-error-default);background:var(--status-error-surface)}.admin-confirm-details{margin:0;display:grid;gap:8px}.admin-confirm-details div{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:10px;background:var(--bg-base-default);padding:10px 12px;display:grid;grid-template-columns:96px minmax(0,1fr);gap:10px}.admin-confirm-details dt,.admin-confirm-details dd{min-width:0;margin:0;font-size:13px;line-height:1.45}.admin-confirm-details dt{color:var(--text-tertiary);font-weight:800}.admin-confirm-details dd{color:var(--text-default);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-confirm-warning{border:1px solid color-mix(in srgb,var(--status-error-default) 22%,var(--border-neutral-l1));border-radius:12px;background:color-mix(in srgb,var(--status-error-surface) 82%,var(--bg-base-secondary));padding:12px}.admin-confirm-modal footer{display:flex;justify-content:flex-end;gap:10px}.admin-confirm-modal .primary-action.danger-action{border-color:var(--status-error-default);background:var(--status-error-default);color:var(--text-onbrand)}.admin-section-nav{position:sticky;top:65px;z-index:12;display:flex;align-items:center;gap:4px;overflow-x:auto;border:1px solid var(--border-neutral-l1);border-radius:8px;background:color-mix(in srgb,var(--bg-base-default) 94%,transparent);padding:5px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);scrollbar-width:none}.admin-section-nav::-webkit-scrollbar{display:none}.admin-section-nav button{flex:0 0 auto;min-width:0;min-height:38px;border:0;border-radius:6px;background:transparent;color:var(--text-default);padding:0 14px;cursor:pointer;transition:background .18s ease,color .18s ease}.admin-section-nav button strong{font-size:13px;font-weight:700;white-space:nowrap}.admin-section-nav button:hover{background:var(--bg-base-tertiary)}.admin-section-nav button.is-active{background:var(--bg-brand-popup);color:var(--text-brand)}.admin-overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden;border:1px solid var(--border-neutral-l1);border-radius:8px;background:var(--bg-base-default)}.admin-overview-grid article{min-width:0;border-left:1px solid var(--border-neutral-l1);padding:12px 16px;display:flex;align-items:baseline;justify-content:space-between;gap:12px}.admin-overview-grid article:first-child{border-left:0}.admin-overview-grid span,.admin-section-toolbar span{color:var(--text-tertiary);font-size:13px}.admin-overview-grid strong{color:var(--text-default);font-size:22px;line-height:1;font-weight:800;font-variant-numeric:tabular-nums}.admin-surface{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:14px;background:var(--bg-base-default);box-shadow:var(--shadow-sm);padding:18px;display:grid;gap:16px}.admin-overview-brief{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:12px;align-items:stretch}.admin-overview-panel{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:8px;background:var(--bg-base-default);padding:16px;display:grid;align-content:start;gap:14px}.admin-account-identity{min-width:0;display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px}.admin-account-identity .profile-avatar{width:42px;height:42px;border-radius:8px}.admin-account-identity h3,.admin-account-identity p{margin:0}.admin-account-identity h3{font-size:15px}.admin-account-identity p{margin-top:3px;color:var(--text-secondary);font-size:12px}.admin-overview-meta,.admin-access-stats{margin:0;display:grid;gap:0}.admin-overview-meta{grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--border-neutral-l1);padding-top:12px}.admin-overview-meta>div,.admin-access-stats>div{min-width:0;border-left:1px solid var(--border-neutral-l1);padding:0 12px}.admin-overview-meta>div:first-child,.admin-access-stats>div:first-child{border-left:0;padding-left:0}.admin-overview-meta dt,.admin-access-stats dt{color:var(--text-tertiary);font-size:11px}.admin-overview-meta dd,.admin-access-stats dd{margin:4px 0 0;overflow:hidden;color:var(--text-default);font-size:13px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.admin-overview-access .section-head{align-items:center}.admin-overview-access .section-head>div{min-width:0}.admin-overview-access .text-button{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.admin-access-stats{grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--border-neutral-l1);border-radius:6px;background:var(--bg-base-secondary);padding:10px 12px}.admin-access-stats dd{font-size:18px;font-variant-numeric:tabular-nums}.admin-permission-preview{display:flex;flex-wrap:nowrap;gap:6px;overflow:hidden}.admin-permission-preview span{flex:0 1 auto;max-width:150px;overflow:hidden;padding:5px 8px;text-overflow:ellipsis;white-space:nowrap}.admin-permission-preview span.is-more{flex:0 0 auto;color:var(--text-brand)}.is-admin-section-hidden{display:none!important}.admin-section-toolbar{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:16px}.admin-section-toolbar h2{margin:0 0 4px;color:var(--text-default);font-size:20px}.admin-section-tools{min-width:0;display:flex;justify-content:flex-end;align-items:center;gap:10px}.admin-search{width:240px;height:34px;border:1px solid var(--border-neutral-l1);border-radius:8px;background:var(--bg-base-secondary);color:var(--text-tertiary);display:flex;align-items:center;gap:8px;padding:0 10px}.admin-search input{min-width:0;width:100%;border:0;outline:0;background:transparent;color:var(--text-default);font:inherit;font-size:13px}.admin-page .admin-users-filter{border:0;border-radius:0;background:transparent;padding:0;gap:4px}.admin-page .admin-users-filter button{min-height:30px;border-radius:8px;background:var(--bg-base-default)}.admin-page .admin-users-filter button.is-active{border-color:transparent;background:var(--bg-overlay-l3);color:var(--text-default)}.admin-page .admin-user-list{background:var(--bg-base-default);border-radius:12px}.admin-page .admin-user-row{min-width:860px;grid-template-columns:44px minmax(220px,1.2fr) minmax(90px,.5fr) minmax(100px,.7fr) minmax(90px,.5fr) minmax(140px,.7fr) 38px;gap:14px;padding:14px 16px}.admin-page .admin-user-row.is-header{min-height:40px;background:var(--bg-base-secondary);color:var(--text-tertiary);font-size:12px;font-weight:800}.admin-page .admin-user-row.is-header strong{color:var(--text-tertiary)}.admin-user-source,.admin-user-role{min-height:24px;border:1px solid var(--border-neutral-l1);border-radius:999px;background:var(--bg-base-secondary);color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;padding:0 9px;font-size:12px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-user-role.is-admin{border-color:var(--border-brand);background:var(--bg-brand-popup);color:var(--bg-brand)}.admin-user-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.admin-user-stat-card{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-secondary);padding:13px 14px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center}.admin-user-stat-card>span{width:36px;height:36px;border-radius:11px;background:var(--bg-base-tertiary);color:var(--text-secondary);display:grid;place-items:center}.admin-user-stat-card.is-success>span{background:var(--status-success-surface-l1);color:var(--status-success-default)}.admin-user-stat-card.is-brand>span{background:var(--bg-brand-popup);color:var(--bg-brand)}.admin-user-stat-card.is-danger>span{background:var(--status-error-surface-l1);color:var(--status-error-default)}.admin-user-stat-card small{color:var(--text-tertiary);font-size:12px}.admin-user-stat-card strong{display:block;margin-top:3px;color:var(--text-default);font-size:23px;line-height:1;font-variant-numeric:tabular-nums}.admin-user-drawer-backdrop{justify-content:flex-end;align-items:stretch;padding:0}.admin-user-detail-drawer{width:min(520px,100vw);height:100vh;border-left:1px solid var(--border-neutral-l1);background:var(--bg-base-default);box-shadow:var(--shadow-lg);display:grid;grid-template-rows:auto auto auto auto minmax(0,1fr) auto}.admin-user-detail-head,.admin-user-detail-foot{min-width:0;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-user-detail-head{border-bottom:1px solid var(--border-neutral-l1)}.admin-user-detail-head h2{margin:2px 0 0;color:var(--text-default);font-size:19px}.admin-user-profile-card{min-width:0;padding:20px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:center}.admin-user-profile-avatar{width:58px;height:58px;border-radius:18px;background:var(--bg-brand-popup);color:var(--bg-brand);display:grid;place-items:center;font-size:22px;font-weight:900}.admin-user-profile-card strong,.admin-user-profile-card small,.admin-user-profile-card span{min-width:0;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-user-profile-card strong{color:var(--text-default);font-size:18px}.admin-user-profile-card small,.admin-user-profile-card span{margin-top:3px;color:var(--text-tertiary);font-size:13px}.admin-user-detail-stats{padding:0 20px 18px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.admin-user-detail-stats div{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:10px;background:var(--bg-base-secondary);padding:10px;text-align:center}.admin-user-detail-stats strong,.admin-user-detail-stats span{min-width:0;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-user-detail-stats strong{color:var(--text-default);font-size:15px}.admin-user-detail-stats span{margin-top:3px;color:var(--text-tertiary);font-size:12px}.admin-user-detail-tabs{margin:0 20px;border-bottom:1px solid var(--border-neutral-l1);display:flex;gap:18px}.admin-user-detail-tabs button{min-height:38px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--text-secondary);font:inherit;font-size:13px;font-weight:800;cursor:pointer}.admin-user-detail-tabs button.is-active{border-color:var(--bg-brand);color:var(--text-default)}.admin-user-detail-body{min-height:0;overflow:auto;padding:18px 20px 22px}.admin-user-detail-list,.admin-user-role-list,.admin-user-log-list{display:grid;gap:10px}.admin-user-detail-list>div{min-width:0;min-height:42px;border-bottom:1px solid var(--border-neutral-l1);display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px;align-items:center}.admin-user-detail-list span,.admin-user-detail-list strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-user-detail-list span{color:var(--text-tertiary);font-size:13px}.admin-user-detail-list strong{color:var(--text-default);font-size:14px}.admin-user-role-item,.admin-user-log-item{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-secondary);padding:11px 12px;display:grid;gap:10px}.admin-user-role-item{grid-template-columns:auto minmax(0,1fr);align-items:center}.admin-user-role-item>span{width:32px;height:32px;border-radius:10px;background:var(--bg-brand-popup);color:var(--bg-brand);display:grid;place-items:center}.admin-user-role-item strong,.admin-user-role-item small,.admin-user-log-item strong,.admin-user-log-item small,.admin-user-log-item time{min-width:0;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-user-role-item strong,.admin-user-log-item strong{color:var(--text-default)}.admin-user-role-item small,.admin-user-log-item small,.admin-user-log-item time{margin-top:3px;color:var(--text-tertiary);font-size:12px}.admin-user-detail-foot{border-top:1px solid var(--border-neutral-l1);justify-content:flex-end}.admin-subject-workspace{min-width:0;display:grid;gap:16px}.admin-subject-tabs{min-width:0;display:flex;align-items:center;gap:24px;border-bottom:1px solid var(--border-neutral-l1)}.admin-subject-tabs button{min-height:40px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--text-tertiary);cursor:pointer;font:inherit;font-size:14px;font-weight:800}.admin-subject-tabs button.is-active{border-color:var(--bg-brand);color:var(--text-default)}.admin-subject-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.admin-subject-stat-card{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-secondary);padding:13px 14px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center}.admin-subject-stat-card>span{width:36px;height:36px;border-radius:10px;background:var(--bg-base-tertiary);color:var(--text-secondary);display:grid;place-items:center}.admin-subject-stat-card.is-brand>span{background:var(--bg-brand-popup);color:var(--bg-brand)}.admin-subject-stat-card.is-success>span{background:var(--status-success-surface-l1);color:var(--status-success-default)}.admin-subject-stat-card.is-danger>span{background:var(--status-error-surface-l1);color:var(--status-error-default)}.admin-subject-stat-card small{color:var(--text-tertiary);font-size:12px}.admin-subject-stat-card strong{display:block;margin-top:3px;color:var(--text-default);font-size:24px;line-height:1;font-variant-numeric:tabular-nums}.admin-subject-filterbar{min-width:0;display:flex;align-items:center;gap:12px}.admin-subject-filterbar .admin-search{width:min(360px,100%)}.admin-subject-filterbar select{min-height:34px;border:1px solid var(--border-neutral-l1);border-radius:8px;background:var(--bg-base-secondary);color:var(--text-default);padding:0 34px 0 10px;font:inherit;font-size:13px}.admin-subject-list{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-secondary);overflow:hidden}.admin-subjects-foot{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--text-tertiary);font-size:12px}.admin-subjects-foot strong{color:var(--text-default);font-variant-numeric:tabular-nums}.admin-subjects-foot .secondary-action{min-height:32px;border-radius:999px;padding:0 14px}.admin-subject-row{min-width:0;display:grid;grid-template-columns:44px minmax(210px,1fr) minmax(250px,.9fr) minmax(120px,.5fr) minmax(190px,auto);gap:16px;align-items:center;padding:15px 18px;border-bottom:1px solid var(--border-neutral-l1);transition:background .18s ease,box-shadow .18s ease}.admin-subject-row:last-child{border-bottom:0}.admin-subject-row:hover,.admin-subject-row.is-active{background:var(--bg-base-default)}.admin-subject-row>time{min-width:0;color:var(--text-tertiary);font-size:13px;text-align:right}.admin-subject-avatar{width:40px;height:40px;border-radius:12px;background:var(--bg-brand-popup);color:var(--bg-brand);display:grid;place-items:center}.admin-subject-avatar.is-enterprise{background:var(--status-success-surface-l1);color:var(--status-success-default)}.admin-subject-main,.admin-subject-main span,.admin-subject-facts,.admin-subject-actions{min-width:0}.admin-subject-main{display:grid;gap:4px}.admin-subject-main>span{display:flex;align-items:center;gap:8px}.admin-subject-main strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-default);font-size:14px}.admin-subject-main small{color:var(--text-tertiary);font-size:12px}.admin-subject-type{min-height:20px;border-radius:999px;background:var(--bg-brand-popup);color:var(--bg-brand);display:inline-flex;align-items:center;padding:0 8px;font-size:11px;font-weight:800;white-space:nowrap}.admin-subject-type.is-enterprise{background:var(--status-success-surface-l1);color:var(--status-success-default)}.admin-subject-facts{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px}.admin-subject-facts span{min-width:0;color:var(--text-secondary);display:inline-flex;align-items:center;gap:6px;font-size:13px}.admin-subject-facts strong{color:var(--text-default);font-weight:800}.admin-subject-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px}.admin-subject-status{min-height:24px;border-radius:999px;display:inline-flex;align-items:center;gap:6px;padding:0 9px;color:var(--status-success-default);background:var(--status-success-surface-l1);font-size:12px;font-weight:800;white-space:nowrap}.admin-subject-status:before{content:"";width:6px;height:6px;border-radius:999px;background:currentColor}.admin-subject-status.is-disabled{color:var(--status-error-default);background:var(--status-error-surface-l1)}.admin-subject-detail-modal,.admin-subject-editor-modal{width:min(880px,calc(100vw - 32px));max-height:calc(100vh - 40px);border:1px solid var(--border-neutral-l1);border-radius:16px;background:var(--bg-base-default);box-shadow:var(--shadow-lg);overflow:auto;display:grid;gap:16px}.admin-subject-editor-modal{width:min(760px,calc(100vw - 32px))}.admin-notification-modal,.admin-user-create-modal,.admin-password-reset-modal{width:min(620px,calc(100vw - 32px));max-height:calc(100vh - 40px);border:1px solid var(--border-neutral-l1);border-radius:16px;background:var(--bg-base-default);box-shadow:var(--shadow-lg);overflow:auto;display:grid}.admin-user-create-modal{width:min(680px,calc(100vw - 32px))}.admin-user-role-picker{min-width:0;margin:0;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-default);padding:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.admin-user-role-picker legend{padding:0 6px;color:var(--text-tertiary);font-size:12px;font-weight:800}.admin-user-role-picker label{min-width:0;min-height:42px;border:1px solid var(--border-neutral-l1);border-radius:10px;background:var(--bg-base-secondary);display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;padding:0 10px}.admin-user-role-picker span,.admin-user-role-picker small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-user-role-picker span{color:var(--text-default);font-weight:800}.admin-user-role-picker small{color:var(--text-tertiary);font-size:12px}.admin-user-role-picker.is-editor{border:0;background:transparent;padding:0;grid-template-columns:1fr}.admin-user-role-editor-head{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-user-role-editor-head strong,.admin-user-role-editor-head small{min-width:0;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-user-role-editor-head strong{color:var(--text-default)}.admin-user-role-editor-head small{margin-top:2px;color:var(--text-tertiary);font-size:12px}.admin-subject-modal-head,.admin-subject-modal-foot{min-width:0;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-subject-modal-head{border-bottom:1px solid var(--border-neutral-l1)}.admin-subject-modal-head h2{margin:2px 0 0;color:var(--text-default);font-size:20px}.admin-notification-form{padding:18px;display:grid;gap:14px}.admin-notification-form label{min-width:0;display:grid;gap:7px}.admin-notification-form label>span{color:var(--text-secondary);font-size:12px;font-weight:800}.admin-notification-form input,.admin-notification-form select,.admin-notification-form textarea{width:100%;min-width:0;border:1px solid var(--border-neutral-l1);border-radius:10px;background:var(--bg-base-secondary);color:var(--text-default);font:inherit;padding:10px 12px}.admin-notification-form textarea{resize:vertical;line-height:1.55}.admin-notification-recipient{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-secondary);padding:12px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center}.admin-notification-recipient strong,.admin-notification-recipient small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-notification-recipient strong{color:var(--text-default);font-size:14px}.admin-notification-recipient small{margin-top:3px;color:var(--text-tertiary);font-size:12px}.admin-user-avatar-sm{width:34px;height:34px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;background:var(--bg-brand-popup);color:var(--bg-brand);font-size:13px;font-weight:900}.admin-user-create-form,.admin-password-reset-form,.admin-subject-editor-form{padding:18px}.admin-user-create-form>.admin-subject-modal-foot,.admin-password-reset-form>.admin-subject-modal-foot,.admin-subject-editor-form>.admin-subject-modal-foot{margin:4px -18px -18px}.admin-subject-modal-foot{border-top:1px solid var(--border-neutral-l1);justify-content:flex-end}.admin-subject-profile{min-width:0;margin:0 18px;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-secondary);padding:16px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center}.admin-subject-profile h3,.admin-subject-profile p{margin:0}.admin-subject-profile h3{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-default);font-size:18px}.admin-subject-profile p{margin-top:4px;color:var(--text-tertiary);font-size:13px}.admin-subject-detail-stats{margin:0 18px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.admin-subject-detail-stats div,.admin-subject-detail-list div,.admin-subject-detail-card,.admin-subject-member-editor{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-secondary)}.admin-subject-detail-stats div{padding:12px;display:grid;gap:4px}.admin-subject-detail-stats span,.admin-subject-detail-list dt{color:var(--text-tertiary);font-size:12px}.admin-subject-detail-stats strong,.admin-subject-detail-list dd{min-width:0;margin:0;overflow:hidden;text-overflow:ellipsis;color:var(--text-default);font-size:14px;font-weight:800}.admin-subject-detail-list{margin:0 18px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.admin-subject-detail-list div{padding:11px 12px;display:grid;gap:4px}.admin-subject-detail-grid{min-width:0;margin:0 18px 18px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:14px}.admin-subject-detail-card{padding:14px;display:grid;gap:12px;align-content:start}.admin-subject-detail-card h3,.admin-subject-member-editor h3{margin:0;color:var(--text-default);font-size:16px}.admin-subject-member-table{min-width:0;display:grid;gap:8px}.admin-subject-member-row{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:10px;background:var(--bg-base-default);padding:10px 12px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.admin-subject-member-row span{min-width:0;display:grid;gap:3px}.admin-subject-member-row strong,.admin-subject-member-row small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-subject-member-row strong{color:var(--text-default);font-size:13px}.admin-subject-member-row small{color:var(--text-tertiary);font-size:12px}.admin-subject-device-empty{min-height:150px;border:1px dashed var(--border-neutral-l2);border-radius:12px;color:var(--text-tertiary);display:grid;place-items:center;align-content:center;gap:8px;padding:18px;text-align:center}.admin-subject-device-empty strong{color:var(--text-default);font-size:14px}.admin-subject-device-empty span{max-width:300px;color:var(--text-tertiary);font-size:13px;line-height:1.5}.admin-subject-editor-form,.admin-subject-member-editor{margin:0 18px}.admin-subject-editor-form{padding:0 0 2px}.admin-subject-member-editor{margin-bottom:18px;padding:14px;display:grid;gap:12px}.admin-log-workspace{min-width:0;display:grid;gap:16px}.admin-log-filter-card{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:14px;background:var(--bg-base-secondary);box-shadow:var(--shadow-sm);padding:16px;display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}.admin-log-filter-card label{min-width:0;display:grid;gap:6px}.admin-log-filter-card label:nth-child(2){flex:1 1 240px}.admin-log-filter-card span{color:var(--text-tertiary);font-size:12px;font-weight:800}.admin-log-filter-card input,.admin-log-filter-card select{min-height:34px;border:1px solid var(--border-neutral-l1);border-radius:8px;background:var(--bg-base-default);color:var(--text-default);font:inherit;font-size:13px}.admin-log-filter-card input{padding:0 10px}.admin-log-filter-card select{padding:0 34px 0 10px}.admin-log-date-range,.admin-log-search{min-width:0;display:flex;align-items:center;gap:8px}.admin-log-date-range small{color:var(--text-tertiary);font-size:12px}.admin-log-search{min-height:34px;border:1px solid var(--border-neutral-l1);border-radius:8px;background:var(--bg-base-default);color:var(--text-tertiary);padding:0 10px}.admin-log-search input{width:100%;min-width:0;border:0;background:transparent;outline:0;padding:0}.admin-log-layout{min-width:0;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:16px;align-items:start}.admin-log-timeline{min-width:0;position:relative;padding-left:30px;display:grid}.admin-log-timeline:before{content:"";position:absolute;left:10px;top:14px;bottom:14px;width:1px;background:var(--border-neutral-l2)}.admin-logs-foot{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--text-tertiary);font-size:12px}.admin-logs-foot strong{margin:0 3px;color:var(--text-default);font-variant-numeric:tabular-nums}.admin-logs-foot .secondary-action{min-height:32px;border-radius:999px;padding:0 14px}.admin-log-entry{min-width:0;position:relative;border:0;border-radius:12px;background:transparent;color:var(--text-default);cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr);padding:10px 12px;text-align:left;transition:background .18s ease,box-shadow .18s ease}.admin-log-entry:hover,.admin-log-entry.is-active{background:var(--bg-base-secondary);box-shadow:var(--shadow-sm)}.admin-log-dot{position:absolute;left:-24px;top:18px;width:11px;height:11px;border:2px solid var(--bg-base-default);border-radius:999px;background:var(--status-primary-default);box-shadow:0 0 0 2px var(--status-primary-default)}.admin-log-entry.is-warning .admin-log-dot{background:var(--status-warning-default);box-shadow:0 0 0 2px var(--status-warning-default)}.admin-log-entry.is-danger .admin-log-dot{background:var(--status-error-default);box-shadow:0 0 0 2px var(--status-error-default)}.admin-log-entry-body{min-width:0;display:grid;gap:5px}.admin-log-entry-meta{min-width:0;display:flex;align-items:center;gap:7px;flex-wrap:wrap}.admin-log-entry-meta time{color:var(--text-tertiary);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}.admin-log-entry strong,.admin-log-entry small{min-width:0;overflow:hidden;text-overflow:ellipsis}.admin-log-entry strong{color:var(--text-default);font-size:14px}.admin-log-entry small{color:var(--text-secondary);font-size:13px;line-height:1.5}.admin-log-severity,.admin-log-source{min-height:20px;border-radius:999px;display:inline-flex;align-items:center;padding:0 8px;font-size:11px;font-weight:800}.admin-log-severity{background:var(--bg-brand-popup);color:var(--bg-brand)}.admin-log-severity.is-warning{background:var(--status-warning-surface-l1);color:var(--status-warning-default)}.admin-log-severity.is-danger{background:var(--status-error-surface-l1);color:var(--status-error-default)}.admin-log-source{background:var(--bg-overlay-l2);color:var(--text-secondary)}.admin-log-detail-card{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:14px;background:var(--bg-base-secondary);box-shadow:var(--shadow-sm);padding:16px;display:grid;gap:14px}.admin-log-detail-card h3{margin:0;color:var(--text-default);font-size:18px}.admin-log-detail-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:8px}.admin-log-detail-status{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-default);padding:13px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;color:var(--status-success-default)}.admin-log-detail-status.is-warning{color:var(--status-warning-default)}.admin-log-detail-status.is-danger{color:var(--status-error-default)}.admin-log-detail-status span{min-width:0;display:grid;gap:3px}.admin-log-detail-status strong{color:var(--text-default);font-size:15px}.admin-log-detail-status small{color:var(--text-tertiary);font-size:12px}.admin-log-detail-list{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.admin-log-detail-list div{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:10px;background:var(--bg-base-default);padding:10px;display:grid;gap:4px}.admin-log-detail-list dt,.admin-log-detail-block span{color:var(--text-tertiary);font-size:12px}.admin-log-detail-list dd{min-width:0;margin:0;overflow:hidden;text-overflow:ellipsis;color:var(--text-default);font-size:13px;font-weight:800}.admin-log-detail-block{min-width:0;display:grid;gap:6px}.admin-log-detail-block code{min-width:0;max-height:112px;overflow:auto;border:1px solid var(--border-neutral-l1);border-radius:10px;background:var(--bg-base-default);color:var(--text-secondary);padding:10px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.admin-audit-detail-page{min-width:0;display:grid;gap:16px}.admin-audit-detail-topbar{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-audit-detail-breadcrumb{min-width:0;display:flex;align-items:center;gap:9px;color:var(--text-tertiary);font-size:13px}.admin-audit-detail-breadcrumb span,.admin-audit-detail-breadcrumb strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-audit-detail-breadcrumb span:after{content:"/";margin-left:9px;color:var(--border-neutral-l2)}.admin-audit-detail-breadcrumb strong{color:var(--text-default)}.admin-audit-summary-card,.admin-audit-card{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:14px;background:var(--bg-base-secondary);box-shadow:var(--shadow-sm)}.admin-audit-summary-card{padding:18px;display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.admin-audit-summary-card h2{margin:5px 0 7px;color:var(--text-default);font-size:clamp(24px,3vw,34px);line-height:1.15}.admin-audit-summary-card p{max-width:760px;margin:0;color:var(--text-secondary);line-height:1.7}.admin-audit-result-pill{flex:0 0 auto;border:1px solid var(--status-success-surface-l1);border-radius:12px;background:var(--bg-base-default);color:var(--status-success-default);padding:11px 13px;display:inline-grid;grid-template-columns:auto minmax(0,1fr);gap:9px;align-items:center}.admin-audit-result-pill.is-warning{border-color:var(--status-warning-surface-l1);color:var(--status-warning-default)}.admin-audit-result-pill.is-danger{border-color:var(--status-error-surface-l1);color:var(--status-error-default)}.admin-audit-result-pill span{display:grid;gap:2px}.admin-audit-result-pill strong{color:var(--text-default);font-size:14px}.admin-audit-result-pill small{color:var(--text-tertiary);font-size:12px}.admin-audit-detail-grid{min-width:0;display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:16px;align-items:start}.admin-audit-card{padding:16px;display:grid;gap:14px}.admin-audit-card h3{margin:0;color:var(--text-default);font-size:18px}.admin-audit-detail-list{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.admin-audit-detail-list div,.admin-audit-request-meta div{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:10px;background:var(--bg-base-default);padding:10px;display:grid;gap:4px}.admin-audit-detail-list dt,.admin-audit-request-meta span,.admin-audit-code-block span{color:var(--text-tertiary);font-size:12px;font-weight:700}.admin-audit-detail-list dd{min-width:0;margin:0;overflow:hidden;text-overflow:ellipsis;color:var(--text-default);font-size:13px;font-weight:800}.admin-audit-request-meta{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.admin-audit-request-meta div:last-child{grid-column:1 / -1}.admin-audit-request-meta strong,.admin-audit-request-meta code{min-width:0;overflow:hidden;text-overflow:ellipsis;color:var(--text-default);font-size:13px;font-weight:800}.admin-audit-request-meta code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;white-space:nowrap}.admin-audit-code-block{min-width:0;display:grid;gap:7px}.admin-audit-code-block pre{min-width:0;max-height:220px;overflow:auto;border:1px solid var(--border-neutral-l1);border-radius:10px;background:var(--bg-base-default);color:var(--text-secondary);padding:12px;margin:0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.admin-audit-empty-diff,.admin-audit-related-device{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-default);padding:14px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center}.admin-audit-empty-diff{color:var(--text-secondary)}.admin-audit-empty-diff svg{color:var(--icon-tertiary)}.admin-audit-empty-diff div,.admin-audit-related-device div{min-width:0;display:grid;gap:4px}.admin-audit-empty-diff strong,.admin-audit-related-device strong{color:var(--text-default);font-size:14px}.admin-audit-empty-diff span,.admin-audit-related-device small{color:var(--text-tertiary);font-size:12px;line-height:1.5}.admin-audit-related-device>span{width:36px;height:36px;border-radius:10px;background:var(--bg-overlay-l1);color:var(--icon-secondary);display:inline-flex;align-items:center;justify-content:center}.admin-audit-related-device .secondary-action{grid-column:1 / -1;justify-self:start;min-height:32px}.admin-ops-workspace{min-width:0;display:grid;gap:16px}.admin-ops-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.admin-ops-kpi-card{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:14px;background:var(--bg-base-secondary);box-shadow:var(--shadow-sm);padding:16px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start}.admin-ops-kpi-card span,.admin-ops-kpi-card em{color:var(--text-tertiary);font-size:12px;font-style:normal}.admin-ops-kpi-card strong{display:block;margin-top:7px;color:var(--text-default);font-size:30px;line-height:1;font-variant-numeric:tabular-nums}.admin-ops-kpi-card strong small{margin-left:2px;color:var(--text-tertiary);font-size:15px;font-weight:500}.admin-ops-kpi-card em{display:block;margin-top:8px;line-height:1.4}.admin-ops-kpi-icon{width:44px;height:44px;border-radius:999px;background:var(--bg-base-tertiary);color:var(--text-secondary);display:grid;place-items:center}.admin-ops-kpi-card.is-brand .admin-ops-kpi-icon{background:var(--bg-brand-popup);color:var(--bg-brand)}.admin-ops-kpi-card.is-success .admin-ops-kpi-icon{background:var(--status-success-surface-l1);color:var(--status-success-default)}.admin-ops-kpi-card.is-warning{border-color:color-mix(in srgb,var(--status-warning-default) 36%,var(--border-neutral-l1))}.admin-ops-kpi-card.is-warning .admin-ops-kpi-icon{background:var(--status-warning-surface-l1);color:var(--status-warning-default)}.admin-ops-layout{min-width:0;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr);gap:16px;align-items:start}.admin-ops-fleet-card,.admin-ops-side-card{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:14px;background:var(--bg-base-secondary);box-shadow:var(--shadow-sm);padding:18px;display:grid;gap:14px}.admin-ops-fleet-card h2,.admin-ops-side-card h2{margin:0;color:var(--text-default);font-size:18px}.admin-ops-legend{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px}.admin-ops-legend span{color:var(--text-tertiary);display:inline-flex;align-items:center;gap:5px;font-size:12px}.admin-ops-legend i{width:8px;height:8px;border-radius:3px;background:var(--text-disabled)}.admin-ops-legend .is-online i{background:var(--status-success-default)}.admin-ops-legend .is-maintenance i{background:var(--status-warning-default)}.admin-ops-legend .is-error i{background:var(--status-error-default)}.admin-ops-device-matrix{min-width:0;display:grid;grid-template-columns:repeat(8,minmax(42px,1fr));gap:8px}.admin-ops-device-tile{min-width:0;height:42px;border:1px solid var(--border-neutral-l1);border-radius:8px;background:var(--bg-base-default);color:var(--text-tertiary);cursor:pointer;font:inherit;font-size:11px;font-weight:900;font-variant-numeric:tabular-nums}.admin-ops-device-tile.is-online{border-color:var(--status-success-default);background:var(--status-success-surface-l1);color:var(--status-success-default)}.admin-ops-device-tile.is-maintenance{border-color:var(--status-warning-default);background:var(--status-warning-surface-l1);color:var(--status-warning-default)}.admin-ops-device-tile.is-error{border-color:var(--status-error-default);background:var(--status-error-surface-l1);color:var(--status-error-default);animation:adminOpsPulse 2s ease-in-out infinite}.admin-ops-device-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.admin-ops-device-summary div,.admin-ops-trend-row{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:10px;background:var(--bg-base-default);padding:10px}.admin-ops-device-summary span,.admin-ops-trend-row small{color:var(--text-tertiary);font-size:12px}.admin-ops-device-summary strong,.admin-ops-trend-row strong{display:block;margin-top:4px;color:var(--text-default);font-size:20px;line-height:1;font-variant-numeric:tabular-nums}.admin-ops-alert-list,.admin-ops-user-list,.admin-ops-trend-list,.admin-ops-mqtt-list,.admin-ops-log-list,.admin-ops-session-list{min-width:0;display:grid;gap:8px}.admin-ops-alert-list h3{margin:2px 0 0;color:var(--text-default);font-size:15px}.admin-ops-alert-row{min-width:0;border:1px solid var(--status-warning-surface-l2);border-left:3px solid var(--status-warning-default);border-radius:10px;background:var(--status-warning-surface-l1);padding:10px 12px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center}.admin-ops-alert-row.is-error{border-color:var(--status-error-surface-l2);border-left-color:var(--status-error-default);background:var(--status-error-surface-l1)}.admin-ops-alert-row.is-offline{border-color:var(--border-neutral-l1);border-left-color:var(--text-disabled);background:var(--bg-base-default)}.admin-device-factory-card{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-default);padding:14px;display:grid;gap:12px}.admin-device-factory-card h3{margin:0;color:var(--text-default);font-size:15px}.admin-device-factory-card.admin-production-module-entry{grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:16px;background:color-mix(in srgb,var(--bg-brand-popup) 36%,var(--bg-base-default))}.admin-production-entry-icon{width:48px;height:48px;border-radius:14px;background:var(--bg-brand-popup);color:var(--text-brand);display:grid;place-items:center}.admin-production-entry-copy{min-width:0}.admin-production-entry-copy p{margin:5px 0 9px;color:var(--text-secondary);font-size:12px;line-height:1.5}.admin-production-entry-copy>div{display:flex;align-items:center;gap:8px}.admin-production-entry-copy>div>span:first-child{color:var(--text-tertiary);font-size:11px;display:inline-flex;align-items:center;gap:5px}@media(max-width:680px){.admin-device-factory-card.admin-production-module-entry{grid-template-columns:auto minmax(0,1fr)}.admin-production-module-entry>.primary-action{grid-column:1 / -1;width:100%}}.admin-device-factory-grid{min-width:0;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(240px,.95fr);gap:12px;align-items:start}.admin-device-factory-form,.admin-device-factory-flow{min-width:0;display:grid;gap:10px}.admin-device-factory-form label,.admin-device-factory-flow label{min-width:0;display:grid;gap:6px;color:var(--text-secondary);font-size:12px;font-weight:800}.admin-device-factory-form input,.admin-device-factory-form select,.admin-device-factory-form textarea,.admin-device-factory-flow select{width:100%;min-width:0;border:1px solid var(--border-neutral-l1);border-radius:8px;background:var(--bg-base-secondary);color:var(--text-default);font:inherit;font-size:13px;outline:none}.admin-device-factory-form input,.admin-device-factory-form select,.admin-device-factory-flow select{height:40px;padding:0 10px}.admin-device-factory-form textarea{min-height:96px;padding:10px;resize:vertical}.admin-device-factory-state{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.admin-device-factory-state div{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:8px;background:var(--bg-base-secondary);padding:9px}.admin-device-factory-state span{color:var(--text-tertiary);font-size:11px}.admin-device-factory-state strong{display:block;min-width:0;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-default);font-size:12px}.admin-device-factory-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.admin-device-factory-actions .primary-action,.admin-device-factory-actions .secondary-action{justify-content:center;min-width:0;padding-inline:10px}.admin-settings-workspace{min-width:0;display:grid;gap:18px;align-items:start}.admin-settings-topbar{min-width:0;border-bottom:1px solid var(--border-neutral-l1);padding-bottom:16px;display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.admin-settings-topbar h2,.admin-settings-topbar p,.admin-settings-card h3,.admin-settings-card p{margin:0}.admin-settings-topbar h2{margin-top:4px;color:var(--text-default);font-size:24px}.admin-settings-topbar p{max-width:720px;margin-top:6px;color:var(--text-secondary);line-height:1.6}.admin-settings-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex:0 0 auto}.admin-settings-summary-grid{min-width:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.admin-settings-summary-card{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-secondary);box-shadow:var(--shadow-sm);padding:14px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start}.admin-settings-summary-card>span{width:34px;height:34px;border-radius:10px;background:var(--bg-base-tertiary);color:var(--text-secondary);display:grid;place-items:center}.admin-settings-summary-card.is-brand>span{background:var(--bg-brand-popup);color:var(--bg-brand)}.admin-settings-summary-card.is-success>span{background:var(--status-success-surface-l1);color:var(--status-success-default)}.admin-settings-summary-card.is-warning>span{background:var(--status-warning-surface-l1);color:var(--status-warning-default)}.admin-settings-summary-card div{min-width:0;display:grid;gap:4px}.admin-settings-summary-card small,.admin-settings-summary-card em,.admin-settings-field small,.admin-settings-logo-row small{min-width:0;color:var(--text-tertiary);font-size:12px;line-height:1.45;font-style:normal}.admin-settings-summary-card strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-default);font-size:18px}.admin-settings-stack{width:100%;min-width:0;display:grid;gap:0}.admin-settings-tabs{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:14px;background:var(--bg-base-secondary);padding:5px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:5px}.admin-settings-tabs>button{min-width:0;min-height:64px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--text-secondary);padding:10px 13px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;cursor:pointer;text-align:left;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.admin-settings-tabs>button:hover{background:var(--bg-base-default);color:var(--text-default)}.admin-settings-tabs>button.is-active{border-color:color-mix(in srgb,var(--bg-brand) 32%,var(--border-neutral-l1));background:var(--bg-base-default);color:var(--text-brand);box-shadow:var(--shadow-sm)}.admin-settings-tabs>button>span:first-child{width:34px;height:34px;border-radius:10px;background:var(--bg-base-tertiary);color:var(--text-tertiary);display:grid;place-items:center}.admin-settings-tabs>button.is-active>span:first-child{background:var(--bg-brand-popup);color:var(--text-brand)}.admin-settings-tabs>button>span:last-child{min-width:0;display:grid;gap:4px}.admin-settings-tabs strong,.admin-settings-tabs small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-settings-tabs strong{color:var(--text-default);font-size:14px}.admin-settings-tabs small{color:var(--text-tertiary);font-size:11px}.admin-settings-tab-panel{min-width:0}.admin-settings-tab-panel.is-platform>.admin-settings-card{width:min(820px,100%)}.admin-settings-tab-panel.is-oauth .admin-oauth-provider-list{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.admin-settings-tab-panel.is-oauth .admin-oauth-provider-row{align-content:start}.admin-settings-card{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:14px;background:var(--bg-base-secondary);box-shadow:var(--shadow-sm);padding:18px;display:grid;gap:18px}.admin-settings-card-head{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start}.admin-settings-icon{width:38px;height:38px;border-radius:12px;background:var(--bg-brand-popup);color:var(--bg-brand);display:grid;place-items:center}.admin-settings-icon.is-data{background:var(--status-success-surface-l1);color:var(--status-success-default)}.admin-settings-icon.is-oauth{background:var(--status-info-surface-l1);color:var(--status-info-default)}.admin-settings-card h3{color:var(--text-default);font-size:18px}.admin-settings-card p{margin-top:4px;color:var(--text-secondary);font-size:13px;line-height:1.55}.admin-settings-grid{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.admin-settings-field{min-width:0;display:grid;gap:8px}.admin-settings-field label,.admin-settings-field>span,.admin-settings-group-title{color:var(--text-secondary);font-size:12px;font-weight:850}.admin-settings-field input,.admin-settings-field select,.admin-settings-field textarea{width:100%;min-width:0;border:1px solid var(--border-neutral-l1);border-radius:10px;background:var(--bg-base-default);color:var(--text-default);padding:0 12px;font:inherit;font-size:14px;outline:none}.admin-settings-field input,.admin-settings-field select{height:42px}.admin-settings-field textarea{min-height:96px;padding-top:10px;resize:vertical}.admin-settings-field select:disabled{opacity:1;color:var(--text-default)}.admin-settings-field input:focus,.admin-settings-field textarea:focus{border-color:var(--border-brand);box-shadow:0 0 0 3px var(--bg-brand-popup)}.admin-settings-logo-row{min-width:0;border:1px dashed var(--border-neutral-l2);border-radius:12px;background:var(--bg-base-default);padding:14px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:center}.admin-settings-logo{width:64px;height:64px;border-radius:14px;background:var(--bg-base-tertiary);color:var(--text-tertiary);display:grid;place-items:center}.admin-settings-logo-row strong{color:var(--text-default);font-size:14px}.admin-settings-switch{width:112px;min-width:112px;height:34px;border:1px solid var(--border-neutral-l1);border-radius:999px;background:var(--bg-base-default);color:var(--text-tertiary);cursor:pointer;display:grid;grid-template-columns:24px minmax(0,1fr);gap:6px;align-items:center;padding:4px 10px 4px 5px;font:inherit;font-size:11px;font-weight:800}.admin-settings-switch i{width:22px;height:22px;border-radius:999px;background:var(--text-disabled)}.admin-settings-switch span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-settings-switch.is-on{border-color:color-mix(in srgb,var(--status-success-default) 42%,var(--border-neutral-l1));background:var(--status-success-surface-l1);color:var(--status-success-default)}.admin-settings-switch.is-on i{background:var(--status-success-default)}.admin-oauth-provider-list{min-width:0;display:grid;gap:12px}.admin-oauth-provider-row{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-default);padding:14px;display:grid;gap:14px}.admin-oauth-provider-head{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center}.admin-oauth-provider-head>div{min-width:0;display:grid;gap:3px}.admin-oauth-provider-head strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-default);font-size:14px}.admin-oauth-provider-head small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-tertiary);font-size:12px}.admin-oauth-provider-icon{width:38px;height:38px;border:1px solid var(--border-neutral-l1);border-radius:10px;background:var(--bg-base-secondary);display:grid;place-items:center;overflow:hidden}.admin-oauth-provider-icon img{max-width:22px;max-height:22px;object-fit:contain}.admin-oauth-provider-grid{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:end}.admin-oauth-redirect-field,.admin-oauth-provider-note{grid-column:1 / -1}.admin-settings-field label em{margin-left:6px;border-radius:999px;background:var(--status-warning-surface-l1);color:var(--status-warning-default);padding:2px 7px;font-size:10px;font-style:normal;font-weight:800}.admin-oauth-redirect-control{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.admin-oauth-redirect-control>button{min-width:78px;height:42px;border:1px solid var(--border-neutral-l1);border-radius:10px;background:var(--bg-base-secondary);color:var(--text-secondary);padding:0 12px;display:inline-flex;align-items:center;justify-content:center;gap:6px;font:inherit;font-size:12px;font-weight:800;cursor:pointer}.admin-oauth-redirect-control>button:hover:not(:disabled){border-color:var(--border-brand);color:var(--text-brand)}.admin-oauth-redirect-control>button:disabled{cursor:not-allowed;opacity:.5}.admin-oauth-redirect-field>small{color:var(--text-tertiary);font-size:11px;line-height:1.55}.admin-oauth-provider-note{min-width:0;margin:0;border:1px solid var(--border-neutral-l2);border-radius:9px;background:var(--bg-base-secondary);color:var(--text-secondary);padding:9px 10px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:7px;align-items:start;font-size:11px;line-height:1.55}.admin-oauth-provider-note>svg{margin-top:1px;color:var(--text-brand)}.admin-oauth-provider-actions{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:10px}.admin-oauth-clear-secret{min-width:0;color:var(--text-secondary);font-size:12px;font-weight:800;display:inline-flex;align-items:center;gap:7px}.admin-oauth-clear-secret input{width:14px;height:14px;accent-color:var(--bg-brand)}.admin-oauth-provider-icon[data-provider=wechat-open] img{width:24px;height:24px;max-width:24px;max-height:24px}.admin-oauth-provider-icon[data-provider=google] img{width:19px;height:19px;max-width:19px;max-height:19px}.admin-oauth-provider-icon[data-provider=apple] img{width:26px;height:26px;max-width:26px;max-height:26px;transform:translate(.5px)}.admin-oauth-provider-icon[data-provider=feishu] img{width:21px;height:21px;max-width:21px;max-height:21px}html[data-theme=dark] .admin-oauth-provider-icon[data-provider=apple] img{filter:invert(1)}.admin-dict-toolbar{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}.admin-dict-layout{min-width:0;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(240px,.9fr);gap:14px;align-items:start}.admin-dict-list{min-width:0;max-height:432px;overflow:auto;display:grid;gap:10px;padding-right:2px}.admin-dict-loading{border:1px dashed var(--border-neutral-l2);border-radius:10px;background:var(--bg-base-default);padding:16px}.admin-dict-item{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:10px;background:var(--bg-base-default);padding:10px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center}.admin-dict-item.is-selected{border-color:var(--border-brand);background:var(--bg-brand-popup)}.admin-dict-item-main{min-width:0;border:0;background:transparent;color:inherit;cursor:pointer;padding:0;text-align:left;display:grid;gap:4px}.admin-dict-item-main strong,.admin-dict-form-head strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-default);font-size:14px}.admin-dict-item-main span,.admin-dict-form-head span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-tertiary);font-size:12px}.admin-dict-form{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:10px;background:var(--bg-base-default);padding:14px;display:grid;gap:12px}.admin-dict-form-head{min-width:0;display:grid;gap:4px}.admin-dict-actions{display:flex;justify-content:flex-end;gap:10px}.admin-role-workspace,.admin-health-page{min-width:0;display:grid;gap:16px}.admin-role-card-grid{min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.admin-role-card{min-width:0;min-height:268px;border:1px solid var(--border-neutral-l1);border-radius:14px;background:var(--bg-base-default);color:var(--text-default);box-shadow:var(--shadow-sm);padding:16px;display:grid;align-content:start;gap:13px;cursor:pointer;text-align:left;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.admin-role-card:hover,.admin-role-card.is-active{border-color:var(--border-brand);box-shadow:var(--shadow-md);transform:translateY(-1px)}.admin-role-card.is-active{background:color-mix(in srgb,var(--bg-brand-popup) 58%,var(--bg-base-default))}.admin-role-card-head{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center}.admin-role-card-head strong,.admin-role-card-head small,.admin-role-member-count,.admin-role-edit-link{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-role-card-head strong{display:block;color:var(--text-default);font-size:16px}.admin-role-card-head small,.admin-role-member-count{color:var(--text-secondary);font-size:12px}.admin-role-icon{width:38px;height:38px;border-radius:12px;background:var(--bg-brand);color:var(--text-onbrand);display:grid;place-items:center}.admin-role-card.is-tone-2 .admin-role-icon{background:var(--status-success-default)}.admin-role-card.is-tone-3 .admin-role-icon{background:var(--status-warning-default)}.admin-role-card.is-tone-4 .admin-role-icon{background:var(--status-info-default)}.admin-role-member-count,.admin-role-edit-link{display:inline-flex;align-items:center;gap:6px}.admin-role-permission-list{min-height:132px;display:grid;align-content:start;gap:7px}.admin-role-permission-title{color:var(--text-tertiary);font-size:11px;font-weight:900;text-transform:uppercase}.admin-role-permission-list>span:not(.admin-role-permission-title){min-width:0;display:flex;align-items:center;gap:7px;color:var(--text-secondary);font-size:13px;line-height:1.35}.admin-role-permission-list>span.is-granted{color:var(--text-default)}.admin-role-permission-list>span.is-granted svg{color:var(--status-success-default)}.admin-role-permission-list>span.is-denied{color:var(--text-disabled)}.admin-role-permission-list>span.is-denied svg{color:var(--text-tertiary)}.admin-role-permission-list small{color:var(--text-tertiary);font-size:12px;line-height:1.5}.admin-role-edit-link{min-height:34px;border:1px solid var(--border-neutral-l1);border-radius:9px;justify-content:center;color:var(--text-secondary);font-size:13px;font-weight:800}.admin-role-card.is-active .admin-role-edit-link{border-color:var(--border-brand);color:var(--bg-brand)}.admin-role-detail-grid,.admin-health-grid,.admin-health-lower-grid{min-width:0;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);gap:14px;align-items:start}.admin-permission-source-list{max-height:360px;overflow:auto;display:grid;gap:10px}.admin-role-toolbar{align-items:flex-end}.admin-role-toolbar>div:first-child{display:grid;gap:5px}.admin-role-toolbar h2{margin:0}.admin-role-toolbar-actions,.admin-role-bulk-actions,.admin-role-form-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px}.admin-role-console.admin-role-detail-grid{min-height:650px;grid-template-columns:288px minmax(0,1fr);gap:0;align-items:stretch;overflow:hidden;border:1px solid var(--border-neutral-l1);border-radius:16px;background:var(--bg-base-default);box-shadow:var(--shadow-sm)}.admin-role-sidebar{min-width:0;border-right:1px solid var(--border-neutral-l1);background:color-mix(in srgb,var(--bg-base-secondary) 76%,var(--bg-base-default));padding:18px 14px;display:flex;flex-direction:column;gap:14px}.admin-role-sidebar-head,.admin-role-config-head,.admin-role-subview-head,.admin-permission-catalog-head,.admin-permission-editor-head{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:14px}.admin-role-sidebar-head h3,.admin-role-config-head h3,.admin-role-subview-head h3,.admin-permission-catalog-head h4,.admin-permission-editor-head h4{margin:3px 0 0;color:var(--text-default)}.admin-role-step{color:var(--text-brand);font-size:11px;font-weight:850;letter-spacing:.04em}.admin-role-card-grid.admin-role-list{min-height:0;display:grid;grid-template-columns:1fr;align-content:start;gap:8px}.admin-role-list-item{width:100%;min-width:0;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--text-default);padding:11px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;cursor:pointer;text-align:left;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.admin-role-list-item:hover{border-color:var(--border-neutral-l2);background:var(--bg-base-default)}.admin-role-list-item.is-active{border-color:color-mix(in srgb,var(--bg-brand) 36%,var(--border-neutral-l1));background:var(--bg-base-default);box-shadow:0 5px 18px color-mix(in srgb,var(--bg-brand) 8%,transparent)}.admin-role-list-item .admin-role-icon{width:36px;height:36px;border-radius:11px}.admin-role-list-item.is-tone-2 .admin-role-icon{background:var(--status-success-default)}.admin-role-list-item.is-tone-3 .admin-role-icon{background:var(--status-warning-default)}.admin-role-list-item.is-tone-4 .admin-role-icon{background:var(--status-info-default)}.admin-role-list-copy,.admin-role-list-copy strong,.admin-role-list-copy small{min-width:0}.admin-role-list-copy{display:grid;gap:3px}.admin-role-list-copy strong,.admin-role-list-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-role-list-copy strong{color:var(--text-default);font-size:14px}.admin-role-list-copy small,.admin-role-list-copy>span{color:var(--text-tertiary);font-size:11px}.admin-role-list-copy>span{display:inline-flex;align-items:center;gap:4px}.admin-role-selected-icon{color:var(--text-brand)}.admin-role-create-shortcut{min-height:38px;margin-top:auto;border:1px dashed var(--border-neutral-l2);border-radius:10px;background:transparent;color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;gap:7px;cursor:pointer}.admin-role-create-shortcut:hover:not(:disabled){border-color:var(--border-brand);color:var(--text-brand);background:var(--bg-brand-popup)}.admin-role-main{min-width:0;background:var(--bg-base-default)}.admin-role-config-card,.admin-permission-manager{min-width:0;min-height:100%;padding:22px;display:grid;align-content:start;gap:18px}.admin-role-config-head{align-items:flex-start}.admin-role-config-heading{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start}.admin-role-config-heading>.admin-role-step{min-width:48px;border-radius:999px;background:var(--bg-brand-popup);padding:5px 8px;text-align:center}.admin-role-config-head h3{font-size:19px;line-height:1.35}.admin-role-config-head p,.admin-role-subview-head p{margin:5px 0 0;color:var(--text-secondary);font-size:13px;line-height:1.55}.admin-role-summary-strip{overflow:hidden;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-secondary);display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.admin-role-summary-strip>span{min-width:0;padding:12px 14px;display:grid;gap:4px}.admin-role-summary-strip>span+span{border-left:1px solid var(--border-neutral-l1)}.admin-role-summary-strip small{color:var(--text-tertiary);font-size:11px}.admin-role-summary-strip strong{min-width:0;color:var(--text-default);font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-role-permission-tools{min-width:0;display:grid;grid-template-columns:minmax(210px,1fr) auto auto;gap:10px;align-items:center}.admin-role-permission-search{min-width:0;height:40px;border:1px solid var(--border-neutral-l1);border-radius:10px;background:var(--bg-base-secondary);color:var(--text-tertiary);padding:0 11px;display:flex;align-items:center;gap:8px}.admin-role-permission-search:focus-within{border-color:var(--border-brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--bg-brand) 11%,transparent)}.admin-role-permission-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--text-default);font:inherit;font-size:13px}.admin-role-permission-filters{min-height:40px;border:1px solid var(--border-neutral-l1);border-radius:10px;background:var(--bg-base-secondary);padding:3px;display:flex;align-items:center;gap:2px}.admin-role-permission-filters button,.admin-role-bulk-actions button{min-height:32px;border:0;border-radius:7px;background:transparent;color:var(--text-secondary);padding:0 10px;font-size:12px;cursor:pointer;white-space:nowrap}.admin-role-permission-filters button:hover,.admin-role-bulk-actions button:hover:not(:disabled){color:var(--text-default);background:var(--bg-base-tertiary)}.admin-role-permission-filters button.is-active{background:var(--bg-base-default);color:var(--text-brand);box-shadow:var(--shadow-sm);font-weight:800}.admin-role-bulk-actions{gap:2px}.admin-role-bulk-actions button:last-child{color:var(--status-error-default)}.admin-role-permission-groups{min-width:0;display:grid;gap:12px}.admin-role-permission-group{min-width:0;overflow:hidden;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-default)}.admin-role-permission-group>header{min-height:54px;border-bottom:1px solid var(--border-neutral-l1);background:var(--bg-base-secondary);padding:10px 13px;display:flex;align-items:center;justify-content:space-between}.admin-role-permission-group>header>div{display:flex;align-items:center;gap:9px}.admin-role-permission-group h4,.admin-role-permission-group small{margin:0}.admin-role-permission-group h4{color:var(--text-default);font-size:14px}.admin-role-permission-group small{color:var(--text-tertiary);font-size:11px}.admin-permission-type-icon{width:30px;height:30px;border-radius:9px;background:var(--bg-brand-popup);color:var(--text-brand);display:grid;place-items:center}.admin-permission-type-icon.is-button{background:var(--status-warning-surface-l1);color:var(--status-warning-default)}.admin-permission-type-icon.is-api{background:var(--status-info-surface-l1);color:var(--status-info-default)}.admin-role-permission-options{padding:10px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.admin-role-permission-option{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:10px;background:var(--bg-base-default);padding:10px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px;align-items:center;cursor:pointer;transition:border-color .15s ease,background .15s ease}.admin-role-permission-option:hover{border-color:var(--border-neutral-l2);background:var(--bg-base-secondary)}.admin-role-permission-option.is-checked{border-color:color-mix(in srgb,var(--bg-brand) 42%,var(--border-neutral-l1));background:color-mix(in srgb,var(--bg-brand-popup) 62%,var(--bg-base-default))}.admin-role-permission-option input{position:absolute;opacity:0;pointer-events:none}.admin-permission-checkmark{width:21px;height:21px;border:1px solid var(--border-neutral-l2);border-radius:6px;color:transparent;display:grid;place-items:center}.admin-role-permission-option.is-checked .admin-permission-checkmark{border-color:var(--bg-brand);background:var(--bg-brand);color:var(--text-onbrand)}.admin-role-permission-option>span:last-child{min-width:0;display:grid;gap:3px}.admin-role-permission-option strong,.admin-role-permission-option small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-role-permission-option strong{color:var(--text-default);font-size:13px}.admin-role-permission-option small{color:var(--text-tertiary);font-size:11px}.admin-role-loading-state,.admin-role-empty-guide{min-height:300px;border:1px dashed var(--border-neutral-l2);border-radius:14px;color:var(--text-secondary);display:grid;place-items:center}.admin-role-empty-guide{align-content:center;gap:10px;padding:30px;text-align:center}.admin-role-empty-guide svg{color:var(--text-brand)}.admin-role-empty-guide h3,.admin-role-empty-guide p{margin:0}.admin-role-empty-guide p{max-width:420px;color:var(--text-secondary);font-size:13px}.admin-role-savebar{position:sticky;bottom:0;z-index:3;margin:0 -22px -22px;border-top:1px solid var(--border-neutral-l1);background:color-mix(in srgb,var(--bg-base-default) 94%,transparent);padding:13px 22px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:space-between;gap:16px}.admin-role-savebar>div{display:flex;align-items:baseline;gap:6px}.admin-role-savebar strong{color:var(--text-brand);font-size:20px}.admin-role-savebar span{color:var(--text-secondary);font-size:12px}.admin-role-editor-card,.admin-permission-manager{border:0;border-radius:0;box-shadow:none}.admin-role-editor-card{min-height:100%;padding:22px}.admin-role-subview-head{align-items:flex-start}.admin-role-subview-head>div{min-width:0;flex:1}.admin-role-back-link{min-height:32px;border:0;border-radius:8px;background:var(--bg-base-secondary);color:var(--text-secondary);padding:0 10px;display:inline-flex;align-items:center;gap:6px;cursor:pointer}.admin-role-back-link:hover{color:var(--text-brand);background:var(--bg-brand-popup)}.admin-role-form{width:min(760px,100%);margin:24px auto 0;border:1px solid var(--border-neutral-l1);border-radius:14px;background:var(--bg-base-secondary);padding:18px}.admin-role-form label small{color:var(--text-tertiary);font-size:11px;line-height:1.45}.admin-role-form textarea{resize:vertical}.admin-role-form-actions{padding-top:4px}.admin-permission-manager-grid{min-width:0;display:grid;grid-template-columns:minmax(300px,.95fr) minmax(360px,1.05fr);gap:14px;align-items:start}.admin-permission-catalog,.admin-permission-editor-card{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:14px;background:var(--bg-base-secondary);padding:15px;display:grid;gap:12px}.admin-permission-catalog-head h4,.admin-permission-editor-head h4{font-size:16px}.admin-permission-catalog-head span{color:var(--text-tertiary);font-size:11px}.admin-permission-catalog .admin-permission-source-list{max-height:480px;gap:7px}.admin-permission-catalog-item{min-width:0;border:1px solid transparent;border-radius:10px;background:var(--bg-base-default);padding:10px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;cursor:pointer;text-align:left}.admin-permission-catalog-item:hover,.admin-permission-catalog-item.is-active{border-color:var(--border-brand)}.admin-permission-catalog-item.is-active{background:var(--bg-brand-popup)}.admin-permission-catalog-item>span:first-child{min-width:0;display:grid;gap:3px}.admin-permission-catalog-item strong,.admin-permission-catalog-item small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-permission-catalog-item strong{color:var(--text-default);font-size:13px}.admin-permission-catalog-item small{color:var(--text-tertiary);font-size:11px}.admin-permission-form{padding-top:4px}@media(max-width:980px){.admin-role-console.admin-role-detail-grid{grid-template-columns:242px minmax(0,1fr)}.admin-role-permission-tools{grid-template-columns:1fr}.admin-role-permission-filters,.admin-role-bulk-actions{justify-content:flex-start}.admin-role-permission-options,.admin-permission-manager-grid{grid-template-columns:1fr}}@media(max-width:760px){.admin-role-toolbar,.admin-role-config-head,.admin-role-subview-head{align-items:stretch;flex-direction:column}.admin-role-toolbar-actions{justify-content:stretch}.admin-role-toolbar-actions button{flex:1}.admin-role-console.admin-role-detail-grid{grid-template-columns:1fr}.admin-role-sidebar{border-right:0;border-bottom:1px solid var(--border-neutral-l1)}.admin-role-card-grid.admin-role-list{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-role-create-shortcut{margin-top:0}.admin-role-config-card,.admin-permission-manager,.admin-role-editor-card{padding:16px}.admin-role-savebar{margin:0 -16px -16px;padding:12px 16px}}@media(max-width:520px){.admin-role-card-grid.admin-role-list,.admin-role-summary-strip{grid-template-columns:1fr}.admin-role-summary-strip>span+span{border-top:1px solid var(--border-neutral-l1);border-left:0}.admin-role-permission-filters{overflow-x:auto}.admin-role-savebar{align-items:stretch;flex-direction:column}.admin-role-savebar .primary-action{width:100%}}.admin-health-banner{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:14px;background:var(--bg-base-default);box-shadow:var(--shadow-sm);padding:16px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center}.admin-health-banner>span{width:40px;height:40px;border-radius:13px;display:grid;place-items:center}.admin-health-banner.is-ok>span{background:var(--status-success-surface-l1);color:var(--status-success-default)}.admin-health-banner.is-warning>span{background:var(--status-warning-surface-l1);color:var(--status-warning-default)}.admin-health-banner.is-unknown>span{background:var(--bg-overlay-l2);color:var(--text-secondary)}.admin-health-banner h2,.admin-health-banner p{margin:0}.admin-health-banner h2{color:var(--text-default);font-size:18px}.admin-health-banner p{margin-top:4px;color:var(--text-secondary);font-size:13px;line-height:1.55}.admin-health-kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.admin-health-kpi-card,.admin-service-card,.admin-infra-row{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-default);box-shadow:var(--shadow-sm)}.admin-health-kpi-card{padding:14px;display:grid;gap:8px}.admin-health-kpi-card span,.admin-health-kpi-card small,.admin-service-card small,.admin-infra-row small{color:var(--text-tertiary);font-size:12px;line-height:1.45}.admin-health-kpi-card strong{color:var(--text-default);font-size:25px;line-height:1;font-variant-numeric:tabular-nums}.admin-health-kpi-card.is-success{border-color:color-mix(in srgb,var(--status-success-default) 34%,var(--border-neutral-l1))}.admin-health-kpi-card.is-warning{border-color:color-mix(in srgb,var(--status-warning-default) 38%,var(--border-neutral-l1));background:color-mix(in srgb,var(--status-warning-surface-l1) 52%,var(--bg-base-default))}.admin-health-chart{width:100%;min-height:220px;display:block}.admin-health-gridline{stroke:var(--border-neutral-l1);stroke-dasharray:4 4}.admin-health-axis{fill:var(--text-tertiary);font-size:11px}.admin-health-area{fill:url(#adminHealthCostFill)}.admin-health-line{fill:none;stroke:var(--bg-brand);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.admin-device-status-bars{display:grid;gap:14px}.admin-device-status-bars div{display:grid;grid-template-columns:86px minmax(0,1fr) auto;gap:10px;align-items:center;color:var(--text-secondary);font-size:13px}.admin-device-status-bars i{height:18px;border-radius:999px;background:var(--bg-overlay-l2);overflow:hidden}.admin-device-status-bars b{display:block;height:100%;border-radius:inherit;background:var(--status-success-default)}.admin-device-status-bars div:nth-child(2) b{background:var(--brand-grey-500)}.admin-device-status-bars strong,.admin-health-mini-facts strong{color:var(--text-default);font-variant-numeric:tabular-nums}.admin-health-mini-facts{margin-top:16px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.admin-health-mini-facts div{min-width:0;border-radius:10px;background:var(--bg-base-tertiary);padding:10px;display:grid;gap:5px}.admin-health-mini-facts span{color:var(--text-tertiary);font-size:12px}.admin-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.admin-service-card{padding:14px;display:grid;gap:10px}.admin-service-card>div{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:center}.admin-service-card>div span{width:30px;height:30px;border-radius:10px;background:var(--bg-base-tertiary);color:var(--text-tertiary);display:grid;place-items:center}.admin-service-card strong{min-width:0;color:var(--text-default);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-service-card.is-success>div span{background:var(--status-success-surface-l1);color:var(--status-success-default)}.admin-service-card.is-warning>div span{background:var(--status-warning-surface-l1);color:var(--status-warning-default)}.admin-infra-list{display:grid;gap:10px}.admin-infra-row{min-height:58px;padding:10px 12px;display:grid;grid-template-columns:auto auto minmax(0,1fr);gap:9px;align-items:center}.admin-infra-row>span{width:30px;height:30px;border-radius:10px;background:var(--bg-base-tertiary);color:var(--text-tertiary);display:grid;place-items:center}.admin-infra-row strong{color:var(--text-default)}@media(max-width:1100px){.admin-section-nav{top:115px}}@media(max-width:980px){.admin-page-topbar,.admin-section-toolbar{align-items:flex-start;flex-direction:column}.admin-page-actions,.admin-section-tools{width:100%;justify-content:flex-start;flex-wrap:wrap}.admin-page-heading{width:100%;flex-direction:column}.admin-search{width:min(100%,340px)}.admin-overview-brief{grid-template-columns:1fr}.admin-user-stat-grid,.admin-subject-stat-grid,.admin-subject-detail-stats,.admin-subject-detail-list{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-subject-row{grid-template-columns:44px minmax(220px,1fr) minmax(180px,.8fr)}.admin-subject-row>time{text-align:left}.admin-subject-actions{grid-column:2 / -1;justify-content:flex-start}.admin-subject-detail-grid{grid-template-columns:1fr}.admin-role-card-grid,.admin-service-grid,.admin-health-kpi-grid,.admin-device-trace-summary,.admin-ops-kpi-grid,.admin-settings-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-role-detail-grid,.admin-health-grid,.admin-health-lower-grid,.admin-log-layout,.admin-ops-layout,.admin-device-factory-grid,.admin-dict-layout,.admin-oauth-provider-grid{grid-template-columns:1fr}.admin-ops-device-matrix{grid-template-columns:repeat(6,minmax(40px,1fr))}.admin-settings-stack{width:100%}.admin-settings-tab-panel.is-oauth .admin-oauth-provider-list{grid-template-columns:1fr}}@media(max-width:820px){.admin-section-nav{top:107px}}@media(max-width:560px){.admin-page{gap:14px}.admin-overview-grid{display:flex;overflow-x:auto;scrollbar-width:none}.admin-overview-grid::-webkit-scrollbar{display:none}.admin-overview-grid article{flex:0 0 145px}.admin-user-stat-grid,.admin-subject-stat-grid,.admin-role-card-grid,.admin-service-grid,.admin-health-kpi-grid,.admin-ops-kpi-grid,.admin-ops-device-summary,.admin-device-trace-summary,.admin-device-factory-state,.admin-device-factory-actions,.admin-settings-summary-grid,.admin-settings-grid{grid-template-columns:1fr}.admin-overview-meta{grid-template-columns:1fr;gap:10px}.admin-overview-meta>div,.admin-overview-meta>div:first-child{border-left:0;padding:0}.admin-access-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 0}.admin-surface,.admin-settings-card{padding:14px}.admin-settings-topbar,.admin-settings-logo-row,.admin-oauth-provider-head,.admin-dict-toolbar,.admin-dict-item{grid-template-columns:1fr;align-items:stretch}.admin-settings-topbar{display:grid}.admin-settings-tabs{display:flex;overflow-x:auto;scrollbar-width:none}.admin-settings-tabs::-webkit-scrollbar{display:none}.admin-settings-tabs>button{flex:0 0 210px}.admin-settings-actions{justify-content:stretch}.admin-settings-actions .primary-action,.admin-settings-actions .secondary-action{flex:1 1 0}.admin-settings-switch,.admin-oauth-provider-actions .secondary-action,.admin-dict-actions .primary-action,.admin-dict-actions .secondary-action{width:100%}.admin-oauth-provider-actions{display:grid;grid-template-columns:1fr}.admin-oauth-redirect-control{grid-template-columns:1fr}.admin-oauth-redirect-control>button{width:100%}.admin-dict-actions{display:grid;grid-template-columns:1fr}.admin-health-banner,.admin-device-status-bars div,.admin-infra-row{grid-template-columns:1fr}.admin-user-detail-drawer{width:min(520px,100%);max-width:100vw}.admin-user-detail-stats,.admin-user-detail-list>div,.admin-user-role-picker,.admin-subject-detail-stats,.admin-subject-detail-list{grid-template-columns:1fr}.admin-section-tools{display:grid;grid-template-columns:1fr}.admin-page-actions{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center}.admin-page-actions .secondary-action,.admin-search{width:100%}.admin-subject-tabs{gap:12px;overflow-x:auto}.admin-subject-filterbar,.admin-subject-profile,.admin-subject-modal-foot{align-items:stretch;grid-template-columns:1fr;flex-direction:column}.admin-subject-row{grid-template-columns:40px minmax(0,1fr);align-items:start}.admin-subject-facts,.admin-subject-row>time,.admin-subject-actions{grid-column:2}.admin-subject-actions{justify-content:flex-start;flex-wrap:wrap}.admin-log-filter-card,.admin-log-date-range{display:grid;grid-template-columns:1fr;align-items:stretch}.admin-log-detail-list{grid-template-columns:1fr}.admin-log-timeline{padding-left:24px}.admin-ops-device-matrix{grid-template-columns:repeat(4,minmax(38px,1fr))}.admin-ops-alert-row,.admin-ops-user-row,.admin-ops-session-row,.admin-ops-trend-row{grid-template-columns:1fr}.admin-ops-trend-row{align-items:flex-start;flex-direction:column}}.admin-users-filter,.notification-tabs{border:1px solid var(--border-neutral-l1);border-radius:14px;background:var(--bg-base-secondary);padding:9px;display:flex;gap:8px;flex-wrap:wrap}.admin-users-filter button,.notification-tabs button{min-height:30px;border:1px solid var(--border-neutral-l1);border-radius:999px;background:var(--bg-base-tertiary);color:var(--text-secondary);padding:0 12px;font:inherit;font-size:13px;cursor:pointer}.admin-users-filter button.is-active,.notification-tabs button.is-active{border-color:var(--border-brand);background:var(--bg-brand-popup);color:var(--bg-brand);font-weight:800}.admin-user-list{min-width:0;overflow-x:auto;border:1px solid var(--border-neutral-l1);border-radius:16px;background:var(--bg-base-secondary)}.admin-user-row{min-width:760px;border-bottom:1px solid var(--border-neutral-l1);display:grid;grid-template-columns:42px minmax(180px,1fr) 90px 90px 80px 110px 34px 34px;gap:12px;align-items:center;padding:12px 14px}.admin-user-row:last-child{border-bottom:0}.admin-avatar,.profile-identity>span{width:40px;height:40px;border-radius:999px;background:var(--bg-brand-popup);color:var(--bg-brand);display:grid;place-items:center;font-weight:900}.admin-user-row div{min-width:0;display:grid;gap:2px}.admin-user-row strong{color:var(--text-default);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-user-row small,.admin-user-row time{color:var(--text-tertiary);font-size:12px}.admin-user-state{display:inline-flex;align-items:center;gap:5px;color:var(--status-success-default);font-size:13px}.admin-user-state:before{content:"";width:7px;height:7px;border-radius:999px;background:currentColor}.admin-user-state.is-danger{color:var(--status-error-default)}.admin-users-foot{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--text-tertiary);font-size:12px}.admin-users-foot strong{color:var(--text-default);font-variant-numeric:tabular-nums}.admin-users-foot .secondary-action{min-height:32px;border-radius:999px;padding:0 14px}.profile-identity{border:1px solid var(--border-neutral-l1);border-radius:18px;background:var(--bg-base-secondary);padding:16px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center}.profile-identity>span{width:64px;height:64px;font-size:24px}.profile-form-card,.profile-side{display:grid;align-content:start;gap:14px}.notification-center-item.is-unread{border-color:color-mix(in srgb,var(--bg-brand) 28%,transparent);background:var(--bg-brand-popup)}.profile-page{width:min(100%,1120px);margin:0 auto;display:grid;gap:20px}.notifications-page{width:min(100%,768px);margin:0 auto;display:grid;gap:0;padding-bottom:24px}.profile-page-head{display:block}.profile-local-topbar,.notifications-head{min-width:0;min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:16px}.profile-heading,.notifications-heading{min-width:0;display:flex;align-items:center;gap:12px}.profile-back-button,.notifications-back-button{flex:0 0 auto;background:var(--bg-base-secondary)}.profile-breadcrumb,.notifications-breadcrumb{min-width:0;display:flex;align-items:center;gap:8px;color:var(--text-tertiary);font-size:14px;line-height:1.4}.profile-breadcrumb button,.notifications-breadcrumb button{border:0;background:transparent;color:inherit;padding:0;font:inherit;cursor:pointer}.profile-breadcrumb button:hover,.notifications-breadcrumb button:hover{color:var(--text-default)}.profile-breadcrumb strong,.notifications-breadcrumb h1{min-width:0;margin:0;color:var(--text-default);font:inherit;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notifications-head{min-height:56px;padding:16px 0;border-bottom:1px solid var(--border-neutral-l1)}.notification-popover-all{width:100%;min-height:36px;justify-content:center;border-top:1px solid var(--border-neutral-l1)}.notifications-back-button{background:transparent}.profile-identity-card,.profile-metric-strip article,.profile-form-surface,.profile-side-card{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:14px;background:var(--bg-base-default);box-shadow:var(--shadow-sm)}.profile-identity-card{padding:22px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center}.profile-avatar-large{width:72px;height:72px;border-radius:50%;background:var(--bg-brand-popup);color:var(--bg-brand);display:grid;place-items:center;overflow:hidden;font-size:28px;font-weight:900}.profile-avatar-large img{width:100%;height:100%;object-fit:cover}.profile-identity-copy{min-width:0}.profile-identity-copy h1{margin:2px 0 0;color:var(--text-default);font-size:26px;line-height:1.22}.profile-identity-copy p{margin:6px 0 0;color:var(--text-secondary);line-height:1.65;overflow-wrap:anywhere;word-break:break-word}.profile-metric-strip{min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.profile-metric-strip article{min-height:54px;border-left:3px solid var(--bg-brand);border-radius:8px;padding:13px 16px;display:flex;align-items:center;justify-content:space-between;gap:16px}.profile-metric-strip span{color:var(--text-tertiary);font-size:12px}.profile-metric-strip strong{color:var(--text-default);font-size:20px;line-height:1;font-weight:900;font-variant-numeric:tabular-nums}.profile-metric-strip strong small{margin-left:2px;color:var(--text-tertiary);font-size:11px;font-weight:700}.profile-layout{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.42fr);gap:18px;align-items:start}.profile-form-surface,.profile-side-card{padding:20px;display:grid;gap:16px}.profile-form-grid,.profile-password-form{min-width:0;display:grid;gap:14px}.profile-form-grid{grid-template-columns:minmax(0,1fr)}.profile-form-grid label,.profile-password-form label{min-width:0;display:grid;gap:7px}.profile-form-grid label span,.profile-password-form label span{color:var(--text-secondary);font-size:12px;font-weight:800}.profile-form-grid input,.profile-form-grid select,.profile-password-form input{box-sizing:border-box;min-width:0;width:100%;height:40px;border:1px solid var(--border-neutral-l1);border-radius:10px;background:var(--bg-base-secondary);color:var(--text-default);padding:0 11px;font:inherit;outline:0}.profile-form-grid input:focus,.profile-form-grid select:focus,.profile-password-form input:focus{border-color:var(--border-brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--bg-brand) 14%,transparent)}.profile-form-grid .span-2,.profile-submit{grid-column:auto}.profile-submit{justify-self:end;width:fit-content}.profile-side-stack{min-width:0;display:grid;gap:14px}.profile-action-row,.profile-session-action{width:100%;min-width:0;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-secondary);color:var(--text-default);padding:13px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:11px;align-items:center;text-align:left;cursor:pointer}.profile-account-card .profile-action-row{border-width:0 0 1px;border-radius:0;background:transparent;padding:14px 2px}.profile-account-card .profile-action-row:hover{background:var(--bg-base-tertiary)}.profile-action-row.is-static{cursor:default}.profile-action-row.is-static:hover{background:transparent}.profile-action-row svg,.profile-subject-card svg{color:var(--bg-brand)}.profile-action-row span{min-width:0;display:grid;gap:2px}.profile-action-row strong,.profile-subject-card strong{min-width:0;color:var(--text-default);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-action-row small,.profile-subject-card span,.profile-subject-list small{color:var(--text-tertiary);font-size:12px}.profile-action-row b{color:var(--bg-brand);font-size:12px}.profile-subject-card{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-secondary);padding:14px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:11px;align-items:center}.profile-subject-card div{min-width:0;display:grid;gap:3px}.profile-subject-list{display:grid;gap:8px}.profile-subject-list span{min-width:0;color:var(--text-secondary);display:inline-flex;align-items:center;gap:7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-session-card{gap:10px}.profile-session-action{min-height:46px;grid-template-columns:auto auto;justify-content:center;border-color:var(--status-error-default);background:var(--status-error-default);color:#fff;font-weight:800}.profile-session-action:hover{filter:brightness(.94)}.profile-password-modal{width:min(440px,calc(100vw - 32px));border:1px solid var(--border-neutral-l1);border-radius:16px;background:var(--bg-base-default);box-shadow:var(--shadow-lg);padding:18px;display:grid;gap:16px}.profile-password-modal header{display:flex;align-items:center;justify-content:space-between;gap:12px}.profile-password-modal header>div{min-width:0;display:inline-flex;align-items:center;gap:9px}.profile-password-modal h2{margin:0;color:var(--text-default);font-size:18px}.profile-password-strength{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.profile-password-strength i{height:6px;border-radius:999px;background:linear-gradient(90deg,var(--strength-color) var(--strength),var(--bg-overlay-l2) var(--strength))}.profile-password-strength span{color:var(--strength-color);font-size:12px;font-weight:900}.profile-password-strength.is-weak{--strength-color: var(--status-error-default)}.profile-password-strength.is-medium{--strength-color: var(--status-warning-default)}.profile-password-strength.is-strong{--strength-color: var(--status-success-default)}.profile-password-hint{color:var(--text-tertiary);font-size:12px}.profile-password-form footer{display:flex;justify-content:flex-end;gap:10px}.restored-modal{width:min(880px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto;border:1px solid var(--border-neutral-l1);border-radius:22px;background:var(--bg-base-default);box-shadow:0 24px 80px color-mix(in srgb,#000 28%,transparent);color:var(--text-default)}.restored-modal-head,.restored-modal-foot,.restored-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px}.restored-modal-head{border-bottom:1px solid var(--border-neutral-l1)}.restored-modal-head h2,.restored-drawer-head h2{margin:4px 0 0}.restored-modal-foot{border-top:1px solid var(--border-neutral-l1)}.restored-modal label,.milestone-form label,.cupping-review-group-modal>label{display:grid;gap:7px}.restored-modal textarea{min-height:86px;resize:vertical}.profile-avatar-button{border:0;cursor:pointer}.profile-session-action.is-danger{border-color:var(--status-error-default);background:transparent;color:var(--status-error-default)}.profile-session-action.is-danger:hover{background:var(--status-error-surface-l1);filter:none}.avatar-upload-body,.account-delete-form,.account-delete-pending{padding:24px}.avatar-upload-body{display:grid;place-items:center;gap:18px}.avatar-upload-preview{display:grid;width:128px;height:128px;place-items:center;overflow:hidden;border:1px solid var(--border-neutral-l1);border-radius:50%;background:var(--bg-base-tertiary);color:var(--icon-tertiary)}.avatar-upload-preview img{width:100%;height:100%;object-fit:cover}.restored-file-drop{width:min(420px,100%);padding:24px;place-items:center;border:1px dashed var(--border-brand);border-radius:16px;background:var(--bg-brand-popup);cursor:pointer;text-align:center}.restored-file-drop input{position:absolute;opacity:0;pointer-events:none}.restored-file-name{margin:0;color:var(--text-secondary)}.profile-account-delete{width:min(640px,calc(100vw - 32px))}.profile-oauth-binding{width:min(680px,calc(100vw - 32px))}.profile-oauth-binding-body,.profile-oauth-binding-list,.profile-oauth-binding-actions{display:grid;gap:12px}.profile-oauth-binding-body{padding:24px}.profile-oauth-binding-body>p{margin:0;color:var(--text-secondary)}.profile-oauth-binding-item{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px;border:1px solid var(--border-neutral-l1);border-radius:14px;background:var(--bg-base-secondary)}.profile-oauth-binding-item>img{width:24px;height:24px;object-fit:contain}.profile-oauth-binding-copy{min-width:0;display:grid;gap:3px}.profile-oauth-binding-copy small,.profile-oauth-binding-protection{color:var(--text-tertiary);font-size:12px}.profile-oauth-binding-actions{justify-items:end}.profile-oauth-binding-actions>*{white-space:nowrap}.profile-oauth-binding-protection{display:inline-flex;align-items:center;gap:4px}.profile-oauth-binding-loading{display:inline-flex;align-items:center;gap:8px;color:var(--text-secondary)}.profile-oauth-binding-loading>svg,.profile-oauth-binding-actions .lucide-loader-circle{animation:auth-oauth-processing-spin .8s linear infinite}.oauth-binding-callback-error>svg{animation:none}.account-delete-form{display:grid;gap:16px}.account-delete-warning,.firmware-security-note{display:flex;align-items:flex-start;gap:10px;padding:14px;border:1px solid color-mix(in srgb,var(--status-warning-default) 34%,var(--border-neutral-l1));border-radius:14px;background:var(--status-warning-surface-l1)}.account-delete-pending{display:grid;justify-items:center;gap:10px;text-align:center}.account-delete-pending>svg{color:var(--status-warning-default)}.restored-check{display:flex!important;align-items:center}.restored-drawer-backdrop{position:fixed;z-index:1200;top:0;right:0;bottom:0;left:0;display:flex;justify-content:flex-end;background:color-mix(in srgb,#000 42%,transparent)}.restored-drawer{width:min(720px,96vw);height:100%;overflow:auto;border-left:1px solid var(--border-neutral-l1);background:var(--bg-base-default);box-shadow:-20px 0 60px color-mix(in srgb,#000 22%,transparent)}.restored-drawer-head{position:sticky;z-index:2;top:0;border-bottom:1px solid var(--border-neutral-l1);background:color-mix(in srgb,var(--bg-base-default) 94%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.restored-drawer-head>div:last-of-type{display:flex;align-items:center;gap:10px}.bean-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:22px}.bean-photo-grid article{position:relative;overflow:hidden;aspect-ratio:4 / 3;border:1px solid var(--border-neutral-l1);border-radius:16px;background:var(--bg-base-tertiary)}.bean-photo-grid article.is-cover{border-color:var(--border-brand);box-shadow:0 0 0 2px var(--bg-brand-popup)}.bean-photo-grid img{width:100%;height:100%;object-fit:cover}.bean-photo-cover{position:absolute;top:10px;left:10px;display:flex;align-items:center;gap:4px;padding:5px 9px;border-radius:999px;background:var(--bg-brand);color:#fff;font-size:12px}.bean-photo-actions{position:absolute;right:10px;bottom:10px;display:flex;gap:8px}.bean-photo-actions button{display:grid;width:34px;height:34px;place-items:center;border:1px solid var(--border-neutral-l1);border-radius:10px;background:var(--bg-base-default);color:var(--text-default)}.bean-quality-layout,.milestone-layout,.cupping-collaboration-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.82fr);gap:0}.bean-quality-form,.milestone-form,.cupping-invitation-form{display:grid;align-content:start;gap:16px;padding:24px}.bean-quality-score-grid,.bean-quality-measure-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.bean-quality-history,.cupping-invitation-lists,.milestone-list{padding:24px;border-left:1px solid var(--border-neutral-l1);background:var(--bg-base-secondary)}.bean-quality-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px}.bean-quality-summary>div,.firmware-current-card{padding:12px;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-default)}.bean-quality-summary small,.bean-quality-summary strong{display:block}.bean-quality-history article,.cupping-invitation-lists article,.milestone-list article,.cupping-reviewer-list article{position:relative;margin-top:10px;padding:14px;border:1px solid var(--border-neutral-l1);border-radius:14px;background:var(--bg-base-default)}.bean-quality-history article>div,.cupping-invitation-lists article>div{display:flex;align-items:center;gap:8px}.bean-quality-history article>button{position:absolute;right:10px;bottom:10px}.cupping-invitation-modal,.cupping-review-group-modal,.roast-milestone-edit{width:min(960px,calc(100vw - 32px))}.cupping-invitation-lists{display:grid;align-content:start;gap:20px;max-height:580px;overflow:auto}.cupping-invitation-lists section>h3,.cupping-invitation-form h3,.milestone-form h3{margin-top:0}.cupping-review-group-modal{padding-bottom:0}.cupping-review-group-modal>label,.cupping-reviewer-add,.cupping-reviewer-list{margin:18px 24px}.cupping-reviewer-add{display:grid;grid-template-columns:1fr 150px auto;gap:10px}.cupping-reviewer-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:360px;overflow:auto}.cupping-reviewer-list article{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin:0}.device-firmware-update{width:min(660px,calc(100vw - 32px))}.firmware-current-card,.firmware-version-line{display:flex;align-items:center;justify-content:space-between;gap:16px}.firmware-current-card{margin:22px 24px}.firmware-current-card small,.firmware-current-card strong,.firmware-version-line small,.firmware-version-line strong{display:block}.firmware-current-card strong,.firmware-version-line strong{margin-top:4px;font-size:24px}.firmware-up-to-date,.firmware-release-card{margin:0 24px 24px;padding:22px;border:1px solid var(--border-neutral-l1);border-radius:18px;background:var(--bg-base-secondary)}.firmware-up-to-date{text-align:center}.firmware-up-to-date>svg{color:var(--status-success-default)}.firmware-release-card dl{display:grid;gap:9px}.firmware-release-card dl>div{display:grid;grid-template-columns:90px minmax(0,1fr);gap:10px}.firmware-hash{overflow-wrap:anywhere;font-family:monospace}.firmware-security-note{margin:16px 0}.firmware-download{display:inline-flex;text-decoration:none}.device-firmware-update .restored-modal-foot>span{display:flex;align-items:center;gap:6px;color:var(--text-tertiary);font-size:12px}.milestone-list{max-height:590px;overflow:auto}.milestone-list article{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto auto;align-items:center;gap:10px}.milestone-list article p{margin:4px 0 0;color:var(--text-tertiary)}.milestone-dot{display:grid;width:32px;height:32px;place-items:center;border-radius:50%;background:var(--bg-brand-popup);color:var(--bg-brand)}.milestone-form-actions{display:flex;justify-content:flex-end;gap:10px}@media(max-width:760px){.restored-modal{width:calc(100vw - 16px);max-height:calc(100vh - 16px);border-radius:18px}.bean-quality-layout,.milestone-layout,.cupping-collaboration-layout{grid-template-columns:1fr}.bean-quality-history,.cupping-invitation-lists,.milestone-list{border-top:1px solid var(--border-neutral-l1);border-left:0}.bean-photo-grid,.cupping-reviewer-list,.cupping-reviewer-add{grid-template-columns:1fr}.restored-modal-head,.restored-modal-foot,.restored-drawer-head{padding:16px}}.notifications-head-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.notifications-head-actions .primary-action,.notifications-head-actions .secondary-action{min-height:32px;border-radius:8px;padding-inline:10px;font-size:13px}.notifications-toolbar{padding:16px 0 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,220px);gap:16px;align-items:end;border-bottom:1px solid var(--border-neutral-l1)}.notifications-search{min-width:0;height:34px;margin-bottom:8px;border:0;border-radius:8px;background:var(--bg-overlay-l1);display:flex;align-items:center;gap:8px;padding:0 12px;color:var(--text-tertiary)}.notifications-search input{min-width:0;width:100%;border:0;outline:0;background:transparent;color:var(--text-default);font:inherit}.notifications-tabs{min-width:0;display:flex;align-items:flex-end;gap:20px;overflow-x:auto}.notifications-tabs button{position:relative;min-height:42px;border:0;border-radius:0;background:transparent;color:var(--text-secondary);padding:0 0 10px;display:inline-flex;align-items:center;gap:7px;font:inherit;font-size:14px;cursor:pointer;white-space:nowrap}.notifications-tabs button.is-active{color:var(--bg-brand);font-weight:900}.notifications-tabs button.is-active:after{position:absolute;right:0;bottom:-1px;left:0;height:2px;border-radius:999px;background:var(--bg-brand);content:""}.notifications-tabs span{min-width:17px;height:17px;border-radius:999px;background:var(--bg-overlay-l2);color:var(--text-tertiary);display:inline-grid;place-items:center;padding:0 5px;font-size:11px}.notifications-list{padding-top:12px;display:grid;gap:2px}.notifications-item{overflow:hidden;border-radius:12px;background:transparent;transition:background .12s ease}.notifications-item:hover{background:var(--bg-overlay-l1)}.notifications-item.is-unread{background:color-mix(in srgb,var(--bg-brand) 7%,transparent)}.notifications-item.is-unread:hover{background:color-mix(in srgb,var(--bg-brand) 11%,transparent)}.notifications-item-main{width:100%;min-width:0;border:0;background:transparent;color:inherit;padding:12px 16px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;text-align:left;cursor:pointer}.notifications-item-main:disabled{cursor:progress;opacity:.75}.notifications-item-icon{width:40px;height:40px;border-radius:999px;background:var(--brand-blue-100);color:var(--bg-brand);display:grid;place-items:center}.notifications-item.is-device .notifications-item-icon{color:var(--accent-blue)}.notifications-item.is-roast .notifications-item-icon{background:var(--brand-yellow-100);color:var(--accent-amber)}.notifications-item.is-cupping .notifications-item-icon{background:color-mix(in srgb,#9a5b8f 14%,transparent);color:#9a5b8f}.notifications-item.is-security .notifications-item-icon{background:var(--status-warning-surface);color:var(--status-warning-default)}.notifications-item-copy{min-width:0;display:grid;gap:2px}.notifications-item-head{min-width:0;display:flex;justify-content:space-between;gap:12px}.notifications-item-head strong{min-width:0;color:var(--text-default);font-size:14px;line-height:1.45;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notifications-item-head time{flex:0 0 auto;color:var(--text-tertiary);font-size:13px}.notifications-item-body{color:var(--text-secondary);font-size:13px;line-height:1.55;display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.notifications-item-meta{display:none;flex-wrap:wrap;gap:6px}.notifications-item-meta i{min-height:22px;border-radius:999px;background:var(--bg-base-tertiary);color:var(--text-tertiary);display:inline-flex;align-items:center;padding:0 8px;font-style:normal;font-size:12px}.notifications-unread-dot{width:8px;height:8px;border-radius:999px;background:var(--bg-brand)}.notifications-item-state{min-width:16px;display:grid;justify-items:center;gap:7px;color:var(--icon-secondary)}.notifications-empty{padding:22px 0}.notifications-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;color:var(--text-tertiary);font-size:13px}.notifications-readall-backdrop{z-index:150}.notifications-readall-modal{width:min(520px,100%);max-height:min(760px,calc(100vh - 40px));overflow:hidden;border:1px solid var(--border-neutral-l1);border-radius:8px;background:var(--bg-base-secondary);color:var(--text-default);box-shadow:var(--shadow-xl)}.notifications-readall-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:12px;padding:18px 20px;border-bottom:1px solid var(--border-neutral-l1)}.notifications-readall-icon{width:42px;height:42px;border-radius:8px;background:var(--bg-brand-popup);color:var(--bg-brand);display:grid;place-items:center}.notifications-readall-head h2,.notifications-readall-head p{margin:0}.notifications-readall-head h2{color:var(--text-default);font-size:19px;line-height:1.3}.notifications-readall-head p{margin-top:5px;color:var(--text-secondary);font-size:13px;line-height:1.55}.notifications-readall-body{min-width:0;max-height:min(520px,calc(100vh - 190px));overflow:auto;display:grid;gap:14px;padding:16px 20px}.notifications-readall-summary{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.notifications-readall-summary div{min-width:0;padding:10px 12px;border:1px solid var(--border-neutral-l1);border-radius:10px;background:var(--bg-base-default)}.notifications-readall-summary dt,.notifications-readall-summary dd{margin:0}.notifications-readall-summary dt{color:var(--text-tertiary);font-size:12px;font-weight:800}.notifications-readall-summary dd{margin-top:4px;color:var(--text-default);font-size:13px;font-weight:900;overflow-wrap:anywhere}.notifications-readall-checks{margin:0;padding:0;list-style:none;display:grid;gap:9px}.notifications-readall-checks li{min-width:0;display:flex;align-items:flex-start;gap:8px;color:var(--text-secondary);font-size:13px;line-height:1.5}.notifications-readall-checks svg{flex:0 0 auto;margin-top:2px;color:var(--status-success-default)}.notifications-readall-warning{min-width:0;display:flex;align-items:flex-start;gap:9px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--status-warning-default) 30%,var(--border-neutral-l1));border-radius:10px;background:var(--status-warning-surface);color:var(--text-default);font-size:13px;line-height:1.6}.notifications-readall-warning svg{flex:0 0 auto;margin-top:1px;color:var(--status-warning-default)}.notifications-readall-foot{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;padding:14px 20px 18px;border-top:1px solid var(--border-neutral-l1)}.notification-preferences-backdrop{display:flex;justify-content:flex-end;align-items:stretch;padding:24px}.notification-preferences-drawer{width:min(420px,100%);max-height:100%;border:1px solid var(--border-neutral-l1);border-radius:16px;background:var(--bg-base-secondary);color:var(--text-default);box-shadow:-24px 0 64px #11182733,var(--shadow-lg);display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;animation:drawerSlideIn .18s ease-out}.notification-preferences-drawer header{min-width:0;padding:20px;border-bottom:1px solid var(--border-neutral-l1);display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.notification-preferences-drawer header>div{min-width:0;display:flex;gap:12px;align-items:flex-start}.notification-preferences-drawer header>div>div{min-width:0}.notification-preferences-drawer header>.icon-button{flex:0 0 auto}.notification-preferences-icon{width:42px;height:42px;flex:0 0 auto;border-radius:12px;background:var(--bg-brand-popup);color:var(--bg-brand);display:inline-flex;align-items:center;justify-content:center}.notification-preferences-drawer h2,.notification-preferences-drawer p,.notification-preference-card h3{margin:0}.notification-preferences-drawer h2{color:var(--text-default);font-size:20px;line-height:1.25}.notification-preferences-drawer p{margin-top:6px;color:var(--text-secondary);font-size:13px;line-height:1.55;overflow-wrap:anywhere}.notification-preferences-body{min-height:0;overflow:auto;display:grid;align-content:start;gap:12px;padding:14px 20px 18px}.notification-preferences-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;border-radius:8px;background:var(--bg-base-tertiary)}.notification-preferences-tabs button{min-width:0;min-height:36px;border:0;border-radius:6px;background:transparent;color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;gap:6px;font-weight:700;cursor:pointer}.notification-preferences-tabs button.is-active{background:var(--bg-base-default);color:var(--text-default);box-shadow:var(--shadow-sm)}.notification-preferences-tabs span{min-width:18px;height:18px;border-radius:9px;background:var(--bg-brand-popup);color:var(--bg-brand);display:inline-flex;align-items:center;justify-content:center;font-size:11px}.notification-preference-card{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-default);overflow:hidden}.notification-preference-card h3{padding:11px 16px 8px;color:var(--text-default);font-size:14px}.notification-preference-table{min-width:0;display:grid}.notification-preference-row{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:9px 16px;border-top:1px solid var(--border-neutral-l1);cursor:pointer}.notification-preference-row:hover{background:var(--bg-base-tertiary)}.notification-preference-copy{min-width:0;display:grid;gap:3px}.notification-preference-title{min-width:0;display:flex;align-items:center;gap:8px}.notification-preference-title strong{min-width:0;color:var(--text-default);font-size:13px;line-height:1.35}.notification-preference-title em{flex:0 0 auto;padding:2px 6px;border-radius:4px;background:var(--bg-base-tertiary);color:var(--text-tertiary);font-size:10px;font-style:normal;font-weight:700;line-height:1.35}.notification-preference-copy small{color:var(--text-tertiary);font-size:12px;line-height:1.45}.notification-preference-toggle{display:inline-grid;grid-template-columns:36px auto;align-items:center;gap:8px;position:relative}.notification-preference-toggle input{position:absolute;top:0;left:0;z-index:1;width:36px;height:20px;margin:0;opacity:0;cursor:pointer}.notification-preference-toggle>span{width:36px;height:20px;border-radius:10px;background:var(--border-neutral-l2);position:relative;transition:background .16s ease}.notification-preference-toggle>span:after{content:"";width:16px;height:16px;border-radius:50%;background:var(--bg-base-default);box-shadow:var(--shadow-sm);position:absolute;top:2px;left:2px;transition:transform .16s ease}.notification-preference-toggle input:checked+span{background:var(--bg-brand)}.notification-preference-toggle input:checked+span:after{transform:translate(16px)}.notification-preference-toggle input:focus-visible+span{outline:2px solid var(--bg-brand);outline-offset:2px}.notification-preference-toggle b{color:var(--text-secondary);font-size:12px;font-weight:700}.notification-device-token-list{border-top:1px solid var(--border-neutral-l1);display:grid;padding:4px 16px}.notification-device-token-list article{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 0;border-top:1px solid var(--border-neutral-l1)}.notification-device-token-list article:first-child{border-top:0}.notification-device-token-list article>span{width:34px;height:34px;border-radius:8px;background:var(--bg-base-tertiary);color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center}.notification-device-token-list article>div{min-width:0;display:grid;gap:2px}.notification-device-token-list strong,.notification-device-token-list small,.notification-device-token-list time{overflow-wrap:anywhere}.notification-device-token-list strong{color:var(--text-default);font-size:13px}.notification-device-token-list small,.notification-device-token-list time{color:var(--text-tertiary);font-size:11px}.notification-preferences-body footer{display:flex;justify-content:space-between;gap:10px;position:sticky;bottom:-18px;margin:0 -20px -18px;padding:12px 20px 18px;border-top:1px solid var(--border-neutral-l1);background:var(--bg-base-secondary)}.notification-preference-action-backdrop{z-index:120;padding:18px}.notification-preference-action-modal{width:min(500px,100%);max-height:calc(100vh - 36px);border:1px solid var(--border-neutral-l1);border-radius:16px;background:var(--bg-base-default);color:var(--text-default);box-shadow:var(--shadow-xl);overflow:auto;display:grid;grid-template-rows:auto minmax(0,1fr) auto}.notification-preference-action-head{min-width:0;border-bottom:1px solid var(--border-neutral-l1);padding:18px 20px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:flex-start;gap:12px}.notification-preference-action-icon{width:38px;height:38px;border-radius:12px;background:var(--bg-brand-popup);color:var(--bg-brand);display:grid;place-items:center}.notification-preference-action-head h2,.notification-preference-action-head p{min-width:0;margin:0}.notification-preference-action-head h2{color:var(--text-default);font-size:18px;line-height:1.3}.notification-preference-action-head p{margin-top:4px;color:var(--text-tertiary);font-size:13px;line-height:1.45}.notification-preference-action-body{min-width:0;padding:18px 20px;display:grid;align-content:start;gap:16px}.notification-preference-action-summary{min-width:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.notification-preference-action-summary div{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-secondary);padding:12px;display:grid;gap:5px}.notification-preference-action-summary dt,.notification-preference-action-summary dd{min-width:0;margin:0}.notification-preference-action-summary dt{color:var(--text-tertiary);font-size:12px}.notification-preference-action-summary dd{color:var(--text-default);font-size:14px;font-weight:850;overflow-wrap:anywhere}.notification-preference-action-checks{min-width:0;margin:0;padding:0;list-style:none;display:grid;gap:9px}.notification-preference-action-checks li{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:10px;background:var(--bg-base-secondary);color:var(--text-secondary);padding:10px 12px;display:flex;align-items:center;gap:8px;font-size:13px;line-height:1.45}.notification-preference-action-checks svg{flex:0 0 auto;color:var(--status-success-default)}.notification-preference-action-warning{min-width:0;border:1px solid color-mix(in srgb,var(--status-warning-default) 26%,transparent);border-radius:12px;background:color-mix(in srgb,var(--status-warning-default) 10%,var(--bg-base-secondary));color:var(--text-secondary);padding:12px;display:flex;align-items:flex-start;gap:9px;font-size:13px;line-height:1.55}.notification-preference-action-warning svg{flex:0 0 auto;margin-top:1px;color:var(--status-warning-default)}.notification-preference-action-foot{border-top:1px solid var(--border-neutral-l1);padding:14px 20px 18px;display:flex;justify-content:flex-end;gap:10px}@media(max-width:960px){.profile-page-head,.profile-layout,.notifications-toolbar{grid-template-columns:minmax(0,1fr)}.notifications-head{align-items:flex-start;flex-direction:column}.notifications-head-actions,.notifications-tabs{justify-content:flex-start}}@media(max-width:640px){.profile-identity-card{grid-template-columns:auto minmax(0,1fr)}.profile-identity-card .status-badge{grid-column:1 / -1;justify-self:start}.profile-metric-strip,.profile-form-grid{grid-template-columns:minmax(0,1fr)}.profile-submit{width:100%;justify-content:center}.notifications-item-main{grid-template-columns:auto minmax(0,1fr)}.notifications-foot,.notifications-readall-foot,.notification-preferences-body footer,.notification-preference-action-foot,.profile-password-form footer{align-items:stretch;flex-direction:column}.notifications-foot .secondary-action,.notifications-readall-foot .primary-action,.notifications-readall-foot .secondary-action,.notification-preferences-body footer .primary-action,.notification-preferences-body footer .secondary-action,.notification-preference-action-foot .primary-action,.notification-preference-action-foot .secondary-action,.profile-password-form footer .primary-action,.profile-password-form footer .secondary-action{width:100%}}@media(max-width:520px){.notification-preferences-backdrop{padding:0}.notification-preferences-drawer{width:100%;border-radius:0;border-top:0;border-bottom:0}.notification-preference-row{grid-template-columns:minmax(0,1fr) auto;padding-left:12px;padding-right:12px}.notification-preference-toggle{grid-template-columns:36px}.notification-preference-toggle b{display:none}.notification-preference-action-summary,.notifications-readall-summary{grid-template-columns:1fr}.notifications-readall-head,.notifications-readall-body,.notifications-readall-foot,.notification-preference-action-head,.notification-preference-action-body,.notification-preference-action-foot{padding-left:16px;padding-right:16px}}.beans-page{width:min(100%,1120px);margin:0 auto;display:grid;gap:24px}.beans-topbar{min-width:0;min-height:48px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center}.beans-heading{min-width:0;display:flex;align-items:center;gap:12px}.beans-back-button{flex:0 0 auto;background:var(--bg-base-secondary)}.beans-breadcrumb{min-width:0;display:flex;align-items:center;gap:8px;color:var(--text-tertiary);font-size:14px;line-height:1.4}.beans-breadcrumb button{border:0;background:transparent;color:inherit;padding:0;font:inherit;cursor:pointer}.beans-breadcrumb button:hover{color:var(--text-default)}.beans-breadcrumb h1{min-width:0;margin:0;color:var(--text-default);font:inherit;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.beans-toolbar{min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:8px}.beans-toolbar .primary-action,.beans-toolbar .secondary-action{min-height:32px;padding:0 12px;border-radius:8px;white-space:nowrap}.beans-search{width:220px;height:32px;min-width:0;border:1px solid var(--border-neutral-l1);border-radius:8px;background:var(--bg-base-default);display:flex;align-items:center;gap:8px;padding:0 10px;color:var(--text-tertiary)}.beans-search input{min-width:0;width:100%;border:0;outline:0;background:transparent;color:var(--text-default);font:inherit;font-size:13px}.beans-search-spinner{animation:beans-search-spin .8s linear infinite}@keyframes beans-search-spin{to{transform:rotate(360deg)}}.beans-overview-grid{min-width:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.beans-stat-card{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-default);padding:16px 20px;display:grid;gap:6px}.beans-stat-card span{min-width:0;color:var(--text-tertiary);font-size:13px;display:inline-flex;align-items:center;gap:5px}.beans-stat-card strong{color:var(--text-default);font-size:28px;line-height:1.1;font-weight:800;font-variant-numeric:tabular-nums}.beans-stat-card small{color:var(--text-tertiary);font-size:12px}.beans-stat-card.is-alert{border-color:var(--status-warning-surface-l2);background:var(--status-warning-surface-l1)}.beans-stat-card.is-alert span,.beans-stat-card.is-alert strong{color:var(--status-warning-default)}.beans-origin-card{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-default);padding:16px 20px;display:grid;gap:12px}.beans-origin-card .section-head h2{font-size:14px;line-height:1.4}.beans-origin-bar{height:8px;border-radius:999px;overflow:hidden;display:flex;gap:2px}.beans-origin-bar span{flex:var(--origin-flex);min-width:8px;border-radius:999px;background:var(--origin-color)}.beans-origin-legend{min-width:0;display:flex;flex-wrap:wrap;gap:10px 16px}.beans-origin-legend span{min-width:0;color:var(--text-secondary);font-size:12px;display:inline-flex;align-items:center;gap:5px}.beans-origin-legend span:before{content:"";width:8px;height:8px;flex:0 0 auto;border-radius:999px;background:var(--origin-color)}.beans-filter-row{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:16px}.beans-filter-chips{min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px}.beans-filter-chips button{min-height:28px;border:1px solid var(--border-neutral-l1);border-radius:999px;background:var(--bg-base-default);color:var(--text-secondary);padding:0 12px;font:inherit;font-size:13px;cursor:pointer}.beans-filter-chips button.is-active{border-color:var(--text-default);background:var(--bg-invert);color:var(--text-invert)}.beans-list-controls{flex:0 0 auto;display:flex;align-items:center;justify-content:flex-end;gap:8px}.beans-select-visible{min-height:30px;flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border-neutral-l1);border-radius:999px;background:var(--bg-base-default);color:var(--text-secondary);padding:0 12px;font:inherit;font-size:12px;cursor:pointer}.beans-select-visible.is-selected{border-color:var(--border-brand);background:var(--bg-brand-popup);color:var(--text-brand);font-weight:800}.beans-unit-switch{min-height:32px;flex:0 0 auto;display:inline-flex;align-items:center;gap:4px;border:1px solid var(--border-neutral-l1);border-radius:9px;background:var(--bg-base-default);color:var(--text-tertiary);padding:3px 4px 3px 8px}.beans-unit-switch>span{margin-right:2px;font-size:11px}.beans-unit-switch>button{min-width:34px;height:24px;border:0;border-radius:6px;background:transparent;color:var(--text-secondary);padding:0 7px;font:inherit;font-size:11px;font-weight:800;cursor:pointer}.beans-unit-switch>button:hover{background:var(--bg-base-tertiary)}.beans-unit-switch>button.is-active{background:var(--bg-invert);color:var(--text-invert);box-shadow:var(--shadow-sm)}.beans-sort{width:140px;height:30px;flex:0 0 auto;border:1px solid var(--border-neutral-l1);border-radius:8px;background:var(--bg-base-default);display:flex;align-items:center;gap:6px;padding:0 8px;color:var(--text-tertiary)}.beans-sort select{min-width:0;flex:1;border:0;outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;color:var(--text-default);font:inherit;font-size:12px}.beans-page .bean-inventory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.beans-page .bean-inventory-card{min-width:0;position:relative;padding:0;display:block;overflow:hidden;border-radius:16px;background:var(--bg-base-default);border:1px solid var(--border-neutral-l1);box-shadow:none;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.beans-page .bean-card-open{position:absolute;z-index:1;top:0;right:0;bottom:0;left:0;width:100%;border:0;border-radius:inherit;background:transparent;padding:0;cursor:pointer}.beans-page .bean-card-open:focus-visible{outline:2px solid var(--border-brand);outline-offset:-3px}.beans-page .bean-inventory-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--bean-accent) 45%,var(--border-neutral-l1));box-shadow:0 8px 24px #00000014}.beans-page .bean-inventory-card.is-batch-selected{border-color:var(--border-brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--bg-brand) 16%,transparent)}.bean-card-strip{height:6px;background:linear-gradient(90deg,var(--bean-accent),color-mix(in srgb,var(--bean-accent) 72%,white),color-mix(in srgb,var(--bean-accent) 42%,white))}.bean-card-body{padding:20px 24px;display:grid;gap:13px}.beans-page .bean-card-head{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:flex-start}.beans-page .bean-card-head h2{margin:0;color:var(--text-default);font-size:20px;line-height:1.3}.beans-page .bean-card-head span:not(.status-badge){color:var(--text-tertiary);font-size:13px}.bean-batch-check{position:relative;z-index:2;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-neutral-l1);border-radius:999px;background:var(--bg-base-secondary);cursor:pointer}.bean-batch-check input{position:absolute;opacity:0;pointer-events:none}.bean-batch-check span{width:14px;height:14px;border:1.5px solid var(--border-neutral-l2);border-radius:999px;background:var(--bg-base-default)}.bean-batch-check input:checked+span{border-color:var(--bg-brand);background:radial-gradient(circle at center,var(--bg-brand) 0 42%,transparent 45%),var(--bg-base-default)}.bean-card-info{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px}.bean-card-info div{min-width:0;display:flex;gap:6px;color:var(--text-secondary);font-size:13px}.bean-card-info dt{flex:0 0 auto;color:var(--text-tertiary)}.bean-card-info dd{margin:0;min-width:0;color:var(--text-default);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bean-card-note{margin:0;border-left:3px solid var(--bean-accent);border-radius:8px;background:var(--bg-overlay-l1);color:var(--text-tertiary);font-size:13px;line-height:1.5;padding:8px 12px}.bean-stock-block{display:grid;gap:10px;border:1px solid color-mix(in srgb,var(--bean-accent) 32%,var(--border-neutral-l1));border-radius:12px;background:linear-gradient(135deg,color-mix(in srgb,var(--bean-accent) 10%,var(--bg-base-default)),var(--bg-base-default) 72%);padding:12px 14px 11px}.bean-stock-summary{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.bean-stock-label{color:var(--text-secondary);font-size:13px;font-weight:750;line-height:1.4}.bean-stock-value{min-width:0;display:inline-flex;align-items:baseline;justify-content:flex-end;gap:5px;color:var(--text-default);line-height:1;font-variant-numeric:tabular-nums}.bean-stock-value>span{overflow:hidden;font-size:clamp(22px,2.1vw,28px);font-weight:850;letter-spacing:-.035em;text-overflow:ellipsis;white-space:nowrap}.bean-stock-value>small{flex:0 0 auto;color:var(--text-secondary);font-size:13px;font-weight:750;letter-spacing:0}.bean-stock-value.is-low>span,.bean-stock-value.is-low>small{color:var(--status-warning-default)}.bean-stock-block>i{height:5px;border-radius:999px;background:linear-gradient(90deg,color-mix(in srgb,var(--bean-accent) 75%,var(--status-success-default)) var(--stock-progress),var(--bg-overlay-l2) var(--stock-progress))}.bean-card-footer{border-top:1px solid var(--border-neutral-l1);padding-top:12px;display:flex;align-items:center;justify-content:space-between;gap:12px}.bean-card-footer>span{color:var(--text-tertiary);font-size:12px}.bean-card-footer>div{display:flex;gap:10px}.bean-card-footer .text-button{position:relative;z-index:2;font-size:13px;white-space:nowrap}.beans-result-foot{min-width:0;margin-top:-4px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--text-tertiary);font-size:12px}.beans-result-foot strong{color:var(--text-default);font-variant-numeric:tabular-nums}.beans-result-foot>div{display:flex;align-items:center;gap:10px}.beans-result-foot .secondary-action{min-height:32px;border-radius:999px;padding:0 14px}.bean-batch-modal{width:min(560px,100%);max-height:min(780px,calc(100vh - 40px));overflow:hidden;border:1px solid var(--border-neutral-l1);border-radius:16px;background:var(--bg-base-secondary);color:var(--text-default);box-shadow:var(--shadow-xl);display:grid;grid-template-rows:auto minmax(0,1fr) auto}.bean-batch-head,.bean-batch-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px;border-bottom:1px solid var(--border-neutral-l1)}.bean-batch-foot{justify-content:flex-end;border-top:1px solid var(--border-neutral-l1);border-bottom:0}.bean-batch-head h2{margin:0;color:var(--text-default);font-size:20px;line-height:1.25}.bean-batch-head span{display:inline-flex;align-items:center;min-height:24px;margin-top:6px;padding:0 9px;border-radius:999px;background:var(--bg-brand-popup);color:var(--text-brand);font-size:12px;font-weight:800}.bean-batch-body{min-width:0;overflow-y:auto;display:grid;gap:16px;padding:18px 20px}.bean-batch-selected-list{max-height:132px;overflow:auto;display:grid;gap:8px;padding:10px 12px;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-default)}.bean-batch-selected-item{min-width:0;display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:13px}.bean-batch-selected-item svg{flex:0 0 auto;color:var(--status-success-default)}.bean-batch-selected-item span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bean-batch-selected-list small{color:var(--text-tertiary);font-size:12px}.bean-batch-op-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.bean-batch-op-card{min-width:0;display:grid;gap:7px;padding:15px;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-default);color:var(--text-default);text-align:left;cursor:pointer}.bean-batch-op-card:hover{border-color:var(--border-neutral-l2);background:var(--bg-overlay-l1)}.bean-batch-op-card.is-selected{border-color:var(--border-brand);background:var(--bg-brand-popup)}.bean-batch-op-card.is-danger{border-color:color-mix(in srgb,var(--status-error-default) 50%,var(--border-neutral-l1))}.bean-batch-op-card svg{color:var(--bg-brand)}.bean-batch-op-card.is-danger svg,.bean-batch-op-card.is-danger span{color:var(--status-error-default)}.bean-batch-op-card span{color:var(--text-default);font-weight:800}.bean-batch-op-card small{color:var(--text-tertiary);line-height:1.45}.bean-batch-expand-area{display:grid;gap:12px;padding:14px;border:1px solid var(--border-neutral-l1);border-radius:12px;background:color-mix(in srgb,var(--bg-base-default) 82%,var(--bg-brand-popup))}.bean-batch-tag-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.bean-batch-tag-head strong{color:var(--text-default);font-size:13px}.bean-batch-tag-head span{color:var(--text-tertiary);font-size:12px}.bean-batch-tag-checks{display:flex;flex-wrap:wrap;gap:10px}.bean-batch-tag-option{position:relative;min-height:30px;display:inline-flex;align-items:center;gap:7px;padding:0 10px;border:1px solid var(--border-neutral-l1);border-radius:999px;background:var(--bg-base-default);color:var(--text-secondary);font-size:13px;cursor:pointer;transition:border-color .14s ease,background .14s ease,color .14s ease}.bean-batch-tag-option:hover{border-color:color-mix(in srgb,var(--border-brand) 55%,var(--border-neutral-l1));background:var(--bg-overlay-l1)}.bean-batch-tag-option.is-selected{border-color:var(--border-brand);background:var(--bg-brand-popup);color:var(--text-brand);font-weight:750}.bean-batch-tag-option input{position:absolute;opacity:0;pointer-events:none}.bean-batch-tag-option i{width:16px;height:16px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-neutral-l2);border-radius:5px;background:var(--bg-base-secondary);color:var(--text-onbrand);font-style:normal}.bean-batch-tag-option.is-selected i{border-color:var(--bg-brand);background:var(--bg-brand)}.bean-batch-tag-option:has(input:focus-visible){outline:2px solid var(--border-brand);outline-offset:2px}.bean-batch-expand-area input[type=text],.bean-batch-expand-area>input{min-height:40px;border:1px solid var(--border-neutral-l1);border-radius:10px;background:var(--bg-base-default);color:var(--text-default);padding:0 12px;font:inherit}.bean-batch-tag-input:focus{border-color:var(--border-brand);outline:3px solid color-mix(in srgb,var(--bg-brand) 16%,transparent)}.bean-batch-danger-warning{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border:1px solid var(--status-error-surface-l2);border-radius:10px;background:var(--status-error-surface-l1);color:var(--status-error-default);font-size:13px;line-height:1.55}.beans-modal{width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 48px);overflow:auto;border:1px solid var(--border-neutral-l1);border-radius:16px;background:var(--bg-base-default);box-shadow:var(--shadow-lg);padding:18px;display:grid;gap:16px}.beans-modal header{display:flex;align-items:center;justify-content:space-between;gap:12px}.beans-modal header>div{min-width:0;display:flex;align-items:center;gap:10px}.beans-modal header h2{margin:0;color:var(--text-default);font-size:18px}.beans-modal-note{margin:0;color:var(--text-secondary);font-size:13px;line-height:1.5}.bean-delete-modal{width:min(520px,calc(100vw - 32px));max-height:calc(100vh - 48px);overflow:auto;border:1px solid var(--border-neutral-l1);border-radius:16px;background:var(--bg-base-secondary);box-shadow:var(--shadow-lg);padding:18px;display:grid;gap:16px}.bean-delete-modal header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:flex-start;gap:12px}.bean-delete-modal h2,.bean-delete-modal p{margin:0}.bean-delete-modal h2{color:var(--text-default);font-size:18px}.bean-delete-modal p,.bean-delete-warning{color:var(--text-secondary);font-size:13px;line-height:1.55}.bean-delete-icon{width:38px;height:38px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;color:var(--status-error-default);background:var(--status-error-surface)}.bean-delete-warning{border:1px solid color-mix(in srgb,var(--status-error-default) 22%,var(--border-neutral-l1));border-radius:12px;background:color-mix(in srgb,var(--status-error-surface) 82%,var(--bg-base-secondary));padding:12px}.beans-import-textarea{width:100%;resize:vertical;min-height:136px;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-secondary);color:var(--text-default);padding:12px;font:inherit;line-height:1.5}.bean-create-page,.bean-import-page{width:min(100%,1180px);margin:0 auto;display:grid;gap:20px}.workspace>.bean-create-page{width:min(100%,1120px);max-width:1120px;margin-inline:auto}.bean-flow-topbar{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px}.bean-flow-back,.bean-create-cancel,.bean-create-breadcrumb button{border:0;background:transparent;color:var(--text-secondary);font:inherit;cursor:pointer}.bean-flow-back{width:32px;height:32px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center}.bean-flow-back:hover,.bean-create-breadcrumb button:hover{background:var(--bg-overlay-l1);color:var(--text-default)}.bean-create-breadcrumb{min-width:0;display:flex;align-items:center;gap:9px;color:var(--text-tertiary);font-size:13px}.bean-create-breadcrumb button{padding:4px 0}.bean-create-breadcrumb h1{margin:0;color:var(--text-default);font-size:14px;font-weight:850}.bean-create-cancel{color:var(--text-default);font-size:13px;font-weight:750}.bean-flow-topbar h1{margin:2px 0 0;color:var(--text-default);font-size:24px;line-height:1.25}.bean-flow-layout,.bean-import-layout{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}.bean-create-page .bean-flow-layout{grid-template-columns:minmax(0,1fr) 360px}.bean-create-form{min-width:0;display:grid;gap:16px}.bean-create-sheet{overflow:hidden;border:1px solid var(--border-neutral-l1);border-radius:14px;background:var(--bg-base-default);box-shadow:0 10px 28px #1118270a;gap:0}.bean-create-section{min-width:0;display:grid;gap:16px;padding:20px;border-bottom:1px solid var(--border-neutral-l1)}.bean-create-section:last-child{border-bottom:0}.bean-create-section>h2{margin:0;color:var(--text-default);font-size:13px;font-weight:850;line-height:1.4}.bean-flow-card,.bean-preview-card,.bean-import-stat{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:14px;background:var(--bg-base-default);box-shadow:0 10px 28px #1118270a}.bean-flow-card{padding:18px;display:grid;gap:16px}.bean-flow-section-head{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start}.bean-flow-section-head>span{width:32px;height:32px;border-radius:10px;background:var(--bg-brand-popup);color:var(--bg-brand);display:inline-flex;align-items:center;justify-content:center}.bean-flow-section-head h2{margin:0;color:var(--text-default);font-size:17px;line-height:1.3}.bean-flow-section-head p{margin:4px 0 0;color:var(--text-tertiary);font-size:13px;line-height:1.5}.bean-form-grid{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.bean-form-grid label,.bean-import-text{min-width:0;display:grid;gap:7px}.bean-form-grid label span,.bean-import-text span{color:var(--text-secondary);font-size:13px;font-weight:700}.bean-form-grid label small{margin-top:-2px;color:var(--text-tertiary);font-size:11px}.bean-form-grid .span-2{grid-column:1 / -1}.bean-form-grid input,.bean-form-grid select,.bean-custom-tags input,.bean-import-text textarea,.bean-create-notes textarea{min-width:0;width:100%;border:1px solid var(--border-neutral-l1);border-radius:10px;background:var(--bg-base-secondary);color:var(--text-default);font:inherit;font-size:14px;outline:0}.bean-form-grid input,.bean-form-grid select,.bean-custom-tags input{height:40px;padding:0 12px}.bean-create-notes{display:block}.bean-create-notes textarea{width:100%;min-height:92px;resize:vertical;padding:12px;line-height:1.55}.bean-import-text textarea{min-height:252px;resize:vertical;padding:12px;line-height:1.55}.bean-form-grid input:focus,.bean-form-grid select:focus,.bean-custom-tags input:focus,.bean-import-text textarea:focus,.bean-create-notes textarea:focus{border-color:var(--bg-brand);box-shadow:0 0 0 3px var(--bg-brand-popup)}.bean-tag-picker{min-width:0;display:flex;flex-wrap:wrap;gap:8px}.bean-tag-picker button,.bean-import-method{border:1px solid var(--border-neutral-l1);background:var(--bg-base-secondary);color:var(--text-secondary);font:inherit;cursor:pointer}.bean-tag-picker button{min-height:30px;border-radius:999px;padding:0 12px;display:inline-flex;align-items:center;gap:5px;font-size:13px}.bean-tag-picker button.is-active{border-color:var(--bg-brand);background:var(--bg-brand-popup);color:var(--bg-brand)}.bean-custom-tags{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.bean-import-method{min-height:74px;border-radius:12px;padding:12px;text-align:left}.bean-import-method:hover{border-color:var(--bg-brand);background:var(--bg-brand-popup);color:var(--text-default)}.bean-preview-panel{position:sticky;top:88px;min-width:0}.bean-preview-card{padding:22px;display:grid;gap:16px}.bean-create-page .bean-preview-card{overflow:hidden;padding:0;display:block}.bean-preview-content{display:grid;gap:16px;padding:22px}.bean-preview-actions{padding:16px 20px;border-top:1px solid var(--border-neutral-l1);background:color-mix(in srgb,var(--bg-base-secondary) 72%,var(--bg-base-default))}.bean-preview-actions .primary-action{width:100%;justify-content:center}.bean-preview-mark{width:48px;height:48px;border-radius:16px;background:linear-gradient(135deg,#5b8c3e,#d4a04a);color:#fff;display:inline-flex;align-items:center;justify-content:center}.bean-preview-card h2{margin:0;color:var(--text-default);font-size:22px;line-height:1.25}.bean-preview-card p{margin:-8px 0 0;color:var(--text-tertiary);line-height:1.5}.bean-preview-card dl{margin:0;display:grid;gap:10px}.bean-preview-card dl div{min-width:0;display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--border-neutral-l1);padding-bottom:10px}.bean-preview-card dt,.bean-preview-card dd{margin:0;min-width:0}.bean-preview-card dt{color:var(--text-tertiary);font-size:13px}.bean-preview-card dd{color:var(--text-default);font-size:13px;font-weight:800;text-align:right}.bean-preview-tags{min-width:0;display:flex;flex-wrap:wrap;gap:7px}.bean-preview-tags span{border-radius:999px;background:var(--bg-overlay-l1);color:var(--text-secondary);padding:5px 9px;font-size:12px}.bean-preview-tags .is-muted{border:1px dashed var(--border-neutral-l1);background:var(--bg-base-secondary);color:var(--text-tertiary)}.bean-import-source{align-self:stretch}.bean-import-methods{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.bean-file-drop,.bean-import-method{min-width:0;position:relative;display:grid;align-content:center;gap:5px}.bean-file-drop{min-height:94px;border:1px dashed var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-secondary);color:var(--text-secondary);padding:14px;cursor:pointer}.bean-file-drop strong,.bean-import-method strong{color:var(--text-default);font-size:14px;line-height:1.35}.bean-file-drop span,.bean-import-method span{color:var(--text-tertiary);font-size:12px}.bean-file-drop input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.bean-import-summary{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.bean-import-stat{padding:16px;display:grid;gap:8px}.bean-import-stat span{color:var(--text-tertiary);font-size:13px}.bean-import-stat strong{color:var(--text-default);font-size:28px;line-height:1;font-variant-numeric:tabular-nums}.bean-import-stat.is-success strong{color:var(--status-success-default)}.bean-import-stat.is-warning strong{color:var(--status-warning-default)}.bean-import-stat.is-error strong{color:var(--status-danger-default)}.bean-import-table-wrap{min-width:0;overflow-x:auto}.bean-import-table{width:100%;min-width:860px;border-collapse:collapse}.bean-import-table th,.bean-import-table td{border-bottom:1px solid var(--border-neutral-l1);color:var(--text-secondary);padding:12px 10px;text-align:left;font-size:13px}.bean-import-table th{color:var(--text-tertiary);font-weight:700;background:var(--bg-base-secondary)}.bean-import-table td:nth-child(2){color:var(--text-default);font-weight:800}.bean-import-row-status{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:4px 8px;white-space:nowrap;font-size:12px}.bean-import-row-status.is-success{background:var(--status-success-surface-l1);color:var(--status-success-default)}.bean-import-row-status.is-warning{background:var(--status-warning-surface-l1);color:var(--status-warning-default)}.bean-import-row-status.is-error{background:var(--status-danger-surface-l1);color:var(--status-danger-default)}.bean-import-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px}@media(max-width:1040px){.bean-flow-layout,.bean-import-layout{grid-template-columns:minmax(0,1fr)}.bean-preview-panel{position:static}.bean-preview-card{grid-template-columns:auto minmax(0,1fr);align-items:start}.bean-create-page .bean-preview-card{display:block}.bean-preview-content{grid-template-columns:auto minmax(0,1fr);align-items:start}.bean-preview-content dl,.bean-preview-content .bean-preview-tags,.bean-preview-card dl,.bean-preview-tags{grid-column:1 / -1}}@media(max-width:720px){.bean-flow-topbar{grid-template-columns:auto minmax(0,1fr) auto}.bean-create-breadcrumb button,.bean-create-breadcrumb>span{display:none}.bean-form-grid,.bean-import-methods,.bean-import-summary,.bean-custom-tags{grid-template-columns:minmax(0,1fr)}}.cupping-page{width:min(100%,1440px);margin:0 auto;display:grid;gap:24px}.cupping-topbar{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:16px}.cupping-heading{min-width:0;display:flex;align-items:center;gap:12px}.cupping-back-button{flex:0 0 auto;background:var(--bg-base-secondary)}.cupping-breadcrumb{min-width:0;display:flex;align-items:center;gap:8px;color:var(--text-tertiary);font-size:14px;line-height:1.4}.cupping-breadcrumb button{border:0;background:transparent;color:inherit;padding:0;font:inherit;cursor:pointer}.cupping-breadcrumb button:hover{color:var(--text-default)}.cupping-breadcrumb h1{min-width:0;margin:0;color:var(--text-default);font:inherit;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cupping-layout{min-width:0;display:grid;grid-template-columns:minmax(0,55fr) minmax(420px,45fr);gap:24px;align-items:start}.cupping-record-column,.cupping-detail-column{min-width:0;display:grid;gap:16px}.cupping-section-head{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:16px}.cupping-section-head h2{margin:0;color:var(--text-default);font-size:20px;line-height:1.3}.cupping-section-head span{color:var(--text-tertiary);font-size:13px}.cupping-search{width:240px;height:32px;min-width:0;border:1px solid var(--border-neutral-l1);border-radius:8px;background:var(--bg-base-default);display:flex;align-items:center;gap:8px;padding:0 10px;color:var(--text-tertiary)}.cupping-search input{min-width:0;width:100%;border:0;outline:0;background:transparent;color:var(--text-default);font:inherit;font-size:13px}.cupping-tabs{display:flex;flex-wrap:wrap;gap:4px}.cupping-tabs button{min-height:30px;border:1px solid var(--border-neutral-l1);border-radius:8px;background:var(--bg-base-default);color:var(--text-secondary);padding:0 12px;font:inherit;font-size:13px;cursor:pointer}.cupping-tabs button.is-active{border-color:transparent;background:var(--bg-overlay-l3);color:var(--text-default);font-weight:800}.cupping-page .cupping-record-list{display:grid;gap:12px}.cupping-page .cupping-record-card{position:relative;min-width:0;padding:0;gap:0;border:1px solid var(--border-neutral-l1);border-radius:14px;background:var(--bg-base-default);box-shadow:none;display:grid;grid-template-columns:minmax(0,1fr) auto;overflow:hidden}.cupping-page .cupping-record-card.is-active{border-color:var(--border-brand);background:var(--bg-base-default)}.cupping-record-main{min-width:0;border:0;background:transparent;color:inherit;text-align:left;padding:20px;display:grid;gap:12px;cursor:pointer}.cupping-record-main:focus-visible{outline:2px solid var(--border-brand);outline-offset:-2px}.cupping-record-main header{min-width:0;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.cupping-record-main h3{margin:0;color:var(--text-default);font-size:15px;line-height:1.45;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cupping-record-main time{display:block;margin-top:4px;color:var(--text-tertiary);font-size:13px}.cupping-bean-pills{display:flex;flex-wrap:wrap;gap:6px}.cupping-bean-pills span{min-height:22px;border:1px solid var(--border-neutral-l1);border-radius:999px;background:var(--bg-base-secondary);color:var(--text-secondary);display:inline-flex;align-items:center;padding:0 8px;font-size:12px}.cupping-record-main footer{border-top:1px solid var(--border-neutral-l1);padding-top:12px;display:flex;align-items:center;justify-content:space-between;gap:14px}.cupping-progress{min-width:0;flex:1;display:flex;align-items:center;gap:10px}.cupping-progress span{color:var(--text-secondary);font-size:13px;white-space:nowrap}.cupping-card-score{min-width:92px;border-left:1px solid var(--border-neutral-l1);padding:20px 18px;display:grid;place-items:center;align-content:center;gap:4px}.cupping-card-score strong{color:var(--text-default);font-size:28px;line-height:1;font-weight:800;font-variant-numeric:tabular-nums}.cupping-card-score span{color:var(--text-tertiary);font-size:12px}.cupping-detail-card,.cupping-modal{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:14px;background:var(--bg-base-default);box-shadow:var(--shadow-sm);padding:20px;display:grid;gap:16px}.cupping-detail-head{min-width:0;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.cupping-detail-head h2,.cupping-sample-card h3{margin:0;color:var(--text-default)}.cupping-detail-head p,.cupping-sample-card p{margin:4px 0 0;color:var(--text-tertiary);font-size:13px;line-height:1.5}.cupping-simple-detail-card{min-height:300px;align-content:start}.cupping-simple-detail-meta{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.cupping-simple-detail-meta div{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-secondary);padding:12px}.cupping-simple-detail-meta dt{color:var(--text-tertiary);font-size:12px}.cupping-simple-detail-meta dd{margin:5px 0 0;color:var(--text-default);font-size:14px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cupping-simple-detail-note{display:flex;align-items:flex-start;gap:10px;color:var(--text-secondary)}.cupping-simple-detail-note svg{flex:0 0 auto;margin-top:2px;color:var(--bg-brand)}.cupping-simple-detail-note p{margin:0;font-size:14px;line-height:1.7}.cupping-simple-detail-actions{border-top:1px solid var(--border-neutral-l1);padding-top:14px;display:flex;justify-content:flex-end}.cupping-simple-radar-card{border-top:1px solid var(--border-neutral-l1);padding-top:16px;display:grid;gap:12px}.cupping-simple-radar-head{min-width:0;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.cupping-simple-radar-head h3{margin:3px 0 0;color:var(--text-default);font-size:16px}.cupping-simple-radar-head p{margin:4px 0 0;color:var(--text-tertiary);font-size:12px}.cupping-simple-radar-head .text-button{flex:0 0 auto}.cupping-simple-radar{width:min(100%,240px);height:240px;justify-self:center}.cupping-simple-radar polygon,.cupping-simple-radar line{fill:none;stroke:var(--border-neutral-l2);stroke-width:.7}.cupping-simple-radar path{fill:color-mix(in srgb,var(--radar-color) 20%,transparent);stroke:var(--radar-color);stroke-width:1.8}.cupping-simple-radar text{fill:var(--text-tertiary);font-size:8px}.cupping-simple-radar text.is-empty{fill:var(--text-secondary);font-size:10px;font-weight:800}.cupping-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.cupping-kpi-grid div{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-secondary);padding:12px;display:grid;gap:4px}.cupping-kpi-grid svg{color:var(--bg-brand)}.cupping-kpi-grid span{color:var(--text-tertiary);font-size:12px}.cupping-kpi-grid strong{color:var(--text-default);font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cupping-sample-form{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:10px;align-items:end}.cupping-sample-form label{display:grid;gap:6px}.cupping-sample-form span{color:var(--text-secondary);font-size:12px}.cupping-sample-form input{min-width:0;height:36px;border:1px solid var(--border-neutral-l1);border-radius:10px;background:var(--bg-base-secondary);color:var(--text-default);padding:0 10px;font:inherit}.cupping-sample-list{display:grid;gap:12px}.cupping-sample-card{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-secondary);padding:14px;display:grid;grid-template-columns:132px minmax(0,1fr);gap:16px;align-items:center}.cupping-sample-card-head{min-width:0;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.cupping-sample-card strong{display:block;margin-top:8px;color:var(--bg-brand);font-size:24px;line-height:1;font-variant-numeric:tabular-nums}.cupping-sample-card-head strong{margin-top:0;flex:0 0 auto}.cupping-insight-card{border-color:color-mix(in srgb,var(--bg-brand) 28%,var(--border-neutral-l1));background:linear-gradient(135deg,var(--bg-brand-popup),var(--bg-base-secondary))}.cupping-insight-card p,.cupping-more-note{margin:0;color:var(--text-secondary);font-size:14px;line-height:1.75}.cupping-more-note{color:var(--text-tertiary);font-size:12px}.cupping-detail-actions{border-top:1px solid var(--border-neutral-l1);padding-top:14px;display:flex;justify-content:flex-end;gap:10px}.cupping-modal{width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 48px);overflow:auto;box-shadow:var(--shadow-lg)}.cupping-modal header{display:flex;align-items:center;justify-content:space-between;gap:12px}.cupping-modal header>div{display:flex;align-items:center;gap:10px}.cupping-modal header h2{margin:0;color:var(--text-default);font-size:18px}@media(max-width:900px){.cupping-layout{grid-template-columns:1fr}.cupping-section-head,.cupping-topbar{align-items:flex-start;flex-direction:column}.cupping-search{width:min(100%,360px)}.beans-topbar,.beans-filter-row{grid-template-columns:1fr;align-items:stretch}.beans-topbar{display:grid}.beans-toolbar{justify-content:flex-start;flex-wrap:wrap}.beans-search{width:min(100%,320px)}.beans-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.beans-page .bean-inventory-grid{grid-template-columns:1fr}}@media(max-width:560px){.cupping-page{gap:18px}.cupping-record-main{padding:16px}.cupping-page .cupping-record-card{grid-template-columns:1fr}.cupping-card-score{border-left:0;border-top:1px solid var(--border-neutral-l1);grid-template-columns:auto 1fr;justify-items:start;padding:12px 16px}.cupping-record-main header,.cupping-record-main footer,.cupping-detail-head,.cupping-detail-actions{align-items:flex-start;flex-direction:column}.cupping-progress{width:100%}.cupping-detail-card,.cupping-modal{padding:16px}.cupping-kpi-grid,.cupping-sample-form,.cupping-sample-card{grid-template-columns:1fr}.cupping-sample-card{justify-items:start}.cupping-detail-actions .primary-action,.cupping-detail-actions .secondary-action{width:100%;justify-content:center}.beans-page{gap:18px}.beans-toolbar{display:grid;grid-template-columns:1fr 1fr}.beans-search{width:100%;grid-column:1 / -1}.beans-overview-grid{grid-template-columns:1fr;gap:10px}.beans-stat-card{padding:14px}.beans-filter-row{display:grid}.beans-list-controls{width:100%;flex-wrap:wrap;justify-content:flex-start}.beans-sort{width:100%}.bean-card-body{padding:16px}.beans-page .bean-card-head,.bean-card-footer{align-items:flex-start;flex-direction:column}.bean-card-info{grid-template-columns:1fr}.bean-card-footer>div{width:100%;justify-content:space-between}.beans-result-foot,.library-result-foot{align-items:flex-start;flex-direction:column}}.collection-stat-tile{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:14px;background:var(--bg-base-secondary);padding:14px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center}.collection-stat-tile>span{width:36px;height:36px;border-radius:12px;background:var(--bg-brand-popup);color:var(--bg-brand);display:grid;place-items:center}.collection-stat-tile.is-success>span{background:var(--status-success-surface-l1);color:var(--status-success-default)}.collection-stat-tile.is-warning>span{background:var(--status-warning-surface-l1);color:var(--status-warning-default)}.collection-stat-tile small{display:block;color:var(--text-tertiary);font-size:12px}.collection-stat-tile strong{color:var(--text-default);font-size:23px;font-variant-numeric:tabular-nums}.device-card-grid,.bean-inventory-grid{min-width:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.device-tile,.bean-inventory-card,.cupping-record-card,.collection-side-card,.collection-insight-card,.subject-list-card,.collection-table-card{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:14px;background:var(--bg-base-secondary);box-shadow:var(--shadow-sm)}.device-tile.is-active,.cupping-record-card.is-active{border-color:var(--border-brand);background:var(--bg-brand-popup)}.device-tile-body strong,.bean-inventory-card h2,.cupping-record-card h3{min-width:0;margin:0;color:var(--text-default);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-tile-body span,.device-tile-body small,.bean-inventory-card p,.collection-side-card p,.subject-row small{min-width:0;margin:0;color:var(--text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.collection-side-head,.collection-section-head,.bean-card-head,.bean-card-meta,.cupping-record-card header{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:10px}.bean-inventory-card{padding:14px;display:grid;gap:10px}.bean-card-head>svg{color:var(--bg-brand)}.cupping-record-list{min-width:0;display:grid;gap:12px}.cupping-record-card{padding:14px;display:grid;gap:11px}.comparison-legend{display:flex;flex-wrap:wrap;gap:12px;color:var(--text-secondary);font-size:13px}.comparison-legend span{display:inline-flex;align-items:center;gap:6px}.comparison-legend i{width:10px;height:10px;border-radius:999px;background:var(--bg-brand)}.comparison-legend span:nth-child(2) i{background:var(--status-success-default)}.comparison-legend span:nth-child(3) i{background:var(--status-warning-default)}.workflow-topbar h2,.workflow-card h3,.pairing-hero h2,.order-title-row h3{margin:0;color:var(--text-default)}.workflow-card,.pairing-hero{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:14px;background:var(--bg-base-secondary);box-shadow:var(--shadow-sm);padding:16px;display:grid;gap:14px}.pairing-hero{grid-template-columns:minmax(0,1fr) auto;align-items:center}.pairing-hero p{margin:6px 0 0;color:var(--text-secondary)}.milestone-list,.order-timeline{position:relative}.milestone-list span,.order-timeline span{min-width:0;display:grid;grid-template-columns:12px minmax(0,1fr) auto;gap:8px;align-items:center;color:var(--text-secondary);padding:6px 0}.milestone-list i,.order-timeline i{width:9px;height:9px;border-radius:999px;background:var(--bg-brand)}.milestone-list b,.order-timeline small{color:var(--text-tertiary);font-variant-numeric:tabular-nums}.milestone-list small{grid-column:2 / -1;color:var(--text-default)}.mini-curve-chart .is-ror{stroke:var(--status-warning-default);stroke-width:3}.bean-create-preview{align-content:start}.roast-history-list,.log-timeline-list,.settings-section-grid{min-width:0;display:grid;gap:12px}.roast-history-row{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:14px;background:var(--bg-base-secondary);box-shadow:var(--shadow-sm);padding:12px;display:grid;grid-template-columns:160px minmax(0,1fr) minmax(220px,.72fr) 92px auto auto;gap:12px;align-items:center}.roast-history-row>div{min-width:0;display:grid;gap:3px}.roast-history-row strong,.role-card h2,.report-hero-card h2,.log-line strong{min-width:0;margin:0;color:var(--text-default);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roast-history-row small,.report-hero-card p,.role-card p,.settings-section p{min-width:0;margin:0;color:var(--text-secondary);line-height:1.55}.roast-history-row>span{color:var(--text-default);font-variant-numeric:tabular-nums}.roast-sparkline .is-ror{stroke:var(--status-warning-default);stroke-width:3}.report-grid,.ops-dashboard-grid,.health-grid,.audit-detail-grid{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.42fr);gap:14px;align-items:start}.fleet-map span.is-offline{background:var(--status-error-surface-l1);color:var(--status-error-default)}.settings-toggle.is-on{justify-content:flex-end;background:var(--bg-brand-popup)}.settings-toggle.is-on i{background:var(--bg-brand)}.home-hero-panel,.invitation-card,.error-banner{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:18px;background:var(--bg-base-secondary);box-shadow:var(--shadow-sm);padding:18px}.home-hero-panel h2,.workspace-current h2,.invitation-card h2{margin:0;color:var(--text-default)}.home-hero-panel p,.workspace-current p,.secondary-copy,.invitation-card p,.maintenance-device-head p{margin:6px 0 0;color:var(--text-secondary);line-height:1.6}.invitation-card{max-width:760px;margin:0 auto;text-align:center;display:grid;justify-items:center;gap:12px}@keyframes skeletonPulse{0%{background-position:0% 0}to{background-position:-200% 0}}@media(max-width:1180px){.collection-topbar,.workflow-topbar,.ops-topbar,.device-workspace-grid,.cupping-workspace-grid,.comparison-report-grid,.workflow-grid,.workflow-grid.is-wide,.order-detail-grid,.report-grid,.ops-dashboard-grid,.health-grid,.audit-detail-grid,.admin-audit-detail-grid,.secondary-grid,.workspace-grid,.interaction-drawer-page{grid-template-columns:1fr}.collection-stat-grid,.collection-stat-grid.is-compact,.device-card-grid,.bean-inventory-grid,.import-mode-grid,.role-card-grid,.settings-section-grid,.home-nav-grid,.workspace-card-list{grid-template-columns:repeat(2,minmax(0,1fr))}.nav-card--featured{grid-row:auto;min-height:300px;grid-template-columns:minmax(0,1fr) minmax(200px,280px);padding:26px}}@media(max-width:640px){.collection-stat-grid,.collection-stat-grid.is-compact,.device-card-grid,.bean-inventory-grid,.workflow-form-grid,.import-mode-grid,.role-card-grid,.settings-section-grid,.home-nav-grid,.workspace-card-list,.version-compare,.sensor-grid,.csv-summary-grid,.wizard-steps,.shortcut-grid,.onboarding-steps,.skeleton-layout,.device-telemetry-grid,.cupping-sample-mini-grid,.preview-fact-grid,.diff-grid{grid-template-columns:1fr}.admin-audit-detail-topbar,.admin-audit-summary-card{align-items:flex-start;flex-direction:column}.admin-audit-detail-list,.admin-audit-request-meta{grid-template-columns:1fr}.admin-audit-request-meta div:last-child{grid-column:auto}.roast-history-row{grid-template-columns:1fr}.collection-section-head,.cupping-record-card header,.collection-side-head,.workflow-section-head,.pairing-hero{align-items:flex-start;flex-direction:column}.report-hero-card,.home-hero-panel,.pairing-hero{grid-template-columns:1fr}.curve-action-summary,.curve-action-edit-fields,.curve-action-delete-impact,.roast-history-delete-facts{grid-template-columns:minmax(0,1fr)}.curve-action-preview,.curve-action-delete-preview{align-items:flex-start;flex-direction:column}.curve-action-modal .curve-modal-foot .primary-action,.curve-action-modal .curve-modal-foot .secondary-action{width:100%;justify-content:center}}@media(max-width:1180px){.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.roast-live-device,.roast-live-actions{justify-content:flex-start}.roast-live-actions{flex-wrap:wrap}.roast-live-grid{grid-template-columns:1fr}.curve-comparison-head,.curve-detail-header,.curve-detail-layout{grid-template-columns:1fr;align-items:start}.library-topbar{grid-template-columns:minmax(0,1fr) auto}.library-actions,.library-search{grid-column:auto;grid-row:auto}.curve-detail-actions{justify-content:flex-start}.curve-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-grid,.lower-grid,.split-grid,.roast-console{grid-template-columns:1fr}.roaster-image{min-height:240px}}@media(max-width:980px){.auth-shell{--auth-panel-offset-x: 0px;height:auto;min-height:100vh;min-height:100svh;overflow-y:auto;grid-template-columns:1fr;align-items:start;align-content:start}.auth-hero{height:auto;min-height:0;gap:24px;padding-bottom:0}.auth-panel{max-width:600px}}@media(max-width:1100px){.topbar{grid-template-columns:minmax(0,1fr) auto;gap:10px 12px}.search{grid-column:1 / -1;grid-row:2;max-width:none}.topbar-actions .user-chip{max-width:150px}}@media(max-width:820px){:root{--shell-gutter: 16px;--shell-gap: 12px;--workspace-side-margin: 0px}.topbar{top:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:8px var(--shell-gutter)}.topbar-brand{min-width:0}.metric-row{grid-template-columns:repeat(2,minmax(0,1fr))}.curve-detail-page{padding:16px}.curve-detail-titlebar h1{white-space:normal}.curve-detail-chart-panel{min-height:0;grid-template-rows:auto auto}.curve-detail-chart{min-height:0}.curve-detail-chart-head{display:grid}.curve-detail-legend{justify-content:flex-start}}@media(max-width:680px){.topbar-actions .theme-button{width:40px;padding:0}.topbar-actions .theme-button span{display:none}.topbar-actions .user-chip{max-width:118px}}@media(max-width:540px){.auth-shell{padding:16px;gap:16px}.auth-session-shell{padding:24px 16px}.session-expired-card{padding:36px 22px}.auth-brand-row{align-items:flex-start}.auth-theme{min-width:40px;padding:0}.auth-theme span{display:none}.auth-locale-menu{top:10px;right:70px}.auth-hero{gap:14px}.auth-hero-copy h1{font-size:28px;line-height:1.12}.auth-hero-copy p{display:none}.auth-panel{padding:22px}.auth-panel-head{margin-bottom:18px}.auth-panel-head h2{font-size:21px}.auth-options,.auth-secondary-actions{align-items:stretch;flex-direction:column}.auth-captcha-group,.auth-code-row{grid-template-columns:1fr}.auth-code-send{min-height:44px}.auth-oauth-grid{grid-template-columns:repeat(4,44px)}.auth-oauth-button{width:44px}.auth-secondary-actions .text-button{width:100%;justify-content:center}.brand-subtitle,.topbar-actions .user-chip{display:none}.workspace{padding-top:14px;padding-bottom:44px;padding-bottom:calc(44px + env(safe-area-inset-bottom));gap:14px}.roast-live-topstrip,.roast-live-controls,.roast-live-data,.roast-live-chart-panel{padding:10px}.roast-live-actions{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.roast-live-actions .secondary-action,.roast-live-actions .primary-action{min-width:0;padding:0 8px}.roast-live-chart-panel{grid-template-rows:auto auto auto}.roast-live-chart{min-height:250px}.curve-comparison-chart-card,.curve-comparison-insight{padding:12px}.curve-comparison-chart{height:240px}.curve-comparison-legend{gap:9px}.curve-comparison-table table{min-width:640px}.curve-detail-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.curve-detail-actions .primary-action,.curve-detail-actions .secondary-action{width:100%;justify-content:center}.curve-detail-meta-strip{padding-bottom:10px}.curve-related-list{grid-template-columns:1fr}.curve-library-page{padding:12px}.library-topbar{grid-template-columns:1fr}.library-heading,.library-actions,.library-search{grid-column:1;grid-row:auto}.library-actions{justify-content:flex-start}.curve-library-grid{grid-template-columns:1fr}.cupping-page-topbar,.admin-users-topbar,.notifications-topbar,.cupping-detail-hero{align-items:flex-start;flex-direction:column}.profile-identity{grid-template-columns:auto minmax(0,1fr)}.profile-identity .status-badge{grid-column:1 / -1;justify-self:start}.device-header-card,.bean-detail-hero{grid-template-columns:1fr}h1{margin-top:6px;font-size:22px;line-height:1.16}.hero-copy{display:none}.hero-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.hero-actions .primary-action{grid-column:1 / -1}.hero-actions .primary-action,.hero-actions .secondary-action{min-height:44px;justify-content:center;padding:0 10px}.metric-row{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scroll-snap-type:x mandatory;scrollbar-width:none}.metric-row::-webkit-scrollbar,.module-grid::-webkit-scrollbar{display:none}.metric{flex:0 0 112px;padding:10px;border-radius:14px;scroll-snap-align:start}.metric-value{font-size:18px}.metric-trend{display:none}.roaster-image{min-height:108px}.roaster-body{padding:14px;gap:12px}.temperature{font-size:30px}.module-grid{display:flex;width:100%;max-width:100%;min-width:0;gap:10px;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x mandatory;scrollbar-width:none}.module-card{flex:0 0 min(78vw,280px);min-height:136px;padding:14px;gap:10px;border-radius:18px;scroll-snap-align:start}.online-summary{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.online-summary::-webkit-scrollbar{display:none}.online-summary .metric{flex:0 0 136px}.split-grid,.roast-console{gap:12px}.inline-form,.form-grid,.compact-form,.sample-form,.selector-grid{grid-template-columns:1fr}.roast-summary{position:static}.record-card{min-height:54px}.curve-line-chart{min-height:188px}.curve-line-svg{min-height:154px}.action-row .primary-action,.action-row .secondary-action{flex:1 1 140px}.panel{padding:14px;border-radius:18px}.data-table{overflow-x:hidden}table{min-width:0;table-layout:fixed}th,td{padding:10px 8px;overflow-wrap:anywhere;word-break:break-word}.task-item{grid-template-columns:32px minmax(0,1fr) auto;gap:10px;padding:10px}.task-icon{width:32px;height:32px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media(max-width:640px){.home-nav-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.nav-card--featured{grid-column:1 / -1;grid-row:auto;min-height:0;grid-template-columns:minmax(0,1fr);gap:14px;padding:20px}.nav-card--featured .nav-card__content{min-width:0;gap:9px}.nav-card--featured .nav-card__title{margin-top:0;font-size:21px;line-height:1.2;word-break:normal;overflow-wrap:normal}.nav-card--featured .nav-card__desc{max-width:100%;display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.home-sparkline{width:100%;min-width:0;max-width:none;height:104px;justify-self:stretch}.nav-card:not(.nav-card--featured){min-height:164px;padding:14px;gap:8px}.nav-card:not(.nav-card--featured) .nav-card__icon{width:36px;height:36px;border-radius:10px}.nav-card:not(.nav-card--featured) .nav-card__title{margin-top:1px;font-size:16px}.nav-card:not(.nav-card--featured) .nav-card__desc{display:-webkit-box;overflow:hidden;font-size:12px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.nav-card:not(.nav-card--featured) .nav-card__stat{min-width:0;overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}}@media(max-width:540px){:root{--shell-gutter: 12px}.topbar{gap:10px 8px;padding:9px var(--shell-gutter) 10px}.topbar-brand:has(.brand-mark.has-logo)>span:last-child{display:none}.topbar .brand-mark.has-logo{width:98px;height:34px}.topbar-actions{gap:6px}.topbar-actions .locale-menu-trigger,.topbar-actions .theme-button,.topbar-actions .icon-button{width:36px;min-width:36px;min-height:36px;height:36px;border-radius:10px}.search{height:40px;border-radius:11px}.workspace{padding-top:12px;gap:14px}.home-dashboard-page{gap:14px}.home-breadcrumb{display:none}.home-hero{gap:9px}.home-hero h1{font-size:26px}.home-hero p{margin-top:6px;display:-webkit-box;overflow:hidden;font-size:13px;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:2}.home-role-chip{min-height:28px;padding:0 10px;font-size:11px;justify-self:start}.home-metric-grid:not(.home-metric-grid--setup){grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.home-metric-grid:not(.home-metric-grid--setup) .metric-card{min-height:102px;padding:13px 12px;grid-template-columns:34px minmax(0,1fr);gap:9px;align-items:start}.home-metric-grid:not(.home-metric-grid--setup) .metric-card>div{min-width:0}.home-metric-grid:not(.home-metric-grid--setup) .metric-card__icon{width:34px;height:34px;border-radius:10px}.home-metric-grid:not(.home-metric-grid--setup) .metric-card__label{font-size:11px}.home-metric-grid:not(.home-metric-grid--setup) .metric-card__value{margin-top:2px;overflow:hidden;font-size:clamp(20px,5.6vw,23px);letter-spacing:-.035em;overflow-wrap:normal;text-overflow:ellipsis;white-space:nowrap}.home-metric-grid:not(.home-metric-grid--setup) .metric-card.is-bean .metric-card__value{font-size:clamp(17px,4.6vw,20px)}.home-metric-grid:not(.home-metric-grid--setup) .metric-card__value span{margin-left:3px;font-size:10px}.home-metric-grid:not(.home-metric-grid--setup) .metric-card__sub{margin-top:5px;display:-webkit-box;overflow:hidden;font-size:10px;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}.home-onboarding-hero{padding:20px 16px}.home-onboarding-visual{display:none}.home-journey-panel,.home-side-panel{padding:16px}.home-quick-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.quick-action{min-height:72px}}@media(max-width:350px){.topbar .brand-mark.has-logo{width:84px}.topbar-actions{gap:4px}.topbar-actions .locale-menu-trigger,.topbar-actions .theme-button,.topbar-actions .icon-button{width:34px;min-width:34px;min-height:34px;height:34px}.home-nav-grid{grid-template-columns:minmax(0,1fr)}.nav-card--featured{grid-column:auto}}@media(max-width:640px){.is-workspace-app{min-height:100svh}.is-workspace-app .topbar{min-height:0;grid-template-columns:minmax(0,1fr) auto;gap:8px 10px;padding:8px 12px 10px;background:color-mix(in srgb,var(--bg-base-default) 94%,transparent);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.is-workspace-app .topbar .locale-menu,.is-workspace-app .topbar-actions .theme-button,.is-workspace-app .topbar-actions .shell-logout-action{display:none}.is-workspace-app .topbar .brand-mark.has-logo{width:88px;height:32px}.is-workspace-app .topbar-actions{gap:6px}.is-workspace-app .topbar-actions .notification-anchor .icon-button,.is-workspace-app .topbar-actions .user-chip{width:36px;min-width:36px;min-height:36px;height:36px;padding:0}.is-workspace-app .topbar-actions .user-chip{display:inline-flex}.is-workspace-app .topbar-actions .user-chip-label{display:none}.is-workspace-app .search{grid-column:1 / -1;grid-row:2;height:38px;padding:0 11px}.is-workspace-app .workspace{width:100%;padding:12px 12px calc(78px + env(safe-area-inset-bottom));gap:12px}.mobile-app-navigation{position:fixed;z-index:50;right:0;bottom:0;left:0;min-height:64px;padding:6px 8px calc(6px + env(safe-area-inset-bottom));border-top:1px solid var(--border-neutral-l1);background:color-mix(in srgb,var(--bg-base-default) 94%,transparent);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)}.mobile-app-navigation button{min-width:0;min-height:50px;border:0;background:transparent;color:var(--text-tertiary);display:grid;place-items:center;align-content:center;gap:3px;padding:3px 2px;font:inherit;cursor:pointer}.mobile-app-navigation button span{font-size:10px;font-weight:700;line-height:1.2}.mobile-app-navigation button.is-active{color:var(--bg-brand)}.workspace-spatial-page{gap:14px}.workspace-care-panel{border:0;background:transparent;box-shadow:none;padding:2px 0 0;gap:14px}.workspace-care-copy{gap:6px;padding:0 2px}.workspace-care-copy h2{font-size:21px;line-height:1.25}.workspace-care-copy p{display:-webkit-box;overflow:hidden;font-size:12px;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:2}.workspace-care-grid{width:calc(100% + 12px);display:flex;gap:10px;overflow-x:auto;margin-right:-12px;padding:0 12px 3px 0;scroll-snap-type:x mandatory;scrollbar-width:none}.workspace-care-grid::-webkit-scrollbar,.workspace-roast-strip::-webkit-scrollbar{display:none}.workspace-care-card{flex:0 0 min(76vw,286px);min-height:132px;gap:5px;padding:13px;scroll-snap-align:start}.workspace-care-card p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.workspace-spatial-layout,.workspace-spatial-layout.is-left-hidden,.workspace-spatial-layout.is-device-hidden{display:flex;flex-direction:column;gap:14px}.workspace-spatial-zone{display:contents}.workspace-quick-panel{order:1;border:0;background:transparent;box-shadow:none;padding:0}.workspace-curve-panel{order:2}.workspace-module-section{order:3}.workspace-devices-panel{order:4}.workspace-cupping-panel{order:5}.workspace-members-card{order:6}.workspace-activity-panel{order:7}.workspace-section-head{min-height:24px;margin-bottom:10px}.workspace-quick-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.workspace-quick-action{min-height:72px;border:0;background:transparent;box-shadow:none;gap:6px;padding:4px 1px}.workspace-quick-action:hover{transform:none;border-color:transparent}.workspace-quick-action-icon{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-surface);background:var(--bg-brand-popup);color:var(--bg-brand)}.workspace-quick-action.is-blue .workspace-quick-action-icon{background:var(--status-info-surface-l1);color:var(--status-info-default)}.workspace-quick-action.is-amber .workspace-quick-action-icon{background:var(--status-warning-surface-l1);color:var(--status-warning-default)}.workspace-quick-action.is-violet .workspace-quick-action-icon{background:color-mix(in srgb,#7c5cff 13%,transparent);color:#8b73ff}.workspace-quick-action>span:last-child{font-size:11px;white-space:nowrap}.workspace-curve-panel{min-height:278px;padding:14px}.workspace-curve-head{margin-bottom:8px}.workspace-curve-head p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:1}.workspace-curve-panel>.curve-detail-chart{min-height:200px}.workspace-roast-strip{width:calc(100% + 12px);display:flex;gap:9px;overflow-x:auto;margin-right:-12px;padding:0 12px 3px 0;scroll-snap-type:x mandatory;scrollbar-width:none}.workspace-roast-card{flex:0 0 min(72vw,268px);min-height:96px;padding:12px;scroll-snap-align:start}.workspace-home-panel{padding:14px}.workspace-device-card{min-height:60px;grid-template-columns:8px minmax(0,1fr) auto;padding:10px 2px;border-width:0 0 1px;background:transparent;box-shadow:none}.workspace-device-card:hover{transform:none;box-shadow:none}.workspace-status-strip{display:none}}@media(min-width:641px){.mobile-app-navigation{display:none}.workspace-quick-action-icon{display:inline-flex}}@media(max-width:360px){.workspace-quick-action>span:last-child{font-size:10px}.workspace-care-card{flex-basis:82vw}}.status-badge.is-warning{border-color:var(--status-warning-default);background:var(--status-warning-surface);color:var(--status-warning-default)}.status-badge.is-info{border-color:var(--status-info-default);background:var(--status-info-surface);color:var(--status-info-default)}.filter-sort{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:0 12px;border:1px solid var(--border-neutral-l1);border-radius:999px;background:var(--bg-base-tertiary);color:var(--text-secondary);font:inherit;font-size:13px;cursor:pointer}.filter-sort.is-active{border-color:var(--border-brand);background:var(--bg-brand-popup);color:var(--bg-brand);font-weight:800}.inline-import-card{border:1px solid var(--border-neutral-l2);border-radius:14px;background:var(--bg-base-secondary);padding:14px;display:grid;gap:10px;box-shadow:var(--shadow-sm)}.inline-import-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.inline-import-head strong{display:block;color:var(--text-default)}.inline-import-head small{color:var(--text-tertiary);font-size:12px}.inline-import-card textarea{width:100%;border:1px solid var(--border-neutral-l1);border-radius:10px;padding:10px;font:inherit;font-size:13px;line-height:1.6;resize:vertical;background:var(--bg-base-default);color:var(--text-default)}.role-permission-assign{margin-top:14px;border-top:1px dashed var(--border-neutral-l2);padding-top:14px;display:grid;gap:10px}.role-permission-assign h3{font-size:15px;color:var(--text-default)}.permission-checklist{display:grid;grid-template-columns:repeat(auto-fill,minmax(184px,1fr));gap:8px;max-height:260px;overflow-y:auto;padding-right:4px}.permission-check{display:flex;gap:8px;align-items:flex-start;border:1px solid var(--border-neutral-l1);border-radius:10px;padding:8px 10px;background:var(--bg-base-secondary);cursor:pointer}.permission-check.is-checked{border-color:var(--border-brand);background:var(--bg-brand-popup)}.permission-check input{margin-top:3px;accent-color:var(--bg-brand)}.permission-check strong{display:block;font-size:13px;color:var(--text-default)}.permission-check small{color:var(--text-tertiary);font-size:11px}.permission-check-empty{color:var(--text-tertiary)}.roast-live-console{display:grid;gap:16px}.roast-live-topbar{min-height:52px;display:grid;grid-template-columns:minmax(220px,1fr) auto minmax(260px,1fr);align-items:center;gap:16px;padding:0 0 14px;border-bottom:1px solid var(--border-neutral-l1)}.roast-live-breadcrumb,.roast-live-device,.roast-live-actions{min-width:0;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.roast-live-breadcrumb{justify-content:flex-start;color:var(--text-tertiary);font-size:14px}.roast-live-breadcrumb strong{color:var(--text-default)}.roast-live-device{justify-content:center}.roast-live-device>strong{color:var(--text-default);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:15px;white-space:nowrap}.roast-live-title{display:flex;align-items:center;gap:14px}.roast-live-title h2{font-size:20px;color:var(--text-default)}.roast-live-actions{justify-content:flex-end}.roast-live-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.roast-live-grid{display:grid;grid-template-columns:minmax(210px,.72fr) minmax(420px,2fr) minmax(280px,1fr);gap:16px;align-items:start}.roast-live-controls,.roast-live-chart-panel,.roast-live-telemetry{min-width:0}.roast-live-controls{display:grid;gap:14px;align-content:start}.roast-control-stack{display:grid;gap:12px}.roast-control-card{min-width:0;min-height:132px;border:1px solid var(--border-neutral-l1);border-radius:14px;background:var(--bg-base-secondary);padding:14px;display:grid;gap:12px}.roast-control-card>div:first-child{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.roast-control-card span,.roast-live-session-card dt{color:var(--text-secondary);font-size:12px}.roast-control-card span{display:inline-flex;align-items:center;gap:6px;font-weight:800}.roast-control-card strong{color:var(--text-default);font-size:28px;line-height:1;font-variant-numeric:tabular-nums}.roast-control-card.is-fire strong,.roast-control-card.is-fire span svg{color:var(--bg-brand)}.roast-control-card.is-air strong,.roast-control-card.is-air span svg{color:var(--status-info-default)}.roast-control-card.is-drum strong,.roast-control-card.is-drum span svg{color:var(--text-default)}.roast-control-meter{min-width:0;display:grid;justify-items:center}.roast-control-meter i{height:96px;width:7px;justify-self:center;border-radius:999px;background:linear-gradient(0deg,currentColor 0 var(--roast-control-level),transparent var(--roast-control-level) 100%),var(--bg-base-tertiary);color:var(--bg-brand);position:relative}.roast-control-card.is-air .roast-control-meter i{color:var(--status-info-default)}.roast-control-card.is-drum .roast-control-meter i{color:var(--text-secondary)}.roast-control-meter i:after{content:"";width:15px;height:15px;border:2px solid var(--bg-base-secondary);border-radius:999px;background:currentColor;box-shadow:var(--shadow-sm);position:absolute;left:50%;bottom:calc(var(--roast-control-level) - 7px);transform:translate(-50%)}.roast-live-session-card{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:14px;background:var(--bg-base-secondary);padding:14px}.roast-live-session-card h2{margin:0 0 10px;color:var(--text-default);font-size:14px}.roast-live-session-card dl{margin:0;display:grid;gap:9px}.roast-live-session-card div{display:flex;justify-content:space-between;gap:12px}.roast-live-session-card dd{margin:0;color:var(--text-default);font-size:12px;font-weight:800;text-align:right;overflow-wrap:anywhere}.roast-live-svg{width:100%;height:auto;min-height:420px;display:block;border:1px solid var(--border-neutral-l1);border-radius:14px;background:var(--bg-base-secondary)}.roast-live-axis line{stroke:var(--border-neutral-l1);stroke-width:1}.roast-live-axis text{fill:var(--text-tertiary);font-size:11px;font-variant-numeric:tabular-nums}.roast-live-axis.is-ror line{stroke:color-mix(in srgb,var(--status-warning-default) 22%,var(--border-neutral-l1))}.roast-live-axis.is-ror text{fill:var(--status-warning-default)}.roast-live-ror-baseline,.roast-save-preview-ror-baseline{stroke:color-mix(in srgb,var(--status-warning-default) 42%,var(--border-neutral-l1));stroke-width:1.2;stroke-dasharray:6 5}.roast-live-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}.roast-live-legend span{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary)}.roast-live-legend span:before{content:none}.roast-live-legend i{width:14px;height:3px;border-radius:2px}.roast-live-legend .is-ror i{height:10px;background:linear-gradient(180deg,color-mix(in srgb,var(--status-warning-default) 35%,transparent),color-mix(in srgb,var(--status-warning-default) 6%,transparent))!important}.roast-live-area.is-bean{fill:url(#roastLiveBtFill)}.roast-live-area.is-ror{fill:url(#roastLiveRorFill)}.roast-live-line{fill:none;stroke-linecap:round;stroke-linejoin:round}.roast-live-line.is-bean{stroke-width:2.6}.roast-live-line.is-ror{opacity:.72}.roast-live-empty,.roast-live-log-empty{display:grid;gap:10px;place-items:center;color:var(--text-tertiary);text-align:center;padding:40px 16px}.roast-live-reading-grid{display:grid;gap:10px;margin-bottom:14px}.roast-live-reading-grid article{min-height:58px;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-secondary);padding:10px 12px;display:flex;align-items:baseline;justify-content:space-between;gap:12px}.roast-live-reading-grid small{color:var(--text-tertiary);font-size:12px}.roast-live-reading-grid strong{color:var(--text-default);font-size:24px;line-height:1;font-variant-numeric:tabular-nums}.roast-live-reading-grid .is-bean strong{color:var(--bg-brand)}.roast-live-reading-grid .is-environment strong{color:var(--status-info-default)}.roast-live-reading-grid .is-ror strong{color:var(--status-warning-default)}.roast-live-events{display:grid;gap:8px;margin-bottom:14px}.roast-live-event-item{min-height:34px;display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;border:0;border-radius:10px;background:transparent;color:var(--text-tertiary);text-align:left}.roast-live-event-item span{width:18px;height:18px;border:2px solid var(--border-neutral-l2);border-radius:999px}.roast-live-event-item strong{color:inherit;font-size:13px}.roast-live-event-item small{color:inherit;font-size:12px;font-variant-numeric:tabular-nums}.roast-live-events .is-done{color:var(--status-success-default)}.roast-live-events .is-done span{border-color:var(--status-success-default);background:var(--status-success-default)}.roast-live-events .is-active{margin:2px -4px;padding:6px 8px;border:1px solid var(--status-warning-surface);border-radius:10px;background:var(--status-warning-surface);color:var(--status-warning-default)}.roast-live-events .is-active span{border-color:var(--status-warning-default);background:radial-gradient(circle,var(--status-warning-default) 0 4px,transparent 5px)}.roast-live-telemetry-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px;margin-bottom:12px}.roast-live-telemetry-grid>div{border:1px solid var(--border-neutral-l1);border-radius:10px;padding:8px 10px;background:var(--bg-base-secondary)}.roast-live-telemetry-grid small{display:block;color:var(--text-tertiary);font-size:11px;word-break:break-all}.roast-live-telemetry-grid strong{font-size:18px;color:var(--text-default);font-variant-numeric:tabular-nums}.roast-live-log{display:grid;gap:6px}.roast-live-log>div{display:flex;gap:10px;align-items:baseline;font-size:12px}.roast-live-log>div span{color:var(--text-secondary);font-variant-numeric:tabular-nums;flex:0 0 auto}.roast-live-log>div small{color:var(--text-tertiary);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.roast-stop-dialog,.roast-save-modal,.roast-complete-dialog{width:min(520px,100%);max-height:calc(100vh - 40px);overflow:auto;border:1px solid var(--border-neutral-l1);border-radius:16px;background:var(--bg-base-secondary);color:var(--text-default);box-shadow:var(--shadow-xl)}.roast-stop-dialog{display:grid;gap:18px;padding:22px}.roast-save-backdrop{z-index:140}.roast-save-modal{display:grid;overflow:hidden}.roast-save-modal{width:min(520px,100%)}.roast-modal-head,.roast-modal-foot{display:flex;gap:12px;padding:18px 20px}.roast-modal-head{align-items:flex-start;border-bottom:1px solid var(--border-neutral-l1)}.roast-modal-head>div{min-width:0;flex:1 1 auto}.roast-modal-head h2,.roast-modal-head p{margin:0}.roast-modal-head h2{color:var(--text-default);font-size:20px;line-height:1.25}.roast-modal-head p{margin-top:6px;color:var(--text-secondary);font-size:13px;line-height:1.55}.roast-modal-foot{justify-content:flex-end;flex-wrap:wrap;border-top:1px solid var(--border-neutral-l1);background:var(--bg-base-tertiary)}.roast-stop-icon,.roast-save-icon,.roast-complete-icon{width:46px;height:46px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px}.roast-stop-icon,.roast-complete-icon.is-warning{background:var(--status-warning-surface);color:var(--status-warning-default)}.roast-save-icon{flex:0 0 auto;background:var(--status-success-surface);color:var(--status-success-default)}.roast-stop-dialog h2,.roast-complete-dialog h2{margin:0;font-size:22px;line-height:1.25;color:var(--text-default)}.roast-stop-dialog p,.roast-complete-dialog p{margin:8px 0 0;color:var(--text-secondary);line-height:1.7}.roast-stop-meta-strip{min-width:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 14px;border:1px solid var(--border-neutral-l1);border-radius:10px;background:var(--bg-base-tertiary)}.roast-stop-meta-strip span{min-width:0;display:inline-flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:13px;line-height:1.45;overflow-wrap:anywhere}.roast-stop-meta-strip span+span:before{content:"";width:4px;height:4px;flex:0 0 4px;border-radius:999px;background:var(--text-tertiary)}.roast-stop-facts,.roast-complete-details{margin:0;display:grid;gap:10px}.roast-stop-facts>div,.roast-complete-details>div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--border-neutral-l1)}.roast-stop-facts dt,.roast-complete-details dt{color:var(--text-tertiary);font-size:12px}.roast-stop-facts dd,.roast-complete-details dd{margin:0;max-width:65%;color:var(--text-default);font-weight:800;text-align:right;overflow-wrap:anywhere}.roast-save-body{min-height:0;overflow:auto;display:grid;gap:14px;padding:18px 20px}.roast-save-preview{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-tertiary);padding:12px;display:grid;gap:10px}.roast-save-preview-chart{min-height:132px;border:1px solid var(--border-neutral-l1);border-radius:10px;background:linear-gradient(180deg,var(--bg-base-secondary),var(--bg-base-default));display:grid;place-items:center;overflow:hidden}.roast-save-preview-svg{width:100%;height:132px;display:block}.roast-save-preview-grid line{stroke:var(--border-neutral-l1);stroke-width:1}.roast-save-preview-area.is-bean{fill:url(#roastSaveBtFill)}.roast-save-preview-area.is-ror{fill:url(#roastSaveRorFill)}.roast-save-preview-line{fill:none;stroke-linecap:round;stroke-linejoin:round}.roast-save-preview-line.is-bean{stroke-width:3}.roast-save-preview-line.is-ror{opacity:.74}.roast-save-preview-empty{display:grid;gap:8px;place-items:center;color:var(--text-tertiary);font-size:13px;text-align:center}.roast-save-preview-copy{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.roast-save-preview-copy strong{flex:0 0 auto;color:var(--text-default);font-size:14px}.roast-save-preview-copy small{min-width:0;color:var(--text-secondary);font-size:12px;line-height:1.45;text-align:right}.roast-save-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.roast-save-field{display:grid;gap:7px}.roast-save-field span{color:var(--text-secondary);font-size:13px;font-weight:800}.roast-save-field input,.roast-save-field textarea{width:100%;min-width:0;border:1px solid var(--border-neutral-l1);border-radius:10px;background:var(--bg-base-default);color:var(--text-default);font:inherit}.roast-save-field input{min-height:40px;padding:0 12px}.roast-save-field textarea{resize:vertical;min-height:78px;padding:10px 12px}.roast-save-field input:focus,.roast-save-field textarea:focus{border-color:var(--border-brand);outline:0;box-shadow:0 0 0 3px #e85d2a1f}.roast-save-summary{margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.roast-save-summary div{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-tertiary);padding:10px}.roast-save-summary dt{color:var(--text-tertiary);font-size:12px}.roast-save-summary dd{margin:4px 0 0;color:var(--text-default);font-weight:800;overflow-wrap:anywhere}.roast-stop-actions,.roast-complete-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.roast-complete-dialog{display:grid;grid-template-rows:auto auto auto auto;overflow:hidden}.roast-complete-dialog header{display:flex;gap:14px;align-items:flex-start;padding:22px;border-bottom:1px solid var(--border-neutral-l1)}.roast-complete-icon{flex:0 0 auto;background:var(--status-success-surface);color:var(--status-success-default)}.roast-complete-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:16px 22px;border-bottom:1px solid var(--border-neutral-l1);background:var(--bg-base-tertiary)}.roast-complete-summary>div{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:12px;padding:12px;background:var(--bg-base-secondary)}.roast-complete-summary small{display:block;margin-bottom:6px;color:var(--text-tertiary);font-size:12px}.roast-complete-summary strong{display:block;color:var(--text-default);font-size:20px;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis}.roast-complete-details{padding:6px 22px}.roast-complete-actions{padding:18px 22px 22px;border-top:1px solid var(--border-neutral-l1)}@media(max-width:900px){.roast-live-topbar{grid-template-columns:minmax(0,1fr);align-items:start}.roast-live-device,.roast-live-actions{justify-content:flex-start}.roast-live-grid,.roast-live-summary,.roast-save-grid,.roast-save-summary{grid-template-columns:minmax(0,1fr)}.roast-save-preview-copy{display:grid}.roast-save-preview-copy small{text-align:left}.roast-complete-summary{grid-template-columns:minmax(0,1fr)}.roast-stop-actions,.roast-complete-actions{justify-content:stretch}.roast-stop-actions>button,.roast-complete-actions>button{flex:1 1 180px}}.formal-state-panel{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;align-items:start;padding:28px;border:1px solid var(--border-neutral-l1);border-radius:14px;background:var(--bg-base-secondary);box-shadow:var(--shadow-sm)}.formal-state-panel h1{margin:4px 0 8px;font-size:clamp(26px,3vw,38px);line-height:1.18;letter-spacing:0}.formal-state-panel p{max-width:760px;margin:0;color:var(--text-secondary)}.development-actions{display:flex;flex-wrap:wrap;gap:10px}@media(max-width:900px){.formal-state-panel,.development-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:560px){.formal-state-panel{padding:20px}}.purchase-orders-page,.purchase-detail-page{width:min(100%,1200px);margin:0 auto;display:grid;gap:20px}.purchase-toolbar,.purchase-detail-topbar{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:16px}.purchase-detail-topbar h1{margin:3px 0 0;color:var(--text-default);font-size:clamp(24px,3vw,34px);line-height:1.16;letter-spacing:0}.purchase-detail-title-meta{min-width:0;display:grid;justify-items:end;gap:3px;color:var(--text-tertiary);font-size:12px}.purchase-detail-title-meta strong{max-width:280px;color:var(--text-default);font-size:14px;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.purchase-heading{min-width:0;display:flex;align-items:center;gap:12px}.purchase-back-button{flex:0 0 auto;background:var(--bg-base-secondary)}.purchase-breadcrumb{min-width:0;display:flex;align-items:center;gap:8px;color:var(--text-tertiary);font-size:14px;line-height:1.4}.purchase-breadcrumb button{border:0;background:transparent;color:inherit;padding:0;font:inherit;cursor:pointer}.purchase-breadcrumb button:hover{color:var(--text-default)}.purchase-breadcrumb h1{min-width:0;margin:0;color:var(--text-default);font:inherit;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.purchase-toolbar-actions,.purchase-filter-fields,.purchase-action-bar{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.purchase-filter-panel,.purchase-table-card,.purchase-detail-card,.purchase-action-bar{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-secondary);box-shadow:var(--shadow-sm)}.purchase-filter-panel{padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.purchase-filter-pills{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.purchase-filter-pills button{min-height:28px;border:1px solid var(--border-neutral-l1);border-radius:999px;background:var(--bg-base-default);color:var(--text-secondary);padding:0 12px;cursor:pointer;font-size:13px;font-weight:800}.purchase-filter-pills button:hover,.purchase-filter-pills button.is-active{border-color:var(--border-brand);background:var(--bg-brand-popup);color:var(--bg-brand)}.purchase-filter-fields label{min-height:36px;min-width:140px;border:1px solid var(--border-neutral-l1);border-radius:8px;background:var(--bg-base-default);color:var(--text-tertiary);display:flex;align-items:center;gap:8px;padding:0 10px}.purchase-filter-fields input,.purchase-filter-fields select{min-width:0;width:100%;border:0;outline:0;background:transparent;color:var(--text-default)}.purchase-filter-fields select{min-height:32px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;font:inherit}.purchase-filter-fields>span{color:var(--text-tertiary)}.purchase-filter-fields .purchase-search{min-width:220px}.purchase-stat-grid{min-width:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.purchase-stat-card{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-secondary);box-shadow:var(--shadow-sm);padding:16px 20px;display:grid;gap:4px}.purchase-stat-card span{color:var(--text-tertiary);font-size:12px}.purchase-stat-card strong{color:var(--text-default);font-size:24px;line-height:1.2;font-variant-numeric:tabular-nums}.purchase-stat-card small{margin-left:3px;color:var(--text-tertiary);font-size:13px;font-weight:500}.purchase-stat-card.is-brand strong{color:var(--bg-brand)}.purchase-stat-card.is-warning strong{color:var(--status-warning-default)}.purchase-stat-card.is-info strong{color:var(--status-info-default)}.purchase-table-card{padding:20px}.purchase-table-scroll,.purchase-intake-table{min-width:0;overflow-x:auto}.purchase-table-card table,.purchase-intake-table table{width:100%;min-width:860px;border-collapse:collapse}.purchase-table-card th,.purchase-table-card td,.purchase-intake-table th,.purchase-intake-table td{border-bottom:1px solid var(--border-neutral-l1);padding:12px;text-align:left;color:var(--text-secondary);font-size:13px}.purchase-table-card th,.purchase-intake-table th{color:var(--text-tertiary);font-weight:900;white-space:nowrap}.purchase-table-card .is-number,.purchase-intake-table .is-number{text-align:right}.purchase-intake-table td strong,.purchase-intake-table td small{display:block;min-width:0}.purchase-intake-table td strong{color:var(--text-default)}.purchase-intake-table td small{margin-top:2px;color:var(--text-tertiary)}.purchase-stock-tag{min-height:24px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:0 9px;border:1px solid var(--border-neutral-l1);background:var(--bg-base-default);color:var(--text-secondary);font-size:12px;font-weight:900;white-space:nowrap}.purchase-stock-tag.is-available{border-color:color-mix(in srgb,var(--status-success-default) 34%,var(--border-neutral-l1));background:color-mix(in srgb,var(--status-success-default) 10%,var(--bg-base-default));color:var(--status-success-default)}.purchase-stock-tag.is-depleted{border-color:color-mix(in srgb,var(--status-danger-default) 34%,var(--border-neutral-l1));background:color-mix(in srgb,var(--status-danger-default) 10%,var(--bg-base-default));color:var(--status-danger-default)}.purchase-stock-tag.is-pending{border-color:color-mix(in srgb,var(--status-info-default) 30%,var(--border-neutral-l1));background:color-mix(in srgb,var(--status-info-default) 9%,var(--bg-base-default));color:var(--status-info-default)}.purchase-empty-row td{border-bottom:0}.purchase-empty-panel{min-height:220px;display:grid;place-items:center;align-content:center;gap:10px;color:var(--text-tertiary);text-align:center;padding:28px}.purchase-empty-panel svg{color:var(--bg-brand)}.purchase-empty-panel strong{color:var(--text-default);font-size:18px}.purchase-empty-panel span{max-width:520px}@media(max-width:960px){.purchase-toolbar,.purchase-filter-panel{align-items:stretch;flex-direction:column}.purchase-toolbar-actions,.purchase-filter-fields{justify-content:flex-start}.purchase-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.purchase-heading{align-items:stretch;flex-direction:column}.purchase-breadcrumb{flex-wrap:wrap}.purchase-toolbar-actions>button,.purchase-filter-fields,.purchase-filter-fields label,.purchase-filter-fields .purchase-search,.purchase-action-bar>button{width:100%}.purchase-filter-fields>span{display:none}.purchase-stat-grid{grid-template-columns:minmax(0,1fr)}.purchase-table-card{padding:14px}.purchase-pagination{align-items:stretch;flex-direction:column}}.responsive-pagination{margin-top:16px;padding-top:16px;border-top:1px solid var(--border-neutral-l1);color:var(--text-tertiary);font-size:13px}.responsive-pagination-desktop,.responsive-pagination-mobile,.responsive-pagination-controls,.responsive-pagination-mobile div{display:flex;align-items:center}.responsive-pagination-desktop{justify-content:space-between;gap:14px}.responsive-pagination-desktop.is-controls-only{justify-content:flex-end}.responsive-pagination-controls{gap:6px}.responsive-pagination-controls button{min-width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-neutral-l1);border-radius:8px;background:var(--bg-base-default);color:var(--text-secondary)}.responsive-pagination-controls button:hover:not(:disabled){border-color:var(--border-brand);color:var(--bg-brand)}.responsive-pagination-controls button.is-active{border-color:var(--border-brand);background:var(--bg-brand-light);color:var(--bg-brand);font-weight:700}.responsive-pagination-controls button:disabled{cursor:not-allowed;opacity:.55}.responsive-pagination-ellipsis{min-width:24px;text-align:center;color:var(--text-tertiary)}.responsive-pagination-mobile{display:none;gap:12px}.responsive-pagination-mobile div{gap:8px}@media(max-width:760px){.responsive-pagination-desktop{display:none}.responsive-pagination-mobile{display:flex;align-items:stretch;flex-direction:column}.responsive-pagination-mobile div{flex-wrap:wrap}}.purchase-pagination{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border-neutral-l1);color:var(--text-tertiary);font-size:13px}.purchase-pagination div{display:flex;align-items:center;gap:6px}.purchase-pagination button{min-width:30px;height:30px;border:1px solid var(--border-neutral-l1);border-radius:8px;background:var(--bg-base-default);color:var(--text-secondary)}.purchase-pagination button.is-active{border-color:var(--border-brand);color:var(--bg-brand)}.purchase-intake-action{min-height:28px}.purchase-detail-topbar{justify-content:flex-start}.purchase-status-banner{min-width:0;border:1px solid color-mix(in srgb,var(--bg-brand) 26%,var(--border-neutral-l1));border-radius:12px;background:var(--bg-brand-popup);color:var(--bg-brand);padding:14px 20px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.purchase-status-banner span{color:var(--text-secondary)}.purchase-status-banner.is-failed{border-color:color-mix(in srgb,var(--status-danger-default) 34%,var(--border-neutral-l1));background:color-mix(in srgb,var(--status-danger-default) 8%,var(--bg-base-secondary));color:var(--status-danger-default)}.purchase-status-banner .purchase-status-reason{flex-basis:100%;color:var(--status-danger-default);font-weight:700}.purchase-detail-grid{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.46fr);gap:20px;align-items:start}.purchase-detail-main,.purchase-side-stack{min-width:0;display:grid;gap:20px}.purchase-detail-card{padding:20px;display:grid;gap:16px}.purchase-card-title{display:flex;align-items:center;gap:8px}.purchase-card-title svg{color:var(--text-secondary)}.purchase-card-title h2{margin:0;color:var(--text-default);font-size:16px}.purchase-info-grid,.purchase-compact-list{margin:0;display:grid;grid-template-columns:96px minmax(0,1fr);gap:10px 16px}.purchase-info-grid dt,.purchase-compact-list dt{color:var(--text-tertiary)}.purchase-info-grid dd,.purchase-compact-list dd{margin:0;color:var(--text-default);font-weight:700;overflow-wrap:anywhere}.purchase-action-bar{padding:16px 20px}.purchase-detail-skeleton-card{overflow:hidden}.purchase-detail-skeleton-title,.purchase-detail-skeleton-rows span,.purchase-detail-skeleton-rows strong{display:block;border-radius:6px;background:var(--bg-base-tertiary);animation:purchase-detail-skeleton-pulse 1.5s ease-in-out infinite}.purchase-detail-skeleton-title{width:34%;height:18px}.purchase-detail-skeleton-rows{display:grid;gap:12px}.purchase-detail-skeleton-rows div{display:grid;grid-template-columns:96px minmax(0,1fr);gap:16px}.purchase-detail-skeleton-rows span,.purchase-detail-skeleton-rows strong{height:14px}.purchase-detail-skeleton-rows strong{width:min(100%,320px)}@keyframes purchase-detail-skeleton-pulse{50%{opacity:.5}}@media(max-width:960px){.purchase-detail-topbar{align-items:stretch;flex-direction:column}.purchase-detail-grid{grid-template-columns:minmax(0,1fr)}.purchase-detail-title-meta{justify-items:start}}@media(max-width:640px){.purchase-detail-card,.purchase-action-bar{padding:14px}.purchase-info-grid,.purchase-compact-list,.purchase-detail-skeleton-rows div{grid-template-columns:minmax(0,1fr);gap:4px}.purchase-info-grid dd,.purchase-compact-list dd{margin-bottom:10px}}.device-detail-page,.bean-detail-page{width:min(100%,1200px);margin:0 auto;display:grid;gap:18px}.device-detail-topbar,.bean-detail-topbar{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:16px}.device-detail-breadcrumb,.bean-detail-breadcrumb{min-width:0;display:flex;align-items:center;gap:10px;color:var(--text-tertiary);font-size:14px}.device-detail-breadcrumb strong,.bean-detail-breadcrumb strong{min-width:0;color:var(--text-default);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-detail-actions,.bean-detail-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.bean-delete-modal{width:min(430px,100%);max-height:min(760px,calc(100vh - 40px));border:1px solid var(--border-neutral-l1);border-radius:16px;background:var(--bg-base-default);color:var(--text-default);box-shadow:var(--shadow-xl);overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr) auto}.bean-delete-head{border-bottom:1px solid var(--border-neutral-l1);padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px}.bean-delete-head>div{min-width:0;color:var(--status-error-default);display:flex;align-items:center;gap:10px}.bean-delete-head h2{margin:0;color:var(--text-default);font-size:20px;line-height:1.25}.bean-delete-body{min-width:0;overflow:auto;padding:18px 20px;display:grid;gap:14px}.bean-delete-body p{margin:0;color:var(--text-secondary);font-size:14px;line-height:1.65}.bean-delete-preview{min-width:0;border:1px solid color-mix(in srgb,var(--status-error-default) 24%,var(--border-neutral-l1));border-radius:12px;background:var(--bg-base-secondary);padding:12px 14px;display:grid;gap:4px}.bean-delete-preview strong{min-width:0;color:var(--text-default);font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bean-delete-preview span{min-width:0;color:var(--text-tertiary);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bean-delete-foot{border-top:1px solid var(--border-neutral-l1);background:var(--bg-base-secondary);padding:14px 20px;display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.device-detail-hero,.bean-detail-hero,.device-detail-kpis article,.device-detail-roasts,.device-detail-card,.bean-detail-spec-grid article,.bean-detail-flavor,.bean-detail-stock,.bean-detail-roasts,.bean-detail-cupping{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:14px;background:var(--bg-base-default);box-shadow:var(--shadow-sm)}.device-detail-hero{padding:22px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;align-items:start}.device-detail-status-orb{width:64px;height:64px;border-radius:16px;background:var(--bg-base-secondary);color:var(--text-tertiary);display:grid;place-items:center;position:relative}.device-detail-status-orb:after{content:"";position:absolute;right:9px;bottom:9px;width:10px;height:10px;border:2px solid var(--bg-base-default);border-radius:999px;background:var(--text-tertiary)}.device-detail-hero.is-online .device-detail-status-orb{background:var(--status-success-surface-l1);color:var(--status-success-default)}.device-detail-hero.is-online .device-detail-status-orb:after{background:var(--status-success-default)}.device-detail-hero.is-roasting .device-detail-status-orb,.device-detail-hero.is-warning .device-detail-status-orb{background:var(--status-warning-surface-l1);color:var(--status-warning-default)}.device-detail-hero.is-roasting .device-detail-status-orb:after,.device-detail-hero.is-warning .device-detail-status-orb:after{background:var(--status-warning-default)}.device-detail-hero.is-error .device-detail-status-orb{background:var(--status-error-surface-l1);color:var(--status-error-default)}.device-detail-hero.is-error .device-detail-status-orb:after{background:var(--status-error-default)}.device-detail-hero.is-offline .device-detail-status-orb{background:var(--bg-overlay-l2);color:var(--text-tertiary)}.device-detail-hero.is-offline .device-detail-status-orb:after{background:var(--text-tertiary)}.device-detail-hero-copy{min-width:0;display:grid;gap:14px}.device-detail-hero-copy>div:first-child{min-width:0;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.device-detail-hero-copy h1,.bean-detail-hero h1{min-width:0;margin:0;color:var(--text-default);font-size:28px;line-height:1.22}.device-detail-meta{min-width:0;display:flex;flex-wrap:wrap;gap:12px 18px;color:var(--text-secondary);font-size:14px}.device-detail-meta span{min-width:0;display:inline-flex;align-items:center;gap:6px}.device-detail-meta strong{color:var(--text-default);font-weight:800}.device-detail-kpis,.bean-stock-metrics{min-width:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.device-detail-kpis article,.bean-stock-metrics article{padding:16px;display:grid;gap:7px}.device-detail-kpis span,.device-detail-kpis small,.bean-stock-metrics span{color:var(--text-tertiary);font-size:12px}.device-detail-kpis strong,.bean-stock-metrics strong{min-width:0;color:var(--text-default);font-size:26px;line-height:1;font-weight:900;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.device-detail-kpis.is-muted{opacity:.58}.device-offline-state{min-width:0;display:grid;gap:16px}.device-offline-alert{min-width:0;border:1px solid color-mix(in srgb,var(--status-warning-default) 30%,var(--border-neutral-l1));border-left:3px solid var(--status-warning-default);border-radius:12px;background:var(--status-warning-surface-l1);padding:20px 22px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;color:var(--status-warning-default)}.device-offline-alert h2{margin:0 0 8px;color:var(--text-default);font-size:20px;line-height:1.3}.device-offline-alert p,.device-offline-alert span,.device-offline-alert li{color:var(--text-secondary);line-height:1.65}.device-offline-alert p{margin:0 0 10px}.device-offline-alert span{display:block;margin-bottom:6px}.device-offline-alert ul{margin:0;padding-left:18px}.device-offline-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.device-offline-data{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:14px;background:var(--bg-base-default);box-shadow:var(--shadow-sm);padding:20px}.device-offline-data h2{margin:0 0 16px;color:var(--text-default);font-size:18px;line-height:1.3}.device-offline-data dl{margin:0;display:grid}.device-offline-data div{min-width:0;border-bottom:1px solid var(--border-neutral-l1);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0}.device-offline-data div:first-child{padding-top:0}.device-offline-data div:last-child{border-bottom:0;padding-bottom:0}.device-offline-data dt{color:var(--text-tertiary);font-size:14px}.device-offline-data dd{min-width:0;margin:0;color:var(--text-default);font-size:14px;font-weight:800;text-align:right;overflow-wrap:anywhere}.device-detail-layout{min-width:0;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:16px;align-items:start}.device-detail-roasts,.bean-detail-roasts,.bean-detail-cupping,.bean-detail-stock{padding:0;overflow:hidden}.device-detail-section-head,.bean-detail-section-head{min-width:0;border-bottom:1px solid var(--border-neutral-l1);padding:16px 18px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px}.device-detail-section-head h2,.bean-detail-section-head h2{margin:0;color:var(--text-default);font-size:18px;line-height:1.3;display:inline-flex;align-items:center;gap:7px}.device-detail-section-head span,.bean-detail-section-head span{color:var(--text-tertiary);font-size:12px}.device-roast-list,.bean-cupping-list{min-width:0;display:grid}.device-roast-row{min-width:0;border-bottom:1px solid var(--border-neutral-l1);display:grid;grid-template-columns:10px minmax(86px,.45fr) minmax(160px,1fr) minmax(64px,.35fr) auto auto;gap:12px;align-items:center;padding:14px 18px}.device-roast-row:last-child{border-bottom:0}.device-roast-row>i{width:7px;height:7px;border-radius:999px;background:var(--status-success-default)}.device-roast-row.is-warning>i{background:var(--status-warning-default)}.device-roast-row time,.device-roast-row span{color:var(--text-tertiary);font-size:12px;white-space:nowrap}.device-roast-row strong{min-width:0;color:var(--text-default);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-detail-side{min-width:0;display:grid;gap:14px}.device-detail-card{overflow:hidden}.device-detail-info-list{margin:0;padding:4px 18px}.device-detail-info-list div{min-width:0;border-bottom:1px solid var(--border-neutral-l1);display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0}.device-detail-info-list div:last-child{border-bottom:0}.device-detail-info-list dt{color:var(--text-tertiary);font-size:13px}.device-detail-info-list dd{min-width:0;margin:0;color:var(--text-default);font-size:13px;font-weight:800;text-align:right;overflow-wrap:anywhere}.device-realtime-panel{padding:14px 18px 18px;display:grid;gap:10px}.device-realtime-panel div{min-width:0;display:grid;grid-template-columns:18px minmax(0,1fr) auto;gap:10px;align-items:center}.device-realtime-panel strong{min-width:0;color:var(--text-default);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-realtime-panel span,.device-realtime-panel small{color:var(--text-secondary);font-size:12px;overflow-wrap:anywhere}.device-detail-maintenance-note{min-width:0;padding:14px 18px 18px;display:grid;gap:8px}.device-detail-maintenance-note span{color:var(--text-tertiary);font-size:12px;font-weight:800}.device-detail-maintenance-note strong{color:var(--text-default);font-size:18px;line-height:1.3}.device-detail-maintenance-note p{margin:0;color:var(--text-secondary);font-size:13px;line-height:1.55}.device-detail-maintenance-note .secondary-action{width:fit-content;margin-top:4px}.device-detail-flow-actions,.bean-detail-flow-actions{padding:16px 18px 18px;display:flex;flex-wrap:wrap;gap:10px}.workspace>.bean-detail-page{width:min(100%,1080px);max-width:1080px;margin-inline:auto}.bean-detail-back-button{width:32px;height:32px;flex:0 0 auto;border:0;border-radius:9px;background:transparent;color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.bean-detail-back-button:hover{background:var(--bg-overlay-l1);color:var(--text-default)}.bean-detail-hero{overflow:hidden;border-radius:14px;padding:0;display:block}.bean-detail-origin-strip{height:5px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.bean-detail-origin-strip span{background:var(--bean-origin-accent)}.bean-detail-hero-body{min-width:0;padding:22px 24px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.bean-detail-hero h1{font-size:24px}.bean-detail-tags .status-badge:first-child{border-color:color-mix(in srgb,var(--bg-brand) 32%,var(--border-neutral-l1));background:var(--bg-brand-popup);color:var(--bg-brand)}.bean-detail-hero-body>div:first-child{min-width:0}.bean-detail-hero p{margin:6px 0 0;color:var(--text-secondary);line-height:1.6}.bean-detail-tags,.bean-flavor-tags{min-width:0;display:flex;align-items:center;gap:7px;flex-wrap:wrap}.bean-detail-spec-grid{min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 28px;border:1px solid var(--border-neutral-l1);border-radius:14px;background:var(--bg-base-default);box-shadow:var(--shadow-sm);padding:16px 20px}.bean-detail-spec-grid article{border:0;border-radius:0;background:transparent;box-shadow:none;padding:0;display:grid;gap:5px}.bean-detail-spec-grid span{color:var(--text-tertiary);font-size:12px}.bean-detail-spec-grid strong{min-width:0;color:var(--text-default);font-size:14px;overflow-wrap:anywhere}.bean-detail-flavor{padding:14px 18px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;background:color-mix(in srgb,var(--status-warning-surface-l1) 48%,var(--bg-base-default));border-color:color-mix(in srgb,var(--status-warning-default) 24%,var(--border-neutral-l1))}.bean-detail-flavor>svg{color:var(--status-warning-default)}.bean-detail-flavor h2{margin:0 0 7px;color:var(--text-default);font-size:17px}.bean-detail-flavor p{margin:0;color:var(--text-secondary);line-height:1.65}.bean-flavor-tags span{min-height:24px;border:1px solid color-mix(in srgb,var(--status-warning-default) 22%,transparent);border-radius:999px;background:var(--bg-base-default);color:var(--text-default);padding:3px 10px;font-size:13px}.bean-stock-metrics{padding:14px 16px 0}.bean-detail-stock .bean-detail-section-head{border-bottom:0;padding:14px 16px 10px}.bean-detail-stock .bean-detail-section-head h2{font-size:13px}.bean-detail-stock .bean-stock-metrics article{padding:14px}.bean-detail-stock .bean-stock-metrics strong{font-size:22px}.bean-stock-metrics article{border-radius:10px;background:var(--bg-base-secondary)}.bean-stock-progress{width:auto;height:auto;overflow:visible;border-radius:0;background:transparent;padding:12px 16px 16px;display:grid;gap:8px}.bean-stock-progress div{display:flex;align-items:center;justify-content:space-between;gap:12px}.bean-stock-progress span{display:inline;height:auto;border-radius:0;background:transparent;color:var(--text-tertiary);font-size:12px}.bean-stock-progress strong{color:var(--text-default);font-size:13px}.bean-stock-progress i{display:block;height:7px;border-radius:999px;background:linear-gradient(90deg,var(--status-success-default),var(--status-success-default)) 0 0 / var(--bean-stock-progress) 100% no-repeat,var(--bg-overlay-l2)}.bean-edit-modal{width:min(720px,100%);max-height:min(820px,calc(100vh - 40px));border:1px solid var(--border-neutral-l1);border-radius:16px;background:var(--bg-base-default);box-shadow:var(--shadow-xl);overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr) auto}.bean-edit-head{min-width:0;border-bottom:1px solid var(--border-neutral-l1);padding:18px 20px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.bean-edit-head h2{margin:3px 0 0;color:var(--text-default);font-size:20px;line-height:1.25}.bean-edit-body{min-width:0;overflow:auto;padding:16px 20px 20px;display:grid;gap:16px}.bean-edit-strip{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:10px;background:var(--bg-base-secondary);padding:12px 14px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px}.bean-edit-strip div{min-width:0;display:grid;gap:3px}.bean-edit-strip strong,.bean-edit-strip small,.bean-edit-strip span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bean-edit-strip strong,.bean-edit-strip span{color:var(--text-default);font-weight:900}.bean-edit-strip small{color:var(--text-tertiary);font-size:12px}.bean-edit-grid{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.bean-edit-field{min-width:0;display:grid;gap:7px}.bean-edit-field.span-2{grid-column:span 2}.bean-edit-field span{color:var(--text-secondary);font-size:13px;font-weight:800}.bean-edit-field input,.bean-edit-field textarea{width:100%;min-width:0;border:1px solid var(--border-neutral-l1);border-radius:10px;background:var(--bg-base-secondary);color:var(--text-default);font:inherit}.bean-edit-field input{min-height:40px;padding:0 12px}.bean-edit-field textarea{min-height:86px;padding:10px 12px;resize:vertical}.bean-edit-field input:focus,.bean-edit-field textarea:focus{border-color:var(--border-brand);outline:0;box-shadow:0 0 0 3px #e85d2a1f}.bean-edit-field small{color:var(--text-tertiary);font-size:12px}.bean-edit-preview{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-secondary);padding:12px;display:grid;gap:10px}.bean-edit-preview>span{color:var(--text-tertiary);font-size:12px}.bean-edit-preview div{min-width:0;display:flex;align-items:center;gap:7px;flex-wrap:wrap}.bean-edit-preview strong{min-height:24px;border:1px solid color-mix(in srgb,var(--status-warning-default) 22%,transparent);border-radius:999px;background:var(--bg-base-default);color:var(--text-default);padding:3px 10px;font-size:13px}.bean-edit-preview small{color:var(--text-tertiary)}.bean-edit-foot{border-top:1px solid var(--border-neutral-l1);background:var(--bg-base-secondary);padding:14px 20px;display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.bean-stock-adjust-modal{width:min(480px,100%);max-height:min(760px,calc(100vh - 40px));border:1px solid var(--border-neutral-l1);border-radius:16px;background:var(--bg-base-default);box-shadow:var(--shadow-xl);overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr) auto}.bean-stock-adjust-head{min-width:0;border-bottom:1px solid var(--border-neutral-l1);padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px}.bean-stock-adjust-head h2{margin:0;color:var(--text-default);font-size:18px;line-height:1.3}.bean-stock-adjust-body{min-width:0;overflow:auto;padding:16px 20px 20px;display:grid;gap:16px}.bean-stock-adjust-strip{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:10px;background:var(--bg-base-secondary);padding:12px 14px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px}.bean-stock-adjust-dot{width:10px;height:10px;border-radius:999px;background:#1b5e20}.bean-stock-adjust-strip div{min-width:0;display:grid;gap:2px}.bean-stock-adjust-strip strong{min-width:0;color:var(--text-default);font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bean-stock-adjust-strip small,.bean-stock-adjust-strip>span:last-child{color:var(--text-tertiary);font-size:12px}.bean-stock-adjust-strip>span:last-child{white-space:nowrap}.bean-stock-adjust-fieldset{min-width:0;margin:0;border:0;padding:0;display:grid;gap:8px}.bean-stock-adjust-fieldset legend,.bean-stock-adjust-field>span{color:var(--text-default);font-size:14px;font-weight:800}.bean-stock-adjust-type-grid{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.bean-stock-type-card{min-width:0;min-height:76px;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-default);padding:12px 14px;color:var(--text-secondary);cursor:pointer;display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:10px;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.bean-stock-type-card input{position:absolute;opacity:0;pointer-events:none}.bean-stock-type-card:hover{border-color:var(--border-neutral-l2)}.bean-stock-type-card.is-selected{border-color:var(--status-success-default);background:var(--status-success-surface-l1);box-shadow:0 0 0 3px color-mix(in srgb,var(--status-success-default) 14%,transparent)}.bean-stock-type-card.is-out.is-selected{border-color:var(--status-error-default);background:var(--status-error-surface-l1);box-shadow:0 0 0 3px color-mix(in srgb,var(--status-error-default) 12%,transparent)}.bean-stock-radio-indicator{width:16px;height:16px;border:1.5px solid var(--border-neutral-l2);border-radius:999px;display:grid;place-items:center}.bean-stock-type-card.is-selected .bean-stock-radio-indicator{border-color:currentColor}.bean-stock-type-card.is-selected .bean-stock-radio-indicator:after{content:"";width:8px;height:8px;border-radius:999px;background:currentColor}.bean-stock-type-card>svg{color:var(--text-tertiary)}.bean-stock-type-card.is-selected>svg,.bean-stock-type-card.is-selected{color:var(--status-success-default)}.bean-stock-type-card.is-out.is-selected>svg,.bean-stock-type-card.is-out.is-selected{color:var(--status-error-default)}.bean-stock-type-card span:last-child{min-width:0;display:grid;gap:2px}.bean-stock-type-card strong{color:var(--text-default);font-size:14px}.bean-stock-type-card small{color:var(--text-tertiary);font-size:12px;line-height:1.35}.bean-stock-adjust-field{min-width:0;display:grid;gap:7px}.bean-stock-adjust-field input,.bean-stock-adjust-field select,.bean-stock-adjust-field textarea{width:100%;border:1px solid var(--border-neutral-l1);border-radius:10px;background:var(--bg-base-secondary);color:var(--text-default);padding:9px 12px;font:inherit;outline:none}.bean-stock-adjust-field input,.bean-stock-adjust-field select{min-height:40px}.bean-stock-adjust-field textarea{min-height:72px;resize:vertical}.bean-stock-adjust-field input:focus,.bean-stock-adjust-field select:focus,.bean-stock-adjust-field textarea:focus{border-color:var(--border-brand);box-shadow:0 0 0 3px var(--bg-brand-popup)}.bean-stock-adjust-preview{min-height:40px;border-radius:10px;background:var(--status-success-surface-l1);color:var(--status-success-default);padding:10px 14px;display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:900}.bean-stock-adjust-foot{border-top:1px solid var(--border-neutral-l1);padding:14px 20px 18px;display:flex;align-items:center;justify-content:flex-end;gap:10px}.bean-aux-modal{width:min(560px,100%);max-height:min(760px,calc(100vh - 40px));border:1px solid var(--border-neutral-l1);border-radius:16px;background:var(--bg-base-default);box-shadow:var(--shadow-xl);overflow:auto;display:grid;grid-template-rows:auto minmax(0,auto) auto;align-content:start}.bean-aux-modal header{min-width:0;border-bottom:1px solid var(--border-neutral-l1);padding:18px 20px;display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.bean-aux-modal header>div{min-width:0;display:flex;align-items:flex-start;gap:12px}.bean-aux-modal h2{margin:0;color:var(--text-default);font-size:18px;line-height:1.3}.bean-aux-modal header p{margin:4px 0 0;color:var(--text-tertiary);font-size:13px;line-height:1.45}.bean-aux-icon{width:38px;height:38px;border-radius:12px;background:var(--bg-brand-popup);color:var(--bg-brand);display:grid;place-items:center;flex:0 0 auto}.bean-aux-detail-list{min-width:0;margin:0;padding:18px 20px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.bean-aux-detail-list div{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:10px;background:var(--bg-base-secondary);padding:12px 14px;display:grid;gap:4px}.bean-aux-detail-list dt,.bean-aux-detail-list dd{min-width:0;margin:0}.bean-aux-detail-list dt{color:var(--text-tertiary);font-size:12px}.bean-aux-detail-list dd{color:var(--text-default);font-size:14px;font-weight:800;overflow-wrap:anywhere}.bean-aux-detail-list.is-compact{padding:0}.bean-purchase-review,.bean-purchase-record{min-width:0;padding:18px 20px 0;display:grid;gap:12px}.bean-purchase-review h3,.bean-purchase-record h3{margin:0;display:inline-flex;align-items:center;gap:7px;color:var(--text-default);font-size:15px}.bean-purchase-review h3 svg,.bean-purchase-record h3 svg{color:var(--bg-brand)}.bean-aux-modal footer{border-top:1px solid var(--border-neutral-l1);padding:14px 20px 18px;display:flex;align-items:center;justify-content:flex-end;gap:10px}.bean-purchase-record-card{min-width:0;padding:14px;display:grid;gap:14px;border:1px solid var(--border-neutral-l1);border-radius:8px;background:var(--bg-base-secondary)}.bean-purchase-record-card>div{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:7px 10px}.bean-purchase-record-card>div strong{min-width:0;color:var(--text-default);overflow-wrap:anywhere}.bean-purchase-record-card>div small{grid-column:1 / -1;color:var(--text-tertiary);line-height:1.45}.bean-purchase-record-card dl{min-width:0;margin:0;display:grid;grid-template-columns:minmax(88px,auto) minmax(0,1fr);gap:8px 14px}.bean-purchase-record-card dt,.bean-purchase-record-card dd{min-width:0;margin:0;font-size:13px}.bean-purchase-record-card dt{color:var(--text-tertiary)}.bean-purchase-record-card dd{color:var(--text-default);font-weight:800;overflow-wrap:anywhere}.bean-purchase-record-card .text-button{justify-self:end;display:inline-flex;align-items:center;gap:6px}.bean-detail-related-layout{min-width:0;display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}.bean-roast-card-grid{min-width:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.bean-roast-card{min-width:0;min-height:112px;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-secondary);color:inherit;padding:15px;text-align:left;display:grid;align-content:start;gap:8px;cursor:pointer}.bean-roast-card:hover{border-color:var(--border-brand);box-shadow:var(--shadow-sm)}.bean-roast-card time,.bean-roast-card span{color:var(--text-tertiary);font-size:12px}.bean-roast-card strong{min-width:0;color:var(--text-default);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bean-detail-roasts,.bean-detail-cupping{overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}.bean-detail-roasts .bean-detail-section-head,.bean-detail-cupping .bean-detail-section-head{border:0;padding:2px 0 10px}.bean-detail-roasts .bean-detail-section-head h2,.bean-detail-cupping .bean-detail-section-head h2{font-size:13px}.bean-detail-roasts .empty-state,.bean-detail-cupping .empty-state{min-height:76px;grid-column:1 / -1;border-radius:12px}.bean-cupping-list{padding:0;gap:8px}.bean-cupping-row{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-default);display:grid;grid-template-columns:52px minmax(0,1fr);gap:12px;align-items:center;padding:12px 14px}.bean-cupping-score{width:48px;height:48px;border-radius:999px;background:var(--bg-brand-popup);color:var(--bg-brand);display:grid;place-items:center;font-size:16px;font-weight:900;font-variant-numeric:tabular-nums}.bean-cupping-row div{min-width:0;display:grid;gap:3px}.bean-cupping-row strong{min-width:0;color:var(--text-default);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bean-cupping-row small{color:var(--text-tertiary);font-size:12px}@media(max-width:1040px){.device-detail-layout,.bean-detail-related-layout{grid-template-columns:1fr}.device-detail-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.device-detail-topbar,.bean-detail-topbar,.bean-detail-hero-body{align-items:flex-start;flex-direction:column}.device-detail-actions,.bean-detail-actions{width:100%;justify-content:flex-start}.device-detail-hero{grid-template-columns:1fr}.bean-stock-metrics,.bean-detail-spec-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.device-offline-alert{grid-template-columns:minmax(0,1fr)}.device-offline-actions{align-items:stretch;flex-direction:column}.device-offline-actions .primary-action,.device-offline-actions .secondary-action{width:100%}.device-offline-data div{align-items:flex-start;flex-direction:column;gap:4px}.device-offline-data dd{text-align:left}.device-roast-row{grid-template-columns:10px minmax(0,1fr) auto}.device-roast-row time,.device-roast-row>span,.device-roast-row .status-badge{grid-column:2 / -1}.bean-roast-card-grid,.bean-edit-strip,.bean-edit-grid,.bean-stock-adjust-strip,.bean-stock-adjust-type-grid{grid-template-columns:1fr}.bean-edit-field.span-2{grid-column:auto}.bean-aux-detail-list{grid-template-columns:1fr}.bean-edit-strip span:last-child,.bean-stock-adjust-strip>span:last-child{white-space:normal}}@media(max-width:540px){.device-detail-page,.bean-detail-page{gap:14px}.device-detail-kpis,.bean-stock-metrics,.bean-detail-spec-grid{grid-template-columns:1fr}.device-detail-hero,.bean-detail-hero-body,.bean-detail-flavor{padding:16px}.device-detail-hero-copy h1,.bean-detail-hero h1{font-size:23px}.bean-edit-backdrop,.bean-stock-adjust-backdrop{padding:12px}.bean-stock-adjust-head,.bean-stock-adjust-body,.bean-stock-adjust-foot,.bean-aux-modal header,.bean-purchase-review,.bean-purchase-record,.bean-aux-detail-list,.bean-aux-modal footer{padding-left:16px;padding-right:16px}.bean-purchase-modal header>div{display:grid;gap:2px}.bean-purchase-review .bean-aux-detail-list{grid-template-columns:repeat(2,minmax(0,1fr))}.bean-stock-adjust-foot,.bean-aux-modal footer{display:grid;grid-template-columns:1fr}}.cupping-detail-page,.cupping-scoring-page{width:min(100%,1360px);margin:0 auto;display:grid;gap:18px}.cupping-detail-formal-topbar,.cupping-scoring-topbar{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:14px}.cupping-detail-breadcrumb,.cupping-scoring-breadcrumb,.cupping-detail-formal-actions,.cupping-scoring-timer{min-width:0;display:flex;align-items:center;gap:10px}.cupping-detail-breadcrumb span,.cupping-scoring-breadcrumb span{color:var(--text-tertiary)}.cupping-detail-breadcrumb strong,.cupping-scoring-breadcrumb strong{min-width:0;color:var(--text-default);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cupping-scoring-timer{min-height:34px;padding:0 12px;border:1px solid var(--border-neutral-l1);border-radius:999px;background:var(--bg-base-secondary);color:var(--text-secondary);font-weight:700}.cupping-detail-hero-card,.cupping-scoring-samplebar,.cupping-detail-summary-card,.cupping-detail-evaluation-card,.cupping-detail-side-card,.cupping-scoring-card,.cupping-total-card,.cupping-sample-info-card{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:14px;background:var(--bg-base-secondary);box-shadow:var(--shadow-soft)}.cupping-detail-hero-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:20px;padding:22px}.cupping-detail-hero-card h1,.cupping-scoring-samplebar h1{margin:2px 0 6px;color:var(--text-default);font-size:clamp(24px,3vw,34px);line-height:1.1}.cupping-detail-hero-card p,.cupping-scoring-samplebar p{margin:0;color:var(--text-tertiary)}.cupping-detail-hero-metrics{display:grid;grid-template-columns:repeat(4,minmax(92px,auto));align-items:stretch;gap:10px}.cupping-detail-hero-metrics>div,.cupping-detail-hero-metrics .status-badge{min-width:0;min-height:64px;padding:10px 12px;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-default)}.cupping-detail-hero-metrics span,.cupping-detail-sample-copy span,.cupping-total-card span{color:var(--text-tertiary);font-size:12px}.cupping-detail-hero-metrics strong,.cupping-total-card strong{display:block;margin-top:4px;color:var(--text-default);font-size:24px;line-height:1}.cupping-detail-formal-layout{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,340px);gap:18px;align-items:start}.cupping-detail-main,.cupping-detail-side,.cupping-scoring-side{min-width:0;display:grid;gap:16px}.cupping-detail-sample-grid{min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.cupping-detail-sample-card{min-width:0;display:grid;grid-template-columns:136px minmax(0,1fr);gap:14px;align-items:center;padding:16px;border:1px solid var(--border-neutral-l1);border-radius:14px;background:var(--bg-base-secondary)}.cupping-detail-radar{width:128px;height:128px}.cupping-detail-radar polygon{fill:none;stroke:var(--border-neutral-l2);stroke-width:.8}.cupping-detail-radar path{fill:color-mix(in srgb,var(--radar-color) 20%,transparent);stroke:var(--radar-color);stroke-width:2}.cupping-detail-radar text{fill:var(--text-tertiary);font-size:8px}.cupping-detail-radar text.is-empty{fill:var(--text-secondary);font-size:10px;font-weight:700}.cupping-detail-sample-copy{min-width:0}.cupping-detail-sample-copy h2{margin:3px 0 4px;color:var(--text-default);font-size:18px}.cupping-detail-sample-copy p{margin:0 0 12px;color:var(--text-secondary);font-size:13px}.cupping-detail-sample-copy dl,.cupping-detail-side-card dl,.cupping-sample-info-card dl{margin:0;display:grid;gap:8px}.cupping-detail-sample-copy dl{grid-template-columns:repeat(3,minmax(0,1fr))}.cupping-detail-sample-copy dt,.cupping-detail-side-card dt,.cupping-sample-info-card dt{color:var(--text-tertiary);font-size:12px}.cupping-detail-sample-copy dd,.cupping-detail-side-card dd,.cupping-sample-info-card dd{margin:0;color:var(--text-default);font-weight:700}.cupping-detail-summary-card,.cupping-detail-evaluation-card,.cupping-detail-side-card,.cupping-scoring-card,.cupping-total-card,.cupping-sample-info-card{padding:18px}.cupping-detail-section-head,.cupping-scoring-section-head{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.cupping-detail-section-head h2,.cupping-scoring-section-head h2,.cupping-detail-side-card h2,.cupping-sample-info-card h2{margin:0;color:var(--text-default);font-size:18px}.cupping-detail-section-head span,.cupping-scoring-section-head span{color:var(--text-tertiary);font-size:13px}.cupping-detail-section-head strong{color:var(--bg-brand);font-size:28px;line-height:1}.cupping-detail-summary-card p{margin:0;color:var(--text-secondary);line-height:1.8}.cupping-detail-evaluation-list{display:grid;gap:8px}.cupping-detail-evaluation-row{min-width:0;display:grid;grid-template-columns:minmax(110px,1fr) 72px 120px 140px;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--border-neutral-l1);border-radius:10px;background:var(--bg-base-default)}.cupping-detail-evaluation-row span,.cupping-detail-evaluation-row small,.cupping-detail-evaluation-row time{min-width:0;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cupping-detail-evaluation-row strong{color:var(--bg-brand)}.cupping-detail-action-stack{display:grid;gap:10px}.cupping-detail-action-stack .primary-action,.cupping-detail-action-stack .secondary-action{width:100%;justify-content:center}.cupping-scoring-samplebar{min-height:112px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:18px}.cupping-scoring-samplebar>div{min-width:0;text-align:center}.cupping-scoring-samplebar.is-single-cupping{grid-template-columns:minmax(0,1fr)}.cupping-scoring-samplebar>div>span{color:var(--text-tertiary);font-size:13px}.cupping-scoring-layout{min-width:0;display:grid;grid-template-columns:minmax(0,1120px);justify-content:center;gap:18px;align-items:start}.cupping-scoring-form,.cupping-scoring-score-dock,.cupping-scoring-side{width:min(100%,1120px);justify-self:center}.cupping-scoring-form{min-width:0;display:grid;gap:16px}.cupping-scoring-score-dock{min-width:0}.cupping-scoring-form-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--text-tertiary);font-size:13px}.cupping-scoring-submitted-notice{margin:0;border:1px solid color-mix(in srgb,var(--border-brand) 36%,var(--border-neutral-l1));border-radius:10px;background:color-mix(in srgb,var(--bg-brand) 8%,var(--bg-base-secondary));color:var(--text-secondary);font-size:13px;line-height:1.5;padding:10px 12px}.cupping-scoring-readonly-shell{min-width:0;margin:0;border:0;padding:0}.cupping-scoring-readonly-shell:disabled{opacity:.84}.cupping-dynamic-fields{display:grid;gap:18px}.cupping-dynamic-field{min-width:0;margin:0;padding:0;border:0}.cupping-dynamic-field legend,.cupping-dynamic-field>span{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;color:var(--text-secondary);font-weight:700}.cupping-dynamic-field legend strong,.cupping-dynamic-field>span strong{color:var(--text-default);font-variant-numeric:tabular-nums}.cupping-dynamic-field legend small{color:var(--text-tertiary);font-size:12px}.cupping-score-options,.cupping-choice-options{display:flex;flex-wrap:wrap;gap:8px}.cupping-score-options button,.cupping-choice-options button{min-width:44px;min-height:36px;padding:0 12px;border:1px solid var(--border-neutral-l1);border-radius:8px;background:var(--bg-base-default);color:var(--text-secondary);font:inherit;font-weight:700;cursor:pointer}.cupping-score-options button.is-active,.cupping-choice-options button.is-active{border-color:var(--border-brand);background:color-mix(in srgb,var(--bg-brand) 12%,var(--bg-base-secondary));color:var(--bg-brand)}.cupping-score-options button:disabled,.cupping-choice-options button:disabled{cursor:not-allowed;opacity:.45}.cupping-choice-options.is-binary button{min-width:72px}.cupping-dynamic-field.is-intensity input{width:100%;accent-color:var(--bg-brand)}.cupping-dynamic-field textarea{width:100%;min-width:0;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-default);color:var(--text-default);font:inherit;resize:vertical;padding:12px}.cupping-scoring-actions{display:grid;grid-template-columns:minmax(220px,1fr);gap:12px}.cupping-scoring-actions .primary-action,.cupping-scoring-actions .secondary-action{justify-content:center}.cupping-scoring-missing-hint{margin:0;border:1px solid color-mix(in srgb,var(--status-error-default) 40%,var(--border-neutral-l1));border-radius:10px;background:color-mix(in srgb,var(--status-error-surface) 82%,var(--bg-base-secondary));color:var(--text-secondary);font-size:13px;line-height:1.5;padding:10px 12px}.cupping-scoring-missing-hint strong{color:var(--status-error-default)}.cupping-total-card{display:grid;gap:6px;background:color-mix(in srgb,var(--bg-brand) 8%,var(--bg-base-secondary))}.cupping-total-card strong{font-size:48px;color:var(--bg-brand)}.cupping-total-card strong em{margin-left:5px;color:var(--text-tertiary);font-size:14px;font-style:normal;font-weight:700}.cupping-total-card small{color:var(--text-secondary)}.cupping-total-card .cupping-total-penalty{color:var(--status-warning-default);font-weight:750}.cupping-sample-info-card{display:grid;gap:12px}.cupping-sample-info-card>svg{color:var(--bg-brand)}@media(min-width:1800px){.cupping-scoring-score-dock{position:fixed;top:88px;right:clamp(24px,2vw,40px);width:min(300px,calc(100vw - 48px));z-index:10}}@media(max-width:1120px){.cupping-detail-formal-layout{grid-template-columns:1fr}.cupping-detail-sample-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:780px){.cupping-detail-formal-topbar,.cupping-scoring-topbar,.cupping-detail-hero-card{align-items:flex-start;grid-template-columns:1fr;flex-direction:column}.cupping-detail-formal-actions,.cupping-detail-hero-metrics,.cupping-scoring-actions{width:100%;grid-template-columns:1fr}.cupping-detail-sample-grid{grid-template-columns:1fr}.cupping-detail-evaluation-row{grid-template-columns:1fr auto}.cupping-detail-evaluation-row small,.cupping-detail-evaluation-row time{grid-column:1 / -1}.cupping-scoring-form-meta{align-items:flex-start;flex-direction:column}}@media(max-width:560px){.cupping-detail-sample-card,.cupping-scoring-samplebar{grid-template-columns:1fr}.cupping-detail-radar{justify-self:center}.cupping-scoring-samplebar>div{text-align:left}}.sca-cva-form{min-width:0;margin:0;overflow:hidden;border:1px solid var(--border-neutral-l1);background:var(--bg-base-secondary);color:var(--text-default);padding:0;box-shadow:var(--shadow-sm)}.sca-cva-form,.sca-cva-form input,.sca-cva-form textarea,.sca-cva-form button{font:inherit}.sca-cva-form-header{display:grid;grid-template-columns:minmax(220px,.78fr) minmax(0,1.22fr);gap:24px;border-bottom:1px solid var(--border-neutral-l1);padding:24px}.sca-cva-title{display:grid;align-content:start;gap:3px}.sca-cva-title>span,.sca-cva-quality-key>span{color:var(--text-secondary);font-size:12px;font-weight:800;letter-spacing:.08em}.sca-cva-title h2{margin:0;color:var(--text-default);font-size:clamp(26px,3vw,38px);letter-spacing:-.04em;line-height:1.05}.sca-cva-header-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px}.sca-cva-header-fields>label{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;color:var(--text-secondary);font-size:13px;font-weight:750}.sca-cva-header-fields>label.is-wide{grid-column:1 / -1}.sca-cva-header-value{min-width:0;border-bottom:1px dotted var(--text-tertiary);overflow:hidden;padding:4px 1px;color:var(--text-default);font-weight:650;text-overflow:ellipsis;white-space:nowrap}.sca-cva-sheet{min-width:0;display:grid;grid-template-columns:minmax(0,1.72fr) minmax(320px,.9fr)}.sca-cva-description-section,.sca-cva-affective-section{min-width:0}.sca-cva-affective-section{border-left:1px solid var(--border-neutral-l1)}.sca-cva-section-heading{min-height:58px;display:grid;grid-template-columns:minmax(0,1fr) minmax(168px,.5fr);align-items:stretch;background:var(--bg-base-tertiary)}.sca-cva-section-heading h3{display:flex;align-items:center;margin:0;background:var(--text-default);color:var(--text-onbrand);font-size:15px;padding:0 16px}html[data-theme=dark] .sca-cva-section-heading h3{background:var(--bg-overlay-l2);color:var(--text-default)}.sca-cva-section-heading>.sca-cva-roast-level{border-bottom:0;padding:9px 14px}.sca-cva-quality-key{min-width:0;display:grid;align-content:center;gap:3px;padding:8px 14px}.sca-cva-quality-key-scale{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px 8px}.sca-cva-quality-key-scale small{color:var(--text-secondary);font-size:10px;line-height:1.35;white-space:nowrap}.sca-cva-affective-section>.sca-cva-section-heading{display:block}.sca-cva-affective-section>.sca-cva-section-heading h3{min-height:32px}.sca-cva-description-block,.sca-cva-affective-dimension{min-width:0;border-bottom:1px solid var(--border-neutral-l1)}.sca-cva-description-block{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(210px,.96fr)}.sca-cva-description-block>.sca-cva-intensity-pair,.sca-cva-description-block>.sca-cva-intensity,.sca-cva-description-block>.sca-cva-choice-field{border-right:1px solid var(--border-neutral-l1)}.sca-cva-description-block>.sca-cva-note-field{grid-column:2;grid-row:1 / span 2}.sca-cva-description-block>.sca-cva-choice-field{grid-column:1}.sca-cva-description-block>.sca-cva-intensity{grid-column:1}.sca-cva-description-block.is-compact>.sca-cva-note-field,.sca-cva-description-block.is-other-notes>.sca-cva-note-field{grid-row:1}.sca-cva-description-block.is-other-notes{min-height:156px;grid-template-columns:1fr}.sca-cva-description-block.is-other-notes>.sca-cva-note-field{grid-column:1}.sca-cva-intensity-pair{display:grid}.sca-cva-intensity-pair>.sca-cva-intensity+.sca-cva-intensity{border-top:1px solid var(--border-neutral-l1)}.sca-cva-intensity{min-width:0;margin:0;border:0;padding:12px 14px}.sca-cva-intensity legend,.sca-cva-choice-field legend,.sca-cva-cup-markers legend{width:100%;display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:0 0 8px;color:var(--text-default);font-size:13px;font-weight:850}.sca-cva-intensity legend strong{color:var(--bg-brand);font-variant-numeric:tabular-nums}.sca-cva-intensity-control{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px}.sca-cva-intensity-control>span{color:var(--text-tertiary);font-size:10px;font-weight:750}.sca-cva-intensity-control input{width:100%;min-width:0;accent-color:var(--bg-brand)}.sca-cva-intensity-markers{display:flex;justify-content:space-between;color:var(--text-tertiary);font-size:10px;font-variant-numeric:tabular-nums;padding:1px 29px 0}.sca-cva-roast-level{min-width:0;margin:0;border-left:1px solid var(--border-neutral-l1);padding:10px 14px 12px}.sca-cva-roast-level>span{margin-bottom:7px;color:var(--text-secondary);font-size:11px;font-weight:850}.sca-cva-roast-level-scale{display:flex;justify-content:space-between;color:var(--text-tertiary);font-size:10px;font-weight:700;padding:1px 2px 0}.sca-cva-roast-level input{width:100%;min-width:0;accent-color:var(--text-default);cursor:pointer}.sca-cva-roast-level input::-webkit-slider-runnable-track{height:7px;border:1px solid var(--border-neutral-l1);border-radius:999px;background:linear-gradient(90deg,#d9c5a2,#a7784d 52%,#4e3527)}.sca-cva-roast-level input::-moz-range-track{height:7px;border:1px solid var(--border-neutral-l1);border-radius:999px;background:linear-gradient(90deg,#d9c5a2,#a7784d 52%,#4e3527)}.sca-cva-roast-level input:focus-visible{outline:2px solid var(--border-brand);outline-offset:3px}.sca-cva-choice-field{min-width:0;margin:0;border:0;padding:12px 14px}.sca-cva-choice-field legend small{color:var(--text-tertiary);font-size:11px;font-weight:700}.sca-cva-choice-options{display:flex;flex-wrap:wrap;gap:6px}.sca-cva-choice-options button{min-height:27px;border:1px solid var(--border-neutral-l1);border-radius:5px;background:var(--bg-base-default);color:var(--text-secondary);cursor:pointer;font-size:11px;font-weight:700;padding:3px 7px}.sca-cva-choice-options button:hover,.sca-cva-choice-options button:focus-visible{border-color:var(--border-brand);color:var(--bg-brand);outline:0}.sca-cva-choice-options button.is-active{border-color:var(--border-brand);background:color-mix(in srgb,var(--bg-brand) 12%,var(--bg-base-secondary));color:var(--bg-brand)}.sca-cva-choice-options button:disabled{cursor:not-allowed;opacity:.45}.sca-cva-choice-field.is-primary-taste{border-top:1px solid var(--border-neutral-l1)}.sca-cva-choice-field.is-primary-taste .sca-cva-choice-options button{min-width:38px;text-align:center}.sca-cva-note-field{min-width:0;display:grid;align-content:stretch;gap:7px;color:var(--text-secondary);font-size:12px;font-weight:800;padding:12px 14px}.sca-cva-note-field textarea{width:100%;min-height:76px;resize:vertical;border:0;background:transparent;color:var(--text-default);line-height:1.55;outline:0;padding:0}.sca-cva-note-field:focus-within{background:color-mix(in srgb,var(--bg-brand) 5%,transparent)}.sca-cva-affective-dimension{display:grid;grid-template-columns:minmax(0,1fr)}.sca-cva-affective-rating{min-width:0;margin:0;border:0;padding:12px 14px 10px}.sca-cva-affective-rating legend{margin:0 0 8px;color:var(--text-default);font-size:14px;font-weight:900}.sca-cva-affective-rating>div{display:grid;grid-template-columns:repeat(9,minmax(0,1fr)) auto;align-items:center;gap:4px}.sca-cva-affective-rating button{aspect-ratio:1;min-width:0;border:1px solid var(--text-secondary);border-radius:50%;background:var(--bg-base-secondary);color:var(--text-default);cursor:pointer;font-size:12px;font-weight:750;padding:0}.sca-cva-affective-rating button:hover,.sca-cva-affective-rating button:focus-visible{border-color:var(--border-brand);color:var(--bg-brand);outline:0}.sca-cva-affective-rating button.is-active{border-color:var(--bg-brand);background:var(--bg-brand);color:var(--text-onbrand)}.sca-cva-affective-rating>div>span{white-space:nowrap;color:var(--text-tertiary);font-size:10px;font-weight:700;padding-left:3px}.sca-cva-affective-rating+.sca-cva-affective-rating{border-top:1px solid var(--border-neutral-l1)}.sca-cva-affective-dimension .sca-cva-note-field{min-height:82px;border-top:1px solid var(--border-neutral-l1)}.sca-cva-defect-area{display:grid;grid-template-columns:minmax(0,1fr) minmax(118px,.58fr);align-items:stretch}.sca-cva-defect-area>div{border-right:1px solid var(--border-neutral-l1)}.sca-cva-cup-markers{min-width:0;margin:0;border:0;padding:10px 14px}.sca-cva-cup-markers+.sca-cva-cup-markers{border-top:1px solid var(--border-neutral-l1)}.sca-cva-cup-markers>div{display:flex;flex-wrap:wrap;gap:5px}.sca-cva-cup-markers button{width:22px;height:22px;display:inline-grid;place-items:center;border:1px solid var(--text-secondary);background:var(--bg-base-secondary);color:var(--text-secondary);cursor:pointer;font-size:0;padding:0}.sca-cva-cup-markers button>span{font-size:0}.sca-cva-cup-markers button:hover,.sca-cva-cup-markers button:focus-visible{border-color:var(--border-brand);outline:0}.sca-cva-cup-markers button.is-active{border-color:var(--bg-brand);background:var(--bg-brand);box-shadow:inset 0 0 0 4px var(--bg-base-secondary)}.sca-cva-defect-area>.sca-cva-choice-field{border:0}.sca-cva-defect-area .sca-cva-choice-options{display:grid}.sca-cva-defect-area .sca-cva-choice-options button{text-align:left}@media(max-width:1120px){.sca-cva-sheet{grid-template-columns:1fr}.sca-cva-affective-section{border-top:1px solid var(--border-neutral-l1);border-left:0}}@media(max-width:700px){.sca-cva-form-header{grid-template-columns:1fr;gap:18px;padding:18px}.sca-cva-header-fields{grid-template-columns:1fr}.sca-cva-header-fields>label.is-wide{grid-column:auto}.sca-cva-section-heading{grid-template-columns:1fr}.sca-cva-section-heading h3{min-height:44px}.sca-cva-description-block{grid-template-columns:1fr}.sca-cva-description-block>.sca-cva-intensity-pair,.sca-cva-description-block>.sca-cva-intensity,.sca-cva-description-block>.sca-cva-choice-field{border-right:0}.sca-cva-description-block>.sca-cva-note-field,.sca-cva-description-block.is-compact>.sca-cva-note-field{grid-column:1;grid-row:auto;border-top:1px solid var(--border-neutral-l1)}.sca-cva-affective-rating>div{gap:5px}.sca-cva-affective-rating>div>span{grid-column:1 / -1;padding:4px 0 0}}.sca-cva-choice-field.is-hierarchical{position:relative;padding:10px 14px 12px}.sca-cva-choice-field.is-hierarchical>legend{position:absolute;width:1px;height:1px;margin:-1px;border:0;clip:rect(0 0 0 0);overflow:hidden;padding:0;white-space:nowrap}.sca-cva-hierarchical-choice-options{display:grid;gap:4px}.sca-cva-hierarchical-choice-row{display:flex;flex-wrap:wrap;align-items:center;gap:3px 8px}.sca-cva-hierarchical-choice-option{display:inline-flex;min-height:20px;align-items:center;gap:4px;color:var(--text-secondary);cursor:pointer;font-size:12px;line-height:1.35}.sca-cva-hierarchical-choice-option.is-parent{color:var(--text-default);font-weight:800}.sca-cva-hierarchical-choice-option input{width:14px;height:14px;margin:0;accent-color:var(--bg-brand);cursor:inherit}.sca-cva-hierarchical-choice-option:has(input:focus-visible){outline:2px solid var(--border-brand);outline-offset:2px}.sca-cva-hierarchical-choice-option.is-disabled{color:var(--text-tertiary);cursor:not-allowed}.sca-cva-choice-field.is-checklist .sca-cva-choice-options{gap:7px 12px}.sca-cva-choice-field.is-checklist .sca-cva-choice-options label{display:inline-flex;min-height:28px;align-items:center;gap:6px;border:1px solid var(--border-neutral-l1);border-radius:5px;background:var(--bg-base-default);color:var(--text-secondary);cursor:pointer;font-size:11px;font-weight:700;padding:3px 8px 3px 6px}.sca-cva-choice-field.is-checklist .sca-cva-choice-options label:hover,.sca-cva-choice-field.is-checklist .sca-cva-choice-options label:has(input:focus-visible){border-color:var(--border-brand);color:var(--bg-brand);outline:0}.sca-cva-choice-field.is-checklist .sca-cva-choice-options label.is-active{border-color:var(--border-brand);background:color-mix(in srgb,var(--bg-brand) 8%,var(--bg-base-secondary));color:var(--bg-brand)}.sca-cva-choice-field.is-checklist .sca-cva-choice-options input{width:15px;height:15px;flex:0 0 auto;margin:0;accent-color:var(--bg-brand)}.curve-comparison-page{width:min(100%,1320px);margin:0 auto;display:grid;gap:20px}.curve-comparison-head{min-height:40px;display:flex;align-items:center;justify-content:space-between;gap:16px}.curve-comparison-breadcrumb{min-width:0;display:flex;align-items:center;gap:10px;color:var(--text-tertiary);font-size:12px}.curve-comparison-breadcrumb strong{color:var(--text-default)}.curve-comparison-breadcrumb span:after{content:"/";margin-left:10px;color:var(--border-neutral-l2)}.curve-comparison-back-button{min-height:34px;padding:0 10px}.curve-comparison-selector,.roast-comparison-selector{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--bg-brand-popup) 46%,transparent),transparent 42%),var(--bg-base-secondary);box-shadow:var(--shadow-sm);padding:24px;display:grid;gap:18px}.curve-comparison-selector-head{min-width:0;display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.curve-comparison-selector-copy{min-width:0;display:grid;gap:6px}.curve-comparison-selector-copy h1{margin:0;color:var(--text-default);font-size:clamp(24px,3vw,34px);line-height:1.15;letter-spacing:-.02em}.curve-comparison-selector-copy p{max-width:680px;margin:0;color:var(--text-secondary);font-size:13px;line-height:1.6}.curve-comparison-selector-actions{flex:0 0 auto;display:flex;align-items:center;justify-content:flex-end;gap:10px}.curve-comparison-selector-actions>span{min-width:44px;height:28px;border:1px solid var(--border-neutral-l1);border-radius:999px;background:var(--bg-base-default);color:var(--text-tertiary);padding:0 9px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:900;font-variant-numeric:tabular-nums}.curve-comparison-selector-actions>span.is-ready{border-color:color-mix(in srgb,var(--status-success-default) 35%,var(--border-neutral-l1));background:var(--status-success-surface);color:var(--status-success-default)}.curve-comparison-selected,.roast-comparison-tags{min-width:0;display:flex;flex-wrap:wrap;gap:8px}.roast-comparison-tag{min-width:0;max-width:min(100%,310px);min-height:36px;border:1px solid var(--border-neutral-l1);border-radius:10px;background:color-mix(in srgb,var(--bg-base-default) 80%,transparent);color:var(--text-default);padding:7px 10px;display:inline-flex;align-items:center;gap:7px;cursor:pointer;transition:border-color .16s ease,background .16s ease,transform .16s ease}.roast-comparison-tag:hover{transform:translateY(-1px);border-color:var(--border-brand);background:var(--bg-brand-popup)}.roast-comparison-tag i{width:9px;height:9px;flex:0 0 9px;border-radius:999px}.roast-comparison-tag span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:800}.roast-comparison-tag small{flex:0 0 auto;color:var(--text-tertiary);font-size:10px}.roast-comparison-tag svg{flex:0 0 auto;color:var(--text-tertiary)}.curve-comparison-selection-empty{min-width:0;min-height:54px;width:100%;border:1px dashed var(--border-neutral-l2);border-radius:12px;background:color-mix(in srgb,var(--bg-base-default) 64%,transparent);padding:10px 14px;display:flex;align-items:center;justify-content:space-between;gap:16px}.curve-comparison-selection-empty span{color:var(--text-default);font-size:12px;font-weight:800}.curve-comparison-selection-empty small{color:var(--text-tertiary);font-size:11px;text-align:right}.curve-comparison-selection-notice{margin:-8px 0 0;color:var(--status-warning-default);font-size:12px;font-weight:700}.curve-comparison-picker{min-width:0;border-top:1px solid var(--border-neutral-l1);padding-top:16px;display:grid;gap:12px}.curve-comparison-picker-head{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:14px}.curve-comparison-picker-head>span{flex:0 0 auto;color:var(--text-tertiary);font-size:11px}.curve-comparison-search{width:min(100%,420px);min-width:0;min-height:40px;border:1px solid var(--border-neutral-l1);border-radius:10px;background:var(--bg-base-default);color:var(--text-tertiary);padding:0 12px;display:flex;align-items:center;gap:8px}.curve-comparison-search:focus-within{border-color:var(--border-brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--bg-brand) 12%,transparent)}.curve-comparison-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--text-default);font:inherit;font-size:12px}.curve-comparison-search-spinner{flex:0 0 auto;animation:curve-comparison-search-spin .8s linear infinite}@keyframes curve-comparison-search-spin{to{transform:rotate(360deg)}}.comparison-curve-options{min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.comparison-curve-option{min-width:0;min-height:66px;border:1px solid var(--border-neutral-l1);border-radius:11px;background:var(--bg-base-default);color:var(--text-default);padding:10px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;align-items:center;text-align:left;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease}.comparison-curve-option:hover{transform:translateY(-1px);border-color:var(--border-brand);background:var(--bg-brand-popup)}.comparison-curve-option__icon{width:32px;height:32px;border-radius:9px;background:var(--bg-brand-popup);color:var(--bg-brand);display:inline-flex;align-items:center;justify-content:center}.comparison-curve-option__copy{min-width:0;display:grid;gap:4px}.comparison-curve-option__copy strong,.comparison-curve-option__copy small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.comparison-curve-option__copy strong{font-size:12px}.comparison-curve-option__copy small{color:var(--text-tertiary);font-size:10px}.comparison-curve-option__copy i{margin:0 4px;font-style:normal}.comparison-curve-option__check{color:transparent}.curve-comparison-picker-empty{grid-column:1 / -1;color:var(--text-tertiary);padding:18px 4px;font-size:12px}.curve-comparison-start-state{min-height:220px;border:1px solid var(--border-neutral-l1);border-radius:16px;background:var(--bg-base-secondary);box-shadow:var(--shadow-sm);padding:30px;display:flex;align-items:center;justify-content:center;gap:16px}.curve-comparison-start-state>span{width:56px;height:56px;border-radius:16px;background:var(--bg-brand-popup);color:var(--bg-brand);display:inline-flex;align-items:center;justify-content:center}.curve-comparison-start-state strong{display:block;color:var(--text-default);font-size:17px}.curve-comparison-start-state p{max-width:520px;margin:6px 0 0;color:var(--text-secondary);font-size:12px;line-height:1.6}.comparison-analysis-layout{min-width:0;display:grid;grid-template-columns:minmax(0,1fr);gap:18px}.curve-comparison-summary-grid{min-width:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.curve-comparison-summary-grid article{min-width:0;position:relative;overflow:hidden;border:1px solid var(--border-neutral-l1);border-radius:13px;background:var(--bg-base-secondary);box-shadow:var(--shadow-sm);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.curve-comparison-summary-grid article:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--comparison-series-color) 55%,var(--border-neutral-l1));box-shadow:0 10px 24px color-mix(in srgb,#000 10%,transparent)}.curve-comparison-summary-open{width:100%;border:0;background:transparent;color:inherit;padding:14px;display:grid;gap:9px;text-align:left;cursor:pointer;font:inherit}.curve-comparison-summary-open:focus-visible{outline:2px solid var(--border-brand);outline-offset:-3px}.curve-comparison-summary-grid article:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--comparison-series-color);pointer-events:none}.curve-comparison-summary-head{min-width:0;display:flex;align-items:center;gap:7px}.curve-comparison-summary-head i{width:8px;height:8px;border-radius:999px;background:var(--comparison-series-color)}.curve-comparison-summary-head>span{color:var(--text-tertiary);font-size:10px;font-weight:800}.curve-comparison-summary-head>.text-button{margin-left:auto;font-size:10px}.curve-comparison-summary-open>strong{min-width:0;color:var(--text-default);font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.curve-comparison-summary-meta{min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px}.curve-comparison-summary-meta span{min-width:0;display:inline-flex;align-items:center;gap:4px;color:var(--text-tertiary);font-size:10px}.curve-comparison-chart-card,.curve-comparison-table-card,.curve-comparison-insight{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:16px;background:var(--bg-base-secondary);box-shadow:var(--shadow-sm)}.curve-comparison-chart-card{padding:22px}.curve-comparison-chart-head,.curve-comparison-table-head,.curve-comparison-insight-head{min-width:0;display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.curve-comparison-chart-head>div:first-child,.curve-comparison-table-head>div,.curve-comparison-insight-head>div{min-width:0;display:grid;gap:5px}.curve-comparison-chart-head h2,.curve-comparison-table-head h2,.curve-comparison-insight-head h2{margin:0;color:var(--text-default);display:inline-flex;align-items:center;gap:7px;font-size:17px;line-height:1.3}.curve-comparison-chart-head small{color:var(--text-tertiary);font-size:10px}.curve-comparison-chart-head .text-button{width:fit-content}.curve-comparison-chart-tabs{flex:0 0 auto;border:1px solid var(--border-neutral-l1);border-radius:10px;background:var(--bg-base-default);padding:3px;display:inline-flex;gap:2px}.curve-comparison-chart-tabs button{min-width:48px;height:30px;border:0;border-radius:7px;background:transparent;color:var(--text-tertiary);padding:0 9px;font-size:11px;font-weight:800;cursor:pointer}.curve-comparison-chart-tabs button:hover{color:var(--text-default)}.curve-comparison-chart-tabs button.is-active{background:var(--bg-base-secondary);color:var(--bg-brand);box-shadow:var(--shadow-sm)}.curve-comparison-chart-stage{min-width:0;min-height:360px;margin-top:16px;overflow:hidden;border:1px solid var(--border-neutral-l1);border-radius:13px;background:color-mix(in srgb,var(--bg-base-default) 82%,var(--bg-base-secondary));display:grid;place-items:center}.curve-comparison-chart{width:100%;height:auto;min-height:360px;display:block}.curve-comparison-gridline{stroke:var(--border-neutral-l1);stroke-width:1;stroke-dasharray:4 7}.curve-comparison-axis{fill:var(--text-tertiary);font-size:10px;font-variant-numeric:tabular-nums}.curve-comparison-axis-label{fill:var(--text-secondary);font-size:10px;font-weight:700}.curve-comparison-right-axis>line{stroke:var(--border-neutral-l2);stroke-width:1}.curve-comparison-axis.is-ror-axis,.curve-comparison-axis-label.is-ror-title{fill:var(--text-default);font-weight:800}.curve-comparison-line{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 2px 3px color-mix(in srgb,currentColor 16%,transparent))}.curve-comparison-ror-line{fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:8 6;opacity:.88}.curve-comparison-milestone circle{stroke:var(--bg-base-secondary);stroke-width:3}.curve-comparison-legend{min-width:0;margin-top:14px;display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px}.curve-comparison-legend>span{min-width:0;display:inline-flex;align-items:center;gap:6px;font-size:11px}.curve-comparison-legend i{width:18px;height:3px;border-radius:999px}.curve-comparison-legend-pattern{color:var(--text-secondary)}.curve-comparison-legend-pattern i{background:currentColor}.curve-comparison-legend-pattern.is-ror i{height:0;border-top:2px dashed currentColor;border-radius:0;background:transparent}.curve-comparison-legend strong{max-width:180px;color:currentColor;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.curve-comparison-legend small{color:var(--text-tertiary);font-size:10px}.curve-comparison-table-card{padding:22px}.curve-comparison-table-head>span{max-width:320px;display:inline-flex;align-items:center;gap:5px;color:var(--text-tertiary);font-size:10px;line-height:1.5;text-align:right}.curve-comparison-table{min-width:0;max-width:100%;margin-top:16px;overflow-x:auto;border:1px solid var(--border-neutral-l1);border-radius:12px}.curve-comparison-table table{width:100%;min-width:820px;border-collapse:separate;border-spacing:0}.curve-comparison-table th,.curve-comparison-table td{min-width:150px;height:54px;border-bottom:1px solid var(--border-neutral-l1);border-right:1px solid var(--border-neutral-l1);padding:10px 14px;color:var(--text-secondary);text-align:center;vertical-align:middle;font-size:12px;font-variant-numeric:tabular-nums}.curve-comparison-table tr:last-child td{border-bottom:0}.curve-comparison-table th:last-child,.curve-comparison-table td:last-child{border-right:0}.curve-comparison-table th{height:62px;background:var(--bg-base-tertiary);color:var(--text-tertiary);font-size:11px}.curve-comparison-table th:first-child,.curve-comparison-table td:first-child{min-width:190px;position:sticky;left:0;z-index:1;background:var(--bg-base-secondary);text-align:left}.curve-comparison-table th:first-child{z-index:2;background:var(--bg-base-tertiary)}.curve-comparison-table th:not(:first-child){position:relative}.curve-comparison-table th:not(:first-child):before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--comparison-series-color)}.curve-comparison-table th i{width:7px;height:7px;margin-right:5px;border-radius:999px;background:var(--comparison-series-color);display:inline-block}.curve-comparison-table th span,.curve-comparison-table th small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.curve-comparison-table th span{color:var(--text-default);font-weight:800}.curve-comparison-table th small{margin-top:3px;color:var(--text-tertiary);font-size:9px}.curve-comparison-table td:first-child small,.curve-comparison-table td:first-child strong{display:block}.curve-comparison-table td:first-child small{color:var(--text-tertiary);font-size:9px}.curve-comparison-table td:first-child strong{margin-top:3px;color:var(--text-default);font-size:12px}.curve-comparison-table td.is-best{background:color-mix(in srgb,var(--status-success-default) 9%,transparent);color:var(--status-success-default);font-weight:800}.curve-comparison-insight{padding:22px;display:grid;gap:16px}.curve-comparison-insight-head>span{min-height:28px;border:1px solid var(--border-neutral-l1);border-radius:999px;background:var(--bg-base-default);color:var(--text-tertiary);padding:0 10px;display:inline-flex;align-items:center;font-size:10px;font-weight:800}.curve-comparison-highlight-grid{min-width:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.curve-comparison-highlight-grid article{min-width:0;min-height:100px;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-default);padding:13px;display:grid;align-content:start;gap:5px}.curve-comparison-highlight-grid article>span{color:var(--text-tertiary);font-size:10px;font-weight:800}.curve-comparison-highlight-grid article>strong{color:var(--text-default);font-size:22px;line-height:1.2;font-variant-numeric:tabular-nums}.curve-comparison-highlight-grid article>small{color:var(--text-tertiary);font-size:10px;line-height:1.45}.curve-comparison-highlight-grid article.is-brand>strong{color:var(--bg-brand)}.curve-comparison-highlight-grid article.is-info>strong{color:var(--status-info-default)}.curve-comparison-highlight-grid article.is-success>strong{color:var(--status-success-default)}.curve-comparison-highlight-grid article.is-warning>strong{color:var(--status-warning-default)}.curve-comparison-insight>p{margin:0;border-left:3px solid var(--bg-brand);background:var(--bg-brand-popup);color:var(--text-secondary);padding:12px 14px;font-size:12px;line-height:1.75}.roast-comparison-export{display:flex;align-items:center;gap:10px}.curve-comparison-empty{padding:16px;display:inline-flex;align-items:center;gap:8px;color:var(--text-secondary)}@media(max-width:1040px){.comparison-curve-options,.curve-comparison-highlight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.curve-comparison-selector,.roast-comparison-selector,.curve-comparison-chart-card,.curve-comparison-table-card,.curve-comparison-insight{padding:16px}.curve-comparison-selector-head,.curve-comparison-picker-head,.curve-comparison-chart-head,.curve-comparison-table-head,.curve-comparison-insight-head{align-items:stretch;flex-direction:column}.curve-comparison-selector-actions{justify-content:flex-start;flex-wrap:wrap}.curve-comparison-selection-empty{align-items:flex-start;flex-direction:column;gap:4px}.curve-comparison-selection-empty small{text-align:left}.curve-comparison-search{width:100%}.comparison-curve-options,.curve-comparison-highlight-grid{grid-template-columns:minmax(0,1fr)}.curve-comparison-chart-tabs{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.curve-comparison-chart-tabs button{min-width:0;padding:0 4px}.curve-comparison-chart-stage,.curve-comparison-chart{min-height:260px}.curve-comparison-start-state{min-height:180px;padding:22px;align-items:flex-start}.roast-comparison-export,.roast-comparison-export .primary-action,.roast-comparison-export .secondary-action{width:100%}.roast-comparison-export{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}.roast-comparison-page{width:min(100%,1320px);margin:0 auto}.roast-comparison-layout,.curve-comparison-layout{grid-template-columns:minmax(0,1fr)}.roast-comparison-chart-panel,.roast-comparison-metric-table,.roast-comparison-diff-insight{grid-column:1}@media(max-width:720px){.roast-comparison-tag{width:100%;max-width:none;justify-content:flex-start}}.cupping-flow-topbar{width:min(100%,1360px);min-width:0;min-height:48px;margin:0 auto 18px;display:flex;align-items:center;justify-content:space-between;gap:16px}.cupping-flow-breadcrumb,.cupping-flow-actions,.cupping-topbar-actions{min-width:0;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.cupping-flow-breadcrumb span{color:var(--text-tertiary)}.cupping-flow-breadcrumb strong{min-width:0;color:var(--text-default);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cupping-summary-page{width:min(100%,1360px);margin:0 auto}.cupping-create-modal{width:min(640px,100%);max-height:min(720px,calc(100vh - 40px));min-width:0;display:grid;grid-template-rows:minmax(0,1fr);overflow:hidden;border:1px solid var(--border-neutral-l1);border-radius:18px;background:var(--bg-base-secondary);color:var(--text-default);box-shadow:var(--shadow-xl)}.cupping-create-formal-form{min-width:0;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto}.cupping-summary-main,.cupping-summary-side{min-width:0;display:grid;gap:14px}.cupping-summary-hero,.cupping-summary-radar-card,.cupping-summary-sample-card,.cupping-summary-insight-card,.cupping-summary-side-card,.cupping-summary-recommendation{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:16px;background:var(--bg-base-secondary);box-shadow:var(--shadow-sm);padding:18px}.cupping-create-modal-head,.cupping-summary-section-head{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:12px}.cupping-create-modal-head>div{min-width:0}.cupping-create-modal-head{padding:20px 22px 18px;border-bottom:1px solid var(--border-neutral-l1)}.cupping-create-modal-head h2,.cupping-summary-hero h1,.cupping-summary-section-head h2,.cupping-summary-side h2{margin:0;color:var(--text-default)}.cupping-create-modal-head p,.cupping-summary-hero p,.cupping-summary-section-head span,.cupping-summary-side p{color:var(--text-secondary)}.cupping-create-modal-head p{margin:6px 0 0;color:var(--text-secondary);font-size:14px;line-height:1.6}.cupping-create-modal-body{min-width:0;overflow-y:auto;display:grid;gap:18px;padding:20px 22px}.cupping-create-standard-card{display:flex;align-items:flex-start;gap:12px;border:1px solid color-mix(in srgb,var(--bg-brand) 26%,var(--border-neutral-l1));border-radius:12px;background:linear-gradient(135deg,var(--bg-brand-popup),var(--bg-base-default));padding:13px 14px}.cupping-create-standard-card>svg{flex:0 0 auto;margin-top:2px;color:var(--bg-brand)}.cupping-create-standard-card strong{display:block;color:var(--text-default);font-size:14px}.cupping-create-standard-card span{display:block;margin-top:6px;color:var(--text-secondary);font-size:13px;line-height:1.65}.cupping-create-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.cupping-create-field-grid label,.cupping-association-field{min-width:0;display:grid;gap:6px}.cupping-create-field-grid label>span,.cupping-association-field>span{color:var(--text-secondary);font-size:12px}.cupping-create-field-grid input,.cupping-create-field-grid select{min-width:0;width:100%;height:38px;border:1px solid var(--border-neutral-l1);border-radius:10px;background:var(--bg-base-default);color:var(--text-default);padding:0 12px}.cupping-create-field-grid .span-2{grid-column:1 / -1}.cupping-association-field .text-button{justify-self:start;min-height:24px;padding:0;font-size:12px}.cupping-create-modal-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px;padding:14px 22px 18px;border-top:1px solid var(--border-neutral-l1);background:var(--bg-base-tertiary)}.cupping-summary-side-card dl{margin:0;display:grid;gap:10px}.cupping-summary-side-card dl div{border-bottom:1px solid var(--border-neutral-l1);padding-bottom:10px}.cupping-summary-side-card dt{color:var(--text-tertiary);font-size:12px}.cupping-summary-side-card dd{margin:2px 0 0;color:var(--text-default);word-break:break-word}.cupping-template-modal{width:min(520px,100%);max-height:calc(100vh - 40px);overflow:auto;border:1px solid var(--border-neutral-l1);border-radius:16px;background:var(--bg-base-secondary);color:var(--text-default);box-shadow:var(--shadow-xl)}.cupping-template-modal-head,.cupping-template-form footer{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 20px}.cupping-template-modal-head{border-bottom:1px solid var(--border-neutral-l1)}.cupping-template-modal-head h2{margin:4px 0 0;color:var(--text-default);font-size:20px;line-height:1.25}.cupping-close-dialog-body{display:grid;gap:12px;padding:20px}.cupping-close-dialog-body>strong{font-size:16px}.cupping-close-dialog-body>p{margin:0;color:var(--text-secondary);line-height:1.65}.cupping-close-dialog-body>div{display:flex;align-items:flex-start;gap:9px;padding:12px;border:1px solid color-mix(in srgb,var(--status-warning-default) 35%,transparent);border-radius:8px;color:var(--status-warning-default);background:color-mix(in srgb,var(--status-warning-default) 8%,transparent);font-size:13px;line-height:1.55}.cupping-close-dialog-body svg{flex:0 0 auto;margin-top:1px}.cupping-close-dialog-actions{display:flex;justify-content:flex-end;gap:10px;padding:16px 20px 20px;border-top:1px solid var(--border-neutral-l1)}.cupping-template-form{display:grid;gap:14px}.cupping-template-form>label,.cupping-template-summary{margin:0 20px}.cupping-template-form>label{min-width:0;display:grid;gap:6px}.cupping-template-form>label span,.cupping-template-summary dt{color:var(--text-secondary);font-size:12px}.cupping-template-form input{min-width:0;width:100%;height:38px;border:1px solid var(--border-neutral-l1);border-radius:10px;background:var(--bg-base-default);color:var(--text-default);padding:0 12px}.cupping-template-summary{display:grid;gap:10px;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-default);padding:12px}.cupping-template-summary>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.cupping-template-summary dd{margin:0;color:var(--text-default);font-weight:700}.cupping-template-form footer{justify-content:flex-end;flex-wrap:wrap;border-top:1px solid var(--border-neutral-l1);background:var(--bg-base-tertiary)}.cupping-summary-layout{min-width:0;display:grid;gap:18px;align-items:start;grid-template-columns:minmax(0,1fr) minmax(300px,360px)}.cupping-summary-radar{width:100%;max-height:360px}.cupping-summary-radar circle,.cupping-summary-radar line{fill:none;stroke:var(--border-neutral-l1)}.cupping-summary-radar text{fill:var(--text-secondary);font-size:11px}.cupping-summary-radar polygon{fill:color-mix(in srgb,var(--radar-color) 16%,transparent);stroke:var(--radar-color);stroke-width:2}.cupping-summary-sample-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.cupping-summary-score strong{color:var(--bg-brand);font-size:34px;line-height:1;font-variant-numeric:tabular-nums}.cupping-summary-hero{margin-bottom:18px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center}.cupping-summary-score{min-width:190px;display:grid;gap:6px;justify-items:end}.cupping-summary-score span,.cupping-summary-sample-card>span,.cupping-summary-sample-card p{color:var(--text-tertiary)}.cupping-summary-sample-card h2{margin:4px 0;color:var(--text-default)}.cupping-summary-sample-card dl{margin:12px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.cupping-summary-sample-card dt{color:var(--text-tertiary);font-size:12px}.cupping-summary-sample-card dd{margin:0;color:var(--text-default);font-weight:800}.cupping-summary-insight-card{border-color:color-mix(in srgb,var(--bg-brand) 35%,var(--border-neutral-l1));background:linear-gradient(135deg,var(--bg-brand-popup),var(--bg-base-secondary))}.cupping-summary-insight-card svg{color:var(--bg-brand)}.cupping-summary-recommendation .wide{width:100%;justify-content:center}@media(max-width:900px){.cupping-summary-layout{grid-template-columns:minmax(0,1fr)}.cupping-summary-side{grid-template-columns:repeat(2,minmax(0,1fr))}.cupping-summary-recommendation{grid-column:1 / -1}}@media(max-width:560px){.cupping-flow-topbar,.cupping-summary-hero{align-items:stretch;grid-template-columns:minmax(0,1fr)}.cupping-flow-topbar{flex-direction:column}.cupping-flow-actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.cupping-flow-actions>button,.cupping-summary-score{width:100%;min-width:0}.cupping-flow-actions>button{justify-content:center}.cupping-summary-score{justify-items:start}.cupping-summary-sample-grid,.cupping-summary-side{grid-template-columns:minmax(0,1fr)}.cupping-summary-recommendation{grid-column:auto}.cupping-create-backdrop{padding:8px}.cupping-create-modal{width:100%;max-height:calc(100vh - 16px)}.cupping-create-modal-head,.cupping-create-modal-body,.cupping-create-modal-actions{padding-inline:16px}.cupping-create-field-grid{grid-template-columns:minmax(0,1fr)}.cupping-create-field-grid .span-2{grid-column:auto}.cupping-create-modal-actions>button{flex:1;justify-content:center}}.cupping-comparison-page{width:100%;max-width:none;margin:0 auto}.cupping-comparison-page .cupping-flow-topbar{width:100%;max-width:none;margin-bottom:12px}.cupping-comparison-main,.cupping-comparison-records{min-width:0;display:grid;gap:12px}.cupping-comparison-selector,.cupping-comparison-chart-card,.cupping-comparison-table-card,.cupping-comparison-panel-list{min-width:0;border:1px solid var(--border-neutral-l1);border-radius:12px;background:var(--bg-base-secondary);box-shadow:var(--shadow-sm);padding:14px}.cupping-comparison-section-head{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:12px}.cupping-comparison-selector h1,.cupping-comparison-section-head h2{margin:0;color:var(--text-default)}.cupping-comparison-selector h1{font-size:26px;line-height:1.2}.cupping-comparison-selector p{margin:6px 0 0;color:var(--text-secondary);font-size:13px;line-height:1.5}.cupping-comparison-section-head span{color:var(--text-secondary)}.cupping-comparison-selector{margin-bottom:14px;display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,auto);gap:14px;align-items:center}.cupping-comparison-picks{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.cupping-selected-chip{min-height:30px;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border-neutral-l1);border-radius:999px;background:var(--bg-base-default);color:var(--text-default);padding:0 10px}.cupping-selected-chip i{width:8px;height:8px;border-radius:999px}.cupping-comparison-layout{min-width:0;display:grid;grid-template-columns:minmax(248px,280px) minmax(0,1fr);gap:14px;align-items:start}.cupping-comparison-panel-list{max-height:calc(100vh - 230px);display:grid;grid-template-rows:auto minmax(0,1fr);gap:12px;overflow:hidden}.cupping-comparison-records{overflow-y:auto;padding-right:2px;scrollbar-gutter:stable}.cupping-comparison-record{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid var(--border-neutral-l1);border-radius:10px;background:var(--bg-base-default);color:var(--text-default);padding:10px;text-align:left}.cupping-comparison-record.is-selected{border-color:var(--border-brand);box-shadow:inset 3px 0 0 var(--bg-brand)}.cupping-comparison-record strong,.cupping-comparison-record small,.cupping-comparison-record em{display:block;min-width:0}.cupping-comparison-record small{margin-top:3px;overflow:hidden;color:var(--text-tertiary);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.cupping-comparison-record em{color:var(--bg-brand);font-style:normal;font-size:20px;font-weight:800;font-variant-numeric:tabular-nums}.cupping-comparison-main{grid-template-areas:"chart" "summary" "table";align-items:start}.cupping-comparison-chart-card{grid-area:chart;display:grid;gap:10px}.cupping-comparison-radar{width:min(100%,360px);height:auto;max-height:320px;justify-self:center}.cupping-comparison-radar circle,.cupping-comparison-radar line{fill:none;stroke:var(--border-neutral-l1)}.cupping-comparison-radar text{fill:var(--text-secondary);font-size:11px}.cupping-comparison-radar-area{fill:color-mix(in srgb,var(--radar-color) 16%,transparent);stroke:var(--radar-color);stroke-width:2}.cupping-comparison-chart-card .empty-state{min-height:64px}.cupping-comparison-summary-grid{grid-area:summary;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.cupping-comparison-summary-card{min-width:0;border:1px solid var(--border-neutral-l1);border-left:3px solid var(--accent);border-radius:10px;background:var(--bg-base-secondary);overflow:hidden;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.cupping-comparison-summary-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 55%,var(--border-neutral-l1));box-shadow:var(--shadow-sm)}.cupping-comparison-summary-open{width:100%;border:0;background:transparent;color:inherit;padding:12px;text-align:left;cursor:pointer;font:inherit}.cupping-comparison-summary-open:focus-visible{outline:2px solid var(--border-brand);outline-offset:-3px}.cupping-comparison-summary-card header{display:flex;align-items:center;justify-content:space-between;gap:8px}.cupping-comparison-summary-card header strong{color:var(--bg-brand);font-size:28px;line-height:1;font-variant-numeric:tabular-nums}.cupping-comparison-summary-card h3{margin:9px 0 4px;color:var(--text-default);font-size:14px}.cupping-comparison-summary-card p{margin:0 0 8px;color:var(--text-secondary);font-size:12px}.cupping-comparison-summary-card .text-button{display:inline-block}.cupping-comparison-table-card{grid-area:table}.cupping-comparison-score-table{min-width:0;overflow-x:auto}.cupping-comparison-score-table table{width:100%;min-width:440px;border-collapse:collapse}.cupping-comparison-score-table th,.cupping-comparison-score-table td{border-bottom:1px solid var(--border-neutral-l1);padding:9px 10px;color:var(--text-secondary);font-size:12px;text-align:left}.cupping-comparison-score-table th{color:var(--text-tertiary);font-weight:700}@media(min-width:1400px){.cupping-comparison-main{grid-template-columns:minmax(420px,1.05fr) minmax(440px,.95fr);grid-template-areas:"chart table" "summary summary";gap:14px}.cupping-comparison-table-card{align-self:stretch}}@media(max-width:1080px){.cupping-comparison-layout,.cupping-comparison-selector{grid-template-columns:1fr}.cupping-comparison-panel-list{max-height:none}.cupping-comparison-records{max-height:360px}.cupping-comparison-picks{justify-content:flex-start}}@media(max-width:760px){.cupping-comparison-summary-grid{grid-template-columns:1fr;width:100%}.cupping-comparison-selector,.cupping-comparison-chart-card,.cupping-comparison-table-card,.cupping-comparison-panel-list{padding:14px}}.roast-history-page{width:min(100%,1400px);gap:16px}.roast-history-topbar{min-height:66px;align-items:flex-end}.roast-history-breadcrumb{align-items:center}.roast-history-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px}.roast-history-heading h1{grid-column:1;grid-row:1;margin:0;font-size:clamp(25px,2.2vw,31px)}.roast-history-heading p{grid-column:1 / -1;grid-row:2;margin:0;color:var(--text-tertiary);font-size:13px}.roast-history-heading>.section-note{grid-column:2;grid-row:1;align-self:center}.roast-history-back-button{min-height:34px;border-color:transparent;background:transparent;padding-inline:8px}.roast-history-actions{align-items:center;gap:8px}.roast-history-actions .primary-action,.roast-history-actions .secondary-action{min-height:36px;padding-inline:12px}.roast-history-stats{gap:0;overflow:hidden;border:1px solid var(--border-neutral-l1);border-radius:4px;background:var(--bg-base-secondary)}.roast-history-stats>div{min-height:84px;display:grid;align-content:center;gap:9px;padding:14px 18px;border:0;border-right:1px solid var(--border-neutral-l1);border-radius:0;background:transparent;box-shadow:none}.roast-history-stats>div:last-child{border-right:0}.roast-history-stats span{font-size:12px;font-weight:700}.roast-history-stats strong{margin:0;font-size:25px;font-variant-numeric:tabular-nums}.roast-history-filterbar{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;padding:12px;border-radius:4px}.roast-history-filter-main{min-width:0;display:grid;grid-template-columns:minmax(280px,1fr) minmax(170px,220px) minmax(170px,220px);gap:10px}.roast-history-search,.roast-history-filterbar .paged-search-select-trigger{min-height:38px;border-radius:3px}.roast-history-filterbar .paged-search-select-popover{width:max(100%,320px)}.roast-history-filter-foot{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:10px;border-top:1px solid var(--border-neutral-l1)}.roast-history-tabs{border-radius:3px}.roast-history-result-count{color:var(--text-tertiary);font-size:12px;white-space:nowrap}.roast-history-result-count strong{color:var(--text-default);font-variant-numeric:tabular-nums}.roast-history-list{gap:0;overflow:visible;border:1px solid var(--border-neutral-l1);border-radius:4px;background:var(--bg-base-secondary)}.roast-history-list-head,.roast-history-row{min-width:0;display:grid;grid-template-columns:126px minmax(220px,1.25fr) minmax(250px,.9fr) 96px 76px 190px;gap:16px;align-items:center}.roast-history-list-head{min-height:38px;padding:0 16px;border-bottom:1px solid var(--border-neutral-l1);background:var(--bg-base-tertiary);color:var(--text-tertiary);font-size:11px;font-weight:800}.roast-history-list-head span:nth-last-child(-n+3){text-align:center}.roast-history-row{min-height:88px;padding:13px 16px;border:0;border-bottom:1px solid var(--border-neutral-l1);border-radius:0;background:transparent;box-shadow:none;transition:background .15s ease}.roast-history-row:last-child{border-bottom:0}.roast-history-row:hover{background:var(--bg-base-tertiary)}.roast-history-time{padding-left:8px;border-left:2px solid var(--border-brand)}.roast-history-row time strong,.roast-history-main h2{font-size:14px;line-height:1.35}.roast-history-main h2{font-size:16px}.roast-history-main p{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roast-history-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.roast-history-metrics div{min-width:0}.roast-history-row dt{font-size:10px;font-weight:700}.roast-history-row dd{margin-top:4px;font-size:13px;font-variant-numeric:tabular-nums}.roast-history-sparkline{justify-self:center}.roast-history-row>.status-badge{justify-self:center}.roast-history-row-actions{display:grid;grid-template-columns:repeat(2,auto) 32px;align-items:center;justify-content:end;gap:4px}.roast-history-link-action{min-height:30px;display:inline-flex;align-items:center;justify-content:center;gap:5px;border:0;background:transparent;color:var(--bg-brand);padding:0 7px;font:inherit;font-size:12px;font-weight:800;cursor:pointer;white-space:nowrap}.roast-history-link-action:hover,.roast-history-link-action:focus-visible{background:var(--bg-brand-popup);outline:none}.roast-history-context-menu{z-index:120}@media(max-width:1180px){.roast-history-list{gap:10px;border:0;background:transparent}.roast-history-list-head{display:none}.roast-history-row{grid-template-columns:112px minmax(190px,1fr) minmax(240px,.9fr) 76px 174px;gap:13px;border:1px solid var(--border-neutral-l1);border-radius:4px;background:var(--bg-base-secondary)}.roast-history-sparkline{display:none}}@media(max-width:900px){.roast-history-topbar{align-items:flex-start}.roast-history-filter-main{grid-template-columns:minmax(0,1fr) repeat(2,minmax(150px,.46fr))}.roast-history-row{grid-template-columns:108px minmax(0,1fr) minmax(220px,.9fr)}.roast-history-row>.status-badge{justify-self:start}.roast-history-row-actions{grid-column:2 / -1;grid-row:2;justify-content:start}}@media(max-width:760px){.roast-history-page{gap:12px}.roast-history-heading p{display:none}.roast-history-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.roast-history-stats>div:nth-child(2){border-right:0}.roast-history-stats>div:nth-child(-n+2){border-bottom:1px solid var(--border-neutral-l1)}.roast-history-filter-main{grid-template-columns:minmax(0,1fr)}.roast-history-row{grid-template-columns:minmax(0,1fr) auto;padding:14px}.roast-history-time{grid-column:1}.roast-history-main{grid-column:1 / -1;grid-row:2}.roast-history-metrics{grid-column:1 / -1;grid-row:3;padding:10px 0;border-top:1px solid var(--border-neutral-l1);border-bottom:1px solid var(--border-neutral-l1)}.roast-history-row>.status-badge{grid-column:2;grid-row:1}.roast-history-row-actions{grid-column:1 / -1;grid-row:4}}@media(max-width:540px){.roast-history-breadcrumb{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr)}.roast-history-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.roast-history-actions .primary-action{grid-column:1 / -1}.roast-history-filter-foot{align-items:stretch;flex-direction:column}.roast-history-result-count{text-align:right}.roast-history-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.roast-history-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.roast-history-row-actions{grid-template-columns:repeat(2,minmax(0,1fr)) 32px;width:100%}}:root{--radius-control: 4px;--radius-surface: 6px}:where(button,input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea,[role=button],[role=combobox],[role=tab],[class*=-button],[class*=-input],[class*=-select],[class*=-trigger],[class*=-control],[class*=-switch]){border-radius:var(--radius-control)!important}:where([class*=card],[class*=panel],[class*=dialog],[class*=modal],[class*=drawer],[class*=popover],[class*=menu],[class*=surface],[class*=sheet],[class*=tile],[class*=banner],[class*=toast]){border-radius:var(--radius-surface)!important}:where([class*=avatar],[class*=badge],[class*=chip],[class*=pill],[class*=tag],.status-badge,.status-dot){border-radius:999px!important}.workspace-spatial-page :where(.workspace-care-panel,.workspace-home-panel,.workspace-curve-panel,.workspace-module-section){border-radius:3px!important}.workspace-spatial-page :where(.workspace-care-card,.workspace-device-card,.workspace-bind-device,.workspace-cupping-entry,.workspace-cupping-create,.workspace-cupping-empty,.workspace-roast-card,.workspace-quick-action,.workspace-section-empty,.workspace-task-item,.curve-detail-chart){border-radius:2px!important}.workspace-spatial-page :where(.workspace-care-icon,.workspace-cupping-icon,.workspace-cupping-empty-icon,.workspace-quick-action-icon,.workspace-task-icon,.workspace-section-empty-icon){border-radius:5px!important}
