*{box-sizing:border-box}:root{--blue:#2563eb;--blue-dark:#1d4ed8;--ink:#0f172a;--muted:#64748b;--border:#e2e8f0;--bg:#f8fafc;--surface:#fff}body{background:var(--bg);color:var(--ink);margin:0;font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:14px}.layout{grid-template-rows:auto auto 1fr;min-height:100vh;display:grid}.topbar{background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 24px;display:flex}.topbar h1{letter-spacing:-.01em;margin:0;font-size:17px;font-weight:700}.topbar-right{align-items:center;gap:20px;display:flex}.topbar-user{color:var(--muted);border-left:1px solid var(--border);align-items:center;gap:10px;padding-left:16px;font-size:12.5px;font-weight:600;display:flex}.scope-picker{gap:10px;display:flex}.scope-picker label{color:var(--muted);align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.scope-picker select{border:1px solid var(--border);background:var(--bg);color:var(--ink);border-radius:8px;padding:6px 10px;font-size:13px;font-weight:600}.tabnav{background:var(--surface);border-bottom:1px solid var(--border);gap:4px;padding:0 24px;display:flex}.tabnav a{color:var(--muted);border-bottom:2px solid #0000;padding:12px 14px;font-size:13px;font-weight:600;text-decoration:none}.tabnav a.active{color:var(--blue);border-bottom-color:var(--blue)}.tabnav a:hover:not(.active){color:var(--ink)}.content{width:100%;max-width:1100px;margin:0 auto;padding:24px}.page-header{justify-content:space-between;align-items:flex-start;margin-bottom:4px;display:flex}.page-header h2{margin:0 0 4px;font-size:20px}.hint{color:var(--muted);max-width:640px;margin:0 0 16px;font-size:12.5px}.btn{cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--ink);border-radius:8px;padding:8px 16px;font-size:13px;font-weight:600}.btn:hover:not(:disabled){background:var(--bg)}.btn:disabled{color:var(--muted);cursor:not-allowed}.btn-primary{background:var(--blue);color:#fff;border-color:var(--blue)}.btn-primary:hover:not(:disabled){background:var(--blue-dark)}.btn-primary:disabled{color:#fff;background:#93c5fd;border-color:#93c5fd}.btn-link{color:var(--blue);cursor:pointer;background:0 0;border:none;padding:4px 6px;font-size:13px;font-weight:600}.table{border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:10px;width:100%;margin:16px 0;overflow:hidden}.table th{text-align:left;background:var(--bg);letter-spacing:.03em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--border);padding:10px 14px;font-size:11px;font-weight:700}.table td{border-bottom:1px solid var(--border);padding:10px 14px;font-size:13px}.table tr:last-child td{border-bottom:none}.table tr:hover td{background:var(--bg)}.table td:first-child:not(.empty-row){color:var(--blue);font-weight:600}.badge{letter-spacing:.02em;text-transform:uppercase;border-radius:999px;padding:3px 10px;font-size:10.5px;font-weight:700;display:inline-block}.badge-pending{color:#475569;background:#f1f5f9}.badge-synced{color:#15803d;background:#dcfce7}.badge-failed{color:#b91c1c;background:#fee2e2}.error-text{color:#dc2626;margin:4px 0;font-size:12px}.modal-overlay{z-index:50;background:#0f172a66;justify-content:center;align-items:flex-start;padding:48px 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-panel{background:var(--surface);border-radius:12px;flex-direction:column;width:100%;max-width:560px;max-height:calc(100vh - 96px);display:flex;box-shadow:0 20px 40px #0f172a2e}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-header h3{margin:0;font-size:15px}.modal-body{flex-direction:column;gap:14px;padding:20px;display:flex;overflow-y:auto}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:14px 20px;display:flex}.modal-section-label{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:4px 0 -4px;font-size:11px;font-weight:700}.form label{color:var(--muted);flex-direction:column;gap:5px;font-size:12px;font-weight:600;display:flex}.form input,.form select,.form textarea{border:1px solid var(--border);color:var(--ink);border-radius:8px;padding:8px 10px;font-family:inherit;font-size:13px;font-weight:400}.form input:disabled,.form select:disabled{background:var(--bg);color:var(--muted)}.form input:focus,.form select:focus,.form textarea:focus{outline:2px solid var(--blue);outline-offset:-1px;border-color:var(--blue)}.form label.checkbox-row{color:var(--ink);flex-direction:row;align-items:center;gap:8px;font-size:13px;font-weight:400}.form label.checkbox-row input[type=checkbox]{flex:none;width:15px;height:15px}.checkbox-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px 12px;display:grid}.scope-list{flex-direction:column;gap:4px;margin:0 0 10px;padding:0;list-style:none;display:flex}.scope-list li{background:var(--bg);border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;font-size:13px;display:flex}.scope-add{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.scope-add>select{width:100%}.tenant-checklist{border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:6px;width:100%;max-height:180px;padding:10px;display:flex;overflow-y:auto}.empty-row{color:var(--muted);font-style:italic}.login-page{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:380px;padding:32px;box-shadow:0 20px 40px #0f172a14}.login-brand{align-items:center;gap:12px;margin-bottom:28px;display:flex}.login-title{color:var(--ink);font-size:16px;font-weight:800}.login-title span{color:var(--blue)}.login-subtitle{color:var(--muted);margin-top:1px;font-size:11.5px;font-weight:600}.login-card form{flex-direction:column;gap:14px;display:flex}.login-card label{color:var(--muted);flex-direction:column;gap:5px;font-size:12px;font-weight:600;display:flex}.login-card input{border:1px solid var(--border);background:var(--bg);color:var(--ink);border-radius:8px;padding:10px 12px;font-family:inherit;font-size:13px}.login-card input:focus{outline:2px solid var(--blue);outline-offset:-1px;border-color:var(--blue);background:var(--surface)}.login-submit{text-align:center;width:100%;margin-top:4px;padding:10px 16px}.login-forgot{text-align:center;color:var(--blue);margin-top:16px;font-size:12.5px;font-weight:600;text-decoration:none;display:block}.login-forgot:hover{text-decoration:underline}.login-hint{background:var(--bg);color:var(--muted);text-align:center;border-radius:8px;margin-top:20px;padding:10px 12px;font-size:11px}.login-footer{text-align:center;color:#9aa5bd;margin-top:14px;font-size:10.5px}
