.usage-dashboard{padding:2rem;max-width:1400px;margin:0 auto}.dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem}.dashboard-header h1{margin:0;font-size:2rem;color:var(--text-primary)}.dashboard-header .subtitle{margin:.5rem 0 0;color:var(--text-secondary);font-size:.95rem}.header-actions{display:flex;align-items:center;gap:1rem}.last-update{color:var(--text-secondary);font-size:.85rem}.refresh-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:6px;color:var(--text-primary);cursor:pointer;transition:all .2s}.refresh-button:hover{background:var(--bg-hover);border-color:var(--border-default)}.refresh-button:disabled{opacity:.6;cursor:not-allowed}.refresh-button.refreshing svg{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.warning-banner{display:flex;align-items:center;gap:.75rem;padding:1rem 1.5rem;background:#ffc1071a;border:1px solid rgba(255,193,7,.3);border-radius:8px;color:#ffc107;margin-bottom:1.5rem;font-weight:500}.warning-banner.critical{background:#f443361a;border-color:#f443364d;color:#f44336}.overview-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{display:flex;align-items:center;gap:1rem;padding:1.5rem;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:12px;transition:all .2s}.stat-card:hover{border-color:var(--border-default);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.card-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:10px;flex-shrink:0}.card-icon.today{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.card-icon.week{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.card-icon.month{background:linear-gradient(135deg,#4facfe,#00f2fe);color:#fff}.card-icon.projection{background:linear-gradient(135deg,#43e97b,#38f9d7);color:#fff}.card-content h3{margin:0 0 .5rem;font-size:.85rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.stat-value{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin-bottom:.25rem}.stat-detail{font-size:.85rem;color:var(--text-secondary)}.providers-section{margin-bottom:2rem}.providers-section h2{margin:0 0 1.5rem;font-size:1.5rem;color:var(--text-primary)}.providers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.provider-card{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:12px;padding:1.5rem;transition:all .2s}.provider-card:hover{border-color:var(--border-default);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.provider-header h3{margin:0 0 1rem;font-size:1.1rem;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.provider-stats{display:flex;flex-direction:column;gap:.75rem}.provider-stat{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--border-subtle)}.provider-stat:last-of-type{border-bottom:none}.provider-stat .label{color:var(--text-secondary);font-size:.9rem}.provider-stat .value{color:var(--text-primary);font-weight:600;font-size:1rem}.provider-details{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-subtle);font-size:.85rem;color:var(--text-secondary);display:flex;flex-direction:column;gap:.5rem}.limits-section{margin-bottom:2rem}.limits-section h2{margin:0 0 1.5rem;font-size:1.5rem;color:var(--text-primary)}.limits-card{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:12px;padding:2rem}.limit-progress{margin-bottom:2rem}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;font-size:.95rem}.progress-header span:first-child{color:var(--text-secondary)}.progress-value{color:var(--text-primary);font-weight:600}.progress-bar{height:12px;background:var(--bg-canvas);border-radius:6px;overflow:hidden;margin-bottom:.5rem}.progress-fill{height:100%;border-radius:6px;transition:width .3s ease}.progress-fill.normal{background:linear-gradient(90deg,#43e97b,#38f9d7)}.progress-fill.warning{background:linear-gradient(90deg,#ffc107,#ff9800)}.progress-fill.critical{background:linear-gradient(90deg,#f44336,#e91e63)}.progress-footer{display:flex;justify-content:space-between;font-size:.85rem;color:var(--text-secondary)}.projection-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.projection-item{display:flex;flex-direction:column;gap:.5rem}.projection-item.warning{padding:1rem;background:#ffc1071a;border:1px solid rgba(255,193,7,.3);border-radius:8px}.projection-item .label{font-size:.85rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.projection-item .value{font-size:1.25rem;font-weight:700;color:var(--text-primary)}.loading-state,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1rem}.spinner{width:48px;height:48px;border:4px solid var(--border-subtle);border-top-color:var(--accent-primary);border-radius:50%;animation:spin 1s linear infinite}.error-state{color:var(--text-secondary)}.error-state h2{color:var(--text-primary);margin:0 0 .5rem}.retry-button{padding:.75rem 1.5rem;background:var(--accent-primary);color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:600;transition:all .2s}.retry-button:hover{background:var(--accent-primary-hover);transform:translateY(-1px)}@media(max-width:768px){.usage-dashboard{padding:1rem}.dashboard-header{flex-direction:column;gap:1rem}.header-actions{width:100%;justify-content:space-between}.overview-cards,.providers-grid,.projection-details{grid-template-columns:1fr}.stat-value{font-size:1.5rem}}@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.italic{font-style:italic}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}:root{--bg-canvas:#0d1117;--bg-elevated:#161b22;--bg-overlay:#1c2128;--bg-inset:#010409;--bg-subtle:#21262d;--text-primary:#fffffff2;--text-secondary:#ffffffbf;--text-tertiary:#ffffff8c;--text-disabled:#ffffff59;--text-placeholder:#ffffff73;--text-link:#4493f8;--border-default:#f0f6fc1a;--border-muted:#f0f6fc0f;--border-emphasis:#6e7681;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 8px #0000004d;--shadow-lg:0 8px 16px #00000059;--shadow-xl:0 16px 32px #0006;--shadow-2xl:0 24px 48px #00000080;--status-todo:#6e7681;--status-progress:#1f6feb;--status-done:#3fb950;--status-todo-bg:#6e76811a;--status-progress-bg:#1f6feb1a;--status-done-bg:#3fb9501a;--status-todo-border:#6e76814d;--status-progress-border:#1f6feb4d;--status-done-border:#3fb9504d;--priority-critical:#f44;--priority-high:#ff8c00;--priority-medium:#ffb800;--priority-low:#4caf50;--priority-none:#6e7681;--priority-critical-bg:#ff444426;--priority-high-bg:#ff8c0026;--priority-medium-bg:#ffb80026;--priority-low-bg:#4caf5026;--priority-critical-border:#ff44444d;--priority-high-border:#ff8c004d;--priority-medium-border:#ffb8004d;--priority-low-border:#4caf504d;--color-accent:#1f6feb;--color-accent-hover:#388bfd;--color-accent-muted:#388bfd1a;--color-success:#3fb950;--color-success-fg:#7ee787;--color-warning:#bb8009;--color-warning-fg:#e3b341;--color-danger:#da3633;--color-danger-fg:#ff7b72;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;--text-2xl:24px;--text-xl:20px;--text-lg:16px;--text-base:14px;--text-sm:13px;--text-xs:12px;--text-2xs:11px;--font-bold:700;--font-semibold:600;--font-medium:500;--font-normal:400;--leading-tight:1.2;--leading-normal:1.4;--leading-relaxed:1.5;--duration-fast:.1s;--duration-normal:.2s;--duration-slow:.3s;--ease-out:cubic-bezier(.4, 0, .2, 1);--ease-in-out:cubic-bezier(.45, 0, .55, 1);--ease-spring:cubic-bezier(.175, .885, .32, 1.275);--transition-fast:all var(--duration-fast) var(--ease-out);--transition-normal:all var(--duration-normal) var(--ease-out);--transition-slow:all var(--duration-slow) var(--ease-out);--icon-xs:12px;--icon-sm:14px;--icon-md:16px;--icon-lg:20px;--icon-xl:24px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background:var(--bg-canvas);color:var(--text-primary);font-size:var(--text-base);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--bg-subtle);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--border-emphasis)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:4px}button:focus-visible{box-shadow:0 0 0 3px var(--color-accent-muted);outline:none}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.skeleton{background:linear-gradient(90deg,var(--bg-subtle) 0%,var(--border-default) 50%,var(--bg-subtle) 100%);background-size:1000px 100%;border-radius:4px;animation:2s linear infinite shimmer}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-overlay{animation:fadeIn var(--duration-normal) var(--ease-out)}.modal{animation:slideUp var(--duration-normal) var(--ease-out)}.truncate-2-lines{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.truncate-3-lines{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
