/* Generated from frontend/src/design-system; do not edit. */
:root{--color-text: #251742;--color-brand: #4f2fcc;--color-muted: #70657f;--color-border: #d8cee8;--color-border-light: #e0d9ed;--color-surface: #ffffff;--color-canvas-soft: #faf9ff;--color-raised: #f1ecfa;--color-stroke: #342151;--color-stroke-soft: #594078;--color-text-secondary: #594b70;--color-control-border: #9e8bb8;--color-lavender: #b8a0ef;--color-shadow-soft: #d9c9f3;--color-mint-wash: #dff8ec;--color-mint: #76dfb0;--color-pink: #ffadd3;--color-table-head: #f0eaff;--color-brand-deep: #3f259b;--color-surface-muted: #f4f1fa;--color-positive: #247b61;--color-divider: #e8e1f1;--color-surface-hover: #f5f2fb;--color-brand-muted: #6840bb;--color-account-inactive: #c8bddb;--color-text-soft: #4e4162;--color-warning-text: #805617;--color-danger: #b12b4f;--color-brand-strong: #2d177f;--color-brand-hover: #3e22b0;--color-brand-wash: #4f2fcc0d;--color-warning-surface: #fff1d1;--color-danger-surface: #ffedf2;--color-danger-text: #a4284c;--color-positive-surface: #e4f8ef;--color-positive-text: #216847;--color-unknown: #91899b;--color-online: #298459;--color-online-wash: #ddf4e6;--color-offline: #d34264;--color-offline-wash: #ffe2e9;--color-surface-selected: #f2edfc;--color-decorative-lavender: #d9c9ff;--color-decorative-mint: #d5f6e4;--color-decorative-muted: #ece5f7;--color-surface-tint: #eee7fc;--color-shadow-overlay: #40278020;--color-sketch-line: #59407888;--color-rule-pencil: #a38fc3;--color-wear-light: #fff2;--color-button-soft: #effbf4;--color-wear-purple: #4f2fcc0a;--color-account-unknown: #efb2c5;--color-chart-lime: #dfed88;--color-chart-blue: #99c9ef;--color-chart-peach: #efb49c;--color-chart-aqua: #87d6d5;--color-chart-lilac: #c9b8e6;--color-account-deleted: #9e98ab;--color-account-legacy: #dec39c;--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display: Arial, Helvetica, sans-serif;--font-mono: ui-monospace, monospace;--font-size-body: 14px;--line-height-body: 1.6;--space-xs: 6px;--space-sm: 12px;--space-md: 16px;--space-lg: 18px;--space-xl: 24px;--panel-padding: 25px;--panel-padding-compact: 18px;--radius-control: 2px;--radius-sketch: 2px 5px 3px 4px / 4px 2px 5px 3px;--shadow-panel: 5px 5px 0 var(--color-shadow-soft);--ink: var(--color-text);--accent: var(--color-brand);--muted: var(--color-muted);--line: var(--color-border);--panel: var(--color-surface);--raised: var(--color-raised)}:root{font:var(--font-size-body)/var(--line-height-body) var(--font-body);color:var(--color-text);background:var(--color-surface);color-scheme:light}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}a{color:var(--color-brand)}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1.5px solid var(--color-control-border);border-radius:var(--radius-control);padding:10px 17px;font-weight:750;min-height:44px;color:var(--color-text);background:var(--color-surface)}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--color-brand);outline-offset:3px}input,select{min-height:44px;min-width:0;max-width:100%;padding:10px 12px;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-control-border);border-radius:var(--radius-control)}label{display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--color-text-secondary)}h1,h2,h3{font-family:var(--font-display);font-weight:900;line-height:1.2}h1{font-size:42px;letter-spacing:-1.8px;margin:0 0 24px}h2{font-size:20px;margin:0 0 12px}h3{font-size:17px}p{margin:0 0 16px}ul,ol{padding-left:24px}li{margin:8px 0}.brand{font-family:var(--font-display);font-size:29px;font-weight:900;font-style:italic;line-height:1.15;letter-spacing:-1.4px;color:var(--color-surface);-webkit-text-stroke:1.2px var(--color-brand);paint-order:fill stroke;text-shadow:2px 2px 0 var(--color-surface),3px 3px 0 var(--color-brand),5px 5px 0 var(--color-surface),6px 6px 0 var(--color-brand);transform:rotate(-2deg);transform-origin:left center}.brand span{display:block;font:12px var(--font-mono);letter-spacing:0;color:var(--color-muted);-webkit-text-stroke:0;text-shadow:none;margin-top:12px}.eyebrow,.metric-label{font:12px var(--font-mono);color:var(--color-muted);letter-spacing:.4px}.muted,.small{color:var(--color-muted)}.small{font-size:12px}.panel,.metric,.login-card{background:var(--color-surface);border:2px solid var(--color-stroke);border-radius:var(--radius-sketch);padding:var(--panel-padding);box-shadow:var(--shadow-panel);min-width:0}.panel{margin-bottom:24px}.section-heading{display:flex;justify-content:space-between;align-items:start;gap:16px;margin-bottom:18px}.section-heading>div{min-width:0}.section-heading p{margin:6px 0 0}.primary,a.primary{display:inline-flex;justify-content:center;align-items:center;color:var(--color-surface);background:var(--color-brand);border:1.5px solid var(--color-stroke);text-decoration:none;min-height:44px;padding:10px 17px;font-weight:750;border-radius:3px 5px 2px 4px/5px 2px 4px 3px;box-shadow:2px 2px 0 var(--color-surface),3px 3px 0 var(--color-brand),5px 5px 0 var(--color-surface),6px 6px 0 var(--color-brand)}.primary:hover,.secondary:hover{background:var(--color-mint-wash);color:var(--color-stroke)}.primary:active,.secondary:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--color-brand)}.secondary{background:var(--color-button-soft);border:1.5px solid var(--color-stroke-soft);box-shadow:2px 2px 0 var(--color-surface),3px 3px 0 var(--color-lavender)}.quiet{background:transparent;border:0;box-shadow:none;color:var(--color-text-secondary)}.danger{background:var(--color-danger);color:var(--color-surface);border-color:var(--color-danger)}.wide{width:100%}.message,.notice{padding:13px 16px;margin:16px 0;border:1px solid var(--color-border);border-radius:2px;background:var(--color-raised);color:var(--color-text-soft);overflow-wrap:anywhere}.message.error{background:var(--color-danger-surface);color:var(--color-danger-text)}.message.success{background:var(--color-positive-surface);color:var(--color-positive-text)}.stack-form{display:flex;flex-direction:column;gap:18px;margin:24px 0}.stack-form fieldset{display:contents}fieldset{border:0;padding:0;margin:0;min-width:0}.actions,.row-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link{position:fixed;top:-10rem;left:16px;z-index:100;padding:12px;background:var(--color-surface);border:2px solid var(--color-stroke)}.skip-link:not(:focus){clip-path:inset(50%)}.skip-link:focus{top:16px}.password-control{display:flex;flex-direction:column;gap:6px}.password-field{display:flex;position:relative;width:100%;min-width:0}.password-field input{width:100%;padding-right:50px}.password-eye{position:absolute;right:2px;top:2px;bottom:2px;min-height:40px;width:44px;padding:8px;border:0;background:transparent;color:var(--color-muted)}.password-eye svg{fill:none;stroke:currentColor;stroke-width:1.7}.password-eye[aria-pressed=true]{background:var(--color-mint-wash);color:var(--color-brand)}.login-tabs{display:flex;flex-wrap:wrap;gap:12px}.login-tabs button[aria-selected=true]{background:var(--color-mint-wash);border-color:var(--color-stroke);box-shadow:2px 2px 0 var(--color-lavender)}.action-wrap{display:inline-flex;flex-direction:column;max-width:100%}.device-state{display:inline-flex;align-items:center;gap:9px}.status-lamp{width:9px;height:9px;flex-shrink:0;border-radius:50%;background:var(--color-unknown)}.status-lamp.online{background:var(--color-online)}.status-lamp.offline{background:var(--color-offline)}[hidden]{display:none!important}@media(max-width:850px){input,select{font-size:16px}.panel,.metric{padding:var(--panel-padding-compact)}h1{font-size:30px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.brand,.primary:active,.secondary:active{transform:none}}.brand{text-shadow:2px 2px 0 var(--color-surface),3px 3px 0 var(--color-brand),5px 5px 0 var(--color-surface),6px 6px 0 var(--color-brand),8px 8px 0 var(--color-surface),9px 9px 0 var(--color-brand)}.primary{background-image:repeating-linear-gradient(174deg,var(--color-wear-light) 0 1px,transparent 1px 8px)}.secondary{background-image:repeating-linear-gradient(172deg,var(--color-wear-purple) 0 1px,transparent 1px 7px)}.portal-frame{min-height:100vh;display:grid;place-items:start center;padding:6vh 20px 40px}.portal-card{width:100%;max-width:440px;font-size:16px}.portal-card>.brand{font-size:52px;margin:0 0 38px}.portal-card h1{font-size:28px;letter-spacing:-.7px;margin-bottom:12px}.portal-card input{width:100%;font-size:17px;min-height:52px}.portal-card .stack-form button,.portal-card a.primary{width:100%;min-height:52px}.portal-card footer{border-top:1px solid var(--color-border);margin-top:24px;padding-top:18px;font-size:14px}.portal-card .message:empty{display:none}.portal-card nav{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}.public-shell{max-width:1120px;margin:auto;padding:24px 28px 64px}.public-header{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:48px;padding-bottom:24px;border-bottom:2px solid var(--color-stroke)}.public-header nav{display:flex;flex-wrap:wrap;gap:18px}.public-content{max-width:900px;font-size:17px}.public-content h1{text-decoration:underline;text-decoration-color:var(--color-lavender);text-underline-offset:8px}.public-content table{width:100%;border-collapse:collapse;table-layout:fixed;margin:24px 0}.public-content th,.public-content td{padding:18px;vertical-align:top;text-align:left;border:1px solid var(--color-border);overflow-wrap:anywhere}.public-content th{background:var(--color-table-head)}.public-content code{overflow-wrap:anywhere}.public-content footer{margin-top:32px;border-top:1px solid var(--color-border);padding-top:24px}@media(max-width:600px){.portal-frame{padding:24px 16px 36px}.portal-card{padding:22px}.portal-card>.brand{font-size:44px}.public-shell{padding:24px 18px 48px}.public-header{align-items:start;flex-direction:column;margin-bottom:32px}.public-content table,.public-content tbody,.public-content tr,.public-content td{display:block}.public-content thead{display:none}.public-content td:before{display:block;font-weight:800;margin-bottom:12px}.public-content td:first-child:before{content:"\5728\5149\732b\4e0a\70b9"}.public-content td:last-child:before{content:"\5728\7b14\8bb0\672c\4e0a\8dd1"}}.portal-card{position:relative}.portal-card:after{content:"";position:absolute;inset:-4px -2px -3px -4px;border:1px solid var(--color-sketch-line);border-radius:7px 2px 6px 3px/3px 7px 2px 5px;transform:rotate(-.25deg);pointer-events:none}
