:root{--bg: #fdf7ef;--bg-glow: rgba(240, 138, 44, .16);--surface: #ffffff;--surface-2: #fff8f0;--surface-3: #fdeedd;--border: #f0e0cc;--border-strong: #e2c6a4;--text: #2d1b10;--text-2: #5a4130;--muted: #7d6553;--accent: #ec7a1c;--accent-strong: #c2560b;--accent-soft: #fdebd6;--accent-grad: linear-gradient(135deg, #f08a2c 0%, #d8600f 100%);--accent-ink: #ffffff;--danger-bg: #fdecea;--danger-border: #f3c1bb;--danger-text: #b3261e;--success-bg: #ebf7ee;--success-border: #bfe2c8;--success-text: #1f6b37;--shadow-sm: 0 1px 2px rgba(92, 52, 18, .06), 0 4px 12px rgba(92, 52, 18, .05);--shadow-md: 0 14px 36px rgba(120, 70, 25, .12);--radius: 16px;--radius-sm: 10px;--font-heading: "Poppins", "Segoe UI", system-ui, -apple-system, sans-serif;--font-body: "Segoe UI", system-ui, -apple-system, sans-serif;color-scheme:light}*{box-sizing:border-box}body{margin:0;background:radial-gradient(1100px 520px at 100% -10%,var(--bg-glow),transparent 65%),radial-gradient(800px 420px at -10% 110%,rgba(240,138,44,.08),transparent 70%),var(--bg);background-attachment:fixed;color:var(--text);font-family:var(--font-body);font-size:15px;line-height:1.5}h1,h2,h3{margin:0;font-family:var(--font-heading);font-weight:600;color:var(--text);letter-spacing:-.01em}h1{font-size:1.35rem}h2{font-size:1.45rem}.muted{color:var(--muted);margin:0;font-size:.9rem}a{color:var(--accent-strong)}.brand-logo{display:inline-flex;align-items:center;gap:12px;text-decoration:none}.lotus-mark{flex:none;display:block}.brand-words{display:flex;flex-direction:column;line-height:1.05}.brand-name{font-family:var(--font-heading);font-weight:700;font-size:1.35rem;color:var(--text);white-space:nowrap}.brand-accent{color:var(--accent)}.brand-suffix{margin-left:8px;padding:2px 8px;border-radius:999px;background:var(--accent-soft);color:var(--accent-strong);font-size:.68rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;vertical-align:middle}.brand-sub{display:flex;align-items:center;gap:6px;margin-top:4px;font-family:var(--font-heading);font-size:.62rem;font-weight:600;letter-spacing:.32em;text-transform:uppercase;color:var(--text-2)}.brand-sub:before,.brand-sub:after{content:"";height:1px;width:14px;background:var(--border-strong)}.tagline{margin:0;font-family:var(--font-heading);font-weight:700;font-size:1.05rem;color:var(--text)}.tagline span,.hero-title span{color:var(--accent)}.login-page{position:relative;min-height:100vh;display:grid;place-items:center;align-content:center;padding:24px;overflow:hidden}.login-watermark{position:absolute;right:-140px;bottom:-160px;opacity:.09;pointer-events:none}.login-card{position:relative;width:100%;max-width:420px;background:var(--surface);border:1px solid var(--border);border-radius:22px;padding:34px 30px;display:flex;flex-direction:column;gap:18px;box-shadow:var(--shadow-md)}.login-brand{display:flex;flex-direction:column;align-items:center;gap:12px;padding-bottom:18px;border-bottom:1px solid var(--border);text-align:center}.login-heading{display:flex;flex-direction:column;gap:2px}.field{display:flex;flex-direction:column;gap:6px}.field>span{font-size:.85rem;font-weight:500;color:var(--text-2)}input[type=text],input[type=password],input[type=number]{width:100%;padding:11px 13px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:.95rem;font-family:inherit;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}input[type=text]:hover:not(:disabled),input[type=password]:hover:not(:disabled),input[type=number]:hover:not(:disabled){border-color:var(--border-strong)}input[type=text]:focus,input[type=password]:focus,input[type=number]:focus{background:var(--surface);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}input::placeholder{color:#b39a86}input[aria-invalid=true]{border-color:var(--danger-border)}input:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input:disabled,button:disabled{opacity:.6;cursor:not-allowed}.input-row{display:flex;gap:8px;align-items:stretch}button{font-family:inherit;font-size:.95rem;cursor:pointer;border-radius:var(--radius-sm)}.primary{padding:12px 18px;border:none;background:var(--accent-grad);color:var(--accent-ink);font-family:var(--font-heading);font-weight:600;letter-spacing:.01em;margin-top:4px;box-shadow:0 6px 16px #d8600f47;transition:transform .12s ease,box-shadow .12s ease,filter .12s ease}.primary:hover:not(:disabled){filter:brightness(1.04);box-shadow:0 8px 20px #d8600f57}.primary:active:not(:disabled){transform:translateY(1px);box-shadow:0 3px 10px #d8600f40}.ghost{padding:8px 14px;border:1px solid var(--border);background:var(--surface);color:var(--text-2);font-weight:500;white-space:nowrap;transition:border-color .15s ease,color .15s ease,background .15s ease}.ghost:hover:not(:disabled){color:var(--accent-strong);border-color:var(--border-strong);background:var(--surface-2)}.alert{margin:0;padding:10px 13px;border-radius:var(--radius-sm);background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger-text);font-size:.88rem}.alert.success{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text);font-size:.95rem;font-weight:600}.app-shell{--sidebar-w: 264px;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;z-index:30;width:var(--sidebar-w);display:flex;flex-direction:column;gap:8px;padding:20px 14px 16px;background:#fffffff0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-right:1px solid var(--border);box-shadow:6px 0 24px #5c34120a;overflow-y:auto}.sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 8px 16px;border-bottom:1px solid var(--border)}.sidebar .sidebar-close{display:none}.topbar-brand{display:inline-flex;text-decoration:none;border-radius:var(--radius-sm)}.side-nav{display:flex;flex-direction:column;gap:2px;padding-top:8px;flex:1}.nav-section{margin:16px 12px 6px;font-family:var(--font-heading);font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.side-nav a,.nav-disabled{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;color:var(--text-2);text-decoration:none;font-size:.94rem;font-weight:500;transition:background .15s ease,color .15s ease}.side-nav a svg,.nav-disabled svg{flex:none;color:var(--muted);transition:color .15s ease}.side-nav a:hover{background:var(--surface-2);color:var(--accent-strong)}.side-nav a:hover svg{color:var(--accent)}.side-nav a.active{background:var(--accent-soft);color:var(--accent-strong);font-weight:600;box-shadow:inset 3px 0 0 var(--accent)}.side-nav a.active svg{color:var(--accent-strong)}.nav-disabled{cursor:default;opacity:.6}.nav-disabled .badge{margin-left:auto}.sidebar-foot{display:flex;flex-direction:column;gap:10px;padding:14px 8px 0;border-top:1px solid var(--border)}.user-chip{display:flex;align-items:center;gap:10px;min-width:0}.user-meta{display:flex;flex-direction:column;min-width:0;line-height:1.25}.user-name{font-weight:600;font-size:.9rem;color:var(--text)}.user-email{font-size:.78rem;color:var(--muted)}.user-name,.user-email{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.avatar{width:36px;height:36px;flex:none;display:grid;place-items:center;border-radius:50%;background:var(--accent-soft);color:var(--accent-strong);font-family:var(--font-heading);font-weight:600;font-size:.95rem}.sign-out{display:inline-flex;align-items:center;justify-content:center;gap:8px}.mobile-bar,.sidebar-backdrop{display:none}.icon-button{display:inline-grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text-2)}.icon-button:hover{color:var(--accent-strong);background:var(--surface-2)}.content{margin-left:var(--sidebar-w);padding:32px 36px 48px;max-width:calc(1080px + var(--sidebar-w))}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow-sm)}.button-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:var(--radius-sm);text-decoration:none;white-space:nowrap}.button-link.primary{margin-top:0;color:var(--accent-ink)}.primary.small{margin-top:0;padding:8px 14px;font-size:.86rem;box-shadow:0 4px 10px #d8600f38}.with-icon{display:inline-flex;align-items:center;justify-content:center;gap:7px}.log-page{display:flex;flex-direction:column;gap:18px}.page-heading.with-actions{flex-direction:row;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}.page-heading.with-actions>div:first-child{display:flex;flex-direction:column;gap:6px}.heading-actions{display:flex;align-items:center;gap:10px}.log-loading{display:flex;align-items:center;gap:10px;padding:24px 4px}.empty-state{display:flex;flex-direction:column;align-items:center;gap:10px;padding:40px 16px 32px;text-align:center}.empty-state h3{font-size:1.1rem}.empty-state .button-link{margin-top:8px}.empty-mark{opacity:.55;margin-bottom:4px}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:14px;transition:opacity .15s ease}.table-wrap.is-loading{opacity:.6}.log-table{width:100%;border-collapse:collapse;font-size:.9rem}.log-table th{padding:11px 16px;background:var(--surface-2);border-bottom:1px solid var(--border);color:var(--text-2);font-family:var(--font-heading);font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;text-align:left;white-space:nowrap}.log-table td{padding:13px 16px;border-bottom:1px solid var(--border);color:var(--text);vertical-align:middle}.log-table tbody tr:last-child td{border-bottom:0}.log-table tbody tr:hover td{background:#fffbf6}.log-table tr.highlight td{background:var(--accent-soft)}.log-table .num{text-align:right;font-variant-numeric:tabular-nums}.log-table .actions-col{text-align:right;white-space:nowrap}.log-table .serial-col{width:72px}.serial-no{font-family:var(--font-heading);font-weight:600;color:var(--accent-strong);font-variant-numeric:tabular-nums}.look{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;color:var(--text-2)}.look code{font-size:.82rem;color:var(--text-2)}.look-sep{color:var(--border-strong)}.tag{padding:1px 7px;border-radius:999px;border:1px solid var(--border-strong);font-size:.72rem;font-weight:600;color:var(--text-2)}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:.78rem;font-weight:600;white-space:nowrap}.status-badge.completed{background:var(--success-bg);color:var(--success-text)}.status-badge.generating{background:var(--accent-soft);color:var(--accent-strong)}.status-badge.failed{background:var(--danger-bg);color:var(--danger-text)}.row-note{display:block;margin-top:4px;font-size:.78rem;color:var(--muted)}.row-note.error{color:var(--danger-text);white-space:normal}.row-na{font-size:.82rem}.row-progress{display:inline-flex;flex-direction:column;align-items:flex-end;gap:5px}.progress.mini{display:block;width:90px;height:6px}.progress.mini .progress-bar{display:block}.pager{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.pager-buttons{display:flex;align-items:center;gap:10px}.spinner.tiny{width:11px;height:11px;border-width:2px;flex:0 0 11px}.home{display:flex;flex-direction:column;gap:20px}.hero{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;overflow:hidden;padding:32px;background:radial-gradient(420px 260px at 100% 50%,rgba(240,138,44,.14),transparent 70%),var(--surface)}.hero-text{display:flex;flex-direction:column;gap:8px;max-width:560px}.eyebrow{margin:0;font-family:var(--font-heading);font-size:.74rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-strong)}.hero-title{font-size:clamp(1.7rem,4vw,2.3rem);font-weight:700;line-height:1.15}.hero-lead{margin:4px 0 2px;color:var(--text-2);font-size:1rem}.hero-mark{flex:none;opacity:.9}.action-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.action-card{display:flex;align-items:flex-start;gap:14px;padding:20px;color:inherit;text-decoration:none;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}a.action-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);transform:translateY(-2px)}.action-card.disabled{opacity:.72}.action-icon{width:46px;height:46px;flex:none;display:grid;place-items:center;border-radius:14px;background:var(--accent-soft);color:var(--accent-strong)}.action-body{display:flex;flex-direction:column;gap:4px;flex:1}.action-title{display:flex;align-items:center;gap:8px;font-family:var(--font-heading);font-weight:600;font-size:1.02rem;color:var(--text)}.action-arrow{align-self:center;color:var(--accent);font-size:1.2rem}.badge{padding:2px 8px;border-radius:999px;background:var(--surface-3);color:var(--text-2);font-family:var(--font-body);font-size:.7rem;font-weight:600}.qr-page{display:flex;flex-direction:column;gap:22px}.page-heading{display:flex;flex-direction:column;gap:6px;padding-bottom:18px;border-bottom:1px solid var(--border)}.qr-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:32px;align-items:start}.qr-form,.qr-status{display:flex;flex-direction:column;gap:16px}.qr-status{padding-top:20px;border-top:1px solid var(--border)}fieldset.field{border:0;margin:0;padding:0;min-width:0}fieldset.field>legend{padding:0;margin-bottom:6px;font-size:.85rem;font-weight:500;color:var(--text-2)}.segmented{display:inline-flex;align-self:flex-start;width:fit-content;padding:4px;gap:4px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2)}.segmented label{display:inline-flex;align-items:center;gap:8px;padding:7px 16px;border-radius:9px;cursor:pointer;color:var(--text-2);font-size:.92rem;font-weight:500;transition:background .15s ease,color .15s ease}.segmented label:hover{color:var(--accent-strong)}.segmented label.selected{background:var(--surface);color:var(--accent-strong);font-weight:600;box-shadow:0 1px 3px #5c34121f,inset 0 0 0 1px var(--accent)}.segmented label:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:1px}.segmented input{position:absolute;opacity:0;pointer-events:none}.style-icon{width:14px;height:14px;background-image:radial-gradient(currentColor 1.6px,transparent 1.9px);background-size:7px 7px}.style-icon.square{background-image:linear-gradient(currentColor 0 0),linear-gradient(currentColor 0 0);background-size:6px 6px;background-position:0 0,7px 7px;background-repeat:no-repeat}.color-row,.logo-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}input[type=color]{width:46px;height:42px;padding:4px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer}input[type=text].color-text{width:116px;font-family:ui-monospace,Cascadia Mono,Consolas,monospace}.logo-name{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;color:var(--text-2)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.field-hint{margin:6px 0 0;font-size:.82rem;color:var(--muted)}.field-hint.warning{color:var(--danger-text)}.field-hint.ok{color:var(--success-text);font-weight:500}.qr-preview{display:flex;flex-direction:column;gap:8px;padding:16px;border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--border)}.preview-label{font-family:var(--font-heading);font-size:.8rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-2)}.preview-box{position:relative;width:100%;aspect-ratio:1;display:grid;place-items:center;border-radius:12px;background:#fff;border:1px solid var(--border);box-shadow:var(--shadow-sm);overflow:hidden;text-align:center;padding:10px}.preview-box img{width:100%;height:100%;object-fit:contain;transition:opacity .15s ease}.preview-box.loading img{opacity:.45}.preview-spinner{position:absolute}.color-chip{display:inline-block;width:11px;height:11px;border-radius:3px;vertical-align:-1px;border:1px solid var(--border)}.status-line{display:flex;align-items:center;gap:10px}.progress{height:10px;border-radius:999px;background:var(--surface-3);overflow:hidden}.progress-bar{height:100%;border-radius:999px;background:var(--accent-grad);transition:width .3s ease}.centered{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}.spinner{width:30px;height:30px;border-radius:50%;border:3px solid var(--accent-soft);border-top-color:var(--accent);animation:spin .8s linear infinite}.spinner.small{width:18px;height:18px;border-width:2px;flex:0 0 18px}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner{animation-duration:3s}.primary,a.action-card{transition:none}}@media(max-width:960px){.app-shell{--sidebar-w: 0px}.mobile-bar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:12px;padding:10px 16px;background:#ffffffeb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}.sidebar{width:min(300px,86vw);transform:translate(-102%);transition:transform .22s ease;box-shadow:var(--shadow-md)}.menu-open .sidebar{transform:none}.sidebar .sidebar-close{display:inline-grid}.sidebar-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:25;display:block;background:#2d1b1052;opacity:0;pointer-events:none;transition:opacity .2s ease}.menu-open .sidebar-backdrop{opacity:1;pointer-events:auto}.content{padding:24px 20px 40px}}@media(max-width:760px){.qr-layout{grid-template-columns:minmax(0,1fr)}.qr-preview{order:-1;align-items:center}.preview-box{max-width:260px}.hero-mark{display:none}.table-wrap{border:0;overflow:visible}.log-table thead{display:none}.log-table,.log-table tbody,.log-table tr,.log-table td{display:block;width:100%}.log-table tr{margin-bottom:12px;padding:12px 14px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.log-table td{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 0;border:0;text-align:right}.log-table td[data-label]:before{content:attr(data-label);color:var(--muted);font-size:.8rem;text-align:left}.log-table tbody tr:hover td,.log-table tr.highlight td{background:transparent}.log-table tr.highlight{background:var(--accent-soft)}.log-table .actions-col{flex-direction:column;align-items:stretch;padding-top:10px}.log-table .actions-col .primary,.log-table .serial-col{width:100%}.look{justify-content:flex-end}}@media(max-width:560px){.content{padding:18px 14px 36px}.card{padding:18px}.hero{padding:24px 20px}.login-card{padding:28px 22px}.heading-actions{width:100%}.heading-actions>*{flex:1}}.legal-page{max-width:880px;margin:0 auto;padding:20px 20px 56px}.site-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:14px 4px 18px;border-bottom:1px solid var(--border)}.site-nav{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.site-nav a{padding:8px 14px;border-radius:999px;color:var(--text-2);font-size:.9rem;font-weight:500;text-decoration:none;transition:background .15s ease,color .15s ease}.site-nav a:hover{background:var(--surface-2);color:var(--accent-strong)}.site-nav a[aria-current=page]{background:var(--accent-soft);color:var(--accent-strong);font-weight:600}.legal-page .hero{margin-top:22px;box-shadow:var(--shadow-md)}.legal-page .hero-text{align-items:flex-start}.chip{align-self:flex-start;margin-top:10px;padding:4px 12px;border-radius:999px;background:var(--accent-soft);color:var(--accent-strong);font-family:var(--font-heading);font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.legal-page .card{margin-top:16px}.legal-page .card h2{margin-bottom:10px;font-size:1.05rem}.legal-page .card p{margin:0 0 10px;color:var(--text-2)}.legal-page .card p:last-child{margin-bottom:0}.legal-page .card b{color:var(--text);font-weight:600}ul.checks{list-style:none;margin:4px 0 0;padding:0}ul.checks li{position:relative;padding:0 0 14px 34px;color:var(--text);font-weight:500}ul.checks li:last-child{padding-bottom:0}ul.checks li:before{content:"✓";position:absolute;left:0;top:1px;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:var(--accent-soft);color:var(--accent-strong);font-size:.78rem;font-weight:700}ul.checks li.no:before{content:"✕";background:var(--danger-bg);color:var(--danger-text)}ul.checks li span{display:block;margin-top:3px;color:var(--muted);font-weight:400;font-size:.92rem}.contact-list{display:flex;flex-direction:column;gap:12px;margin-top:6px}.contact-row{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--border);border-radius:14px;color:inherit;text-decoration:none;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.contact-row:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);transform:translateY(-2px)}.contact-info{display:flex;flex-direction:column;min-width:0}.contact-label{font-family:var(--font-heading);font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.contact-value{margin-top:2px;font-family:var(--font-heading);font-size:1.02rem;font-weight:600;color:var(--text);overflow-wrap:anywhere}.contact-row .action-arrow{margin-left:auto}.footer-note{margin-top:18px;padding:18px 22px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--accent-soft);color:var(--text-2);text-align:center;font-size:.95rem;font-weight:500}.site-foot{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:28px;padding-top:20px;border-top:1px solid var(--border);color:var(--muted);font-size:.85rem}.site-foot .foot-item,.legal-links .foot-item{display:inline-flex;align-items:center;gap:8px}.site-foot a{color:var(--text-2);font-weight:500;text-decoration:none}.site-foot a:hover{color:var(--accent-strong)}.foot-sep{color:var(--border-strong)}.legal-links{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;font-size:.8rem;color:var(--muted)}.legal-links a{color:var(--muted);font-weight:500;text-decoration:none}.legal-links a:hover{color:var(--accent-strong);text-decoration:underline}.login-links{margin-top:18px}@media(prefers-reduced-motion:reduce){.contact-row{transition:none}}@media(max-width:560px){.legal-page{padding:14px 14px 40px}.contact-row .action-arrow{display:none}}.search-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:18px}.search-field{display:inline-flex;align-items:center;gap:8px;padding:0 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--muted);min-width:min(340px,100%)}.search-field:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.search-field input{flex:1;border:none;background:transparent;padding:10px 0;font:inherit;color:var(--text);outline:none}.search-note{font-size:.88rem}.activations-table .expand-col{width:44px;padding-right:0}.expander{transition:transform .18s ease,color .18s ease}.expander.open{transform:rotate(90deg);color:var(--accent)}.activations-table tr.is-open>td{background:var(--surface-2)}.cell-strong{display:block;font-weight:600;color:var(--text)}.qr-note{font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:.78rem;color:var(--muted)}.usage-badge{display:inline-flex;align-items:baseline;gap:3px;padding:4px 10px;border-radius:999px;border:1px solid var(--success-border);background:var(--success-bg);color:var(--success-text);font-variant-numeric:tabular-nums;font-size:.9rem}.usage-badge strong{font-size:1rem}.usage-badge .usage-sep{opacity:.55}.usage-badge.exhausted{border-color:var(--danger-border);background:var(--danger-bg);color:var(--danger-text)}.limit-edit{display:inline-flex;align-items:center;gap:6px}.limit-edit input{width:74px;padding:7px 8px;border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit;font-variant-numeric:tabular-nums;text-align:center}.limit-edit input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.icon-button.save{color:var(--success-text)}.icon-button.save:hover:not(:disabled){background:var(--success-bg)}tr.highlight>td{animation:saved-flash 2s ease-out}@keyframes saved-flash{0%,35%{background:var(--accent-soft)}to{background:transparent}}.detail-row>td{background:var(--surface-2);border-top:none;padding:0 18px 18px}.detail-grid{display:grid;gap:20px;grid-template-columns:minmax(240px,1fr) minmax(260px,1.1fr);align-items:start;padding:16px 18px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow-sm)}.detail-facts{margin:0;display:grid;gap:12px}.detail-facts dt{font-size:.76rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}.detail-facts dd{margin:0;color:var(--text);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.detail-facts code{font-size:.82rem;background:var(--surface-3);padding:2px 7px;border-radius:6px;word-break:break-all}.detail-title{margin:0 0 10px;font-family:var(--font-heading);font-size:.95rem}.detail-loading{display:flex;align-items:center;gap:10px;padding:8px 0}.detail-empty{margin:0;padding:8px 0}.alert.compact{margin:0;padding:8px 12px;font-size:.86rem}.activation-log{list-style:none;margin:0;padding:0;display:grid;gap:8px;max-height:260px;overflow-y:auto}.activation-log li{display:flex;align-items:center;gap:12px;padding:9px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2)}.log-index{display:grid;place-items:center;width:26px;height:26px;flex:0 0 26px;border-radius:50%;background:var(--accent-soft);color:var(--accent-strong);font-size:.8rem;font-weight:600}.log-body{display:flex;flex-direction:column}.log-when{color:var(--text);font-size:.9rem}.log-device{color:var(--muted);font-size:.8rem}.tag.warn{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger-text)}@media(max-width:860px){.detail-grid{grid-template-columns:1fr}.detail-row>td{padding:0 10px 14px}}.detail-facts dd .qr-panel{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:4px}.qr-frame{display:grid;place-items:center;width:166px;height:166px;padding:8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;box-shadow:var(--shadow-sm)}.qr-frame img{display:block;width:150px;height:150px;image-rendering:pixelated}.qr-frame.is-loading{background:var(--surface-2)}.qr-panel .alert.compact{max-width:260px}
