:root{--bg-primary: #f6f4ef;--bg-secondary: #fbfaf6;--bg-card: #ffffff;--bg-card-hover: #f1eee7;--bg-input: #f1eee7;--bg-sidebar: #fbfaf6;--accent-primary: #a3502d;--accent-primary-hover: #8a4325;--accent-secondary: #c25a34;--accent-success: #207e54;--accent-warning: #b57c10;--accent-danger: #d13438;--gradient-primary: linear-gradient(135deg, #a3502d, #c25a34);--gradient-accent: linear-gradient(135deg, #c25a34, #a3502d);--gradient-card: linear-gradient(145deg, rgba(163, 80, 45, .04), rgba(163, 80, 45, .02));--text-primary: #1a1916;--text-secondary: #5a554a;--text-muted: #8a8475;--text-inverse: #ffffff;--ink2: #5a554a;--faint: #7d776a;--border-subtle: #ece7dc;--line2: #e3ded3;--border-active: rgba(163, 80, 45, .4);--warn-bg: #faf4e7;--warn-ink: #8a7a52;--shadow-sm: 0 1px 2px rgba(16, 24, 40, .05), 0 1px 3px rgba(16, 24, 40, .04);--shadow-md: 0 4px 16px rgba(16, 24, 40, .08);--shadow-lg: 0 16px 48px rgba(16, 24, 40, .14);--shadow-glow: 0 0 20px rgba(163, 80, 45, .1);--radius-sm: 8px;--radius-md: 14px;--radius-lg: 20px;--radius-xl: 20px;--font-body: "Hanken Grotesk", system-ui, -apple-system, sans-serif;--font-display: "Space Grotesk", var(--font-body);--font-mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", "Menlo", monospace;font-family:var(--font-body);color-scheme:light}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%;overflow:hidden}body{background:var(--bg-primary);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--accent-primary);text-decoration:none;transition:color .2s}a:hover{color:var(--accent-primary-hover)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.login-page{height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);position:relative;overflow:hidden}.login-page:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(ellipse at 30% 50%,rgba(163,80,45,.08) 0%,transparent 50%),radial-gradient(ellipse at 70% 50%,rgba(34,211,238,.06) 0%,transparent 50%);animation:pulseGlow 8s ease-in-out infinite alternate}@keyframes pulseGlow{0%{opacity:.6;transform:scale(1)}to{opacity:1;transform:scale(1.05)}}.login-card{position:relative;width:100%;max-width:420px;padding:48px 40px;background:#fff;border:1px solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg)}.login-logo{display:flex;flex-direction:column;align-items:center;margin-bottom:36px}.login-logo-icon{width:56px;height:56px;background:var(--gradient-primary);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px #a3502d4d}.login-logo h1{font-size:18px;font-weight:700;letter-spacing:-.5px}.login-logo h1 span{background:var(--accent-secondary);color:#fff;padding:2px 4px;border-radius:4px}.login-logo p{font-size:14px;color:var(--text-secondary);margin-top:4px}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:13px;font-weight:500;color:var(--text-secondary);margin-bottom:8px;letter-spacing:.3px}.form-group input{width:100%;padding:12px 16px;background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font-size:14px;font-family:inherit;outline:none;transition:all .2s}.form-group input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #a3502d26}.form-group input::placeholder{color:var(--text-muted)}.login-btn{width:100%;padding:13px;background:var(--gradient-primary);border:none;border-radius:var(--radius-sm);color:#fff;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;transition:all .3s;margin-top:8px;letter-spacing:.3px}.login-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 20px #a3502d66}.login-btn:disabled{opacity:.6;cursor:not-allowed}.login-error{background:#f871711a;border:1px solid rgba(248,113,113,.3);color:var(--accent-danger);padding:10px 14px;border-radius:var(--radius-sm);font-size:13px;margin-bottom:20px;animation:slideIn .3s ease}.forgot-link{background:none;border:none;color:var(--accent-primary);font-size:13px;font-family:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:4px}.forgot-link:hover{text-decoration:underline}.forgot-desc{font-size:13px;color:var(--text-muted);line-height:1.5;margin-bottom:16px}.forgot-success{text-align:center;padding:20px;background:#207e5414;border-radius:var(--radius-sm);margin-bottom:16px;font-size:13px;color:var(--text-secondary);line-height:1.5}@keyframes slideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.app-layout{display:flex;height:100vh;overflow:hidden}.sidebar{width:240px;min-width:240px;background:var(--bg-sidebar);border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;z-index:10}.sidebar-header{padding:20px}.sidebar-brand{display:flex;align-items:center;gap:12px}.sidebar-logo{height:36px;width:auto;flex-shrink:0}.sidebar-brand h2{font-size:16px;font-weight:700;letter-spacing:-.3px}.sidebar-brand h2 span{margin-left:-20px;color:#fff;background-color:var(--accent-secondary);padding:2px 4px;border-radius:4px}.sidebar-brand small{font-size:11px;color:var(--text-muted);font-weight:400;display:block}.sidebar-nav{flex:1;padding:16px 12px;display:flex;flex-direction:column;gap:4px}.nav-link{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:14px;font-weight:500;transition:all .2s;text-decoration:none;position:relative}.nav-link:hover{background:#a3502d0f;color:var(--text-primary)}.nav-link.active{background:#a3502d1a;color:var(--accent-primary)}.nav-link.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:20px;background:var(--gradient-primary);border-radius:0 4px 4px 0}.sidebar-footer{padding:16px 12px;border-top:1px solid var(--border-subtle)}.sidebar-user{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:var(--radius-sm)}.sidebar-avatar{width:32px;height:32px;background:var(--accent-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;flex-shrink:0;color:#fff}.sidebar-user-info{flex:1;min-width:0}.sidebar-user-name{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-email{font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.logout-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:6px;border-radius:var(--radius-sm);transition:all .2s;display:flex;align-items:center}.logout-btn:hover{color:var(--accent-danger);background:#f871711a}.main-wrapper{flex:1;display:flex;flex-direction:column;overflow:hidden}.top-bar{height:56px;min-height:56px;background:var(--bg-secondary);border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;padding:0 24px}.top-bar-spacer{flex:1}.top-bar-user{position:relative}.user-avatar-btn{display:flex;align-items:center;gap:6px;background:none;border:none;cursor:pointer;padding:4px;border-radius:var(--radius-sm);transition:background .2s;color:var(--text-secondary)}.user-avatar-btn:hover{background:#0000000a}.user-avatar-btn .sidebar-avatar{width:34px;height:34px;font-size:13px}.user-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:220px;background:var(--bg-card);border-radius:var(--radius-md);box-shadow:0 4px 24px #0000001f;z-index:100;animation:fadeIn .15s;overflow:hidden}.user-dropdown-info{padding:14px 16px}.user-dropdown-name{font-size:14px;font-weight:600;color:var(--text-primary)}.user-dropdown-email{font-size:12px;color:var(--text-muted);margin-top:2px}.user-dropdown-divider{height:1px;background:#0000000d}.user-dropdown-item{display:flex;align-items:center;width:100%;padding:10px 16px;background:none;border:none;font-size:13px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .15s;font-family:inherit}.user-dropdown-item:hover{background:#00000008;color:var(--accent-danger)}.main-content{flex:1;overflow-y:auto;display:flex;flex-direction:column;overflow:hidden}.page-header{padding:20px 32px;border-bottom:1px solid var(--border-subtle);background:var(--bg-secondary)}.page-header h1{font-size:22px;font-weight:700;letter-spacing:-.5px}.page-header p{font-size:14px;color:var(--text-secondary);margin-top:4px}.page-body{flex:1;overflow-y:auto;padding:28px 32px}.dashboard-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-bottom:32px}.stat-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:24px;position:relative;overflow:hidden;transition:all .3s}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;border-radius:var(--radius-md) var(--radius-md) 0 0}.stat-card:nth-child(1):before{background:var(--gradient-primary)}.stat-card:nth-child(2):before{background:linear-gradient(90deg,#22d3ee,#06b6d4)}.stat-card:nth-child(3):before{background:linear-gradient(90deg,#34d399,#10b981)}.stat-card:nth-child(4):before{background:linear-gradient(90deg,#fbbf24,#f59e0b)}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-glow);border-color:var(--border-active)}.stat-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.stat-card-label{font-size:13px;color:var(--text-secondary);font-weight:500}.stat-card-icon{width:36px;height:36px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;background:#a3502d1a;color:var(--accent-primary)}.stat-card-value{font-size:32px;font-weight:800;letter-spacing:-1px;line-height:1}.stat-card-sub{font-size:12px;color:var(--text-muted);margin-top:6px}.floorplans-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:24px;flex-wrap:wrap}.filter-btn{padding:8px 16px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:999px;color:var(--text-secondary);font-size:13px;font-weight:500;font-family:inherit;cursor:pointer;transition:all .2s}.filter-btn:hover{border-color:var(--accent-primary);color:var(--text-primary)}.filter-btn.active{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.floorplans-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.floorplan-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden;transition:all .3s;cursor:pointer}.floorplan-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md),var(--shadow-glow);border-color:var(--border-active)}.floorplan-preview{aspect-ratio:16 / 10;background:var(--bg-input);display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.floorplan-preview svg{width:90%;height:90%}.floorplan-info{padding:16px 20px}.floorplan-title{font-size:15px;font-weight:600;margin-bottom:8px;display:flex;align-items:center;gap:8px}.floorplan-badge{font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;letter-spacing:.3px}.badge-1bhk{background:#22d3ee26;color:#22d3ee}.badge-2bhk{background:#a3502d26;color:#818cf8}.badge-25bhk{background:#8b5cf626;color:#a78bfa}.badge-3bhk{background:#34d39926;color:#34d399}.badge-4bhk{background:#fbbf2426;color:#fbbf24}.floorplan-meta{display:flex;gap:16px;font-size:12px;color:var(--text-muted)}.floorplan-meta span{display:flex;align-items:center;gap:4px}.upload-zone-wrapper{margin-bottom:24px}.upload-zone{border:2px dashed var(--border-subtle);border-radius:var(--radius-md);padding:32px 24px;display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;transition:all .3s;background:var(--bg-card);color:var(--text-muted)}.upload-zone:hover{border-color:var(--accent-primary);background:#a3502d08;color:var(--accent-primary)}.upload-zone.dragging{border-color:var(--accent-primary);background:#a3502d0f;color:var(--accent-primary);box-shadow:0 0 0 4px #a3502d1a}.upload-zone.uploading{cursor:wait;border-style:solid;border-color:var(--accent-primary);background:#a3502d08}.upload-text{font-size:14px;font-weight:600}.upload-hint{font-size:12px;color:var(--text-muted)}.upload-result{margin-top:12px;padding:10px 16px;border-radius:var(--radius-sm);font-size:13px;display:flex;align-items:center;gap:8px;animation:fadeIn .2s}.upload-result.success{background:#34d3991a;color:#34d399;border:1px solid rgba(52,211,153,.2)}.upload-result.error{background:#f871711a;color:#f87171;border:1px solid rgba(248,113,113,.2)}.upload-result-close{background:none;border:none;color:inherit;margin-left:auto;cursor:pointer;padding:2px;display:flex;opacity:.7;transition:opacity .2s}.upload-result-close:hover{opacity:1}.floorplan-card{position:relative}.floorplan-delete-btn{position:absolute;top:10px;right:10px;width:28px;height:28px;border-radius:50%;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:none;color:#f87171;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:all .2s;z-index:2}.floorplan-card:hover .floorplan-delete-btn{opacity:1}.floorplan-delete-btn:hover{background:#f87171e6;color:#fff;transform:scale(1.1)}.confirm-modal{max-width:440px}.confirm-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}.btn-secondary{background:var(--bg-input);border:1px solid var(--border-subtle);color:var(--text-secondary)}.btn-secondary:hover{border-color:var(--text-muted);color:var(--text-primary)}.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.btn-danger:hover{transform:translateY(-1px);box-shadow:0 4px 16px #ef44444d}.save-bar{position:sticky;bottom:0;background:var(--bg-secondary);padding:16px 24px;border-top:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:flex-end;gap:12px}.btn{padding:10px 20px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;transition:all .2s;border:none;display:inline-flex;align-items:center;gap:6px}.btn-primary{background:var(--gradient-primary);color:#fff}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 16px #a3502d4d}.btn-ghost{background:transparent;border:1px solid var(--border-subtle);color:var(--text-secondary)}.btn-ghost:hover{border-color:var(--text-muted);color:var(--text-primary)}.modal-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal,.modal-content{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);width:90%;max-width:800px;max-height:85vh;overflow:auto;box-shadow:var(--shadow-lg);animation:scaleIn .2s}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-header{padding:20px 24px;border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:space-between}.modal-header h2{font-size:18px;font-weight:700}.modal-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:6px;border-radius:var(--radius-sm);transition:all .2s;display:flex}.modal-close:hover{color:var(--text-primary);background:#ffffff0d}.modal-body{padding:24px}.modal-body .floorplan-preview{aspect-ratio:16 / 9;margin-bottom:20px;border-radius:var(--radius-sm);border:1px solid var(--border-subtle)}.modal-details{display:grid;grid-template-columns:1fr 1fr;gap:12px}.detail-item{padding:10px 14px;background:var(--bg-input);border-radius:var(--radius-sm);border:1px solid var(--border-subtle)}.detail-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.detail-value{font-size:15px;font-weight:600}.toast{position:fixed;bottom:24px;right:24px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:12px 20px;display:flex;align-items:center;gap:10px;z-index:200;box-shadow:var(--shadow-lg);animation:slideUp .3s ease;font-size:14px}.toast.success{border-color:#34d3994d}.toast.error{border-color:#f871714d}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.spinner{width:18px;height:18px;border:2px solid rgba(0,0,0,.1);border-top-color:var(--accent-primary);border-radius:50%;animation:spin .6s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.page-loading{display:flex;align-items:center;justify-content:center;height:200px;color:var(--text-muted);font-size:14px;gap:10px}.dash-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.dash-card{display:flex;align-items:center;gap:16px;padding:20px 24px;background:var(--bg-card);border-radius:var(--radius-md);box-shadow:0 1px 3px #0000000a;transition:all .2s}.dash-card:hover{box-shadow:0 4px 12px #00000014}.dash-card-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.dash-card-body{min-width:0}.dash-card-value{font-size:28px;font-weight:800;letter-spacing:-.5px;line-height:1.1}.dash-card-label{font-size:13px;color:var(--text-muted);margin-top:2px}.admin-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:20px}.admin-search{flex:1;max-width:360px;padding:9px 14px;background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-size:13px;font-family:inherit;color:var(--text-primary);outline:none;transition:border-color .2s}.admin-search:focus{border-color:var(--accent-primary)}.admin-count{font-size:13px;color:var(--text-muted);margin-left:auto}.admin-table-wrap{background:var(--bg-card);border-radius:var(--radius-md);box-shadow:0 1px 3px #0000000a;overflow:hidden}.admin-table{width:100%;border-collapse:collapse}.admin-table th{padding:10px 16px;text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);background:var(--bg-input);border-bottom:1px solid var(--border-subtle)}.admin-table td{padding:12px 16px;font-size:13px;color:var(--text-primary);border-bottom:1px solid var(--border-subtle)}.admin-table-row{transition:background .15s;cursor:pointer}.admin-table-row:hover{background:var(--bg-card-hover)}.admin-table-row.selected{background:#a3502d0f}.admin-table-row:last-child td{border-bottom:none}.admin-cell-primary{display:flex;align-items:center;gap:6px;font-weight:500}.admin-cell-mono{font-family:SF Mono,Fira Code,monospace;font-size:12px;color:var(--text-secondary)}.admin-cell-muted{color:var(--text-muted);font-size:12px}.status-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600}.status-badge.active{background:#207e541f;color:var(--accent-success)}.status-badge.inactive{background:#ef44441a;color:#ef4444}.admin-role-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:500;background:var(--bg-input);color:var(--text-secondary)}.admin-tags{display:flex;gap:4px;flex-wrap:wrap}.admin-tag{display:inline-flex;align-items:center;gap:3px;padding:2px 6px;border-radius:4px;font-size:11px;background:var(--bg-input);color:var(--text-secondary)}.admin-detail-panel{margin-top:24px;padding:24px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.admin-detail-panel h3{font-size:18px;font-weight:700;margin-bottom:4px}.admin-detail-meta{display:flex;gap:16px;font-size:13px;color:var(--text-muted);margin-bottom:20px}.admin-detail-meta span,.admin-detail-meta a{display:flex;align-items:center;gap:4px}.admin-detail-section{margin-top:20px}.admin-detail-section h4{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:600;margin-bottom:10px;color:var(--text-secondary)}.admin-detail-list{display:flex;flex-direction:column;gap:6px}.admin-detail-list-item{display:flex;align-items:center;gap:12px;padding:8px 12px;background:var(--bg-input);border-radius:var(--radius-sm);font-size:13px}.admin-detail-name{font-weight:500;min-width:140px}.admin-detail-sub{color:var(--text-muted);flex:1}.admin-detail-tag{font-size:11px;padding:2px 8px;border-radius:999px;background:#a3502d1a;color:var(--accent-primary);font-weight:500}@keyframes shimmer{0%{opacity:.4}50%{opacity:.7}to{opacity:.4}}.skeleton-card{pointer-events:none}.skeleton-circle{width:48px;height:48px;border-radius:12px;background:var(--bg-input);animation:shimmer 1.2s ease-in-out infinite}.skeleton-body{flex:1;display:flex;flex-direction:column;gap:8px}.skeleton-line{height:14px;border-radius:6px;background:var(--bg-input);animation:shimmer 1.2s ease-in-out infinite}.skeleton-line.wide{width:60%;height:24px}.skeleton-line.narrow{width:40%}.geo-loading{display:flex;align-items:center;gap:12px;padding:40px;color:var(--text-secondary);font-size:14px}.page-header{display:flex;align-items:center;justify-content:space-between}.geo-stats{display:flex;gap:12px;margin-bottom:20px}.geo-stat{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;transition:all .2s}.geo-stat:hover{border-color:var(--accent-primary);background:#a3502d0a}.geo-stat-value{font-weight:700;font-size:16px}.geo-stat-label{font-size:12px;color:var(--text-muted)}.geo-type-badge{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:6px;font-size:11px;font-weight:700;flex-shrink:0}.geo-type-badge.raster{background:#f59e0b26;color:#f59e0b}.geo-type-badge.vector{background:#207e541f;color:var(--accent-success)}.geo-type-badge.external{background:#8b5cf626;color:#8b5cf6}.geo-filters{display:flex;gap:12px;margin-bottom:20px;align-items:center}.geo-search{flex:1;padding:9px 14px;background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font-size:13px;font-family:inherit;outline:none;transition:all .2s}.geo-search:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #a3502d1f}.geo-select{padding:9px 12px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font-size:13px;font-family:inherit;outline:none;cursor:pointer}.geo-select:focus{border-color:var(--accent-primary)}.geo-expand-btn{padding:9px 14px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:12px;font-family:inherit;cursor:pointer;transition:all .15s;white-space:nowrap}.geo-expand-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.geo-tree{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden}.geo-tree-cat-header{display:flex;align-items:center;gap:8px;width:100%;padding:10px 16px;background:none;border:none;border-bottom:1px solid rgba(0,0,0,.04);cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;color:var(--text-primary);transition:background .15s;text-align:left}.geo-tree-cat-header:hover{background:#a3502d0a}.geo-tree-cat-header.depth-0{padding-left:16px;background:var(--bg-input)}.geo-tree-cat-header.depth-1{padding-left:36px;font-weight:500;font-size:12px}.geo-tree-cat-header.depth-2{padding-left:56px;font-weight:500;font-size:12px}.geo-tree-cat-header.depth-3{padding-left:76px;font-weight:500;font-size:12px}.geo-tree-chevron{display:flex;align-items:center;color:var(--text-muted);transition:transform .15s}.geo-tree-folder-icon{color:var(--text-muted);flex-shrink:0}.geo-tree-cat-name{flex:1}.geo-tree-cat-count{font-size:11px;font-weight:500;color:var(--text-muted);background:#0000000a;padding:2px 8px;border-radius:999px}.geo-tree-children{animation:treeExpand .15s ease}@keyframes treeExpand{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.geo-tree-layer{display:flex;align-items:center;gap:10px;padding:8px 16px;border-bottom:1px solid rgba(0,0,0,.03);transition:background .15s;font-size:13px}.geo-tree-layer:last-child{border-bottom:none}.geo-tree-layer:hover{background:#a3502d08}.geo-tree-layer.disabled{opacity:.45}.geo-tree-layer.depth-0{padding-left:16px}.geo-tree-layer.depth-1{padding-left:36px}.geo-tree-layer.depth-2{padding-left:56px}.geo-tree-layer.depth-3{padding-left:76px}.geo-tree-layer-info{flex:1;min-width:0}.geo-tree-layer-name{display:block;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}.geo-tree-layer-id{display:block;font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.geo-tree-layer-zoom{font-size:11px;color:var(--text-muted);white-space:nowrap;flex-shrink:0}.geo-tree-layer-actions{display:flex;gap:2px;flex-shrink:0;opacity:0;transition:opacity .15s}.geo-tree-layer:hover .geo-tree-layer-actions{opacity:1}.geo-toggle{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:6px;cursor:pointer;transition:all .2s;flex-shrink:0}.geo-toggle.on{background:#207e541f;color:var(--accent-success)}.geo-toggle.off{background:#0000000f;color:var(--text-muted)}.geo-toggle:hover{transform:scale(1.1)}.geo-action-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;border-radius:6px;background:transparent;color:var(--text-muted);cursor:pointer;transition:all .15s}.geo-action-btn:hover{background:#0000000f;color:var(--text-primary)}.geo-action-btn.danger:hover{background:#ef44441a;color:var(--accent-danger)}.geo-empty{padding:40px;text-align:center;color:var(--text-muted);font-size:14px}.form-row{display:flex;gap:12px}.form-row .form-group{flex:1}.form-group select{width:100%;padding:12px 16px;background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font-size:14px;font-family:inherit;outline:none;cursor:pointer;transition:all .2s}.form-group select:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #a3502d26}.required{color:var(--accent-danger)}.geo-modal{width:520px;max-width:92vw}.geo-modal .modal-header{padding:20px 24px 16px;border-bottom:1px solid var(--border-subtle)}.geo-modal .modal-header h2{font-size:16px;font-weight:700;letter-spacing:-.3px}.geo-modal .modal-body{padding:20px 24px}.geo-modal .form-group{margin-bottom:16px}.geo-modal .form-group:last-child{margin-bottom:0}.geo-modal .form-group label{display:block;font-size:12px;font-weight:600;color:var(--text-primary);margin-bottom:6px;letter-spacing:.2px}.geo-modal .form-group input,.geo-modal .form-group select{width:100%;padding:10px 12px;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font-size:13px;font-family:inherit;outline:none;transition:all .15s}.geo-modal .form-group input:focus,.geo-modal .form-group select:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #a3502d1a;background:#fff}.geo-modal .form-group input::placeholder{color:var(--text-muted);font-size:13px}.geo-modal .form-row{display:flex;gap:12px}.geo-modal .form-row .form-group{flex:1}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid var(--border-subtle);background:var(--bg-primary);border-radius:0 0 var(--radius-lg) var(--radius-lg)}.modal-footer .btn{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s;border:none}.modal-footer .btn-ghost{background:transparent;color:var(--text-secondary);border:1px solid var(--border-subtle)}.modal-footer .btn-ghost:hover{background:#0000000a;color:var(--text-primary)}.modal-footer .btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:0 2px 8px #a3502d40}.modal-footer .btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #a3502d59}.geo-stat.active{border-color:var(--accent-primary);background:#a3502d14}.form-error{background:#f871711a;border:1px solid rgba(248,113,113,.3);color:var(--accent-danger);padding:10px 14px;border-radius:var(--radius-sm);font-size:13px;margin-top:12px}.rb-loading{display:flex;align-items:center;gap:10px;color:var(--text-secondary);padding:40px 0;justify-content:center}.rb-empty{color:var(--text-muted);padding:40px 0;text-align:center}.rb-tree{display:flex;flex-direction:column;gap:4px}.rb-jurisdiction-node{border-left:2px solid var(--border-subtle);padding-top:6px;padding-bottom:2px;margin-left:2px}.rb-jurisdiction-header{display:flex;align-items:baseline;gap:8px;padding:4px 0 4px 12px}.rb-jurisdiction-name{font-weight:700;font-size:14px;color:var(--text-primary)}.rb-jurisdiction-type{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px}.rb-rulebook-list{display:flex;flex-direction:column;gap:6px;margin:4px 0 8px 12px}.rb-rulebook-row{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:10px 14px;display:flex;flex-direction:column;gap:6px}.rb-rulebook-title{display:flex;align-items:center;gap:8px}.rb-rulebook-name{font-weight:600;font-size:13px;color:var(--text-primary)}.rb-rulebook-key{font-size:11px;color:var(--text-muted);font-family:monospace}.rb-badge{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;padding:2px 8px;border-radius:999px}.rb-badge-interim{background:#f59e0b26;color:var(--accent-warning)}.rb-rulebook-meta{display:flex;align-items:center;flex-wrap:wrap;gap:14px;font-size:12px;color:var(--text-secondary)}.rb-inforce-link{color:var(--accent-primary);font-weight:600;text-decoration:none}.rb-inforce-link:hover{text-decoration:underline}.rb-muted{color:var(--text-muted)}.rb-version-group{display:inline-flex;align-items:center;gap:4px}.rb-version-link{color:var(--text-secondary);text-decoration:none;background:var(--bg-input);border-radius:var(--radius-sm);padding:1px 6px;font-size:11px}.rb-version-link:hover{color:var(--accent-primary)}.rb-new-version-btn{margin-left:auto;padding:4px 10px!important;font-size:12px!important}.rb-modal{width:560px;max-width:92vw}.rb-step-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:14px}.rb-new-jurisdiction{margin-top:10px;padding-top:10px;border-top:1px dashed var(--border-subtle)}.rb-boundary-preview{margin-top:10px;display:flex;justify-content:center;background:var(--bg-input);border-radius:var(--radius-sm);padding:8px}.rb-boundary-outline{display:block}.rb-boundary-outline-path{fill:#a3502d26;stroke:var(--accent-primary);stroke-width:1.5}.rb-boundary-outline-empty{fill:var(--text-muted);font-size:11px}.rb-editor-header{align-items:flex-start}.rb-back{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--text-secondary);text-decoration:none;margin-bottom:4px}.rb-back:hover{color:var(--accent-primary)}.rb-status{margin-left:10px;vertical-align:middle}.rb-status-draft{background:#a3502d1f;color:var(--accent-primary)}.rb-status-in_review{background:#f59e0b26;color:var(--accent-warning)}.rb-status-published{background:#207e5426;color:var(--accent-success)}.rb-status-rejected,.rb-status-superseded{background:var(--bg-input);color:var(--text-secondary)}.rb-save{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary)}.rb-save-ok{color:var(--accent-success)}.rb-save-bad{color:var(--accent-danger)}.rb-meta{align-items:flex-end;margin-bottom:12px}.rb-grow{flex:1}.rb-editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}@media(max-width:1100px){.rb-editor-layout{grid-template-columns:1fr}}.rb-editor-main{min-width:0}.rb-tabs{display:flex;gap:2px;border-bottom:1px solid var(--border-subtle);margin-bottom:14px}.rb-tab{background:none;border:none;border-bottom:2px solid transparent;padding:8px 14px;font-size:13px;font-weight:600;color:var(--text-secondary);cursor:pointer}.rb-tab:hover{color:var(--text-primary)}.rb-tab-active{color:var(--accent-primary);border-bottom-color:var(--accent-primary)}.rb-notice{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 14px;border-radius:var(--radius-sm);font-size:13px;margin-bottom:12px}.rb-notice-info{background:var(--bg-input);color:var(--text-secondary)}.rb-notice-ok{background:#207e541a;color:var(--accent-success);margin-top:12px}.rb-notice-warn{background:#f59e0b1f;color:#92400e}.rb-help{font-size:12px;color:var(--text-secondary);margin:0 0 12px}.rb-required{color:var(--accent-danger)}.rb-badge-error{background:#ef44441f;color:var(--accent-danger);display:inline-flex;align-items:center;gap:3px}.rb-badge-ok{background:#207e541f;color:var(--accent-success);display:inline-flex;align-items:center;gap:3px}.rb-badge-warn{background:#f59e0b26;color:#b45309}.rb-badge-muted{background:var(--bg-input);color:var(--text-secondary)}.rb-badge-stale{opacity:.55}.rb-ok{color:var(--accent-success)}.rb-bad{color:var(--accent-danger)}.rb-tables{display:flex;flex-direction:column;gap:14px}.rb-table{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-sm)}.rb-table-has-errors{border-color:#ef444466}.rb-table-header{display:flex;align-items:center;gap:10px;padding:8px 12px;flex-wrap:wrap;border-bottom:1px solid var(--border-subtle)}.rb-table-toggle{display:inline-flex;align-items:center;gap:4px;background:none;border:none;cursor:pointer;padding:0;color:var(--text-primary)}.rb-table-name{font-weight:700;font-size:14px;font-family:monospace}.rb-table-meta{font-size:12px;color:var(--text-secondary);flex:1}.rb-toggle{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary)}.rb-table-body{padding:8px 12px 12px}.rb-table-errors{list-style:none;margin:0 0 8px;padding:8px 10px;background:#ef44440f;border-radius:var(--radius-sm);font-size:12px;color:var(--accent-danger)}.rb-table-errors li{display:flex;align-items:center;gap:6px}.rb-grid-scroll{overflow-x:auto}.rb-grid{width:100%;border-collapse:collapse;font-size:12px}.rb-grid th,.rb-grid td{border-bottom:1px solid var(--border-subtle);padding:5px 6px;text-align:left;vertical-align:middle}.rb-grid th{font-size:11px;font-weight:600;color:var(--text-secondary);white-space:nowrap;position:relative}.rb-grid-compact td,.rb-grid-compact th{padding:3px 4px}.rb-grid-empty{padding:14px 6px!important}.rb-col-index{width:32px;color:var(--text-muted);white-space:nowrap}.rb-col-name{display:block;font-family:monospace;color:var(--text-primary)}.rb-col-kind{display:block;font-weight:400;color:var(--text-muted)}.rb-col-remove{position:absolute;top:2px;right:0;opacity:0}.rb-grid th:hover .rb-col-remove{opacity:1}.rb-col-actions{white-space:nowrap;width:1%}.rb-cell-invalid{outline:2px solid var(--accent-danger);outline-offset:-2px;background:#ef44440d}.rb-row-invalid td{background:#ef44440a}.rb-error-mark{color:var(--accent-danger);margin-left:3px;vertical-align:middle;cursor:help}.rb-default-row td{background:var(--bg-input);border-top:2px solid var(--border-subtle)}.rb-default-label{font-weight:600;color:var(--text-primary)}.rb-input,.rb-select,.rb-textarea{font:inherit;font-size:12px;background:var(--bg-input);border:1px solid transparent;border-radius:6px;padding:4px 6px;color:var(--text-primary)}.rb-input:focus,.rb-select:focus,.rb-textarea:focus{outline:none;border-color:var(--border-active);background:#fff}.rb-input-invalid,.form-group input.rb-input-invalid{border-color:var(--accent-danger)!important}.rb-input-number{width:80px}.rb-input-range{width:110px;font-family:monospace}.rb-input-formula{width:200px;font-family:monospace}.rb-textarea{width:100%;box-sizing:border-box;resize:vertical}.rb-parsed{display:inline-flex;flex-direction:column;gap:2px}.rb-field-hint{font-size:11px;color:var(--text-muted);max-width:260px}.rb-field-hint-error{color:var(--accent-danger)}.rb-cell-text code,.rb-cell-text{font-size:12px}.rb-cell-any{color:var(--text-muted);font-style:italic}.rb-cell-add{display:inline-flex;align-items:center;gap:2px;background:none;border:1px dashed var(--border-subtle);border-radius:6px;padding:2px 6px;font-size:11px;color:var(--text-muted);cursor:pointer}.rb-cell-add:hover{color:var(--accent-primary);border-color:var(--border-active)}.rb-cell-label{color:var(--text-muted);font-size:11px}.rb-range-cell,.rb-value-cell{display:inline-flex;align-items:flex-start;gap:3px}.rb-bracket{font-family:monospace;font-weight:700;font-size:13px;width:20px;height:24px;border:1px solid var(--border-subtle);background:var(--bg-card);border-radius:4px;cursor:pointer;padding:0}.rb-bracket:hover:not(:disabled){border-color:var(--border-active);color:var(--accent-primary)}.rb-bracket:disabled{opacity:.4;cursor:default}.rb-icon-btn{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;padding:3px;border-radius:4px;color:var(--text-secondary);cursor:pointer}.rb-icon-btn:hover:not(:disabled){background:var(--bg-input);color:var(--text-primary)}.rb-icon-btn:disabled{opacity:.3;cursor:default}.rb-icon-danger:hover:not(:disabled){color:var(--accent-danger)}.rb-btn-sm{padding:4px 10px!important;font-size:12px!important}.rb-citation-btn{display:inline-flex;align-items:center;gap:6px;max-width:260px;text-align:left;background:none;border:1px solid var(--border-subtle);border-radius:6px;padding:3px 8px;cursor:pointer;font-size:11px;color:var(--text-secondary)}.rb-citation-btn:hover{border-color:var(--border-active)}.rb-citation-text{display:flex;flex-direction:column;min-width:0}.rb-citation-doc,.rb-citation-clause{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rb-citation-clause{color:var(--text-muted)}.rb-citation-missing{color:var(--accent-danger);font-weight:600}.rb-add-output{display:flex;align-items:center;gap:8px;color:var(--text-secondary)}.rb-drawer-overlay{position:fixed;inset:0;background:#0003;z-index:1000;display:flex;justify-content:flex-end}.rb-drawer{width:400px;max-width:92vw;height:100%;background:var(--bg-card);box-shadow:var(--shadow-lg);display:flex;flex-direction:column}.rb-drawer-header{display:flex;justify-content:space-between;align-items:flex-start;padding:18px 20px 8px}.rb-drawer-header h3{margin:0;font-size:15px}.rb-drawer-body{padding:8px 20px;overflow-y:auto;flex:1}.rb-drawer-footer{padding:12px 20px;border-top:1px solid var(--border-subtle);display:flex;justify-content:flex-end}.rb-lists,.rb-tests{display:flex;flex-direction:column;gap:12px;align-items:stretch}.rb-lists>.btn,.rb-tests>.btn{align-self:flex-start}.rb-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:12px 14px;display:flex;flex-direction:column;gap:8px}.rb-card-failed{border-color:#ef444473}.rb-card-header{display:flex;align-items:flex-end;gap:10px}.rb-card-header .form-row{flex:1}.rb-card .form-group{margin-bottom:0}.rb-test-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px}.rb-test-failures{margin:0;padding:6px 10px 6px 24px;background:#ef44440f;border-radius:6px;color:var(--accent-danger);font-size:12px}.rb-test-citation{gap:10px}.rb-json{display:flex;flex-direction:column;gap:16px}.rb-pre{background:var(--bg-input);border-radius:var(--radius-sm);padding:12px;font-size:11px;max-height:520px;overflow:auto;margin:0;white-space:pre}.rb-pre-short{max-height:280px}.rb-json-textarea{min-height:160px;font-family:monospace;margin-bottom:8px}.rb-checks{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);position:sticky;top:16px;max-height:calc(100vh - 32px);overflow-y:auto}.rb-checks-section{padding:12px 14px;border-bottom:1px solid var(--border-subtle);font-size:12px}.rb-checks-section:last-child{border-bottom:none}.rb-checks-title{display:flex;align-items:center;gap:8px;margin-bottom:8px}.rb-checks-title h3{margin:0;font-size:13px;flex:1}.rb-check-status{display:flex;align-items:center;gap:6px;font-weight:600;font-size:13px;margin-bottom:4px}.rb-check-line{margin-bottom:4px}.rb-error-list{list-style:none;padding:0;margin:6px 0 0;color:var(--accent-danger);display:flex;flex-direction:column;gap:3px}.rb-impact-output,.rb-diff-output{margin-top:6px}.rb-impact-output summary,.rb-diff-output summary{cursor:pointer}.rb-impact-counts{color:var(--text-secondary);margin-left:6px}.rb-kept{color:#b45309;font-size:11px}.rb-diff-rows{list-style:none;padding:0 0 0 10px;margin:4px 0;display:flex;flex-direction:column;gap:4px}.rb-diff-before{color:var(--accent-danger);font-family:monospace;font-size:11px;word-break:break-all}.rb-diff-after{color:var(--accent-success);font-family:monospace;font-size:11px;word-break:break-all}.rb-diff-added{background:#207e541f;color:var(--accent-success)}.rb-diff-removed{background:#ef44441a;color:var(--accent-danger)}.rb-diff-changed{background:#f59e0b1f;color:#b45309}.rb-diff-rows li.rb-diff-added,.rb-diff-rows li.rb-diff-removed,.rb-diff-rows li.rb-diff-changed{background:none;color:inherit}.rb-submit .btn{width:100%;justify-content:center}.rb-submit-blockers{margin:8px 0 0;padding-left:18px;color:var(--text-secondary)}.rb-apply-checkbox{display:flex;align-items:flex-start;gap:6px;margin-bottom:8px;cursor:pointer}.rb-apply-checkbox input{margin-top:2px}.rb-apply-counts{list-style:none;padding:0;margin:0 0 8px;display:flex;flex-wrap:wrap;gap:4px 12px}.rb-apply-counts strong{color:var(--text-primary)}.rb-apply-action{margin-top:8px}.rb-apply-action p{margin:4px 0 0}.rb-warning-list{list-style:none;padding:0;margin:6px 0 0;color:#b45309;display:flex;flex-direction:column;gap:3px}.rb-diff-notes{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.rb-last-review{margin-top:6px;padding:8px 10px;border-radius:var(--radius-sm);background:#ef44440f;border:1px solid rgba(239,68,68,.3);font-size:13px}.rb-last-review-meta{color:var(--text-secondary);font-size:12px;margin-top:2px}.rb-conflict{border:1px solid rgba(239,68,68,.45);background:#ef44440a;border-radius:var(--radius-sm);padding:14px;margin-bottom:14px}.rb-conflict-head{display:flex;gap:10px;color:var(--text-primary);font-size:13px}.rb-conflict-head>svg{color:var(--accent-danger);flex-shrink:0;margin-top:2px}.rb-conflict-head p{margin:4px 0 0;color:var(--text-secondary)}.rb-conflict-copies{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}.rb-conflict-actions{display:flex;gap:8px;justify-content:flex-end}.page-header h1,.sidebar-brand h2,.stat-card-value,.dash-card-value,.modal-header h2,.modal-header h3{font-family:var(--font-display);letter-spacing:-.015em}.admin-cell-mono{font-family:var(--font-mono)}.nav-section-label{padding:4px 12px 2px;font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.sidebar-nav{overflow-y:auto}.nav-group{display:flex;flex-direction:column;gap:4px}.nav-group+.nav-group{margin-top:10px}.nav-link-label{flex:1;min-width:0}.nav-badge{padding:0 7px;border-radius:999px;background:var(--warn-bg);border:1px solid var(--border-subtle);font-size:11.5px;font-weight:600;color:var(--text-secondary)}.global-search{position:relative;display:flex;align-items:center;gap:8px;width:360px;max-width:60%;padding:0 12px;border-radius:var(--radius-sm);border:1px solid transparent;background:var(--bg-input);color:var(--text-muted)}.global-search:focus-within{border-color:var(--border-active)}.global-search input{flex:1;min-width:0;padding:8px 0;border:none;outline:none;background:transparent;font:inherit;font-size:13px;color:var(--text-primary)}.global-search input::placeholder{color:var(--faint)}.global-search-results{position:absolute;top:calc(100% + 6px);left:0;right:0;min-width:320px;max-height:70vh;overflow-y:auto;padding:6px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:100}.global-search-kind{padding:8px 10px 4px;font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}.global-search-hit{display:block;width:100%;padding:7px 10px;border:none;border-radius:var(--radius-sm);background:none;text-align:left;font:inherit;cursor:pointer}.global-search-hit.on{background:var(--bg-card-hover)}.global-search-title{display:block;font-size:13px;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.global-search-note{display:block;font-size:12px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.global-search-empty{padding:10px;font-size:13px;color:var(--text-muted)}.confirm-title{font-family:var(--font-display);font-size:17px;font-weight:600;letter-spacing:-.015em}.confirm-message{margin-top:8px;font-size:13.5px;line-height:1.55;color:var(--text-secondary)}.chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.chip{padding:6px 12px;border-radius:999px;border:1px solid var(--border-subtle);background:var(--bg-card);font:inherit;font-size:13px;color:var(--text-secondary);cursor:pointer}.chip:hover{border-color:var(--line2);color:var(--text-primary)}.chip:focus-visible{outline:2px solid var(--border-active);outline-offset:2px}.chip.on{background:var(--text-primary);border-color:var(--text-primary);color:var(--text-inverse);font-weight:600}.chip-count{margin-left:6px;opacity:.7}.page-tabs{display:flex;gap:22px;margin-bottom:20px;border-bottom:1px solid var(--border-subtle)}.page-tab{padding:8px 0;margin-bottom:-1px;border-bottom:2px solid transparent;font-size:14px;font-weight:500;color:var(--text-secondary)}.page-tab:hover{color:var(--text-primary)}.page-tab.on{border-bottom-color:var(--accent-primary);color:var(--accent-primary);font-weight:600}.page-tab-count{margin-left:6px;font-weight:400;opacity:.7}.tab-intro{margin-bottom:16px;font-size:13px;color:var(--text-secondary)}.table-foot{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;padding:10px 16px;border-top:1px solid var(--border-subtle);font-size:12px;color:var(--text-muted)}.table-foot .act-link-btn{font-size:12px}.table-foot .act-link-btn:disabled{color:var(--faint);cursor:default;text-decoration:none}.pager{display:inline-flex;align-items:center;gap:12px}.table-stale{opacity:.55}.row-menu-cell{width:1%;text-align:right}.row-menu-btn{display:inline-flex;padding:4px 6px;border:none;border-radius:var(--radius-sm);background:none;color:var(--text-secondary);cursor:pointer}.row-menu-btn:hover:not(:disabled){background:var(--bg-input);color:var(--text-primary)}.row-menu-btn:focus-visible{outline:2px solid var(--border-active)}.row-menu-btn .spinner{width:14px;height:14px}.row-menu{position:fixed;min-width:190px;padding:4px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);z-index:200}.row-menu-item{display:block;width:100%;padding:8px 10px;border:none;border-radius:6px;background:none;text-align:left;font:inherit;font-size:13px;color:var(--text-primary);cursor:pointer}.row-menu-item:hover,.row-menu-item:focus-visible{background:var(--bg-card-hover);outline:none}.row-menu-item.danger{color:var(--accent-danger)}.role-pill{display:inline-block;padding:1px 9px;border-radius:999px;background:var(--bg-input);font-size:12px;font-weight:600;color:var(--text-secondary);white-space:nowrap}.role-pill-platform{background:#a3502d1a;color:var(--accent-primary)}.pill-inactive{color:#ef4444;background:#ef44441a}.version-pill{display:inline-block;margin-right:4px;padding:1px 9px;border-radius:999px;font-size:12px;font-weight:600}.version-pill:hover{text-decoration:underline}.version-pill-draft{background:#a3502d1a;color:var(--accent-primary)}.version-pill-review{background:var(--warn-bg);color:var(--accent-warning)}.inline-problem{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;padding:9px 14px;border:1px solid rgba(209,52,56,.25);border-radius:var(--radius-sm);background:#d134380d;font-size:13px;color:var(--accent-danger)}.needs{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin-bottom:20px}.need,.sys-callout{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--warn-bg);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary)}a.need{transition:border-color .15s}a.need:hover{border-color:var(--border-active);color:var(--text-primary)}a.need:focus-visible{outline:2px solid var(--border-active);outline-offset:2px}.need>svg{color:var(--text-secondary);flex-shrink:0}.need-n{font-family:var(--font-display);font-size:22px;font-weight:600}.need-text{flex:1;min-width:0}.need-label{display:block;font-size:13px;font-weight:600}.need-note{display:block;font-size:12px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sys-callout{align-items:flex-start;margin-bottom:20px}.sys-callout-line{display:block;font-size:12px;color:var(--text-secondary)}a.org-asking{color:var(--accent-primary)}a.org-asking:hover{text-decoration:underline}.asking-admin+.asking-admin{margin-top:4px}.asking-actions{white-space:nowrap;text-align:right}.asking-actions .btn+.btn{margin-left:8px}.next-step{width:1%;white-space:nowrap;text-align:right}.next-step .btn,.asking-actions .btn{background:var(--bg-card);border-color:var(--line2);color:var(--text-primary)}.defaults-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:16px;align-items:start}.defaults-card{padding:18px 20px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.defaults-card-head{display:flex;align-items:center;gap:12px}.defaults-card-head h2{flex:1;font-family:var(--font-display);font-size:16px;font-weight:600;letter-spacing:-.015em}.defaults-saved{font-size:12px;color:var(--accent-success)}.defaults-saved:before{content:"✓ "}.defaults-save{padding:6px 14px}.defaults-save:disabled{opacity:.5;cursor:default;transform:none;box-shadow:none}.defaults-help{margin:4px 0 10px;font-size:13px;color:var(--text-secondary)}.defaults-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid var(--bg-input);font-size:13px}.defaults-field{display:inline-flex;align-items:center;gap:10px}.defaults-row select,.defaults-row input[type=number]{padding:6px 10px;border:1px solid transparent;border-radius:var(--radius-sm);background:var(--bg-input);font:inherit;font-size:13px;font-weight:600;color:var(--text-primary)}.defaults-row input[type=number]{width:84px;text-align:right}.defaults-row select:focus,.defaults-row input[type=number]:focus{outline:none;border-color:var(--border-active)}.defaults-row input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent-primary)}.defaults-error{font-size:12.5px;color:var(--accent-danger)}p.defaults-error{margin-top:8px}.rb-trace{border-top:1px solid var(--border-subtle);padding-top:10px;display:flex;flex-direction:column;gap:10px;font-size:12.5px}.rb-trace-outputs{display:flex;flex-wrap:wrap;gap:6px}.rb-trace-chip{font:inherit;font-size:12px;padding:3px 9px;border:1px solid var(--border-subtle);border-radius:999px;background:var(--bg-card);color:var(--text-secondary);cursor:pointer}.rb-trace-chip-expected{font-weight:600}.rb-trace-chip-active{border-color:var(--accent-primary);color:var(--accent-primary)}.rb-trace-body{display:flex;gap:14px;align-items:flex-start;flex-wrap:wrap}.rb-trace-scroll{overflow-x:auto;max-width:100%;flex:0 1 auto}.rb-trace-svg{display:block}.rb-trace-edge{fill:none;stroke:var(--text-muted);stroke-width:1}.rb-trace-edge-dashed{stroke-dasharray:4 3}.rb-trace-edge-active{stroke:var(--accent-primary);stroke-width:1.5}.rb-trace-node{cursor:pointer;outline:none}.rb-trace-node:focus-visible{outline:2px solid var(--accent-primary);outline-offset:3px}.rb-trace-node rect{fill:var(--bg-card);stroke:var(--border-subtle);stroke-width:1}.rb-trace-title{font-size:12.5px;font-weight:600;fill:var(--text-primary)}.rb-trace-sub{font-size:11.5px;fill:var(--text-secondary)}.rb-trace-muted rect{stroke-dasharray:4 3;fill:var(--bg-secondary)}.rb-trace-muted .rb-trace-title{fill:var(--text-secondary);font-weight:500}.rb-trace-strong rect{stroke:var(--accent-success);stroke-width:1.5;fill:#207e540f}.rb-trace-bad rect{stroke:var(--accent-danger);fill:#d134380d}.rb-trace-selected rect{stroke:var(--accent-primary);stroke-width:2}.rb-trace-detail{flex:1 1 260px;min-width:240px;display:flex;flex-direction:column;gap:4px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:10px 12px;background:var(--bg-secondary)}.rb-trace-detail h4{margin:0;font-size:13px}.rb-trace-detail ul{margin:2px 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:2px}.rb-trace-detail li{display:flex;gap:6px;align-items:baseline}.rb-trace-stale{display:flex;align-items:center;gap:8px;color:var(--text-secondary)}.rb-trace-note{color:var(--text-secondary);border-left:2px solid var(--accent-primary);padding-left:8px}.rb-row-highlight td{background:#a3502d1a}
