:root{--color-bg: #f5f5f7;--color-surface: #ffffff;--color-text: #1d1d1f;--color-text-muted: #6e6e73;--color-primary: #0071e3;--color-primary-hover: #0077ed;--color-danger: #ff3b30;--color-danger-hover: #e0342b;--color-success: #34c759;--color-warning: #ff9500;--color-border: #d2d2d7;--color-highlight-bg: #fffbe6;--radius: 12px;--radius-sm: 8px;--shadow: 0 1px 3px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 30px rgba(0, 0, 0, .12);--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font);background:var(--color-bg);color:var(--color-text);line-height:1.5;-webkit-font-smoothing:antialiased}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh}.login-container{text-align:center}.login-title{font-size:2rem;font-weight:700;margin-bottom:.25rem}.login-subtitle{color:var(--color-text-muted);margin-bottom:2rem}.dashboard-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 2rem;background:var(--color-surface);border-bottom:1px solid var(--color-border)}.dashboard-header h1{font-size:1.25rem;font-weight:600}.header-right{display:flex;align-items:center;gap:1rem}.user-email{color:var(--color-text-muted);font-size:.875rem}.dashboard-content,.page-content{max-width:900px;margin:0 auto;padding:2rem}.dashboard-content h2,.page-header h2{font-size:1.5rem;font-weight:600;margin-bottom:1.5rem}.page-header{max-width:900px;margin:0 auto;padding:2rem 2rem 0}.back-link{display:inline-block;color:var(--color-primary);text-decoration:none;font-size:.875rem;margin-bottom:.5rem}.back-link:hover{text-decoration:underline}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow)}.card-wide{margin-bottom:1.5rem}.card-highlight{border-color:var(--color-warning);background:var(--color-highlight-bg)}.card h3{font-size:1.125rem;font-weight:600;margin-bottom:.75rem}.card-text{color:var(--color-text-muted);margin-bottom:1rem;font-size:.9375rem}.card-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.card-header-row h3{margin-bottom:0}.badge{display:inline-block;padding:.2em .6em;border-radius:999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.badge-success{background:#e8f8ed;color:#1a7a34}.badge-warning{background:#fff3e0;color:#b86e00}.badge-muted{background:#f0f0f0;color:#888}.btn{display:inline-block;padding:.5rem 1rem;border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;border:none;cursor:pointer;text-decoration:none;transition:background .15s,opacity .15s;line-height:1.5}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-secondary{background:var(--color-bg);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background:#e8e8ed}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover:not(:disabled){background:var(--color-danger-hover)}.btn-sm{padding:.25rem .625rem;font-size:.8125rem}.button-group{display:flex;gap:.75rem;margin-top:1rem}.table-wrapper{overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:.875rem}.table th,.table td{text-align:left;padding:.75rem 1rem;border-bottom:1px solid var(--color-border)}.table th{font-weight:600;color:var(--color-text-muted);font-size:.8125rem;text-transform:uppercase;letter-spacing:.04em}.table code{background:var(--color-bg);padding:.15em .4em;border-radius:4px;font-size:.8125rem}.key-display{display:flex;align-items:center;gap:.75rem;margin:1rem 0;padding:.75rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.key-value{flex:1;font-size:.8125rem;word-break:break-all;background:none}.code-block{background:#1d1d1f;color:#f5f5f7;padding:1rem 1.25rem;border-radius:var(--radius-sm);font-size:.8125rem;line-height:1.6;overflow-x:auto;white-space:pre}.form-label{display:block;font-size:.875rem;font-weight:500;margin-bottom:1rem}.form-input{display:block;width:100%;margin-top:.375rem;padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.875rem;font-family:var(--font);outline:none;transition:border-color .15s}.form-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #0071e326}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:var(--color-surface);border-radius:var(--radius);padding:2rem;width:100%;max-width:420px;box-shadow:var(--shadow-lg)}.modal h3{margin-bottom:1rem}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem}.text-muted{color:var(--color-text-muted);font-size:.875rem}.text-error{color:var(--color-danger);font-size:.875rem}.help-text{margin-top:1rem;line-height:1.6}@media(max-width:640px){.dashboard-header{flex-direction:column;gap:.75rem;text-align:center}.card-grid{grid-template-columns:1fr}.dashboard-content,.page-content,.page-header{padding-left:1rem;padding-right:1rem}}
