*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg: #f8f9fa;--color-surface: #ffffff;--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-text: #1f2937;--color-text-secondary: #6b7280;--color-border: #e5e7eb;--color-success: #059669;--color-danger: #dc2626;--radius: 8px;--max-width: 960px}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--color-bg);color:var(--color-text);line-height:1.6}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}.layout{min-height:100vh;display:flex;flex-direction:column}.layout-header{background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:0 24px}.layout-header-inner{max-width:var(--max-width);margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:56px}.layout-header h1{font-size:18px;font-weight:600}.layout-nav{display:flex;gap:24px;align-items:center}.layout-nav a{color:var(--color-text-secondary);font-size:14px}.layout-nav a:hover,.layout-nav a.active{color:var(--color-text);text-decoration:none}.layout-main{flex:1;max-width:var(--max-width);margin:0 auto;padding:32px 24px;width:100%}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:24px;margin-bottom:16px}.card h2{font-size:16px;margin-bottom:16px}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:14px;font-weight:500;margin-bottom:4px}.form-group input,.form-group select{width:100%;padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius);font-size:14px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:8px 16px;border:none;border-radius:var(--radius);font-size:14px;font-weight:500;cursor:pointer;transition:background .15s}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-hover)}.btn-secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover{background:var(--color-bg)}.btn:disabled{opacity:.5;cursor:not-allowed}.usage-bar-container{margin-bottom:8px}.usage-bar{height:8px;background:var(--color-border);border-radius:4px;overflow:hidden}.usage-bar-fill{height:100%;background:var(--color-primary);border-radius:4px;transition:width .3s}.usage-bar-fill.warning{background:#f59e0b}.usage-bar-fill.danger{background:var(--color-danger)}.usage-labels{display:flex;justify-content:space-between;font-size:13px;color:var(--color-text-secondary);margin-top:4px}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:8px 12px;border-bottom:1px solid var(--color-border);font-size:14px}.table th{font-weight:500;color:var(--color-text-secondary);font-size:13px}.auth-container{max-width:400px;margin:80px auto;padding:0 24px}.auth-container h1{font-size:24px;margin-bottom:24px;text-align:center}.error-message{background:#fef2f2;border:1px solid #fecaca;color:var(--color-danger);padding:8px 12px;border-radius:var(--radius);font-size:14px;margin-bottom:16px}.info-message{background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8;padding:8px 12px;border-radius:var(--radius);font-size:14px;margin-bottom:16px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:16px}.stat-card .stat-label{font-size:13px;color:var(--color-text-secondary)}.stat-card .stat-value{font-size:24px;font-weight:600;margin-top:4px}
