*,:before,:after{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }::backdrop{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }.container{width:100%}@media(min-width:640px){.container{max-width:640px}}@media(min-width:768px){.container{max-width:768px}}@media(min-width:1024px){.container{max-width:1024px}}@media(min-width:1280px){.container{max-width:1280px}}@media(min-width:1536px){.container{max-width:1536px}}.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.grid{display:grid}.rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}.rows-3{grid-template-rows:repeat(3,minmax(0,1fr))}.rows-4{grid-template-rows:repeat(4,minmax(0,1fr))}.m-0{margin:0}.m10{margin:2.5rem}.m10\.065{margin:2.51625rem}.m10\.215{margin:2.55375rem}.m10\.344{margin:2.586rem}.m10\.5{margin:2.625rem}.m10\.586{margin:2.6465rem}.m10\.68{margin:2.67rem}.m10\.8{margin:2.7rem}.m10\.852{margin:2.713rem}.m10\.929{margin:2.73225rem}.m11{margin:2.75rem}.m11\.5{margin:2.875rem}.m11\.8{margin:2.95rem}.m11\.9{margin:2.975rem}.m12{margin:3rem}.m12\.172{margin:3.043rem}.m12\.214{margin:3.0535rem}.m12\.296{margin:3.074rem}.m12\.309{margin:3.07725rem}.m12\.342{margin:3.0855rem}.m12\.5{margin:3.125rem}.m12\.59{margin:3.1475rem}.m12\.67{margin:3.1675rem}.m12\.681{margin:3.17025rem}.m12\.828{margin:3.207rem}.m12\.829{margin:3.20725rem}.m12\.99{margin:3.2475rem}.m13{margin:3.25rem}.m13\.11{margin:3.2775rem}.m13\.148{margin:3.287rem}.m13\.32{margin:3.33rem}.m13\.378{margin:3.3445rem}.m13\.4{margin:3.35rem}.m13\.41{margin:3.3525rem}.m13\.5{margin:3.375rem}.m13\.53{margin:3.3825rem}.m13\.56{margin:3.39rem}.m13\.607{margin:3.40175rem}.m13\.75{margin:3.4375rem}.m13\.917{margin:3.47925rem}.m13\.982{margin:3.4955rem}.m14{margin:3.5rem}.m14\.162{margin:3.5405rem}.m14\.207{margin:3.55175rem}.m14\.28{margin:3.57rem}.m14\.305{margin:3.57625rem}.m14\.31{margin:3.5775rem}.m14\.45{margin:3.6125rem}.m14\.479{margin:3.61975rem}.m14\.5{margin:3.625rem}.m14\.622{margin:3.6555rem}.m14\.772{margin:3.693rem}.m14\.828{margin:3.707rem}.m14\.83{margin:3.7075rem}.m14\.849{margin:3.71225rem}.m14\.876{margin:3.719rem}.m14\.923{margin:3.73075rem}.m15{margin:3.75rem}.m15\.007{margin:3.75175rem}.m15\.05{margin:3.7625rem}.m15\.1{margin:3.775rem}.m15\.166{margin:3.7915rem}.m15\.194{margin:3.7985rem}.m15\.228{margin:3.807rem}.m15\.229{margin:3.80725rem}.m15\.4{margin:3.85rem}.m15\.477{margin:3.86925rem}.m15\.5{margin:3.875rem}.m15\.55{margin:3.8875rem}.m15\.769{margin:3.94225rem}.m15\.874{margin:3.9685rem}.m16{margin:4rem}.m16\.01{margin:4.0025rem}.m16\.042{margin:4.0105rem}.m16\.13{margin:4.0325rem}.m16\.2{margin:4.05rem}.m16\.24{margin:4.06rem}.m16\.47{margin:4.1175rem}.m16\.5{margin:4.125rem}.m16\.547{margin:4.13675rem}.m16\.62{margin:4.155rem}.m16\.852{margin:4.213rem}.m16\.923{margin:4.23075rem}.m16\.967{margin:4.24175rem}.m17{margin:4.25rem}.m17\.4{margin:4.35rem}.m17\.5{margin:4.375rem}.m17\.586{margin:4.3965rem}.m17\.657{margin:4.41425rem}.m17\.66{margin:4.415rem}.m17\.92{margin:4.48rem}.m17\.945{margin:4.48625rem}.m18{margin:4.5rem}.m18\.065{margin:4.51625rem}.m18\.364{margin:4.591rem}.m18\.5{margin:4.625rem}.m18\.586{margin:4.6465rem}.m18\.59{margin:4.6475rem}.m18\.84{margin:4.71rem}.m18\.843{margin:4.71075rem}.m18\.849{margin:4.71225rem}.m18\.889{margin:4.72225rem}.m19{margin:4.75rem}.m19\.06{margin:4.765rem}.m19\.07{margin:4.7675rem}.m19\.148{margin:4.787rem}.m19\.225{margin:4.80625rem}.m19\.53{margin:4.8825rem}.m19\.792{margin:4.948rem}.m19\.794{margin:4.9485rem}.m19\.797{margin:4.94925rem}.m2{margin:.5rem}.m2\.05{margin:.5125rem}.m2\.1{margin:.525rem}.m2\.37{margin:.5925rem}.m2\.5{margin:.625rem}.m2\.978{margin:.7445rem}.m20{margin:5rem}.m20\.063{margin:5.01575rem}.m20\.1{margin:5.025rem}.m20\.467{margin:5.11675rem}.m20\.5{margin:5.125rem}.m20\.66{margin:5.165rem}.m20\.69{margin:5.1725rem}.m20\.7{margin:5.175rem}.m20\.772{margin:5.193rem}.m20\.773{margin:5.19325rem}.m20\.79{margin:5.1975rem}.m20\.9{margin:5.225rem}.m21{margin:5.25rem}.m21\.5{margin:5.375rem}.m21\.64{margin:5.41rem}.m21\.73{margin:5.4325rem}.m21\.854{margin:5.4635rem}.m22{margin:5.5rem}.m3{margin:.75rem}.m3\.173{margin:.79325rem}.m3\.3{margin:.825rem}.m3\.305{margin:.82625rem}.m3\.34{margin:.835rem}.m3\.46{margin:.865rem}.m3\.5{margin:.875rem}.m3\.64{margin:.91rem}.m4{margin:1rem}.m4\.203{margin:1.05075rem}.m4\.206{margin:1.0515rem}.m4\.228{margin:1.057rem}.m4\.243{margin:1.06075rem}.m4\.34{margin:1.085rem}.m4\.874{margin:1.2185rem}.m4\.9{margin:1.225rem}.m4\.929{margin:1.23225rem}.m4\.93{margin:1.2325rem}.m5{margin:1.25rem}.m5\.082{margin:1.2705rem}.m5\.1{margin:1.275rem}.m5\.136{margin:1.284rem}.m5\.17{margin:1.2925rem}.m5\.2{margin:1.3rem}.m5\.636{margin:1.409rem}.m5\.687{margin:1.42175rem}.m5\.852{margin:1.463rem}.m5\.94{margin:1.485rem}.m6{margin:1.5rem}.m6\.134{margin:1.5335rem}.m6\.158{margin:1.5395rem}.m6\.163{margin:1.54075rem}.m6\.18{margin:1.545rem}.m6\.34{margin:1.585rem}.m6\.343{margin:1.58575rem}.m6\.41{margin:1.6025rem}.m6\.49{margin:1.6225rem}.m6\.5{margin:1.625rem}.m6\.67{margin:1.6675rem}.m6\.7{margin:1.675rem}.m6\.707{margin:1.67675rem}.m6\.8{margin:1.7rem}.m6\.816{margin:1.704rem}.m6\.98{margin:1.745rem}.m7{margin:1.75rem}.m7\.18{margin:1.795rem}.m7\.2{margin:1.8rem}.m7\.38{margin:1.845rem}.m7\.5{margin:1.875rem}.m7\.69{margin:1.9225rem}.m7\.699{margin:1.92475rem}.m7\.83{margin:1.9575rem}.m7\.88{margin:1.97rem}.m7\.9{margin:1.975rem}.m7\.906{margin:1.9765rem}.m7\.932{margin:1.983rem}.m7\.94{margin:1.985rem}.m8{margin:2rem}.m8\.102{margin:2.0255rem}.m8\.148{margin:2.037rem}.m8\.29{margin:2.0725rem}.m8\.5{margin:2.125rem}.m8\.53{margin:2.1325rem}.m8\.66{margin:2.165rem}.m8\.86{margin:2.215rem}.m8\.9{margin:2.225rem}.m9{margin:2.25rem}.m9\.086{margin:2.2715rem}.m9\.17{margin:2.2925rem}.m9\.2{margin:2.3rem}.m9\.228{margin:2.307rem}.m9\.305{margin:2.32625rem}.m9\.344{margin:2.336rem}.m9\.4{margin:2.35rem}.m9\.5{margin:2.375rem}.m9\.6{margin:2.4rem}.m9\.773{margin:2.44325rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-0{margin-bottom:0}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-7{margin-bottom:1.75rem}.mr-2{margin-right:.5rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-7{margin-top:1.75rem}.hidden{display:none}.h-1\.5{height:.375rem}.h-12{height:3rem}.h-9{height:2.25rem}.h2{height:.5rem}.max-w-\[220px\]{max-width:220px}.max-w-\[250px\]{max-width:250px}.max-w-\[260px\]{max-width:260px}.max-w-\[320px\]{max-width:320px}.max-w-\[420px\]{max-width:420px}.max-w-\[680px\]{max-width:680px}.max-w-\[760px\]{max-width:760px}.min-h-\[100px\]{min-height:100px}.min-h-\[90px\]{min-height:90px}.min-h-\[92px\]{min-height:92px}.min-w-\[1080px\]{min-width:1080px}.min-w-\[650px\]{min-width:650px}.min-w-\[680px\]{min-width:680px}.min-w-\[780px\]{min-width:780px}.min-w-\[800px\]{min-width:800px}.min-w-\[940px\]{min-width:940px}.min-w-0{min-width:0}.w-1\.5{width:.375rem}.w-12{width:3rem}.w-9{width:2.25rem}.w-full{width:100%}.flex{display:flex}.inline-flex{display:inline-flex}.flex-1{flex:1 1 0%}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-wrap{flex-wrap:wrap}.table{display:table}.transform{transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.resize-y{resize:vertical}.columns-2{columns:2}.columns-3{columns:3}.columns-4{columns:4}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.space-x-2>:not([hidden])~:not([hidden]){--un-space-x-reverse:0;margin-left:calc(.5rem * calc(1 - var(--un-space-x-reverse)));margin-right:calc(.5rem * var(--un-space-x-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--un-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--un-space-y-reverse)));margin-bottom:calc(.25rem * var(--un-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--un-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--un-space-y-reverse)));margin-bottom:calc(.5rem * var(--un-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--un-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--un-space-y-reverse)));margin-bottom:calc(.75rem * var(--un-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--un-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--un-space-y-reverse)));margin-bottom:calc(1rem * var(--un-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--un-space-y-reverse:0;margin-top:calc(1.25rem * calc(1 - var(--un-space-y-reverse)));margin-bottom:calc(1.25rem * var(--un-space-y-reverse))}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.break-words{overflow-wrap:break-word}.b{border-width:1px}.border-t{border-top-width:1px}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.bg-current{background-color:currentColor}.p-3{padding:.75rem}.p-5{padding:1.25rem}.px{padding-left:1rem;padding-right:1rem}.px-2{padding-left:.5rem;padding-right:.5rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.ps{padding-inline-start:1rem}.ps46cm{padding-inline-start:46cm}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.text-align-center,.text-center{text-align:center}.text-right{text-align:right}.text-align-justify{text-align:justify}.text-align-start{text-align:start}.text-align-end{text-align:end}.indent{text-indent:1.5rem}.text-wrap{text-wrap:wrap}.text-base{font-size:1rem;line-height:1.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.text-initial{color:initial}.font-bold{font-weight:700}.font-normal{font-weight:400}.font-semibold{font-weight:600}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.case-upper{text-transform:uppercase}.case-lower{text-transform:lowercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.tab{-moz-tab-size:4;-o-tab-size:4;tab-size:4}.filter{filter:var(--un-blur) var(--un-brightness) var(--un-contrast) var(--un-drop-shadow) var(--un-grayscale) var(--un-hue-rotate) var(--un-invert) var(--un-saturate) var(--un-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:root{font-family:system-ui,-apple-system,Noto Sans TC,sans-serif;font-synthesis:none;color:var(--text-primary);background:var(--canvas);--canvas: #fff;--surface: #f9f9f9;--surface-hover: #f0f0f0;--surface-selected: #e5e5e5;--text-primary: #171717;--text-secondary: #626262;--text-muted: #666;--stroke: #e5e5e5;--control-stroke: #888;--action: #111;--action-hover: #333;--focus: #171717;--sidebar-width: 264px;--page-width: 1136px;--page-gutter: 32px;--section-gap: 24px;--panel-radius: 16px;--field-radius: 8px;--control-height: 32px}*{box-sizing:border-box;border-color:var(--stroke)}body{margin:0;min-width:320px;font-size:13px;line-height:1.5}button,input,textarea,select{font:inherit}button{cursor:pointer;border:0;background:transparent;color:inherit}button:disabled{cursor:not-allowed}:where(button,a,input,textarea,select,[tabindex]):focus-visible{outline:2px solid var(--focus);outline-offset:3px}input[type=checkbox]{accent-color:var(--action)}fieldset{min-width:0;margin:0;padding:12px;border:1px solid var(--stroke);border-radius:var(--field-radius)}dialog{border:0}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.bg-canvas{background:var(--canvas)}.bg-subtle{background:var(--surface)}.bg-selected{background:var(--surface-selected)}.border-subtle{border-color:var(--stroke)}.border-control{border-color:var(--control-stroke)}.hover-subtle:hover{background:var(--surface-hover)}.hover-primary:hover{color:var(--text-primary)}.admin-shell{min-height:100vh;min-height:100dvh;display:flex}.workspace{flex:1;min-width:0}.sidebar{width:var(--sidebar-width);height:100vh;height:100dvh;position:sticky;top:0;flex-shrink:0;display:flex;flex-direction:column;background:var(--surface);padding:16px 8px 12px;overflow-y:auto}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:0 8px 20px}.brand-mark{display:flex;width:28px;height:28px;align-items:center;justify-content:center;color:var(--text-primary)}.brand-name{font-size:14px;font-weight:500;letter-spacing:-.02em}.sidebar-nav{display:flex;flex-direction:column;gap:2px;padding:4px 0}.nav-label{padding:8px 10px;font-size:12px;color:var(--text-muted)}.nav-item{display:flex;align-items:center;gap:10px;min-height:var(--control-height);padding:6px 10px;border-radius:8px;text-align:left;color:var(--text-secondary);font-weight:400;white-space:nowrap}.nav-item:hover{background:var(--surface-hover);color:var(--text-primary)}.nav-item[aria-current=page]{background:var(--surface-selected);color:var(--text-primary)}.sidebar-footer{margin-top:auto;padding:24px 8px 0;display:flex;flex-direction:column;gap:12px}.session-label{display:flex;align-items:center;gap:8px;color:var(--text-muted);font-size:12px}.btn-secondary.sidebar-logout{justify-content:flex-start;width:100%}.skip-link{position:fixed;top:8px;left:8px;z-index:30;transform:translateY(-200%);padding:8px 16px;background:var(--canvas);color:var(--text-primary);border-radius:8px}.skip-link:focus{transform:translateY(0)}.admin-page{width:100%;max-width:var(--page-width);margin:0 auto;padding:32px var(--page-gutter) 64px;overflow-wrap:anywhere}.page-heading{margin-bottom:var(--section-gap)}.page-heading-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}.admin-page h1,.login-card h1{margin:0;font-size:24px;line-height:1.35;font-weight:400;letter-spacing:-.03em}.page-heading p{margin:6px 0 0;color:var(--text-secondary);font-size:13px}.panel{background:var(--surface);border:0;border-radius:var(--panel-radius);box-shadow:none}.panel-body{padding:16px}.panel h2{font-size:16px;font-weight:500}.data-panel{background:var(--canvas);border:1px solid var(--stroke);overflow:hidden}.panel-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:16px;border-bottom:1px solid var(--stroke);background:var(--surface)}.query-form{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px;margin-bottom:24px;padding:16px;background:var(--surface);border-radius:var(--panel-radius)}.query-form>button{margin-top:24px}.inline-form{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px}.inline-form>button{margin-top:24px}.form-field{flex:1 1 180px;min-width:0}.platform-control{position:relative}.platform-control .field{padding-right:40px}.platform-trigger{position:absolute;right:4px;top:4px;bottom:4px;width:32px;display:grid;place-items:center;border:0;border-radius:var(--field-radius);background:transparent;color:var(--text-secondary);cursor:pointer}.platform-trigger:hover:not(:disabled){background:var(--surface-hover)}.platform-trigger:disabled{cursor:not-allowed}.platform-help{display:block;margin:6px 0 0;color:var(--text-secondary);font-size:12px;overflow-wrap:anywhere}.platform-dropdown{z-index:100;width:var(--kb-popper-anchor-width);min-width:220px;max-width:calc(100vw - 24px);border:1px solid var(--stroke);border-radius:12px;background:var(--canvas);box-shadow:0 8px 24px #0000001f;overflow:hidden}.platform-listbox{max-height:280px;padding:4px;margin:0;overflow-y:auto;list-style:none}.platform-option{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;cursor:pointer;outline:none;overflow-wrap:anywhere}.platform-option[data-highlighted]{background:var(--surface-hover)}.platform-option[data-selected]{background:var(--surface-selected)}.platform-option-code{display:block;font-size:14px;font-weight:600}.platform-option-detail{display:block;margin-top:3px;color:var(--text-secondary);font-size:12px}.platform-empty{margin:0;padding:12px;font-size:13px;color:var(--text-secondary)}.platform-load-error{margin-top:8px;font-size:13px;color:var(--text-primary)}.form-toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:12px}.table-scroll{overflow-x:auto}.table-scroll:focus-visible{outline-offset:-3px}.data-table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}.data-table thead{background:var(--surface);color:var(--text-secondary);font-size:12px}.data-table th{font-weight:500}.data-table td{font-size:13px}.data-table th,.data-table td{padding:12px 16px}.data-table tbody tr{border-top:1px solid var(--stroke)}.data-table tbody tr:hover{background:var(--surface)}.data-table td[colspan]{padding:48px 16px}.table-footer{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--stroke);padding:12px 16px;color:var(--text-secondary);font-size:12px}.status-active,.status-suspended{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:400;white-space:nowrap}.status-active{background:var(--surface-selected);color:var(--text-primary)}.status-suspended{border:1px dashed var(--control-stroke);color:var(--text-secondary)}.btn,.btn-primary,.btn-secondary,.page-btn,.icon-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:var(--control-height);padding:6px 14px;border:1px solid transparent;border-radius:999px;font-size:13px;font-weight:400;line-height:18px;transition:background-color .15s,color .15s;flex-shrink:0}.btn-primary{background:var(--action);color:var(--canvas)}.btn-primary:hover:not(:disabled){background:var(--action-hover)}.btn-secondary,.page-btn{background:var(--surface-hover);color:var(--text-primary)}.btn-secondary:hover:not(:disabled),.page-btn:hover:not(:disabled){background:var(--surface-selected)}.btn:disabled,.btn-primary:disabled,.btn-secondary:disabled,.page-btn:disabled,.icon-btn:disabled{opacity:.5}.icon-btn{width:var(--control-height);padding:6px;color:var(--text-secondary)}.icon-btn:hover:not(:disabled){background:var(--surface-hover);color:var(--text-primary)}.label{display:block;margin-bottom:6px;color:var(--text-secondary);font-size:12px;font-weight:400}.label .field{margin-top:6px}.field-error{display:block;margin-top:6px;color:var(--text-primary);font-size:12px;line-height:1.5}.field-error:before{content:"! ";font-weight:600}.field[aria-invalid=true]{border-color:var(--text-primary)}.scope-options>.field-error{flex-basis:100%}.key-view-switch{display:inline-flex;gap:4px;padding:4px;background:var(--surface-hover);border-radius:999px}.key-view-switch .btn-secondary{background:transparent}.key-view-switch .btn-secondary[aria-pressed=true]{background:var(--canvas);box-shadow:0 1px 3px #00000014}.key-list-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.key-list-heading h3{margin:0}.key-table{min-width:760px}.key-id{display:block;max-width:240px;overflow-wrap:anywhere;margin-top:4px}.field{width:100%;min-width:0;min-height:var(--control-height);border:1px solid var(--control-stroke);border-radius:var(--field-radius);padding:6px 12px;background:var(--canvas);color:var(--text-primary);font-size:13px;line-height:18px}.field::placeholder{color:var(--text-muted);opacity:1}.field:hover:not(:disabled){border-color:var(--text-secondary)}.field:disabled{background:var(--surface-hover);color:var(--text-secondary);cursor:not-allowed}textarea.field{display:block;line-height:1.6}input[type=file].field{padding:8px}input[type=file]::file-selector-button{border:0;border-radius:999px;padding:6px 12px;margin-right:12px;background:var(--surface-hover);color:var(--text-primary);font:inherit;cursor:pointer}.message{display:flex;align-items:flex-start;gap:10px;padding:12px 16px;border:1px solid var(--stroke);border-radius:12px;background:var(--surface);color:var(--text-primary);font-size:13px;overflow-wrap:anywhere}.message-error{border-color:var(--control-stroke)}.message-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;flex-shrink:0;margin-top:1px;border:1px solid currentColor;border-radius:50%;font-size:12px;font-weight:500;line-height:1}.message[data-state=success] .message-icon{background:var(--action);color:var(--canvas);border-color:var(--action)}.message[data-state=pending]{border-style:dashed}.message[data-state=busy] .message-icon{border-color:var(--stroke);border-top-color:var(--text-primary);animation:status-spin .8s linear infinite}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:var(--surface-hover);color:var(--text-secondary);font-size:12px;white-space:nowrap}.status-badge:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.status-badge[data-state=active]{background:var(--surface-selected);color:var(--text-primary)}.status-badge[data-state=pending]{border:1px dashed var(--control-stroke);background:var(--canvas)}.status-badge[data-state=inactive]:before{background:transparent;border:1px solid currentColor}.status-badge[data-state=busy]:before{width:10px;height:10px;background:transparent;border:1px solid var(--stroke);border-top-color:currentColor;animation:status-spin .8s linear infinite}@keyframes status-spin{to{transform:rotate(360deg)}}.info-note{display:flex;align-items:start;gap:10px;padding:16px;border-radius:var(--panel-radius);background:var(--surface);color:var(--text-secondary);font-size:13px}.drop-zone{padding:16px;border:1px dashed var(--control-stroke);border-radius:var(--field-radius)}.drop-zone[data-dragging=true]{border-style:solid;background:var(--surface-selected)}.login-page{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:48px 20px}.login-card{padding:24px;background:var(--surface);border-radius:var(--panel-radius)}.dialog-overlay{position:fixed;inset:0;z-index:10;background:#0003}.dialog-position{position:fixed;inset:0;z-index:11;display:flex;align-items:center;justify-content:center;padding:20px;pointer-events:none}.dialog-content{pointer-events:auto;width:100%;max-width:524px;max-height:min(85svh,640px);overflow-y:auto;overscroll-behavior:contain;overflow-wrap:anywhere;border:1px solid var(--stroke);border-radius:24px;background:var(--canvas);padding:24px;box-shadow:0 12px 32px #0000001f;scroll-padding-block:80px}.dialog-content-wide{max-width:960px}.image-preview-dialog{max-width:1100px}.image-preview-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,300px);gap:20px;align-items:start}.image-preview-stage{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:280px;border:1px solid var(--stroke);border-radius:12px;background:var(--surface);padding:16px;overflow:hidden}.image-preview-content{display:block;max-width:100%;max-height:55svh;object-fit:contain}.image-preview-message{text-align:center;color:var(--text-secondary);font-size:14px;overflow-wrap:anywhere}.image-preview-info{max-height:min(50svh,430px);overflow-y:auto;padding-right:8px}.image-preview-info h2{margin:0 0 10px;font-size:14px}.image-preview-info dl{margin:12px 0 0;font-size:13px}.image-preview-info dt{margin-top:12px;color:var(--text-secondary)}.image-preview-info dd{margin:3px 0 0;overflow-wrap:anywhere}@media(max-width:700px){.image-preview-layout{grid-template-columns:minmax(0,1fr)}.image-preview-stage{min-height:180px}.image-preview-info{max-height:none;overflow:visible;padding-right:0}}.dialog-title{margin:0;font-size:16px;line-height:1.5;font-weight:400}.dialog-description{margin:4px 0 16px;color:var(--text-secondary);font-size:14px;line-height:1.6}.dialog-heading{position:sticky;top:-1px;z-index:2;display:flex;justify-content:space-between;align-items:start;gap:12px;background:var(--canvas);padding-bottom:8px}.dialog-heading>div{min-width:0}.dialog-heading .icon-btn{width:36px;height:36px;font-size:22px;margin:-6px -8px 0 0}.dialog-form{margin-top:0}.dialog-content .label{font-size:14px;color:var(--text-primary)}.dialog-content .field{min-height:40px;padding:9px 12px;font-size:14px;border-color:var(--control-stroke)}.dialog-content .btn-primary,.dialog-content .btn-secondary{min-height:36px;padding:8px 16px;font-size:14px}.dialog-actions{position:sticky;bottom:-1px;z-index:2;display:flex;flex-wrap:wrap;justify-content:end;gap:12px;margin-top:24px;padding-top:12px;background:var(--canvas)}.key-manager h3{margin:0 0 8px;font-size:14px;font-weight:500}.key-card{padding:16px;border:1px solid var(--stroke);border-radius:12px;background:var(--canvas);overflow-wrap:anywhere}.scope-options{display:flex;flex-wrap:wrap;gap:8px 16px}.scope-option{display:inline-flex;align-items:center;gap:8px;min-height:var(--control-height)}@media(max-width:767px){:root{--page-gutter: 16px}.admin-shell{flex-direction:column}.sidebar{position:static;width:100%;height:auto;padding:12px 8px;display:grid;grid-template-columns:minmax(0,1fr) auto;overflow:visible}.sidebar-brand{padding:0 8px 12px}.nav-label,.session-label{display:none}.sidebar-nav{grid-column:1 / -1;grid-row:2;flex-direction:row;overflow-x:auto;padding:4px}.nav-item{flex-shrink:0}.sidebar-footer{margin:0;padding:0 4px 12px;grid-column:2;grid-row:1}.admin-page{padding-top:24px;padding-bottom:40px}.query-form>.btn-primary,.query-form>.btn-secondary{flex-grow:1}.query-form,.inline-form{flex-direction:column}.query-form>.form-field,.inline-form>.form-field{width:100%;flex-basis:auto}.query-form>button,.inline-form>button{width:100%;margin-top:0}.dialog-position{padding:12px}.dialog-content{max-height:85svh;padding:24px;border-radius:20px}.dialog-content .dialog-actions>button{flex:1;min-width:0;min-height:48px}}@media(pointer:coarse){:root{--control-height: 44px}.field,.dialog-content .field{font-size:16px}.dialog-content .field,.dialog-content .btn-primary,.dialog-content .btn-secondary,.dialog-heading .icon-btn{min-height:44px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}.billing-tabs-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.billing-tab[data-selected]{background:var(--surface-selected);border-color:var(--control-stroke);color:var(--text-primary)}.billing-tab-content:focus-visible{outline:2px solid var(--control-stroke);outline-offset:4px}.date-range-trigger{white-space:nowrap}.date-range-popover{z-index:100;display:flex;max-width:calc(100vw - 24px);max-height:min(80vh,520px);overflow:auto;border:1px solid var(--stroke);border-radius:12px;background:var(--canvas);box-shadow:0 8px 24px #0000001f}.date-range-presets{display:flex;flex-direction:column;gap:2px;padding:8px;border-right:1px solid var(--stroke)}.date-range-presets button{min-width:64px;padding:7px 10px;border-radius:6px;text-align:left;white-space:nowrap;color:var(--text-secondary)}.date-range-presets button:hover,.date-range-presets button[aria-pressed=true]{background:var(--surface-selected);color:var(--text-primary)}.date-range-main{padding:12px}.date-range-months{display:flex;gap:16px}.date-month{width:224px;flex:none}.date-month-heading{display:flex;align-items:center;justify-content:space-between;height:32px}.date-month-heading strong{font-size:13px;font-weight:500}.date-nav{display:grid;width:32px;height:32px;place-items:center;border-radius:50%}.date-nav:hover:not(:disabled){background:var(--surface-hover)}.date-nav:disabled{visibility:hidden}.date-grid{display:grid;grid-template-columns:repeat(7,32px);grid-auto-rows:32px;gap:4px 0;margin-top:8px}.date-weekday{display:grid;place-items:center;color:var(--text-secondary);font-size:12px}.date-day{border-radius:6px}.date-day:hover:not(:disabled):not(.range-start):not(.range-end){background:var(--surface-hover)}.date-day:disabled{color:#bbb}.date-day.in-range{border-radius:0;background:var(--surface-selected)}.date-day.range-start,.date-day.range-end{background:var(--action);color:var(--canvas)}.date-range-help{margin:12px 0 0;color:var(--text-secondary);font-size:12px}@media(max-width:700px){.date-range-popover{flex-direction:column}.date-range-presets{flex-direction:row;flex-wrap:wrap;border-right:0;border-bottom:1px solid var(--stroke)}.date-range-presets button{min-width:auto}.date-range-months{flex-direction:column}}.date-range-trigger{width:100%;min-height:var(--control-height);justify-content:flex-start;border:1px solid var(--control-stroke);border-radius:var(--field-radius);background:var(--canvas)}.date-range-trigger:hover:not(:disabled){background:var(--surface-hover)}.date-range-field{flex:0 0 auto;margin-top:24px}@media(max-width:767px){.query-form>.date-range-field{width:auto;margin-top:0}}.monthly-panel .monthly-summary{display:grid;gap:10px;padding:16px}.monthly-panel .monthly-summary p{margin:0;line-height:1.6}.monthly-panel .billing-tabs-list{gap:6px;margin:0;padding:4px 16px 12px;border-bottom:1px solid var(--stroke)}.monthly-panel .billing-tab{min-height:36px;padding:7px 12px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text-secondary);font-weight:500}.monthly-panel .billing-tab:hover:not(:disabled){background:var(--surface-hover)}.monthly-panel .billing-tab[data-selected]{background:var(--surface-selected);border-color:var(--stroke);color:var(--text-primary)}.monthly-panel .billing-tab-content>.panel-body:first-child{padding-top:20px}.monthly-panel .monthly-subscription h3{margin:0 0 12px}.monthly-panel .monthly-subscription p{margin:0 0 12px;line-height:1.7}.monthly-panel .monthly-subscription>details{margin-top:16px}.monthly-panel .monthly-subscription>details>summary{cursor:pointer;padding:4px 0}.monthly-panel .monthly-confirmation{margin:16px;padding:16px;border:1px solid var(--stroke);border-radius:10px;background:var(--surface-selected)}.monthly-panel .monthly-confirmation h3{margin-top:0}
