:root{--navy:#123e66;--blue:#0b7cb4;--blue-soft:#e7f2f9;--orange:#ee6b27;--orange-soft:#fdf0e8;--ink:#121826;--muted:#5d6676;--line:#e3e7ee;--bg:#f3f5f8;--card:#fff;--red:#c8361d;--red-soft:#fdecea;--amber:#9a6200;--amber-soft:#fff4dc;--green:#1d7a4b;--green-soft:#e6f4ec;--gray-soft:#eef0f3;--r:14px;--shadow:0 1px 2px #1218260d,0 6px 20px #1218260f}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px}a{color:var(--blue)}button{font:inherit;cursor:pointer}input,select{font:inherit}.btn{background:var(--navy);color:#fff;border:0;border-radius:10px;padding:10px 14px;font-weight:700}.btn.or{background:var(--orange)}.btn.sec{color:var(--navy);border:1px solid var(--line);background:#fff}.btn.sm{padding:6px 10px;font-size:12.5px;font-weight:600}.btn.danger{background:var(--red-soft);color:var(--red)}.btn:disabled{opacity:.6;cursor:default}.fld{flex-direction:column;gap:6px;margin-bottom:12px;display:flex}.fld label{color:var(--muted);font-size:12.5px;font-weight:600}.fld input,.fld select{border:1px solid var(--line);background:#fffaf0;border-radius:10px;padding:10px 12px;font-size:14.5px}.fld input:focus,.fld select:focus{outline:2px solid var(--blue-soft);border-color:var(--blue)}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow)}.err{background:var(--red-soft);color:var(--red);border-radius:8px;margin:0 0 12px;padding:10px 12px;font-size:13px}.ok{background:var(--green-soft);color:var(--green);border-radius:8px;margin:0 0 12px;padding:10px 12px;font-size:13px}.pill{border-radius:6px;padding:3px 9px;font-size:11.5px;font-weight:700;display:inline-block}.pill.Active{background:var(--green-soft);color:var(--green)}.pill.Invited{background:var(--amber-soft);color:var(--amber)}.pill.Disabled{background:var(--gray-soft);color:var(--muted)}.pill.team{background:var(--blue-soft);color:var(--blue)}.brand{color:var(--navy);align-items:center;gap:10px;font-size:15px;font-weight:800;display:flex}.brand img.mark{box-sizing:border-box;background:#fff;border-radius:9px;width:34px;height:34px;padding:3px}.brand .t b{line-height:1.2;display:block}.brand .t span{opacity:.75;font-size:11.5px;font-weight:500}.logo-card{background:#fff;border-radius:12px;padding:10px 14px;display:inline-block}.logo-card img{height:36px;display:block}.login{grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.login .l{background:linear-gradient(150deg,var(--navy),#0d5585);color:#fff;flex-direction:column;padding:48px;display:flex}.login .l h1{letter-spacing:-.02em;max-width:440px;margin:auto 0 12px;font-size:38px;line-height:1.1}.login .l p{opacity:.85;max-width:420px;margin:0 0 24px;font-size:15px}.login .l .feat{grid-template-columns:1fr 1fr;gap:10px;max-width:460px;margin-bottom:auto;display:grid}.login .l .feat div{background:#ffffff1a;border-radius:10px;padding:10px 12px;font-size:13px}.login .l .foot{opacity:.7;margin:24px 0 0;font-size:12px}.login .r{background:var(--bg);justify-content:center;align-items:center;padding:40px;display:flex}.login form{width:100%;max-width:380px}.login h2{margin:0 0 4px;font-size:24px}.login .sub{color:var(--muted);margin-bottom:18px;font-size:13.5px}.login .go{width:100%;margin-top:6px;padding:13px;font-size:15px}.auth{place-items:center;min-height:100vh;padding:24px;display:grid}.auth .card{width:100%;max-width:440px;padding:28px}.auth .logo-row{justify-content:center;margin-bottom:18px;display:flex}.auth .logo-row img{height:44px}.auth h1{margin:10px 0 4px;font-size:22px}.auth p.sub{color:var(--muted);margin:0 0 18px}.shell{grid-template-columns:230px 1fr;min-height:100vh;display:grid}.side{background:var(--navy);color:#fff;flex-direction:column;gap:4px;padding:18px 14px;display:flex}.side .brand{color:#fff;border-bottom:1px solid #ffffff1a;margin-bottom:14px;padding:4px 8px 18px}.side .grp{letter-spacing:.08em;text-transform:uppercase;color:#ffffff80;padding:14px 10px 6px;font-size:10.5px}.side a{color:#ffffffd1;border-radius:8px;padding:9px 10px;font-weight:600;text-decoration:none;display:block}.side a.on{color:#fff;background:#ffffff24}.side a.soon{opacity:.45;pointer-events:none}.side .me{color:#ffffffbf;border-top:1px solid #ffffff1f;margin-top:auto;padding:10px;font-size:12.5px}.side .me b{color:#fff;display:block}.side .me button{color:#fff;background:0 0;border:1px solid #ffffff4d;border-radius:8px;margin-top:8px;padding:5px 10px;font-size:12px}.main{padding:26px 30px}.top{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.top h1{letter-spacing:-.02em;margin:0;font-size:22px}.top p{color:var(--muted);margin:4px 0 0}.note{background:var(--amber-soft);color:var(--amber);border-radius:10px;margin-bottom:14px;padding:10px 12px;font-size:13px}table.tbl{border-collapse:collapse;width:100%}.tbl th{text-align:left;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line);background:var(--gray-soft);padding:12px 14px;font-size:11.5px}.tbl td{border-bottom:1px solid var(--line);vertical-align:middle;padding:12px 14px}.tbl td.actions{white-space:nowrap;text-align:right}.tbl td.actions .btn{margin-left:6px}.tbl .sub{color:var(--muted);font-size:12px}.empty{text-align:center;color:var(--muted);padding:40px}.ovl{z-index:10;background:#12182673;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{width:100%;max-width:520px;box-shadow:var(--shadow);background:#fff;border-radius:16px;padding:22px 24px}.modal h2{margin:0 0 14px;font-size:18px}.modal .row{justify-content:flex-end;gap:10px;margin-top:14px;display:flex}.two{grid-template-columns:1fr 1fr;gap:12px;display:grid}.linkbox{background:var(--blue-soft);word-break:break-all;border-radius:10px;padding:10px 12px;font-size:12.5px}.linkbox b{color:var(--navy);margin-bottom:4px;display:block}@media (width<=820px){.login{grid-template-columns:1fr}.login .l{display:none}.shell{grid-template-columns:1fr}.side{flex-flow:wrap;align-items:center}.side .me{border:0;margin-top:0;margin-left:auto}.main{padding:16px}.two{grid-template-columns:1fr}}
