/* imuimu cloud — operator face. Same tokens as the members portal (m.css) and the machine screen:
   Nunito, sky + navy on a pale ground, 20px geometry, the DIN wordmark and the rounded-square logo.
   Brand pass 2026-09-11 (owner: "make it imuimu"); replaced the estate's quiet Fraunces/Karla sign-in pack. */
@font-face{font-family:'Nunito';src:url(/static/fonts/nunito-var.woff2) format('woff2');font-weight:200 1000;font-display:swap}
@font-face{font-family:'imuimu DIN';src:url(/static/fonts/imuimu-din.ttf) format('truetype');font-weight:400;font-display:swap}
:root{--paper:#f5f8fc;--card:#ffffff;--ink:#16202c;--ink2:#4a5a71;--ink3:#6f7d93;--line:#e3e9f3;--line2:#eef2f8;
--navy:#22305c;--sky:#abe1fa;--sky-10:#eaf6fd;--tile:#d1eefc;--act:#2c5c96;--act-10:#eaf1fd;
--matcha:#0d7041;--matcha-10:#e8f4ea;--bad:#8a2020;--bad-10:#fbe9e9;--warn:#8a5a12;--warn-10:#fdf1dc;--r:20px;--r2:12px}
*{box-sizing:border-box}
html,body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.5 'Nunito',system-ui,sans-serif}
a{color:var(--act);text-decoration:none}a:hover{text-decoration:underline}
h1,h2,h3{font-family:'Nunito',system-ui,sans-serif;font-weight:800;color:var(--navy);margin:0 0 .4em;letter-spacing:-.01em}
h1{font-size:28px}h2{font-size:20px;margin-top:1.6em}h3{font-size:16px}
.top{display:flex;flex-direction:column;align-items:stretch;gap:14px;padding:18px 16px 16px;background:var(--card);border-right:1px solid var(--line);position:fixed;top:0;left:0;bottom:0;width:216px;box-sizing:border-box;overflow-y:auto;z-index:5}
.top .mark{display:flex;align-items:center;gap:9px;padding:0 6px;color:var(--navy)}
.top .mark img{width:30px;height:30px;border-radius:8px;flex:0 0 auto}
.top .mark b{font-family:'imuimu DIN','Nunito',sans-serif;font-weight:400;font-size:24px;line-height:1;letter-spacing:.01em}
.top .mark span{color:var(--ink3);font-weight:700;font-size:13px;margin-top:5px}
.top nav{display:flex;flex-direction:column;gap:2px}.top nav b{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);padding:10px 10px 2px}.top nav b:first-child{padding-top:0}.top nav a{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;border-radius:var(--r2);color:var(--ink2);font-weight:700;text-decoration:none}.top nav a:hover{background:var(--line2);text-decoration:none;color:var(--navy)}.top nav a.on{color:var(--navy);background:var(--tile)}
.top .who{margin-top:auto;padding:12px 10px 0;border-top:1px solid var(--line);color:var(--ink3);font-size:13px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;word-break:break-all}
main{max-width:1180px;margin:0 0 0 216px;padding:26px 32px 60px}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px;margin:8px 0 6px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px}
.card .k{color:var(--ink3);font-size:12px;font-weight:700;letter-spacing:.02em}
.card .v{font-weight:800;color:var(--navy);font-size:30px;line-height:1.1;margin-top:4px;font-variant-numeric:tabular-nums}
.card .s{color:var(--ink2);font-size:12px;margin-top:3px}
.wrap{overflow-x:auto;background:var(--card);border:1px solid var(--line);border-radius:var(--r)}
table{border-collapse:collapse;width:100%;font-size:14px}
th,td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--line2);vertical-align:top;white-space:nowrap}
th{color:var(--ink3);font-weight:800;font-size:12px}tr:last-child td{border-bottom:0}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}
.pill{display:inline-block;padding:1px 9px;border-radius:99px;font-size:12px;font-weight:800;background:var(--line2);color:var(--ink2)}
.pill.ok{background:var(--matcha-10);color:var(--matcha)}.pill.bad{background:var(--bad-10);color:var(--bad)}.pill.warn{background:var(--warn-10);color:var(--warn)}.pill.sky{background:var(--act-10);color:var(--act)}
.muted{color:var(--ink3)}.small{font-size:13px}
form.inline{display:inline}
input,select,textarea,button{font:inherit;color:inherit}
input[type=text],input[type=email],input[type=number],input[type=date],textarea{background:var(--card);border:1.5px solid var(--line);border-radius:var(--r2);padding:8px 11px;width:100%}
input:focus,select:focus,textarea:focus{outline:2px solid var(--sky);outline-offset:0;border-color:var(--sky)}
textarea{font-family:ui-monospace,monospace;font-size:12px;min-height:220px}
button,.btn{background:var(--act);color:#fff;border:0;border-radius:var(--r2);padding:8px 15px;font-weight:800;cursor:pointer}
button:hover{background:var(--navy)}
button.quiet{background:var(--card);color:var(--navy);border:1.5px solid var(--line)}button.quiet:hover{background:var(--line2)}button.danger{background:var(--bad)}
.row{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.row>*{flex:1 1 140px}.row>.fix{flex:0 0 auto}
label{display:block;font-size:12px;font-weight:700;color:var(--ink3);margin-bottom:3px}
.note{background:var(--warn-10);color:var(--warn);border-radius:var(--r2);padding:10px 14px;margin:0 0 16px;font-size:14px;font-weight:700}
.note.bad{background:var(--bad-10);color:var(--bad)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}@media(max-width:800px){.two{grid-template-columns:1fr}}
.signin{max-width:400px;margin:12vh auto;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:30px}
.signin .mark{display:flex;align-items:center;gap:10px;margin-bottom:14px;color:var(--navy)}.signin .mark img{width:40px;height:40px;border-radius:10px}
.signin .mark b{font-family:'imuimu DIN','Nunito',sans-serif;font-weight:400;font-size:30px;line-height:1}.signin .mark span{color:var(--ink3);font-weight:700;font-size:14px;margin-top:7px}
.signin h1{font-size:22px}.signin p{color:var(--ink2)}.signin form>*{margin-top:10px}.signin button{width:100%;padding:12px}
.foot{color:var(--ink3);font-size:12px;margin-top:40px}
/* v2 additions (2026-09-11): tabs, lane grid, ticket thread, badges, checks */
.tabs{display:flex;gap:4px;flex-wrap:wrap;margin:14px 0 12px;border-bottom:1px solid var(--line)}
.tabs a{padding:8px 14px;color:var(--ink2);font-weight:700;border-bottom:3px solid transparent;margin-bottom:-1px}.tabs a.on{color:var(--navy);border-color:var(--sky)}.tabs a:hover{text-decoration:none;color:var(--navy)}
.badge{display:inline-block;min-width:18px;padding:0 6px;border-radius:99px;background:var(--bad);color:#fff;font-size:11px;font-weight:800;text-align:center;margin-left:4px;vertical-align:middle}
.badge.sky{background:var(--act)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.box{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;margin-bottom:14px}
.box h3{margin-top:0}
.lanes td input[type=number]{width:70px;padding:5px 7px}.lanes td{padding:5px 8px}
.lanes tr.low td{background:var(--warn-10)}.lanes tr.out td{background:var(--bad-10)}
.thread{display:flex;flex-direction:column;gap:10px}
.msgb{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:10px 14px;max-width:720px;white-space:pre-wrap}
.msgb.us{background:var(--tile);border-color:var(--tile);color:var(--navy);margin-left:24px}.msgb.internal{background:var(--warn-10);border-style:dashed}
.msgb .by{font-size:12px;color:var(--ink3);margin-bottom:4px}
.check{display:flex;align-items:center;gap:8px;font-size:14px;margin:6px 0}.check input{width:auto}
.ok-line{color:var(--matcha)}.bad-line{color:var(--bad)}
.stack>*{margin-bottom:10px}
.flash{background:var(--matcha-10);color:var(--matcha);border-radius:var(--r2);padding:10px 14px;margin:0 0 16px;font-size:14px;font-weight:700}
.kv{display:grid;grid-template-columns:150px 1fr;gap:4px 12px;font-size:14px}.kv dt{color:var(--ink3)}.kv dd{margin:0}
.thumb{width:120px;height:68px;object-fit:cover;border-radius:10px;background:var(--line2)}
select{background:var(--card);border:1.5px solid var(--line);border-radius:var(--r2);padding:8px 10px;width:100%}
input[type=file]{font-size:13px}
button.small{padding:4px 10px;font-size:13px}
.pre{font-family:ui-monospace,monospace;font-size:12px;white-space:pre-wrap;background:var(--line2);padding:10px;border-radius:var(--r2);max-height:320px;overflow:auto}
@media(max-width:800px){.top{position:sticky;bottom:auto;width:auto;flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 14px;border-right:0;border-bottom:1px solid var(--line);overflow:visible}.top .mark{padding:0}.top nav{flex-direction:row;flex-wrap:wrap;gap:2px 4px}.top nav b{flex-basis:100%;padding:6px 8px 0}.top nav a{padding:5px 8px}.top .who{margin:0 0 0 auto;padding:0;border:0;flex-direction:row;align-items:center}main{margin:0;padding:16px 14px 50px}.kv{grid-template-columns:1fr}}
