:root{--bg:#05060f;--card:rgba(255,255,255,.025);--soft:rgba(255,255,255,.045);--field:#191930;--ink:#ecebff;--muted:#8d8cb8;--line:#272744;--accent:#00f0ff;--on-accent:#07070e;--mark:#00f0ff;--r:14px;color-scheme:dark}
[hidden]{display:none!important}
html{zoom:1.25;font:15px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);background:var(--bg);min-height:100%}
body{max-width:1100px;margin:0 auto;padding:0 12px 24px}
a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}
h1{font-size:1.25em;font-weight:650;margin:.7em 0;display:flex;align-items:center;flex-wrap:wrap;gap:.35em}h1 a,h1 mark{white-space:nowrap}
mark{background:var(--mark);color:var(--on-accent);border-radius:9px;padding:0 .5em}h1 mark{display:inline-flex;align-items:center;min-height:30px;box-sizing:border-box}#drive .btn,#drive button,#drive a{min-height:30px;min-width:30px;padding:0 .45em;font-size:.85em}#drive a{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:9px}
fieldset{margin:1em 0;padding:.7em 1em;min-width:0;overflow:auto;background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:none}
legend{padding:0 .4em;font-weight:600;color:var(--muted);font-size:.92em}
fieldset fieldset{background:var(--soft);box-shadow:none;border-radius:10px}
input,select,textarea,button{font:inherit;color:inherit}
button,.btn{display:inline-flex;align-items:center;justify-content:center;gap:.3em;min-height:35.2px;min-width:35.2px;padding:0 .75em;border:1px solid var(--line);border-radius:9px;background:var(--card);box-sizing:border-box;cursor:pointer;vertical-align:middle;text-decoration:none}
button:hover,.btn:hover{border-color:var(--accent);text-decoration:none}
button:disabled{opacity:.45;cursor:default}button:disabled:hover{border-color:var(--line)}
/* the one call-to-action colour */
#update:not(:disabled),#newBtn,#copyBtn{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:700}
input:not([type=checkbox]):not([type=radio]),select,textarea{min-height:35.2px;min-width:35.2px;box-sizing:border-box;padding:.3em .6em;border:1px solid var(--line);border-radius:9px;background:var(--field)}
input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:-1px}
input[type=checkbox],input[type=radio]{width:19.2px;height:19.2px;accent-color:var(--accent)}
textarea{width:100%;padding:.6em .8em}
table{width:100%;border-collapse:collapse;margin:.25em 0}
td,th{padding:.45em .7em;vertical-align:top;text-align:left}
th{font-size:.82em;letter-spacing:.02em;color:var(--muted);font-weight:600}th a{color:inherit}
.num{text-align:right}
table:not(.fields) tr{border-top:1px solid var(--line)}table:not(.fields)>:first-child>tr:first-child{border-top:0}.fields tbody+tbody{border-top:1px solid var(--line)}
#objects td,#objects th{white-space:nowrap}
/* sticky name column and sliding headings (slide()) */
#objects tr{--row:transparent}#objects tbody tr:not(#cols){--row:var(--card)}#objects tbody tr:nth-child(odd):not(#cols){--row:var(--soft)}
#objects .name{position:sticky;left:calc(-1 * var(--pull,0px));z-index:1;background:linear-gradient(var(--row),var(--row)),linear-gradient(var(--card),var(--card)),var(--bg);clip-path:inset(0 var(--cut,0px) 0 0)}#objects.slid .name::after{content:"";position:absolute;top:0;bottom:0;right:var(--cut);border-right:1px solid var(--line)}#objects th.name~th>small{display:inline-block;position:sticky;left:var(--stick,0px)}#objects tbody tr:not(#cols){background:var(--card)}#objects tbody tr:nth-child(odd):not(#cols){background:var(--soft)}
#objects>fieldset:nth-child(even){background:var(--card)}#objects>fieldset{position:relative}#objects>fieldset legend a::after{content:"";position:absolute;inset:0}#objects>fieldset:hover{border-color:var(--accent)}#parity td+td,#parity th+th{text-align:center}[data-field] img{height:120px;border-radius:8px}
#fieldsBox summary{display:flex;align-items:center;gap:.4em;cursor:pointer}#fieldsBox summary::before{content:"▸";color:var(--muted)}#fieldsBox details[open]>summary::before{content:"▾"}#actions{margin-left:auto;display:flex;gap:.4em}
.fields tr,.fields td{display:block}.fields td{padding:.2em 0}.fields tbody{display:block;padding:.5em 0}.fields tr:first-child label{font-weight:600}
.fields input:not([type=checkbox]):not([type=radio]),.fields select,.fields textarea{width:100%;max-width:30em}
@media (min-width:640px){.fields tbody{display:flex;align-items:center;gap:1em}.fields tbody>tr:first-child{flex:0 0 11em}.fields tbody>tr:last-child{flex:1}}
#newLine{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.4em}#newLine>span:empty{display:none}#create_object_name{flex:1 1 6em;min-width:0;max-width:16em}#importSlot>span{display:inline-flex;align-items:center;gap:.3em}.btn input{display:none}
#del{text-align:right}[data-k=sort]{width:4.5em}.dim{color:var(--muted)}
#kidsBox,#fieldsBox{position:relative}#kidCount{display:inline-flex;align-items:center;gap:.35em}#kidCount .btn{font-size:1.15em;min-width:44px;padding:0}#kidCount [aria-disabled]{opacity:.35;cursor:default}
#exportBtn,#printBtn{position:absolute;right:1em;top:-.1em;padding:0 .35em;background:var(--bg)}
#apiKeyBox{width:100%;max-width:30em;font-family:ui-monospace,monospace}#find{width:100%;max-width:30em}
#top{display:flex;align-items:center;gap:.6em;flex-wrap:wrap;margin:.8em 0}#home{font-weight:800;color:var(--ink);background:none;padding:0;box-shadow:none}.erp{color:var(--accent)}#status{order:9;margin-left:auto;line-height:0}
#gsi:not([hidden]){display:inline-block;vertical-align:middle;color-scheme:light}.avatar{width:32px;height:32px;border-radius:50%;vertical-align:middle;box-shadow:0 0 0 2px var(--card),0 0 0 3px var(--line)}
footer>p{color:var(--muted);opacity:.7;line-height:1.35;text-align:justify;hyphens:auto}code{font-family:ui-monospace,monospace;font-size:.9em;background:var(--soft);padding:0 .3em;border-radius:5px}
@media print{#top,#findLine,#actions,#newLine,#more,#drive,footer,input[type=file]{display:none}fieldset{background:none;box-shadow:none;border-color:#ccc}}

/* meters in the accent colour */
meter{accent-color:var(--accent)}meter::-webkit-meter-bar{background:var(--field);border:1px solid var(--line);border-radius:6px}meter::-webkit-meter-optimum-value,meter::-webkit-meter-suboptimum-value,meter::-webkit-meter-even-less-good-value{background:var(--accent);border-radius:6px}meter::-moz-meter-bar{background:var(--accent)}
