:root{--ink:#17342e;--muted:#667b75;--green:#087f68;--mint:#18a982;--yellow:#ffc72c;--line:#dbe8e3;--soft:#f1faf7;--white:#fff;--shadow:0 18px 45px rgba(13,74,61,.09)}*{box-sizing:border-box}body{margin:0;background:#f8fbfa;color:var(--ink);font:16px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}.symbols{position:absolute;width:0;height:0;overflow:hidden}.shell{min-height:100vh;display:grid;grid-template-columns:260px 1fr}aside{background:#073f36;color:#fff;padding:28px 18px;display:flex;flex-direction:column;min-height:100vh}.brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;padding:0 8px 28px}.brand svg{width:48px;height:48px}.brand strong,.brand small{display:block;letter-spacing:.13em}.brand small{font-size:.68rem;opacity:.72;margin-top:2px}nav p{font-size:.7rem;letter-spacing:.15em;opacity:.55;margin:22px 12px 7px}nav a{display:flex;gap:11px;align-items:center;padding:11px 13px;margin:3px 0;border-radius:12px;color:#d9ede7;text-decoration:none;font-weight:650}nav a svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}nav a.active,nav a:hover{background:rgba(255,255,255,.12);color:#fff}.boundary{margin-top:auto;display:flex;gap:10px;align-items:center;padding:14px;border:1px solid rgba(255,255,255,.14);border-radius:14px}.boundary>span{width:9px;height:9px;border-radius:50%;background:var(--yellow);box-shadow:0 0 0 5px rgba(255,199,44,.14)}.boundary b,.boundary small{display:block}.boundary small{opacity:.65;font-size:.78rem}main{min-width:0;padding:0 34px}header{height:92px;display:flex;align-items:center;gap:18px;border-bottom:1px solid var(--line)}header p,.intro p{margin:0;color:var(--green);font-size:.72rem;font-weight:800;letter-spacing:.14em}header h1{margin:1px 0 0;font-size:1.35rem}header .role{margin-left:auto;background:var(--soft);border:1px solid #cce5dc;padding:9px 13px;border-radius:999px;color:var(--green);font-weight:700;font-size:.86rem}#menu{display:none;border:0;background:transparent;font-size:1.5rem}.notice{display:flex;gap:12px;align-items:center;margin:20px 0;padding:12px 16px;border-radius:12px;background:#fff8df;border:1px solid #f2d875;font-size:.88rem}.notice span{color:#695f39}.view{display:none;max-width:1400px;margin:0 auto;padding:28px 0}.view.active{display:block}.intro h2{font-size:2rem;line-height:1.15;margin:6px 0}.intro>span{color:var(--muted)}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:28px 0}.metrics article,.panel{background:var(--white);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.metrics article{padding:22px}.metrics span,.metrics small{display:block;color:var(--muted)}.metrics strong{display:block;font-size:2.2rem;color:var(--green);margin:6px 0}.panel{padding:24px}.flow h3{margin-top:0}.flow>div{display:flex;align-items:center;justify-content:center;gap:13px;padding:24px}.flow div span{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:var(--green);color:#fff;font-weight:800}.flow i{height:2px;flex:1;max-width:100px;background:linear-gradient(90deg,var(--mint),var(--yellow))}.flow small{color:var(--muted)}.workspace{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,.8fr);gap:20px;margin-top:26px}.panel-head{display:flex;align-items:center;justify-content:space-between}.panel-head h3{margin:0}.panel-head span{color:var(--muted);font-size:.86rem}.adapter-list{margin-top:16px}.adapter-list>div{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 5px;border-top:1px solid var(--line)}.adapter-list b,.adapter-list small{display:block}.adapter-list small{color:var(--muted)}.adapter-list em,.simple em{font-style:normal;font-size:.72rem;font-weight:800;letter-spacing:.06em;color:var(--green);background:var(--soft);padding:6px 9px;border-radius:999px}.editor h3{margin-top:0}.editor label{display:block;color:var(--muted);font-size:.84rem;font-weight:700;margin:13px 0}.editor input,.editor select,.editor textarea{display:block;width:100%;margin-top:5px;padding:11px 12px;border:1px solid #bcd5cc;border-radius:10px;background:#fff;color:var(--ink);font:inherit}.editor textarea{resize:vertical;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.82rem}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.editor button{width:100%;border:0;border-radius:11px;padding:12px;background:var(--green);color:#fff;font-weight:800;font-size:.95rem}.editor button:hover{background:#056b58}#form-result{min-height:1.5em;margin:10px 0 0;color:var(--green);font-size:.84rem}.simple{margin-top:25px;display:flex;align-items:center;gap:18px}.simple span{color:var(--muted);flex:1}.settings{margin-top:24px;max-width:760px}.settings label{display:flex;justify-content:space-between;align-items:center;padding:16px 4px;border-bottom:1px solid var(--line)}.settings span,.settings small{display:block}.settings small{color:var(--muted)}.audit{margin-top:24px;max-width:850px}.audit>div{display:grid;grid-template-columns:140px 1fr 1fr;gap:20px;padding:15px 4px;border-bottom:1px solid var(--line)}.audit time,.audit span{color:var(--muted)}footer{padding:35px 0;text-align:center;color:var(--muted);font-size:.82rem}footer a{color:var(--green)}@media(max-width:980px){.metrics{grid-template-columns:1fr 1fr}.workspace{grid-template-columns:1fr}.shell{grid-template-columns:220px 1fr}main{padding:0 22px}}@media(max-width:760px){.shell{display:block}aside{position:fixed;z-index:20;width:270px;inset:0 auto 0 0;transform:translateX(-100%);transition:.2s}aside.open{transform:none}main{padding:0 16px}#menu{display:block}.role{font-size:0!important;padding:9px!important}.role:after{content:"Admin";font-size:.8rem}.metrics{grid-template-columns:1fr 1fr}.flow>div{justify-content:flex-start;overflow:auto}.simple{align-items:flex-start;flex-direction:column}.audit>div{grid-template-columns:1fr;gap:3px}}@media(max-width:430px){.metrics,.two{grid-template-columns:1fr}.intro h2{font-size:1.55rem}.notice{align-items:flex-start;flex-direction:column}.panel{padding:18px}}
.privacy-note{display:block;margin-top:18px;color:var(--muted)}.review-subhead{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.form-result{min-height:1.5em;margin:10px 0 0;color:var(--green);font-size:.84rem}
.list-action{border:1px solid #bcd5cc;border-radius:9px;background:#fff;color:var(--green);padding:7px 10px;font-weight:750;cursor:pointer}.list-action:hover{background:var(--soft)}#invitation-result{min-height:1.5em;margin:10px 0 0;color:var(--green);font-size:.84rem}
.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 75% 20%,#dcf7ed 0,transparent 32%),linear-gradient(145deg,#f8fbfa,#eef8f4)}.login-screen[hidden],.shell[hidden]{display:none}.login-card{width:min(440px,100%);padding:36px;background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 28px 70px rgba(7,63,54,.14)}.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:28px}.login-brand svg{width:52px;height:52px}.login-brand strong,.login-brand small{display:block;letter-spacing:.13em}.login-brand small{font-size:.72rem;color:var(--muted)}.eyebrow{margin:0;color:var(--green);font-size:.75rem;font-weight:800;letter-spacing:.13em}.login-card h1{margin:5px 0 8px;font-size:2rem}.login-card>p:not(.eyebrow){color:var(--muted);margin-top:0}.login-card label{display:block;color:var(--muted);font-size:.88rem;font-weight:700;margin:15px 0}.login-card input{display:block;width:100%;margin-top:6px;padding:12px;border:1px solid #bcd5cc;border-radius:11px;background:#fff;color:var(--ink);font:inherit}.login-card button,.logout{border:0;border-radius:11px;padding:12px 16px;background:var(--green);color:#fff;font-weight:800}.login-card button{width:100%;margin-top:8px}.login-card button:disabled,.logout:disabled,.list-action:disabled,.editor button:disabled{opacity:.55}.form-result{min-height:1.5em;color:var(--green)!important;font-size:.88rem;margin:10px 0 0!important;overflow-wrap:anywhere}.login-note{display:block;margin-top:18px;color:var(--muted)}.logout{margin-left:0;padding:9px 13px}.empty{color:var(--muted);margin:0}.settings strong{color:var(--green)}.review-panel{margin-top:20px}.review-actions{display:flex;gap:7px;align-items:center}.list-action.danger{color:#9b3d2f;border-color:#e5c4bd}.list-action.danger:hover{background:#fff3f0}
.tenant-creator{margin-top:20px}.tenant-creator h3{margin-bottom:0}.inline-form{display:grid;grid-template-columns:minmax(180px,.65fr) minmax(240px,1.4fr) auto;gap:12px;align-items:end}.inline-form label{margin-bottom:0}.inline-form button{width:auto;margin-bottom:0;min-height:48px}@media(max-width:760px){.inline-form{grid-template-columns:1fr}.inline-form button{width:100%}}
.setup-card{width:min(560px,100%)}.setup-link{display:inline-block;margin:4px 0 12px;color:var(--green);font-weight:800}.setup-qr{display:block;width:min(240px,70vw);height:auto;margin:12px auto;padding:10px;border-radius:16px;background:#fff;border:1px solid var(--line)}.setup-secret,.setup-codes{display:block;padding:12px;border-radius:12px;background:#eef8f4;border:1px solid var(--line);overflow-wrap:anywhere;white-space:pre-wrap;color:var(--ink)}.setup-codes{line-height:1.65}.setup-card form+div{margin-top:18px}
.mail-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.editor button.secondary{background:#fff;color:var(--green);border:1px solid #bcd5cc}.editor button.secondary:hover{background:var(--soft)}@media(max-width:520px){.mail-actions{grid-template-columns:1fr}}
.mail-template-panel{margin-top:20px}.mail-template-panel .mail-actions{margin-top:10px}.template-preview{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--soft);border:1px solid var(--line);border-radius:11px;padding:14px;max-height:320px;overflow:auto;color:var(--ink)}
.side-stack{display:grid;gap:20px;align-content:start}.adapter-upload-card{border-color:#adddce;background:linear-gradient(145deg,#fff,#f1faf7)}.adapter-upload-card>p{color:var(--muted)}.adapter-upload-card input[type=file]{padding:10px;background:#fff}.advanced-editor{align-self:start}.advanced-editor summary{cursor:pointer;color:var(--green);font-weight:800}.advanced-editor[open] summary{margin-bottom:18px}.advanced-editor form{margin-top:8px}
.upload-readiness{display:grid;gap:3px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:#fff}.upload-readiness strong{color:var(--green)}.upload-readiness strong.status-warn{color:#9a6300}.upload-readiness small{color:var(--muted)}
.firmware-readiness{margin-top:20px;max-width:760px}
.user-directory{margin:20px 0}
.hub-label{width:min(100%,62mm);min-height:92mm;margin:18px auto 10px;padding:4mm;border:1px solid #b9d8cf;border-radius:4mm;background:#fff;display:grid;grid-template-columns:1fr;gap:2mm;justify-items:center;align-content:center;color:#143638}.hub-label[hidden]{display:none}.hub-label img{width:28mm;height:28mm}.hub-label>div{width:100%}.hub-label strong,.hub-label b,.hub-label small{display:block}.hub-label strong{letter-spacing:.12em;color:var(--green)}.hub-label b{margin:1mm 0}.hub-label dl{display:grid;grid-template-columns:18mm 1fr;margin:1.5mm 0;font-size:.68rem}.hub-label dt{font-weight:800}.hub-label dd{margin:0;overflow-wrap:anywhere}.hub-label small{font-size:.61rem;color:var(--muted)}.hub-label-print{margin-top:8px}
@media print{@page{size:62mm 100mm;margin:4mm}body *{visibility:hidden!important}.hub-label,.hub-label *{visibility:visible!important}.hub-label{position:absolute;left:0;top:0;width:54mm;min-height:92mm;margin:0;box-shadow:none}.hub-label-print{display:none!important}}
@media(max-width:430px){header .role{display:none}}
.mail-workspace{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(420px,1.2fr);gap:20px;margin-top:26px;align-items:start}.mail-workspace .panel{margin:0}.mail-workspace .mail-actions{display:flex;gap:10px}.mail-workspace .mail-actions button{flex:1}@media(max-width:980px){.mail-workspace{grid-template-columns:1fr}}@media(max-width:520px){.mail-workspace .mail-actions{display:grid;grid-template-columns:1fr}}
