:root{--bg:#f7faf4;--surface:#fff;--ink:#001e00;--ink-dim:#001e009e;--ink-faint:#001e006b;--green:#14a800;--green-soft:#108a00;--line:#001e001f;--line-soft:#001e0012}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;font-family:ui-sans-serif,system-ui,Segoe UI,Roboto,sans-serif}.shell{grid-template-columns:232px 1fr;min-height:100vh;display:grid}.side{color:#e8ede8;background:#05130a;flex-direction:column;gap:4px;padding:22px 16px;display:flex}.brand{align-items:center;gap:10px;padding:6px 8px 20px;display:flex}.brand .mark{background-image:url(/viotell-icon.png);background-position:-9.2px -7.7px;background-repeat:no-repeat;background-size:48.3px 48.3px;flex:none;width:30px;height:30px}.brand .name{letter-spacing:-.01em;font-size:17px;font-weight:700}.brand .tag{letter-spacing:.14em;text-transform:uppercase;color:#ffffff80;font-size:10px}.nav{flex-direction:column;gap:2px;display:flex}.nav .navgroup+.navgroup{margin-top:14px}.nav .navlbl{text-transform:uppercase;letter-spacing:.13em;color:#ffffff5c;padding:4px 12px 6px;font-size:10px;font-weight:600}.nav a{color:#ffffffb8;cursor:pointer;border-radius:9px;align-items:center;gap:10px;padding:9px 12px;font-size:14px;font-weight:500;text-decoration:none;display:flex}.nav a:hover{color:#fff;background:#ffffff0f}.nav a.on{color:#fff;background:#14a80038;font-weight:600}.side .foot{color:#fff6;margin-top:auto;padding:8px;font-size:11px}.main{padding:30px 36px;overflow:auto}.head{justify-content:space-between;align-items:center;margin-bottom:26px;display:flex}.head h1{letter-spacing:-.01em;font-size:24px}.head p{color:var(--ink-dim);margin-top:4px;font-size:14px}.cards{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px;display:grid}.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px}.card .k{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint);font-size:12px}.card .v{margin-top:6px;font-size:28px;font-weight:700}.card .v small{color:var(--green-soft);font-size:13px;font-weight:500}.panel{background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden}.panel .ph{border-bottom:1px solid var(--line-soft);padding:16px 20px;font-weight:600}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line-soft);padding:13px 20px;font-size:14px}th{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);font-size:12px;font-weight:600}.badge{border-radius:99px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.badge.trialing{color:var(--green-soft);background:#14a8001f}.badge.active{color:var(--green-soft);background:#14a8002e}.badge.past_due{color:#c0392b;background:#c0392b1f}.note{color:var(--ink-faint);margin-top:18px;font-size:13px}.note code{background:var(--line-soft);border-radius:5px;padding:1px 6px}.badge.inactive,.badge.canceled{color:var(--ink-dim);background:#001e0014}.btn{border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:9px;padding:7px 13px;font-size:13px;font-weight:600}.btn:hover{border-color:var(--green)}.btn.pri{background:var(--green);border-color:var(--green);color:#fff}.btn.pri:hover{background:var(--green-soft)}.btn.dgr{color:#c0392b;border-color:#c0392b59}.btn.dgr:hover{border-color:#c0392b}.btn.sm{padding:5px 10px;font-size:12px}.btn:disabled{opacity:.55;cursor:default}.row-click{cursor:pointer}.row-click:hover{background:var(--line-soft)}.muted{color:var(--ink-faint)}.auth-wrap{place-items:center;min-height:100vh;padding:20px;display:grid}.auth-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;width:390px;max-width:100%;padding:34px}.auth-card .lg{align-items:center;gap:10px;margin-bottom:18px;display:flex}.auth-card .lg .mark{background:var(--green);border-radius:9px;width:34px;height:34px}.auth-card h2{letter-spacing:-.01em;font-size:20px}.auth-card .sub{color:var(--ink-dim);margin:4px 0 20px;font-size:13.5px}.fld{margin-bottom:14px;display:block}.fld label{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);margin-bottom:6px;font-size:12px;display:block}.fld input,.fld select,.fld textarea{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--ink);resize:vertical;border-radius:9px;padding:10px 12px;font-family:inherit;font-size:14px}.err{color:#c0392b;background:#c0392b1a;border:1px solid #c0392b4d;border-radius:9px;margin-bottom:14px;padding:9px 12px;font-size:13px}.block{justify-content:center;width:100%}.overlay{z-index:50;background:#0006;justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer{background:var(--bg);width:480px;max-width:100%;height:100%;padding:26px;overflow:auto;box-shadow:-12px 0 44px #00000038}.drawer .dh{justify-content:space-between;align-items:flex-start;margin-bottom:4px;display:flex}.drawer h2{font-size:19px}.drawer .x{cursor:pointer;color:var(--ink-faint);background:0 0;border:0;font-size:22px;line-height:1}.drawer .sec{margin-top:22px}.drawer .sec h3{text-transform:uppercase;letter-spacing:.07em;color:var(--ink-faint);margin-bottom:10px;font-size:12px}.kv{grid-template-columns:120px 1fr;gap:6px 12px;font-size:13.5px;display:grid}.kv .kk{color:var(--ink-faint)}.ugrid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.ubox{background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:12px 14px}.ubox .uk{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);font-size:11px}.ubox .uv{margin-top:3px;font-size:20px;font-weight:700}.actions{flex-wrap:wrap;gap:8px;display:flex}.empty{text-align:center;color:var(--ink-faint);padding:28px 20px;font-size:14px}.thumb{background:var(--line-soft);border:1px solid var(--line);border-radius:7px;place-items:center;width:64px;height:42px;display:grid;overflow:hidden}.thumb img{object-fit:cover;width:100%;height:100%;display:block}
