/* Internal pages — styles for dashboard, status, admin, costs */

/* 404 */
.e404{text-align:center;padding:8rem 1rem}
.e404 h1{font-size:1.2rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;margin-bottom:.5rem}
.e404 p{font-size:.8rem;opacity:.5}

/* Status */
.status-grid{display:flex;gap:3rem;justify-content:center;flex-wrap:wrap;padding:4rem 0}
.status-svc{text-align:center;min-width:100px}
.status-dot{width:56px;height:56px;border-radius:50%;margin:0 auto 1rem;transition:all .3s}
.status-dot.green{background:#22c55e;box-shadow:0 0 24px #22c55e33}
.status-dot.yellow{background:#eab308;box-shadow:0 0 24px #eab30833}
.status-dot.red{background:#ef4444;box-shadow:0 0 24px #ef444433}
.status-dot.loading{background:rgb(var(--c-outline-variant));animation:pulse 1.5s infinite}
@keyframes pulse{0%,100%{opacity:.4}50%{opacity:1}}
.status-name{font-size:.85rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase}
.status-msg{font-size:.7rem;opacity:.5;margin-top:.3rem;min-height:1.2rem}
.status-meta{text-align:center;font-size:.7rem;opacity:.4;padding-bottom:2rem}
.status-hero{text-align:center;padding-top:6rem}
.status-hero h1{font-size:1.2rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;margin-bottom:.3rem}
.status-hero p{font-size:.8rem;opacity:.5}
.status-links{text-align:center;padding:2rem 0 4rem;font-size:.8rem}
.status-links a{color:rgb(var(--c-primary));text-decoration:none;margin:0 1rem}

/* Stats */
.csl-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem}
.csl-stat{background:rgb(var(--c-surface-container));border:1px solid rgb(var(--c-outline-variant)/.15);border-radius:.25rem;padding:1rem}
.csl-stat-label{font-size:.65rem;color:rgb(var(--c-outline));text-transform:uppercase;letter-spacing:.1em}
.csl-stat-value{font-size:1.4rem;font-weight:600;margin-top:.25rem;color:rgb(var(--c-on-surface));font-family:'Space Grotesk',sans-serif}
.csl-stat-sub{font-size:.7rem;color:rgb(var(--c-outline))}

/* Bars */
.csl-bar{height:4px;background:rgb(var(--c-outline-variant)/.2);border-radius:2px;margin-top:.4rem;overflow:hidden}
.csl-bar-fill{height:100%;border-radius:2px;transition:width .3s}
.csl-bar-fill.ok{background:#22c55e}.csl-bar-fill.warn{background:#eab308}.csl-bar-fill.danger{background:#ef4444}

/* Badges */
.csl-badge{display:inline-block;font-size:.65rem;padding:2px 8px;border-radius:.125rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}
.csl-badge-success{background:rgb(34 197 94/.12);color:#22c55e}
.csl-badge-warn{background:rgb(234 179 8/.12);color:#eab308}
.csl-badge-danger{background:rgb(239 68 68/.12);color:#ef4444}
.csl-badge-neutral{background:rgb(var(--c-outline-variant)/.15);color:rgb(var(--c-outline))}

/* Section labels */
.csl-section-label{font-size:.7rem;font-weight:500;color:rgb(var(--c-outline));text-transform:uppercase;letter-spacing:.15em;margin:2rem 0 .75rem}

/* Buttons */
.csl-btn{display:inline-flex;align-items:center;gap:.5rem;font-family:'Rajdhani',sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.15em;font-size:.8rem;padding:.6rem 1.2rem;border:1px solid rgb(var(--c-outline-variant)/.3);background:rgb(var(--c-surface-container));color:rgb(var(--c-on-surface));cursor:pointer;border-radius:.125rem}
.csl-btn:hover{border-color:rgb(var(--c-primary));color:rgb(var(--c-primary))}
.csl-btn:disabled{opacity:.4;cursor:not-allowed}
.csl-btn-primary{background:rgb(var(--c-primary));color:rgb(var(--c-on-primary));border-color:rgb(var(--c-primary))}
.csl-btn-primary:hover{filter:brightness(1.1);color:rgb(var(--c-on-primary))}
.csl-btn-danger:hover{border-color:#ef4444;color:#ef4444}
.csl-btn-success:hover{border-color:#22c55e;color:#22c55e}
.csl-btn-warn:hover{border-color:#eab308;color:#eab308}

/* Inputs */
.csl-select,.csl-input{background:rgb(var(--c-surface-container-low));border:1px solid rgb(var(--c-outline-variant)/.3);color:rgb(var(--c-on-surface));padding:.5rem .75rem;font-family:Inter,sans-serif;font-size:.8rem;border-radius:.125rem}

/* Tables */
.csl-table{width:100%;border-collapse:collapse;font-size:.8rem}
.csl-table th{text-align:left;color:rgb(var(--c-outline));font-weight:500;padding:.5rem .75rem;border-bottom:1px solid rgb(var(--c-outline-variant)/.2);font-size:.7rem;text-transform:uppercase;letter-spacing:.05em}
.csl-table td{padding:.5rem .75rem;border-bottom:1px solid rgb(var(--c-outline-variant)/.1);color:rgb(var(--c-on-surface-variant))}

/* Empty state */
.csl-empty{color:rgb(var(--c-outline));font-size:.85rem;padding:2rem;text-align:center;background:rgb(var(--c-surface-container));border:1px solid rgb(var(--c-outline-variant)/.15);border-radius:.25rem}

/* Spinner */
.csl-spinner{display:inline-block;width:24px;height:24px;border:2px solid rgb(var(--c-outline-variant)/.3);border-top:2px solid rgb(var(--c-primary));border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* Forms */
.limits-form{display:flex;gap:.75rem;align-items:end;flex-wrap:wrap;margin-bottom:1rem}
.limits-form label{font-size:.7rem;color:rgb(var(--c-outline));display:flex;flex-direction:column;gap:.3rem}
