:root{color-scheme:light dark;--ground:#f2efe7;--ground-2:#e9e4d9;--ground-3:#ded8ca;--rule:#c9c2b2;--text:#1b232a;--text-dim:#5c6771;--amber:#a86c12;--amber-lift:#c98a22;--cyan:#1a636c;--cyan-lift:#24838e;--clip:#95381d;--leaf:#3f6f34;--mono:ui-monospace,"SF Mono","Cascadia Mono","Roboto Mono",Menlo,Consolas,monospace;--display:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--bg:var(--ground);--surface:var(--ground-2);--header:var(--ground-3);--muted:var(--text-dim);--line:var(--rule);--accent:var(--cyan);--error:var(--clip);font:14px/1.5 var(--display)}
@media(prefers-color-scheme:dark){:root{--ground:#0e1418;--ground-2:#151d23;--ground-3:#1d272e;--rule:#2b3740;--text:#dfe4e2;--text-dim:#93a0a8;--amber:#e0a13c;--amber-lift:#f2bd63;--cyan:#4fb3bf;--cyan-lift:#7fd0d9;--clip:#d9764f;--leaf:#8cc47a}.brand img{filter:brightness(0) invert(1)}}
*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:var(--ground);color:var(--text)}h1,h2,h3,p{margin:0}h1,h2{font-size:27px;line-height:1.25;letter-spacing:-.035em;font-weight:700}h3{font-size:18px;color:var(--cyan)}button,input,select,textarea{font:inherit}button{cursor:pointer;white-space:nowrap;background:transparent;color:var(--cyan);border:1px solid var(--cyan);border-radius:2px;padding:9px 13px;font:11px/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase}button:hover{background:var(--ground-3);color:var(--cyan-lift);border-color:var(--cyan-lift)}button:disabled{opacity:.45;cursor:default}button.primary{border-color:var(--amber);color:var(--amber)}button.primary:hover{color:var(--amber-lift);border-color:var(--amber-lift)}button.danger{color:var(--clip);border-color:var(--rule)}button.danger:hover{border-color:var(--clip)}button.link-button{border:0;background:transparent;color:var(--cyan);padding:0;text-align:left;font:inherit;letter-spacing:normal;text-transform:none;white-space:normal}button.link-button:hover{text-decoration:underline;text-underline-offset:3px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--amber);outline-offset:3px}a{color:var(--cyan)}.app-header{min-height:60px;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:24px;position:relative;border-bottom:1px solid var(--rule)}.app-header::after{content:"";position:absolute;bottom:-4px;left:0;right:0;height:4px;background:linear-gradient(to right,#a86c12 0% 20%,#1a636c 20% 40%,#5c6771 40% 60%,#c98a22 60% 80%,#24838e 80% 100%);z-index:2}.brand{display:flex;align-items:center;gap:16px;flex-shrink:0}.brand img{width:76px;height:auto;display:block}.brand span{border-left:1px solid var(--rule);padding-left:16px;font:12px var(--mono);letter-spacing:.16em}.account{display:flex;align-items:center;gap:14px;font-size:13px}.account>span{margin-right:8px}.account button{border-color:var(--rule);color:var(--text-dim);padding:7px 11px}.account button:hover{color:var(--text);border-color:var(--text-dim)}.app-layout{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:calc(100vh - 60px);padding-top:4px}.sidebar{position:sticky;top:0;height:calc(100vh - 64px);align-self:start;background:var(--ground-2);border-right:1px solid var(--rule);display:flex;flex-direction:column;min-width:0}.product{padding:18px 20px 20px;border-bottom:1px solid var(--rule)}.product strong{font-size:23px;line-height:1.25;letter-spacing:-.035em}.product p,.eyebrow{font:10.5px/1.65 var(--mono);text-transform:uppercase;letter-spacing:.14em;color:var(--amber)}.product p{max-width:175px;margin-top:6px}.main-nav{padding:8px 0 24px}.nav-group{font:10px/1.5 var(--mono);text-transform:uppercase;letter-spacing:.14em;color:var(--text-dim);padding:18px 20px 8px}.main-nav a{display:block;padding:8px 20px 8px 17px;border-left:3px solid transparent;text-decoration:none;color:var(--text);font-size:14px;line-height:1.4}.main-nav a:hover{background:var(--ground-3)}.main-nav a.active{background:var(--ground);border-left-color:var(--amber);font-weight:600}.sidebar-account{margin-top:auto;padding:18px 20px 22px;border-top:1px solid var(--rule)}.sidebar-account strong{display:block;font-size:14px;font-weight:600;overflow-wrap:anywhere}.sidebar-account span{display:block;font:10px/1.5 var(--mono);color:var(--text-dim);text-transform:uppercase;letter-spacing:.12em;margin-top:4px}.workspace{min-width:0}.workspace-heading{min-height:164px;padding:42px 32px 24px;border-bottom:1px solid var(--rule);display:flex;flex-direction:column;justify-content:center}.workspace-heading h1{margin-top:5px}.controller-address{font-size:12px;color:var(--text-dim);margin-top:7px}.work-area{display:grid;grid-template-columns:minmax(0,1fr);min-height:calc(100vh - 228px);align-items:start}.work-area.editing{grid-template-columns:minmax(0,1fr) 430px}#main-content{min-width:0;padding:28px 32px}.page-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:26px}.page-heading h2{font-size:25px}.page-actions{display:flex;gap:9px;padding-top:6px;flex-wrap:wrap;justify-content:flex-end}.muted{color:var(--text-dim);font-size:13px}#subtitle{margin-top:7px;max-width:66ch}#detail{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:12px;margin-bottom:12px}#detail button{font-size:10px;padding:5px 8px}#detail .link-button{padding:0;font-size:12px}.list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.search-label{display:block;width:min(360px,70%)}input,select,textarea{background:var(--ground);color:var(--text);border:1px solid var(--rule);border-radius:2px;padding:9px 10px}.search-label input{width:100%;background:var(--ground-2);font-size:13px}.page-size{display:flex;align-items:center;gap:9px;color:var(--text-dim);font:10.5px var(--mono);letter-spacing:.1em;text-transform:uppercase}.page-size select{width:72px;font:12px var(--display);padding:7px}.table-scroll{overflow:auto;border:1px solid var(--rule);border-radius:2px}table{width:100%;border-collapse:collapse;text-align:left;font-size:13px;white-space:nowrap}th{background:var(--ground-2);font:10px/1.5 var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--text-dim);padding:13px 16px;border-bottom:1px solid var(--rule)}td{padding:16px;border-bottom:1px solid var(--rule);vertical-align:middle}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:var(--ground-2)}td small{display:block;color:var(--text-dim);font-size:11px;margin-top:3px}.resource-name{font-weight:600}.resource-name small{font-weight:400}td:first-child>.link-button{font-weight:600}.actions{display:flex;align-items:center;gap:8px}.actions button{padding:6px 9px;font-size:10px;letter-spacing:.06em}td .addresses{display:flex;flex-wrap:wrap;gap:4px 12px;max-width:340px}.mono,code{font:12px/1.5 var(--mono)}.badge{display:inline-block;color:var(--text-dim);font-size:11px;line-height:1.5;border:1px solid var(--rule);border-radius:2px;padding:3px 7px;white-space:nowrap}.badge.good{color:var(--leaf);background:color-mix(in srgb,var(--leaf) 13%,transparent);border-color:color-mix(in srgb,var(--leaf) 30%,var(--rule))}.badge.bad{color:var(--clip);border-color:color-mix(in srgb,var(--clip) 40%,var(--rule))}.pagination{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:16px;font-size:12px}.pagination>span{margin-right:auto;color:var(--text-dim);font-family:var(--mono)}.pagination button{font-size:10px;padding:6px 10px}.empty{padding:28px 16px;border:1px solid var(--rule);border-top:0;color:var(--text-dim)}.notice{border:1px solid var(--cyan);border-left:3px solid var(--cyan);background:var(--ground-2);padding:16px;margin-bottom:20px;line-height:1.6}.notice p{margin-top:5px}.notice code{display:block;white-space:pre-wrap;overflow-wrap:anywhere;margin:12px 0;user-select:all}.notice button{margin:4px 8px 0 0}.notice.error{border-color:var(--clip);color:var(--clip)}.editor{padding:26px 24px;border-left:1px solid var(--rule);background:var(--ground-2);min-width:0;overflow-y:auto;max-height:100vh;position:sticky;top:0;min-height:calc(100vh - 228px)}.editor-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:20px;border-bottom:1px solid var(--rule);margin-bottom:22px}.editor-heading h2{font-size:20px;margin-top:5px;overflow-wrap:anywhere}.editor-heading button{font-size:10px;padding:6px 9px;margin-top:3px}.editor-actions{display:flex;gap:9px;padding-top:20px;border-top:1px solid var(--rule);margin-top:24px}.editor label,.sign-in label{display:block;margin-bottom:18px;font:10.5px/1.5 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim)}.editor label small{display:block;font:12px/1.6 var(--display);text-transform:none;letter-spacing:normal;color:var(--text-dim);margin-top:6px}.editor input,.editor select,.editor textarea,.sign-in input{display:block;width:100%;font:13px/1.5 var(--display);letter-spacing:normal;text-transform:none;margin-top:7px}.editor input[readonly]{background:var(--ground-2);color:var(--text-dim)}.editor input[type=checkbox]{display:inline-block;width:auto;margin:0 8px 0 0;vertical-align:middle;accent-color:var(--amber)}.editor .check-label{font:13px/1.5 var(--display);text-transform:none;letter-spacing:normal;color:var(--text)}.editor textarea{resize:vertical;min-height:65px}.editor .readout{padding:0 0 16px;margin:0 0 18px;border-bottom:1px solid var(--rule);font-size:13px;overflow-wrap:anywhere}.readout dt{color:var(--text-dim);font:10px/1.5 var(--mono);letter-spacing:.1em;text-transform:uppercase;margin-bottom:5px}.readout dd{margin:0 0 14px}.readout dd:last-child{margin-bottom:0}fieldset{border:0;padding:0;margin:24px 0}legend{padding:0;margin-bottom:12px;font-size:15px;font-weight:600;color:var(--cyan)}.repeater .row{display:flex;gap:7px;margin-bottom:8px;align-items:center}.repeater input{margin:0;min-width:0}.repeater .row button{font-size:9px;padding:10px 8px;letter-spacing:.06em}.repeater>button{font-size:10px;margin-top:3px}.repeater .row-labels{display:grid;grid-template-columns:1fr 1fr 65px;gap:7px;font-size:11px;color:var(--text-dim);margin-bottom:5px}.helper{font-size:12px;color:var(--text-dim);margin:10px 0 12px;line-height:1.6}.form-error{font-size:13px;color:var(--clip);margin-top:12px;white-space:pre-wrap}.panel-table{white-space:normal;font-size:12px;table-layout:fixed}.panel-table td,.panel-table th{padding:10px 5px;overflow-wrap:anywhere}.panel-table th:last-child{width:68px}.panel-table .mono{font-size:11px}.panel-section{margin-top:24px}.panel-section h3{margin-bottom:12px}#toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);max-width:calc(100% - 32px);padding:12px 20px;border:1px solid var(--cyan);border-left:3px solid var(--cyan);border-radius:2px;background:var(--ground-2);color:var(--text);font-size:13px;z-index:20}.sign-in{width:400px;max-width:calc(100% - 40px);margin:12vh auto;padding:28px;border:1px solid var(--rule);background:var(--ground-2)}.sign-in h1{margin-top:8px}.sign-in-description{font-size:13px;color:var(--text-dim);margin:8px 0 28px}.sign-in button{margin-top:6px}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1800px){.work-area.editing{grid-template-columns:minmax(0,1fr) 470px}}
@media(max-width:1250px){.app-layout{grid-template-columns:210px minmax(0,1fr)}.work-area.editing{grid-template-columns:minmax(0,1fr) 380px}#main-content{padding:24px}.workspace-heading{padding-left:24px;padding-right:24px}.page-heading{flex-wrap:wrap}.page-actions{justify-content:flex-start}.editor{padding:24px 18px}}
@media(max-width:980px) and (min-width:761px){.work-area.editing{grid-template-columns:minmax(0,1fr)}.work-area.editing .editor{grid-row:1;position:static;max-height:none;min-height:0;border-left:0;border-bottom:1px solid var(--rule)}.work-area.editing #main-content{grid-row:2}}
@media(max-width:760px){.app-header{min-height:60px;padding:14px 16px;gap:14px;flex-wrap:wrap}.account{gap:10px;flex-wrap:wrap;font-size:12px}.account button{font-size:9px;padding:6px 8px}.app-layout{display:block}.sidebar{position:static;height:auto;border-right:0;border-bottom:1px solid var(--rule)}.product{display:none}.main-nav{display:flex;flex-wrap:wrap;gap:0;padding:8px}.nav-group,.sidebar-account{display:none}.main-nav a{padding:8px 10px;font-size:12px}.workspace-heading{min-height:120px;padding:24px 16px}.workspace-heading h1{font-size:24px}#main-content{padding:22px 16px}.work-area{min-height:0}.work-area.editing{display:flex;flex-direction:column-reverse}.work-area.editing #main-content{width:100%;border-top:1px solid var(--rule)}.editor{position:static;width:100%;max-height:none;min-height:0;border-left:0;padding:24px 16px}.page-heading{gap:16px;margin-bottom:22px}.page-heading h2{font-size:23px}.page-actions{padding-top:0}.page-actions button{font-size:10px;padding:8px 10px}.list-toolbar{gap:10px}.search-label{width:65%}.page-size{gap:5px;font-size:9px}.page-size select{width:60px}.table-scroll{max-height:none}td,th{padding:12px;font-size:12px}th{font-size:9px}.notice{font-size:12px}.pagination{font-size:11px}.pagination button{font-size:9px;padding:7px 8px}.sign-in{margin-top:8vh}}

/* Desktop panes own their scroll areas; the editor never changes the page's
   height. Its heading and save controls stay outside the scrolling fields. */
@media (min-width:981px) and (min-height:451px) {
  #shell { height:100dvh; display:flex; flex-direction:column; overflow:hidden; }
  #shell > .app-header { flex:none; }
  .app-layout { flex:1; min-height:0; }
  .sidebar { position:static; height:auto; min-height:0; align-self:stretch; }
  .product,.sidebar-account { flex:none; }
  .main-nav { flex:1; min-height:0; overflow-y:auto; overscroll-behavior:contain; }
  .workspace { display:flex; flex-direction:column; min-height:0; overflow:hidden; }
  .workspace-heading { flex:none; }
  .work-area { flex:1; min-height:0; align-items:stretch; overflow:hidden; }
  #main-content { min-height:0; overflow:auto; overscroll-behavior:contain; scrollbar-gutter:stable; }
  .table-scroll { overscroll-behavior-x:contain; }
  .editor { position:static; height:100%; min-height:0; max-height:none; overflow:hidden; }
  #edit-form { display:flex; flex-direction:column; height:100%; min-height:0; }
  .editor-heading,.editor-actions { flex:none; }
  #fields { flex:1; min-height:0; overflow-y:auto; overscroll-behavior:contain; scrollbar-gutter:stable; padding:4px 8px 4px 4px; margin:-4px -8px -4px -4px; scroll-padding-block:8px; }
  #form-error { flex:none; max-height:20%; overflow:auto; }
  #form-error:empty { margin:0; }
}
@media (min-width:981px) and (min-height:451px) and (max-height:650px) {
  .workspace-heading { min-height:108px; padding-top:18px; padding-bottom:18px; }
  .editor { padding-top:16px; padding-bottom:16px; }
  .editor-heading { padding-bottom:12px; margin-bottom:14px; }
  .editor-actions { padding-top:12px; margin-top:14px; }
}
/* A very short desktop window uses normal page flow instead of clipping the
   editor. Tablet and phone layouts retain their existing document scrolling. */
@media (min-width:981px) and (max-height:450px) {
  .sidebar { position:static; height:auto; }
  .work-area.editing { display:flex; flex-direction:column-reverse; }
  .editor { position:static; max-height:none; min-height:0; border-left:0; border-bottom:1px solid var(--rule); }
  .work-area.editing #main-content { width:100%; }
}
