:root{--teal-900: #173534;--teal-800: #1f4744;--teal-700: #28615c;--teal-600: #2f7770;--teal-500: #3c8f86;--teal-100: #e2f0ee;--teal-50: #f3f9f8;--ink-900: #182422;--ink-700: #3d4a47;--ink-500: #657572;--line: #dde5e3;--line-strong: #c7d2cf;--bg: #f4f7f6;--surface: #ffffff;--surface-sunken: #eef3f2;--amber-700: #8a5a10;--amber-100: #fbead0;--amber-border: #eecd94;--green-700: #1c744b;--green-100: #dcf1e3;--green-border: #a9dcbd;--gray-700: #54615e;--gray-100: #e9edec;--gray-border: #cfd8d5;--blue-700: #1d5c8a;--blue-100: #deedf7;--blue-border: #a9cfe8;--red-700: #a3281f;--red-100: #fbe4e1;--red-border: #eab5ae;--table-head-text: #5a6a67;--field-border: #7f8f8c;--radius-card: 10px;--radius-ctl: 6px;--radius-pill: 999px;--shadow-1: 0 1px 2px rgba(15, 35, 32, .06), 0 1px 1px rgba(15, 35, 32, .04);--shadow-2: 0 4px 16px rgba(15, 35, 32, .12), 0 2px 4px rgba(15, 35, 32, .06);--focus-ring: 0 0 0 3px rgba(60, 143, 134, .35);--font-sans: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "SFMono-Regular", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-sans);font-size:14px;color:var(--ink-900);background:var(--bg);-webkit-font-smoothing:antialiased}h1,h2,h3,p,dl,dd,ul,ol{margin:0}button,input,select{font-family:inherit}:focus-visible{outline:2px solid var(--teal-600);outline-offset:1px;box-shadow:var(--focus-ring);border-radius:4px}[tabindex="-1"]:focus-visible{outline-offset:3px}.mono{font-family:var(--font-mono);overflow-wrap:anywhere}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;margin:-1px;padding:0;border:0}.app-frame{min-height:100vh;display:flex;flex-direction:column}.workspace-host{display:flex;flex-direction:column;flex:1}.app-main{flex:1}.appbar{min-height:56px;background:var(--teal-800);color:#fff;display:flex;align-items:center;padding:0 20px;gap:20px;border-bottom:1px solid var(--teal-900)}.appbar-brand{display:flex;align-items:center;gap:10px;padding-right:16px;border-right:1px solid rgba(255,255,255,.18)}.appbar-mark{width:30px;height:30px;border-radius:7px;background:#ffffff1f;display:flex;align-items:center;justify-content:center}.appbar-name{font-size:14.5px;font-weight:600;line-height:1.2;white-space:nowrap}.appbar-sub{font-size:10.5px;color:#ffffffbf;line-height:1.2;letter-spacing:.02em}.appbar-nav{display:flex;align-items:center;gap:2px;flex:1}.appbar-nav button{display:flex;align-items:center;gap:7px;min-height:36px;color:#ffffffe0;background:transparent;border:none;font-size:13.5px;font-weight:500;padding:7px 12px;border-radius:7px;cursor:pointer;white-space:nowrap}.appbar-nav button:hover{background:#ffffff1a;color:#fff}.appbar-nav button[aria-current=page]{background:#fff3;color:#fff}.appbar-actions{margin-left:auto;display:flex;align-items:center;gap:10px}.appbar-action{display:inline-flex;align-items:center;gap:6px;min-height:36px;color:#ffffffeb;font-size:13px;font-weight:500;padding:7px 12px;border:1px solid rgba(255,255,255,.35);border-radius:7px;background:transparent;cursor:pointer;text-decoration:none;white-space:nowrap}.appbar-action:hover{background:#ffffff1a}.appbar :focus-visible{outline-color:#fff}.banner.shell-banner{border-radius:0;border-left:none;border-right:none;border-top:none;padding:9px 20px}.shell-footer{min-height:34px;display:flex;align-items:center;justify-content:space-between;padding:6px 20px;font-size:11.5px;color:var(--ink-500);border-top:1px solid var(--line);background:var(--surface)}.account-strip{display:flex;flex-wrap:wrap;gap:4px 18px;padding:8px 24px;max-width:1360px;margin:0 auto;font-size:12px;color:var(--ink-700)}.page{max-width:1360px;margin:0 auto;padding:16px 24px 40px;width:100%}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.page-title{font-size:22px;font-weight:700;letter-spacing:-.01em;overflow-wrap:anywhere}.page-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px 14px;margin-top:6px;font-size:12.5px;color:var(--ink-700)}.page-actions{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}.back-link{margin-bottom:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:0 14px;border-radius:var(--radius-ctl);font-size:13.5px;font-weight:600;border:1px solid transparent;cursor:pointer;white-space:nowrap}.btn-primary{background:var(--teal-600);color:#fff}.btn-primary:hover:not([disabled]){background:var(--teal-700)}.btn-secondary{background:var(--surface);color:var(--ink-900);border-color:var(--field-border)}.btn-secondary:hover:not([disabled]){background:var(--surface-sunken)}.btn-danger{background:var(--surface);color:var(--red-700);border-color:var(--red-700)}.btn-danger:hover:not([disabled]){background:var(--red-100)}.btn-sm{min-height:29px;padding:0 10px;font-size:12.5px}.btn[disabled]{opacity:.55;cursor:not-allowed}.btn[aria-busy=true]{opacity:1;cursor:progress}.row-btn{background:none;border:none;padding:0;font:inherit;font-weight:600;color:var(--teal-700);cursor:pointer;text-align:left;text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere}.row-btn:hover{color:var(--teal-900)}.actions{display:flex;flex-wrap:wrap;gap:8px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--shadow-1)}.card+.card{margin-top:16px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 18px;border-bottom:1px solid var(--line)}.card-head-left{display:flex;align-items:center;gap:9px;min-width:0}.card-icon{width:28px;height:28px;border-radius:7px;background:var(--teal-50);color:var(--teal-700);display:flex;align-items:center;justify-content:center;flex-shrink:0}.card-title{font-size:14px;font-weight:600}.card-sub{font-size:12px;color:var(--ink-700);margin-top:1px}.card-body{padding:18px}.card-foot{padding:12px 16px;border-top:1px solid var(--line);font-size:12.5px;color:var(--ink-700)}.split{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start}.split>*>.card+.card,.card+app-confirm-dialog+.card{margin-top:16px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px}.toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:16px}.stack-gap{margin-top:16px}.field{display:flex;flex-direction:column;gap:4px;min-width:0}.field-label{font-size:11.5px;font-weight:600;color:var(--ink-700);text-transform:uppercase;letter-spacing:.04em}.field-hint{font-size:12px;color:var(--ink-700)}.input{width:100%;min-height:36px;border:1px solid var(--field-border);border-radius:var(--radius-ctl);padding:0 11px;font-size:13.5px;color:var(--ink-900);background:#fff}.input[aria-invalid=true]{border-color:var(--red-700);background:var(--red-100)}.chk{display:flex;gap:9px;align-items:flex-start;font-size:13.5px}.chk input{width:18px;height:18px;margin:2px 0 0;flex-shrink:0}.kv{display:grid;grid-template-columns:150px minmax(0,1fr);gap:8px 14px;font-size:13px}.kv-narrow{grid-template-columns:90px minmax(0,1fr)}.kv dt{color:var(--ink-700);font-weight:600;font-size:12px}.kv dd{overflow-wrap:anywhere}.badge{display:inline-flex;align-items:center;gap:5px;min-height:22px;padding:2px 9px;border-radius:var(--radius-pill);font-size:11.5px;font-weight:600;line-height:1.3;border:1px solid transparent}.b-ok{background:var(--green-100);color:var(--green-700);border-color:var(--green-border)}.b-warn{background:var(--amber-100);color:var(--amber-700);border-color:var(--amber-border)}.b-info{background:var(--blue-100);color:var(--blue-700);border-color:var(--blue-border)}.b-bad{background:var(--red-100);color:var(--red-700);border-color:var(--red-border)}.b-mute{background:var(--gray-100);color:var(--gray-700);border-color:var(--gray-border)}.b-dash{background:#fff;color:var(--ink-700);border-color:var(--field-border);border-style:dashed}.dims{display:flex;flex-wrap:wrap;gap:10px 22px;margin-bottom:14px}.dim{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:12px;color:var(--ink-700)}.dim-k{font-size:11px;font-weight:600;color:var(--ink-700);text-transform:uppercase;letter-spacing:.04em}.dtable{width:100%;border-collapse:collapse;font-size:13px}.dtable th{text-align:left;font-size:11px;font-weight:600;color:var(--table-head-text);text-transform:uppercase;letter-spacing:.04em;padding:9px 14px;border-bottom:1px solid var(--line);background:var(--surface-sunken)}.dtable td{padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top;overflow-wrap:anywhere}.dtable tbody tr:last-child td{border-bottom:none}.dtable tr.selected{background:var(--teal-100);box-shadow:inset 3px 0 0 var(--teal-600)}.selected-mark{display:block;font-size:11.5px;font-weight:600;color:var(--teal-800);margin-top:2px}.tabbar{display:flex;gap:2px;border-bottom:1px solid var(--line-strong);overflow-x:auto;margin:0 0 18px}.tabbar button{background:none;border:none;border-bottom:3px solid transparent;padding:11px 14px 9px;font-size:13.5px;font-weight:600;color:var(--ink-700);cursor:pointer;white-space:nowrap;min-height:44px;margin-bottom:-1px}.tabbar button:hover{color:var(--teal-800);background:var(--teal-50)}.tabbar button[aria-selected=true]{color:var(--teal-800);border-bottom-color:var(--teal-600)}.banner{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:8px;font-size:13px;border:1px solid transparent;overflow-wrap:anywhere}.banner svg{flex-shrink:0;margin-top:1px}.banner-error{background:var(--red-100);color:var(--red-700);border-color:var(--red-border)}.banner-warn{background:var(--amber-100);color:var(--amber-700);border-color:var(--amber-border)}.banner-info{background:var(--blue-100);color:var(--blue-700);border-color:var(--blue-border)}.banner-ok{background:var(--green-100);color:var(--green-700);border-color:var(--green-border)}.banner-body{flex:1;min-width:0}.banner-title{font-weight:600;margin-bottom:2px}.banner-gap{margin-bottom:14px}.page-messages{max-width:1360px;margin:0 auto;padding:0 24px}.page-messages .banner{margin-top:8px}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:36px 20px;color:var(--ink-700);font-size:13.5px;line-height:1.6}.state-page{padding:72px 20px}.state-title{font-size:18px;font-weight:700;color:var(--ink-900)}.skel{background:var(--gray-100);border-radius:5px;height:12px;margin:8px 0}.tl{list-style:none;padding:0 0 0 4px}.tl li{position:relative;padding:0 0 16px 22px;font-size:13px;line-height:1.5;border-left:2px solid var(--line-strong);margin-left:5px;overflow-wrap:anywhere}.tl li:before{content:"";position:absolute;left:-7px;top:4px;width:12px;height:12px;border-radius:50%;background:#fff;border:2px solid var(--teal-600)}.tl li:last-child{border-left-color:transparent;padding-bottom:0}.tl time{font-size:11.5px;color:var(--ink-700);display:block}.modal{padding:0;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-2);width:calc(100% - 32px);max-width:540px;color:var(--ink-900)}.modal::backdrop{background:#0f232073}.modal-h{padding:16px 20px;border-bottom:1px solid var(--line);font-size:16px;font-weight:700}.modal-b{padding:18px 20px;font-size:13.5px;line-height:1.6}.modal-b ul{padding-left:18px}.modal-f{padding:14px 20px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;background:var(--surface-sunken);border-radius:0 0 12px 12px}@media(max-width:820px){.appbar{flex-wrap:wrap;padding:10px 14px;gap:10px}.appbar-brand{border-right:none}.appbar-nav{order:3;flex:1 0 100%;overflow-x:auto}.appbar-nav button,.appbar-action,.btn,.input{min-height:44px}.appbar-actions{flex-wrap:wrap}.banner.shell-banner{padding:9px 14px}.account-strip,.page-messages{padding-left:14px;padding-right:14px}.page{padding:12px 14px 32px}.page-head{flex-direction:column}.page-actions{align-items:flex-start}.split,.grid3,.field-grid,.kv{grid-template-columns:minmax(0,1fr)}.kv dd{margin-bottom:6px}.rsp thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.rsp,.rsp tbody,.rsp tr,.rsp td{display:block;width:100%}.rsp tr{padding:10px 0;border-bottom:1px solid var(--line)}.rsp tbody tr:last-child{border-bottom:none}.rsp td{border-bottom:none;padding:4px 14px}.rsp td[data-l]:before{content:attr(data-l);display:block;font-size:11px;font-weight:600;color:var(--ink-700);text-transform:uppercase;letter-spacing:.04em}}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter/InterVariable.woff2) format("woff2")}
