:root{--bg: #f5f6f8;--card: #ffffff;--border: #e2e5ea;--text: #1c2430;--muted: #6b7480;--primary: #4f7cff;--primary-strong: #3b66e8;--primary-soft: #eef2ff;--ok: #1f9d63;--err: #d23b3b;--err-soft: #fdf0f0;--warn: #b9770a;--shadow: 0 1px 2px rgba(16, 24, 40, .05);--ring: 0 0 0 3px rgba(79, 124, 255, .25)}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text)}:focus-visible{outline:none;box-shadow:var(--ring);border-radius:6px}.topbar{display:flex;align-items:center;gap:24px;padding:10px 24px;background:var(--card);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:10px}.brand-logo{height:26px;width:auto;display:block}.brand-tag{font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--muted);padding:2px 6px;border:1px solid var(--border);border-radius:5px}.topbar nav{display:flex;gap:4px;flex:1}.topbar nav a{color:var(--muted);text-decoration:none;font-weight:500;font-size:14px;padding:6px 12px;border-radius:999px;transition:background .15s,color .15s;white-space:nowrap}.topbar nav a:hover{color:var(--text);background:#f0f2f5}.topbar nav a.active{color:var(--primary-strong);background:var(--primary-soft);font-weight:600}.user{display:flex;align-items:center;gap:8px}.avatar{width:30px;height:30px;border-radius:50%;background:var(--primary);color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;flex:none}.user-meta{display:flex;flex-direction:column;line-height:1.2}.user-email{font-size:13px;font-weight:500}.user-tenant{font-size:11px;color:var(--muted)}.iconbtn{display:flex;align-items:center;justify-content:center;padding:6px;color:var(--muted);border-color:transparent;background:transparent}.iconbtn:hover{color:var(--err);background:#f3f4f6}.content{width:100%;padding:24px}.stack{display:flex;flex-direction:column;gap:20px}.card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:20px;box-shadow:var(--shadow)}.cards{display:flex;gap:16px}.hint{color:var(--muted);font-size:14px;margin:4px 0 12px}.row-between{display:flex;justify-content:space-between;align-items:center}h1{font-size:24px;margin:0;letter-spacing:-.01em}h2{font-size:16px;margin:0 0 4px}input,select{padding:8px 10px;border:1px solid var(--border);border-radius:8px;font-size:14px;background:#fff;transition:border-color .15s}input:hover,select:hover{border-color:#c8cdd6}button{padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:#fff;cursor:pointer;font-size:14px;font-weight:500;transition:background .15s,border-color .15s,color .15s}button:hover:not(:disabled){background:#f6f7f9;border-color:#c8cdd6}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--primary);color:#fff;border-color:var(--primary)}button.primary:hover:not(:disabled){background:var(--primary-strong);border-color:var(--primary-strong)}button.danger{color:var(--err)}button.danger:hover:not(:disabled){background:var(--err-soft);border-color:var(--err)}.toggle{display:flex;gap:8px}.keyrow{padding:14px 0;border-top:1px solid var(--border)}.keyrow:first-of-type{border-top:none}.keyrow-head{display:flex;justify-content:space-between;align-items:center}.keyrow-edit{display:flex;gap:8px;margin-top:8px}.keyrow-edit input{flex:1}.slotrow{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;border-top:1px solid var(--border)}.slotrow:first-of-type{border-top:none}.slotrow-select{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.badge{font-size:12px;padding:2px 8px;border-radius:999px;background:#eef0f3;color:var(--muted)}.badge.ok{background:#e7f6ee;color:var(--ok)}.badge.warn{background:#fcf2e2;color:var(--warn)}.msg{font-size:13px;margin:8px 0 0}.msg.ok{color:var(--ok)}.msg.err{color:var(--err)}.msg.warn{color:var(--warn)}.stat{flex:1;display:flex;flex-direction:column;gap:4px}.stat-label{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.05em}.stat-value{font-size:26px;font-weight:700;font-variant-numeric:tabular-nums}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.table{width:100%;border-collapse:collapse;font-size:14px;margin:8px 0}.table th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:6px 8px;border-bottom:1px solid var(--border)}.table td{padding:8px;border-bottom:1px solid var(--border);vertical-align:top}.table tbody tr{transition:background .1s}.table tbody tr:hover{background:#fafbfc}.table code{font-size:12px;background:#f3f4f6;padding:1px 5px;border-radius:4px}.table button{padding:5px 10px;font-size:13px}.guid{display:inline-block;max-width:19ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.formrow{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.formrow input,.formrow select{flex:1;min-width:140px}.table input.num{width:60px;padding:4px 6px}.terms-editor textarea{width:100%;min-height:18rem;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:#fff;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.5;resize:vertical;box-sizing:border-box}.terms-editor textarea:hover{border-color:#c8cdd6}.terms-editor .terms-agree{margin:10px 0}.terms-scroll{max-height:26rem;overflow-y:auto;border:1px solid var(--border);border-radius:8px;background:#fff}.terms-agree{display:flex;gap:10px;align-items:flex-start;margin:14px 0 12px;font-size:14px;line-height:1.45}.terms-agree input{margin-top:2px}@media (max-width: 900px){.user-email{display:none}}@media (max-width: 780px){.topbar{gap:8px 12px;flex-wrap:wrap;justify-content:space-between}.topbar nav{order:3;flex-basis:100%;flex:none;gap:4px;overflow-x:auto}.topbar nav a{padding:6px 10px}}@media (max-width: 640px){.content{padding:12px}.stack{gap:14px}.topbar{padding:8px 12px}.brand-logo{height:22px}.user{gap:6px}.card{padding:16px;border-radius:10px}.row-between{flex-wrap:wrap;gap:8px}.cards{flex-wrap:wrap;gap:10px}.stat{min-width:calc(50% - 5px)}.stat-value{font-size:22px}.keyrow-edit{flex-wrap:wrap}.keyrow-edit input{flex-basis:100%}.keyrow-edit button{flex:1}.slotrow{flex-direction:column;align-items:stretch;gap:8px}.slotrow-select{align-items:stretch}.slotrow-select select{width:100%}.formrow button{flex:1;min-width:120px}.terms-scroll{max-height:20rem}}
