:root{--rb: #ff6b00;--rb-dk: #d65b00;--text: #1a1a1a;--text-2: #5f6368;--bg: #fafafa;--card: #fff;--border: #e5e7eb;--danger: #d32f2f;--ok: #1b873f;--radius-md: 6px;--radius-lg: 10px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font:14px/1.45 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:var(--text);background:var(--bg)}.page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.card{width:100%;max-width:420px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:32px;box-shadow:0 4px 18px #0000000a}.card.wide{max-width:720px}.card.xwide{max-width:1100px}.card h1{font-size:18px;color:var(--rb);margin:0 0 4px;letter-spacing:.5px}.card .sub{font-size:14px;color:var(--text-2);margin-bottom:20px}.card label,.modal label{font-size:13px;color:var(--text-2);display:block;margin:12px 0 5px}.card input,.card select,.modal input,.modal select{width:100%;padding:9px 12px;font-size:14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card);color:var(--text)}.card .err{font-size:12px;color:var(--danger);margin-top:10px}.modal .row select,.modal .row input{width:auto}.modal label:first-of-type{margin-top:0}.card .ok{font-size:12px;color:var(--ok);margin-top:10px}.pw-rules{list-style:none;padding:0;margin:10px 0 4px}.pw-rules li{font-size:12px;color:var(--text-2);padding:2px 0}.pw-rules li.ok{color:var(--ok)}.pw-rules li span{display:inline-block;width:14px;font-weight:500}.btn{background:var(--rb);color:#fff;border:0;border-radius:var(--radius-md);padding:9px 16px;font-size:13px;cursor:pointer}.btn:hover{background:var(--rb-dk)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn.ghost{background:transparent;color:var(--text);border:1px solid var(--border)}.btn.ghost:hover{background:#f3f4f6}.btn.danger{background:var(--danger)}.btn.danger:hover{background:#a82424}.btn.full{width:100%;padding:10px;font-size:14px;margin-top:18px}.row{display:flex;gap:12px;align-items:center}.row.between{justify-content:space-between}.row.wrap{flex-wrap:wrap}.spacer{flex:1}.tenant-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin-top:8px}.tenant-card{border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;background:var(--card);cursor:pointer;transition:border-color .12s,transform .12s;text-align:left}.tenant-card:hover{border-color:var(--rb);transform:translateY(-1px)}.tenant-card .brand{font-weight:600;font-size:15px;letter-spacing:.4px}.tenant-card .role{color:var(--text-2);font-size:12px;margin-top:6px;text-transform:capitalize}table.users{width:100%;border-collapse:collapse;font-size:13px;margin-top:12px}table.users th,table.users td{padding:9px 10px;border-bottom:1px solid var(--border);text-align:left}table.users th{color:var(--text-2);font-weight:500}table.users tr:hover{background:#fafafa}.chip{display:inline-block;padding:2px 8px;font-size:11px;border:1px solid var(--border);border-radius:12px;color:var(--text-2);margin-right:4px;margin-bottom:4px}.chip.admin{border-color:var(--rb);color:var(--rb)}.chip.inactive{background:#f3f4f6;color:#888}.banner{background:#fff8e6;border:1px solid #f3d27b;border-radius:var(--radius-md);padding:10px 14px;font-size:13px;color:#735000;margin-bottom:16px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:10}.modal{background:var(--card);border-radius:var(--radius-lg);padding:24px;width:100%;max-width:480px;box-shadow:0 12px 40px #0000002e}.modal h2{font-size:16px;margin:0 0 12px;color:var(--text)}.modal .otp{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#fff8e6;border:1px solid #f3d27b;padding:10px 14px;border-radius:var(--radius-md);font-size:14px;word-break:break-all;margin:10px 0}.topbar{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:var(--card);border-bottom:1px solid var(--border)}.topbar .brand{font-weight:600;color:var(--rb);letter-spacing:.5px}.shell{padding:24px;max-width:1100px;margin:0 auto}
