*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f9fafb;color:#1f2937}.btn{padding:.75rem 1.5rem;border:none;border-radius:.5rem;font-size:1rem;cursor:pointer;transition:all .2s;font-weight:500}.btn-primary{background-color:#3b82f6;color:#fff}.btn-primary:hover{background-color:#2563eb;box-shadow:0 4px 12px #3b82f64d}.btn-primary:disabled{background-color:#d1d5db;cursor:not-allowed}.btn-secondary{background-color:#e5e7eb;color:#1f2937}.btn-secondary:hover{background-color:#d1d5db}.btn-large{padding:1rem 2rem;font-size:1.125rem;width:100%}.btn-sm{padding:.375rem .75rem;font-size:.875rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#374151}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:1rem;font-family:inherit}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-group small{display:block;margin-top:.25rem;color:#6b7280;font-size:.875rem}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:.75rem;padding:2rem;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px #00000026}.modal-large{max-width:700px}.modal-content h2{margin-bottom:1rem;font-size:1.5rem}.modal-content p{margin-bottom:1.5rem;color:#6b7280}.badge{display:inline-block;padding:.25rem .75rem;border-radius:9999px;font-size:.875rem;font-weight:600}.badge-success{background-color:#d1fae5;color:#065f46}.badge-error{background-color:#fee2e2;color:#991b1b}.error-message{padding:1rem;background-color:#fee2e2;color:#991b1b;border-radius:.375rem;margin-bottom:1.5rem;border-left:4px solid #dc2626}.success-message{padding:1rem;background-color:#d1fae5;color:#065f46;border-radius:.375rem;margin-bottom:1.5rem;border-left:4px solid #10b981}.alert{padding:1.5rem;border-radius:.5rem;margin-bottom:1.5rem}.alert-success{background-color:#d1fae5;color:#065f46;border:1px solid #6ee7b7}.code-block{background-color:#1f2937;color:#f3f4f6;padding:1rem;border-radius:.375rem;margin-bottom:1rem;overflow-x:auto}.code-block h3,.code-block h4{margin-bottom:.5rem;color:#93c5fd}.code-block pre{font-family:Monaco,Courier New,monospace;font-size:.875rem;line-height:1.5;white-space:pre-wrap;word-break:break-word}.loading{text-align:center;padding:2rem;color:#6b7280}.empty-state{text-align:center;padding:2rem;color:#9ca3af;background-color:#f3f4f6;border-radius:.5rem}.table-container{overflow-x:auto}.tenant-table{width:100%;border-collapse:collapse;margin-bottom:2rem}.tenant-table thead{background-color:#f3f4f6}.tenant-table th{padding:1rem;text-align:left;font-weight:600;color:#374151;border-bottom:2px solid #e5e7eb}.tenant-table td{padding:1rem;border-bottom:1px solid #e5e7eb}.tenant-row:hover{background-color:#f9fafb}.cell-slug{font-weight:600;color:#1f2937}.cell-number{text-align:right;font-weight:600}.cell-metric{min-width:150px}.metric-bar{display:flex;align-items:center;gap:.5rem;height:24px;background-color:#e5e7eb;border-radius:4px;overflow:hidden}.metric-fill{background-color:#10b981;height:100%;transition:width .3s}.secondary{color:#6b7280;font-size:.875rem}.app-shell{min-height:100vh;background-color:#f9fafb}.admin-dashboard{max-width:1400px;margin:0 auto;padding:2rem}.dashboard-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:2px solid #e5e7eb}.header-content h1{font-size:1.875rem;font-weight:700;color:#111827;margin-bottom:.25rem}.header-content p{color:#6b7280;font-size:.875rem}.dashboard-layout{display:flex;flex-direction:column;gap:2rem}.summary-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.summary-card{background:#fff;border-radius:.75rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a;border:1px solid #e5e7eb}.card-label{font-size:.875rem;color:#6b7280;font-weight:500;margin-bottom:.5rem}.card-value{font-size:2rem;font-weight:700;color:#111827}.tenants-section,.chart-section{background:#fff;border-radius:.75rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a;border:1px solid #e5e7eb}.tenants-section h2,.chart-section h2{font-size:1.25rem;font-weight:600;color:#111827;margin-bottom:1rem}.chart-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.chart-wrapper h3{font-size:1rem;font-weight:600;color:#374151;margin-bottom:1rem}.tenant-portal-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;color:#6b7280;text-align:center;gap:.5rem}.tenant-portal{max-width:1200px;margin:0 auto;padding:2rem}.portal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:2px solid #e5e7eb}.portal-header h1{font-size:1.5rem;font-weight:700;color:#111827;margin-bottom:.25rem}.portal-header p{color:#6b7280;font-size:.875rem}.portal-nav{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:2px solid #e5e7eb;padding-bottom:0}.nav-btn{padding:.75rem 1.25rem;border:none;background:transparent;font-size:.9375rem;font-weight:500;color:#6b7280;cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px;transition:color .15s,border-color .15s}.nav-btn:hover{color:#111827}.nav-btn.active{color:#3b82f6;border-bottom-color:#3b82f6}.portal-content{background:#fff;border-radius:.75rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a;border:1px solid #e5e7eb}.overview-tab{display:flex;flex-direction:column;gap:2rem}.metrics-section h2{font-size:1.125rem;font-weight:600;color:#111827;margin-bottom:1rem}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.metric-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;padding:1.25rem}.metric-label{font-size:.8125rem;color:#6b7280;font-weight:500;margin-bottom:.375rem}.metric-value{font-size:1.75rem;font-weight:700;color:#111827}.metric-subtext{font-size:.8125rem;color:#9ca3af;margin-top:.25rem}.tenant-settings{display:flex;flex-direction:column;gap:2rem}.settings-section{border-bottom:1px solid #e5e7eb;padding-bottom:1.5rem}.settings-section:last-child{border-bottom:none}.settings-section h2{font-size:1.125rem;font-weight:600;color:#111827;margin-bottom:1rem}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.setting-group{margin-bottom:1rem}.setting-group label{display:block;font-size:.8125rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.setting-value{font-size:.9375rem;color:#111827}.setting-value.code{font-family:Monaco,Courier New,monospace;background:#f3f4f6;padding:.25rem .5rem;border-radius:.25rem;font-size:.875rem}.api-key-manager{display:flex;flex-direction:column;gap:1.5rem}.api-keys-section h2{font-size:1.125rem;font-weight:600;color:#111827;margin-bottom:.375rem}.api-keys-section>p{color:#6b7280;font-size:.875rem;margin-bottom:1.5rem}.api-keys-form{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;padding:1.25rem;margin-bottom:1.5rem}.api-keys-form .form-row{align-items:flex-end}.api-keys-list h3{font-size:1rem;font-weight:600;color:#111827;margin-bottom:.75rem}.keys-table{width:100%;border-collapse:collapse}.keys-table th{padding:.75rem 1rem;text-align:left;font-size:.8125rem;font-weight:600;color:#374151;background:#f3f4f6;border-bottom:2px solid #e5e7eb}.keys-table td{padding:.75rem 1rem;border-bottom:1px solid #e5e7eb;font-size:.875rem}.keys-table tr:hover td{background:#f9fafb}.button-group{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem}.help-text{font-size:.8125rem;color:#9ca3af;margin-top:1rem}@media (max-width: 768px){.admin-dashboard,.tenant-portal{padding:1rem}.dashboard-header,.portal-header{flex-direction:column;align-items:flex-start;gap:1rem}.summary-section,.metrics-grid{grid-template-columns:1fr 1fr}.form-row{grid-template-columns:1fr}.modal-content{max-width:95%}.btn{padding:.625rem 1.25rem}.chart-grid{grid-template-columns:1fr}}
