:root{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--bg-app:#0f141c;--bg-surface:#171f2c;--bg-surface-hover:#1f2a3c;--bg-surface-elevated:#232f42;--bg-input:#121924;--border-subtle:#263347;--border-strong:#3b4d68;--text-main:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#64748b;--primary:#4f46e5;--primary-hover:#4338ca;--primary-subtle:#4f46e526;--primary-border:#6366f159;--success:#10b981;--success-subtle:#10b98126;--success-border:#10b98159;--warning:#f59e0b;--warning-subtle:#f59e0b26;--warning-border:#f59e0b59;--danger:#ef4444;--danger-hover:#dc2626;--danger-subtle:#ef444426;--danger-border:#ef444459;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-full:9999px;--shadow-sm:0 1px 2px #0003;--shadow-md:0 4px 12px #0000004d;--shadow-lg:0 12px 28px #00000073;--focus-ring:0 0 0 3px #6366f173}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-app);color:var(--text-main);-webkit-font-smoothing:antialiased;min-height:100vh;line-height:1.5}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none}button:focus-visible,input:focus-visible,select:focus-visible{box-shadow:var(--focus-ring);outline:none}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-layout{flex-direction:column;min-height:100vh;display:flex}.app-header{background-color:var(--bg-surface);border-bottom:1px solid var(--border-subtle);z-index:20;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.25rem 2rem;display:flex;position:sticky;top:0}.header-brand{align-items:center;gap:1rem;display:flex}.brand-logo{background:linear-gradient(135deg, var(--primary) 0%, #312e81 100%);color:#fff;border-radius:var(--radius-md);border:1px solid var(--primary-border);flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex;box-shadow:0 4px 10px #4f46e540}.brand-title-row{align-items:center;gap:.65rem;display:flex}.brand-title{letter-spacing:-.02em;color:var(--text-main);font-size:1.2rem;font-weight:700}.badge-mvp{background-color:var(--primary-subtle);color:#a5b4fc;border:1px solid var(--primary-border);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.05em;padding:.15rem .55rem;font-size:.72rem;font-weight:600}.brand-subtitle{color:var(--text-secondary);font-size:.85rem}.header-actions{align-items:center;gap:.75rem;display:flex}.btn{border-radius:var(--radius-md);justify-content:center;align-items:center;gap:.5rem;padding:.6rem 1.1rem;font-size:.875rem;font-weight:600;line-height:1;transition:all .15s ease-in-out;display:inline-flex}.btn-primary{background-color:var(--primary);color:#fff;border:1px solid #0000;box-shadow:0 2px 4px #4f46e54d}.btn-primary:hover:not(:disabled){background-color:var(--primary-hover);box-shadow:0 4px 8px #4f46e566}.btn-secondary{background-color:var(--bg-surface-elevated);color:var(--text-main);border:1px solid var(--border-subtle)}.btn-secondary:hover:not(:disabled){background-color:var(--bg-surface-hover);border-color:var(--border-strong)}.btn-danger{background-color:var(--danger);color:#fff;border:1px solid #0000}.btn-danger:hover:not(:disabled){background-color:var(--danger-hover)}.btn-danger-subtle{background-color:var(--danger-subtle);color:#fca5a5;border:1px solid var(--danger-border)}.btn-danger-subtle:hover:not(:disabled){background-color:#ef444440}.btn-sm{padding:.4rem .8rem;font-size:.8rem}.btn-icon{padding:.6rem .85rem}.btn:disabled{opacity:.6;cursor:not-allowed}.spin{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.app-main{flex-direction:column;flex:1;gap:2rem;width:100%;max-width:1280px;margin:0 auto;padding:2rem;display:flex}.card{background-color:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:border-color .15s ease-in-out}.summary-grid{grid-template-columns:repeat(4,1fr);gap:1.25rem;display:grid}.metric-card{background-color:var(--bg-surface);flex-direction:column;justify-content:space-between;gap:.75rem;padding:1.35rem 1.4rem;display:flex;position:relative;overflow:hidden}.metric-card-highlight{border-color:var(--primary-border);background:linear-gradient(180deg, #4f46e514 0%, var(--bg-surface) 100%)}.metric-header{justify-content:space-between;align-items:center;display:flex}.metric-title{text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);font-size:.825rem;font-weight:600}.metric-icon{color:var(--text-muted)}.metric-value{letter-spacing:-.03em;color:#fff;flex-wrap:wrap;align-items:baseline;gap:.4rem;font-size:1.85rem;font-weight:800;line-height:1.1;display:flex}.metric-unit{color:var(--text-secondary);font-size:.95rem;font-weight:500}.metric-footer{color:var(--text-muted);font-size:.785rem}.metric-renewal-main{flex-direction:column;gap:.35rem;display:flex}.renewal-name-row{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.renewal-name{color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;max-width:140px;font-size:1.15rem;font-weight:700;overflow:hidden}.renewal-sub{color:var(--text-secondary);font-size:.85rem}.skeleton-card{min-height:130px}.skeleton-line{border-radius:var(--radius-sm);background:linear-gradient(90deg,#1f2a3c 25%,#2a374c 50%,#1f2a3c 75%) 0 0/200% 100%;animation:1.5s infinite skeleton-pulse}.skeleton-title{width:50%;height:14px}.skeleton-value{width:75%;height:32px}.skeleton-sub{width:90%;height:12px}@keyframes skeleton-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}.list-section{flex-direction:column;gap:1.25rem;display:flex}.section-header-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.5rem;display:flex}.section-title{letter-spacing:-.02em;font-size:1.3rem;font-weight:700}.section-subtitle{color:var(--text-secondary);margin-top:.2rem;font-size:.875rem}.filter-bar{align-items:center;display:flex}.filter-group{background-color:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);gap:.25rem;padding:.25rem;display:inline-flex}.filter-btn{color:var(--text-secondary);border-radius:var(--radius-sm);align-items:center;gap:.5rem;padding:.45rem .9rem;font-size:.825rem;font-weight:600;transition:all .15s ease-in-out;display:inline-flex}.filter-btn:hover{color:var(--text-main);background-color:var(--bg-surface-hover)}.filter-btn.active{background-color:var(--primary);color:#fff;box-shadow:0 1px 3px #0003}.filter-count{border-radius:var(--radius-full);background-color:#00000040;padding:.1rem .45rem;font-size:.72rem;font-weight:700}.table-container{overflow:hidden}.table-responsive{width:100%;overflow-x:auto}.subscriptions-table{border-collapse:collapse;text-align:left;width:100%;font-size:.875rem}.subscriptions-table th{background-color:var(--bg-input);text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);border-bottom:1px solid var(--border-subtle);white-space:nowrap;padding:.9rem 1.25rem;font-size:.75rem;font-weight:600}.subscriptions-table td{border-bottom:1px solid var(--border-subtle);vertical-align:middle;padding:1.1rem 1.25rem}.subscriptions-table tr:last-child td{border-bottom:none}.subscriptions-table tbody tr:hover{background-color:var(--bg-surface-hover)}.row-inactive{opacity:.65}.cell-name{flex-direction:column;gap:.2rem;display:flex}.sub-name{color:var(--text-main);font-size:.95rem;font-weight:600}.sub-id-hint{color:var(--text-muted);font-family:monospace;font-size:.72rem}.price-primary{color:var(--text-main);font-weight:700}.badge-cycle{color:var(--text-secondary);margin-top:.15rem;font-size:.72rem;display:block}.equiv-value{color:#cbd5e1;font-weight:600}.equiv-hint{color:var(--text-muted);font-size:.7rem;display:block}.renewal-date{font-weight:500}.badge-days{color:var(--text-secondary);margin-top:.2rem;font-size:.72rem;font-weight:600;display:inline-block}.badge{border-radius:var(--radius-full);align-items:center;gap:.35rem;padding:.2rem .55rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-primary{background-color:var(--primary-subtle);color:#a5b4fc;border:1px solid var(--primary-border)}.badge-warning{background-color:var(--warning-subtle);color:#fde68a;border:1px solid var(--warning-border)}.badge-danger{background-color:var(--danger-subtle);color:#fca5a5;border:1px solid var(--danger-border)}.badge-status{border-radius:var(--radius-full);align-items:center;gap:.45rem;padding:.3rem .7rem;font-size:.75rem;font-weight:600;transition:all .15s ease-in-out;display:inline-flex}.status-active{background-color:var(--success-subtle);color:#6ee7b7;border:1px solid var(--success-border)}.status-active:hover{background-color:#10b98140}.status-inactive{color:var(--text-secondary);border:1px solid var(--border-subtle);background-color:#64748b26}.status-inactive:hover{background-color:#64748b40}.status-dot{background-color:currentColor;border-radius:50%;width:6px;height:6px}.action-buttons{align-items:center;gap:.4rem;display:inline-flex}.btn-action{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-secondary);background-color:var(--bg-surface-elevated);border:1px solid var(--border-subtle);justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.btn-action-edit:hover{color:#fff;background-color:var(--primary);border-color:var(--primary)}.btn-action-delete:hover{color:#fff;background-color:var(--danger);border-color:var(--danger)}.text-right{text-align:right}.mobile-cards-list{flex-direction:column;gap:.85rem;padding:1rem;display:none}.mobile-sub-card{background-color:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);flex-direction:column;gap:1rem;padding:1.1rem;display:flex}.mobile-card-inactive{opacity:.7}.mobile-card-top{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.mobile-card-title{color:#fff;font-size:1rem;font-weight:700}.mobile-card-details{background-color:var(--bg-input);border-radius:var(--radius-sm);grid-template-columns:1fr 1fr;gap:.85rem;padding:.75rem;display:grid}.mobile-detail-col{flex-direction:column;gap:.15rem;display:flex}.detail-label{color:var(--text-muted);text-transform:uppercase;font-size:.72rem;font-weight:600}.detail-val{color:var(--text-main);font-size:.875rem;font-weight:600}.mobile-days{color:var(--text-secondary);font-weight:400}.mobile-card-actions{justify-content:flex-end;gap:.5rem;display:flex}.state-card{text-align:center;flex-direction:column;align-items:center;gap:1rem;padding:4rem 2rem;display:flex}.state-icon{border-radius:var(--radius-full);background-color:var(--bg-surface-elevated);width:56px;height:56px;color:var(--text-muted);justify-content:center;align-items:center;display:flex}.error-icon{background-color:var(--danger-subtle);color:var(--danger)}.state-card h3{font-size:1.15rem;font-weight:700}.state-card p{color:var(--text-secondary);max-width:420px;font-size:.9rem}.loading-container{color:var(--text-secondary);flex-direction:column;align-items:center;gap:1rem;padding:4rem;font-size:.9rem;display:flex}.loading-spinner{border:3px solid var(--border-subtle);border-top-color:var(--primary);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite spin}.modal-backdrop,.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:50;background-color:#000000bf;justify-content:center;align-items:center;padding:1.5rem;animation:.15s ease-out fade-in;display:flex;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.modal-container{background-color:var(--bg-surface);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);flex-direction:column;width:100%;max-width:540px;animation:.2s cubic-bezier(.16,1,.3,1) modal-slide-in;display:flex;overflow:hidden}.modal-container-sm{max-width:440px}@keyframes modal-slide-in{0%{opacity:0;transform:translateY(16px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.modal-title{letter-spacing:-.01em;font-size:1.15rem;font-weight:700}.btn-close{color:var(--text-muted);border-radius:var(--radius-sm);justify-content:center;align-items:center;width:32px;height:32px;font-size:1.1rem;transition:all .1s;display:flex}.btn-close:hover{background-color:var(--bg-surface-elevated);color:var(--text-main)}.modal-body{flex-direction:column;gap:1.25rem;max-height:75vh;padding:1.5rem;display:flex;overflow-y:auto}.modal-footer{border-top:1px solid var(--border-subtle);background-color:var(--bg-input);justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;display:flex}.form-group{flex-direction:column;gap:.35rem;display:flex}.form-row{gap:1rem;display:flex}.flex-1{flex:1}.flex-2{flex:2}.form-label{color:var(--text-secondary);font-size:.825rem;font-weight:600}.req{color:var(--danger)}.form-input,.form-select{background-color:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);width:100%;color:var(--text-main);padding:.65rem .85rem;font-size:.9rem;transition:border-color .15s}.form-input:focus,.form-select:focus{border-color:var(--primary)}.input-error{border-color:var(--danger)!important}.input-group{display:flex;position:relative}.input-group .form-input{border-top-right-radius:0;border-bottom-right-radius:0}.input-addon{background-color:var(--bg-surface-elevated);border:1px solid var(--border-subtle);color:var(--text-secondary);border-top-right-radius:var(--radius-sm);border-bottom-right-radius:var(--radius-sm);border-left:none;align-items:center;padding:0 .85rem;font-size:.8rem;font-weight:600;display:flex}.form-hint{color:var(--text-muted);font-size:.72rem}.form-error-msg{color:#f87171;margin-top:.2rem;font-size:.75rem}.form-group-checkbox{background-color:var(--bg-input);border-radius:var(--radius-sm);border:1px solid var(--border-subtle);padding:.85rem}.checkbox-label{cursor:pointer;align-items:flex-start;gap:.75rem;display:flex}.form-checkbox{width:18px;height:18px;accent-color:var(--primary);cursor:pointer;margin-top:.15rem}.checkbox-text{flex-direction:column;gap:.1rem;display:flex}.checkbox-text strong{font-size:.875rem}.checkbox-text small{color:var(--text-muted);font-size:.75rem}.btn-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.6s linear infinite spin}.delete-warning-icon{border-radius:var(--radius-full);background-color:var(--danger-subtle);width:36px;height:36px;color:var(--danger);justify-content:center;align-items:center;display:flex}.delete-subtext{color:var(--text-muted);margin-top:.5rem;font-size:.8rem}.alert{border-radius:var(--radius-sm);padding:.85rem;font-size:.85rem}.alert-danger{background-color:var(--danger-subtle);border:1px solid var(--danger-border);color:#fca5a5}.toast{background-color:var(--bg-surface-elevated);border-radius:var(--radius-md);max-width:420px;box-shadow:var(--shadow-lg);z-index:100;align-items:center;gap:.75rem;padding:.9rem 1.1rem;animation:.25s cubic-bezier(.16,1,.3,1) toast-in;display:flex;position:fixed;bottom:24px;right:24px}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.toast-success{border-left:4px solid var(--success);border-top:1px solid var(--border-strong);border-right:1px solid var(--border-strong);border-bottom:1px solid var(--border-strong)}.toast-error{border-left:4px solid var(--danger);border-top:1px solid var(--border-strong);border-right:1px solid var(--border-strong);border-bottom:1px solid var(--border-strong)}.toast-info{border-left:4px solid var(--primary);border-top:1px solid var(--border-strong);border-right:1px solid var(--border-strong);border-bottom:1px solid var(--border-strong)}.toast-icon{flex-shrink:0}.toast-success .toast-icon{color:var(--success)}.toast-error .toast-icon{color:var(--danger)}.toast-info .toast-icon{color:#a5b4fc}.toast-message{color:var(--text-main);flex:1;font-size:.85rem;font-weight:500}.toast-close{color:var(--text-muted);border-radius:var(--radius-sm);padding:.2rem;font-size:.85rem;line-height:1}.toast-close:hover{color:var(--text-main)}@media (width<=1024px){.summary-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.app-header{flex-direction:column;align-items:stretch;gap:1rem;padding:1rem}.header-actions{flex-wrap:wrap;justify-content:flex-start}.header-user-section{border-left:0;margin-left:0;padding-left:0}.hide-on-mobile,.user-email-text{display:none}.app-main{gap:1.5rem;padding:1rem}.section-header-row{flex-direction:column;align-items:stretch}.filter-bar{width:100%}.filter-group{width:100%;display:flex}.filter-btn{flex:1;justify-content:center}.table-responsive{display:none}.mobile-cards-list{display:flex}.toast{max-width:none;bottom:16px;left:16px;right:16px}}@media (width<=520px){.summary-grid{grid-template-columns:1fr}.form-row{flex-direction:column;gap:1.25rem}.hide-on-mobile{display:none}}.header-user-section{border-left:1px solid var(--border-subtle);align-items:center;gap:.6rem;margin-left:.5rem;padding-left:.75rem;display:flex}.user-badge{background-color:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-full);color:var(--text-secondary);align-items:center;gap:.4rem;max-width:180px;padding:.35rem .65rem;font-size:.8rem;display:inline-flex}.user-email-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.btn-logout{color:var(--text-secondary)}.btn-logout:hover{color:var(--danger);border-color:var(--danger-border);background-color:var(--danger-subtle)}.auth-container{background:radial-gradient(circle at top right, #4f46e514, transparent 40%), radial-gradient(circle at bottom left, #10b9810d, transparent 40%), var(--bg-app);justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.auth-card{background-color:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);width:100%;max-width:440px;box-shadow:var(--shadow-lg);padding:2.25rem 2rem}.auth-header{text-align:center;margin-bottom:1.75rem}.auth-header .brand-logo{background-color:var(--primary-subtle);width:52px;height:52px;color:var(--primary);border:1px solid var(--primary-border);border-radius:var(--radius-md);justify-content:center;align-items:center;margin:0 auto .75rem;display:inline-flex}.auth-title{color:var(--text-main);letter-spacing:-.02em;margin-bottom:.35rem;font-size:1.45rem;font-weight:700}.auth-subtitle{color:var(--text-secondary);font-size:.875rem}.auth-tabs{background-color:var(--bg-input);border-radius:var(--radius-md);border:1px solid var(--border-subtle);grid-template-columns:1fr 1fr;gap:.35rem;margin-bottom:1.5rem;padding:.3rem;display:grid}.auth-tab{color:var(--text-muted);border-radius:var(--radius-sm);text-align:center;padding:.55rem;font-size:.875rem;font-weight:600;transition:all .15s}.auth-tab.active{background-color:var(--bg-surface-elevated);color:var(--text-main);box-shadow:var(--shadow-sm)}.auth-error-banner{background-color:var(--danger-subtle);border:1px solid var(--danger-border);color:#fca5a5;border-radius:var(--radius-sm);align-items:center;gap:.6rem;margin-bottom:1.25rem;padding:.75rem 1rem;font-size:.85rem;display:flex}.auth-form{flex-direction:column;gap:1.15rem;display:flex}.auth-submit-btn{justify-content:center;width:100%;margin-top:.5rem;padding:.75rem;font-size:.95rem;font-weight:600}.auth-loading-text{align-items:center;gap:.5rem;display:inline-flex}.auth-footer{text-align:center;border-top:1px solid var(--border-subtle);color:var(--text-secondary);margin-top:1.5rem;padding-top:1.25rem;font-size:.85rem}.auth-link{color:var(--primary);cursor:pointer;font-weight:600;text-decoration:underline}.auth-link:hover{color:#818cf8}.auth-splash-loading{min-height:100vh;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex}.notifications-container{display:inline-block;position:relative}.btn-notifications{position:relative}.notifications-badge{background-color:var(--danger,#ef4444);color:#fff;border-radius:var(--radius-full,9999px);justify-content:center;align-items:center;min-width:18px;height:18px;padding:.15rem .35rem;font-size:.65rem;font-weight:700;animation:2s infinite pulse-badge;display:flex;position:absolute;top:-4px;right:-4px;box-shadow:0 0 8px #ef444480}@keyframes pulse-badge{0%{transform:scale(1)}50%{transform:scale(1.08)}to{transform:scale(1)}}.notifications-popover{background-color:var(--bg-surface-elevated,#1e293b);border:1px solid var(--border-subtle,#ffffff1a);border-radius:var(--radius-md,8px);z-index:1000;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);flex-direction:column;width:340px;max-width:90vw;display:flex;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 10px 25px -5px #00000080,0 8px 10px -6px #00000080}.notifications-popover-header{border-bottom:1px solid var(--border-subtle,#ffffff1a);background-color:#ffffff05;justify-content:space-between;align-items:center;padding:.85rem 1rem;display:flex}.notifications-title-row{align-items:center;gap:.5rem;display:flex}.notifications-title{color:var(--text-main,#f8fafc);margin:0;font-size:.875rem;font-weight:600}.btn-link{color:var(--primary,#6366f1);cursor:pointer;background:0 0;border:none;padding:0;font-size:.75rem;font-weight:500;text-decoration:underline}.btn-link:hover:not(:disabled){color:#818cf8}.btn-link:disabled{opacity:.5;cursor:not-allowed}.notifications-list{flex-direction:column;max-height:360px;display:flex;overflow-y:auto}.notifications-empty{text-align:center;color:var(--text-muted,#94a3b8);flex-direction:column;align-items:center;gap:.4rem;padding:2rem 1rem;display:flex}.notifications-empty-icon{color:var(--success,#10b981);font-size:1.5rem}.notification-item{border-bottom:1px solid var(--border-subtle,#ffffff0d);cursor:pointer;align-items:center;gap:.75rem;padding:.75rem 1rem;transition:background-color .15s;display:flex}.notification-item:hover{background-color:#ffffff0a}.notification-item.is-read{opacity:.65}.notification-status-indicator{border-radius:var(--radius-full,9999px);background-color:var(--warning,#f59e0b);flex-shrink:0;width:8px;height:8px}.notification-item.is-read .notification-status-indicator{border:1px solid var(--text-muted,#64748b);background-color:#0000}.notification-content{flex:1;min-width:0}.notification-main-text{color:var(--text-main,#f8fafc);margin-bottom:.2rem;font-size:.85rem;line-height:1.3}.notification-days{color:var(--warning,#f59e0b);font-weight:500}.notification-item.is-read .notification-days{color:var(--text-secondary,#94a3b8)}.notification-sub-text{color:var(--text-secondary,#94a3b8);font-size:.75rem}.btn-mark-single-read{border:1px solid var(--border-subtle,#fff3);color:var(--text-muted,#94a3b8);border-radius:var(--radius-full,9999px);cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:.75rem;transition:all .15s;display:flex}.btn-mark-single-read:hover{background-color:var(--success,#10b981);border-color:var(--success,#10b981);color:#fff}.analytics-container{flex-direction:column;gap:1.25rem;margin-bottom:2rem;display:flex}.analytics-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.analytics-toolbar-title-group{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.analytics-heading{color:#fff;letter-spacing:-.02em;margin:0;font-size:1.25rem;font-weight:700}.badge-subtle{border:1px solid var(--border-subtle,#ffffff1a);color:var(--text-secondary,#94a3b8);border-radius:var(--radius-full,9999px);background-color:#ffffff0f;padding:.2rem .6rem;font-size:.75rem}.currency-picker-group{background-color:var(--bg-surface-elevated,#1e293b);border-radius:var(--radius-md,8px);border:1px solid var(--border-subtle,#ffffff1a);align-items:center;gap:.5rem;padding:.35rem .75rem;display:flex}.currency-picker-label{color:var(--text-secondary,#94a3b8);font-size:.8rem;font-weight:600}.currency-picker-select{color:#fff;cursor:pointer;background-color:#0000;border:none;outline:none;padding:.15rem .35rem;font-size:.875rem;font-weight:700}.currency-picker-select option{color:#fff;background-color:#0f172a}.metric-split-row{justify-content:space-around;align-items:center;padding:.5rem 0;display:flex}.metric-split-item{flex-direction:column;align-items:center;gap:.2rem;display:flex}.metric-split-num{color:#fff;font-size:1.75rem;font-weight:800;line-height:1}.metric-split-label{color:var(--text-secondary,#94a3b8);font-size:.785rem;font-weight:500}.metric-split-divider{background-color:var(--border-subtle,#ffffff1a);width:1px;height:36px}.analytics-empty-card{text-align:center;color:var(--text-secondary,#94a3b8);flex-direction:column;align-items:center;gap:.75rem;padding:2.5rem 1.5rem;display:flex}.analytics-empty-card h3{color:#fff;margin:0;font-size:1.1rem;font-weight:600}.analytics-empty-card p{max-width:500px;margin:0;font-size:.875rem;line-height:1.5}.analytics-error-card{border-color:var(--danger-border,#ef44444d);background-color:var(--danger-subtle,#ef444414)}.analytics-error-content{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.analytics-error-icon{color:var(--danger,#ef4444);flex-shrink:0}.analytics-error-title{color:#fff;margin:0 0 .2rem;font-size:.95rem;font-weight:600}.analytics-error-desc{color:#fca5a5;margin:0;font-size:.825rem}.analytics-visuals-grid{grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:1.25rem;display:grid}.visual-card{flex-direction:column;gap:1.25rem;min-width:0;padding:1.25rem;display:flex}.visual-header{justify-content:space-between;align-items:flex-start;display:flex}.visual-title-group{flex-direction:column;gap:.25rem;display:flex}.visual-title{color:#fff;letter-spacing:-.01em;margin:0;font-size:.95rem;font-weight:700}.visual-subtitle{color:var(--text-muted,#64748b);margin:0;font-size:.775rem}.visual-empty{text-align:center;color:var(--text-muted,#64748b);padding:1.5rem 0;font-size:.85rem}.top5-list{flex-direction:column;gap:.85rem;display:flex}.top5-item{flex-direction:column;gap:.4rem;display:flex}.top5-row-header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.top5-name-wrap{align-items:center;gap:.5rem;min-width:0;display:flex}.top5-rank{color:var(--primary,#6366f1);border-radius:var(--radius-sm,4px);background-color:#6366f11f;flex-shrink:0;padding:.15rem .4rem;font-size:.75rem;font-weight:700}.top5-name{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:600;overflow:hidden}.top5-costs{flex-shrink:0;align-items:baseline;gap:.5rem;display:flex}.top5-amount{color:#fff;font-size:.875rem;font-weight:700}.top5-unit{color:var(--text-muted,#64748b);margin-left:.15rem;font-size:.75rem;font-weight:400}.top5-percentage{color:var(--primary,#6366f1);text-align:right;min-width:42px;font-size:.775rem;font-weight:600}.top5-bar-track{background-color:var(--bg-surface-elevated,#ffffff14);border-radius:var(--radius-full,9999px);width:100%;height:6px;overflow:hidden}.top5-bar-fill{border-radius:var(--radius-full,9999px);background:linear-gradient(90deg,#6366f1 0%,#818cf8 100%);height:100%;transition:width .4s}.cycle-dist-body{flex-direction:column;gap:1.25rem;display:flex}.cycle-bar-track{background-color:var(--bg-surface-elevated,#ffffff14);border-radius:var(--radius-full,9999px);width:100%;height:14px;display:flex;overflow:hidden}.cycle-bar-segment{height:100%;transition:width .4s}.cycle-bar-monthly{background:linear-gradient(90deg,#3b82f6 0%,#60a5fa 100%)}.cycle-bar-yearly{background:linear-gradient(90deg,#8b5cf6 0%,#a78bfa 100%)}.cycle-legend-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.cycle-legend-item{background-color:var(--bg-surface-elevated,#ffffff08);border-radius:var(--radius-md,8px);border:1px solid var(--border-subtle,#ffffff0f);align-items:flex-start;gap:.6rem;padding:.75rem .85rem;display:flex}.cycle-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;margin-top:.25rem}.cycle-dot-monthly{background-color:#3b82f6;box-shadow:0 0 8px #3b82f680}.cycle-dot-yearly{background-color:#8b5cf6;box-shadow:0 0 8px #8b5cf680}.cycle-legend-info{flex-direction:column;gap:.2rem;display:flex}.cycle-legend-label{color:var(--text-secondary,#94a3b8);font-size:.75rem;font-weight:500}.cycle-legend-metric{color:#fff;font-size:1.1rem;font-weight:700}.cycle-legend-sub{color:var(--text-muted,#64748b);font-size:.8rem;font-weight:500}.cycle-insight-note{color:var(--text-muted,#64748b);text-align:center;font-size:.775rem;font-style:italic}@media (width<=768px){.analytics-toolbar{flex-direction:column;align-items:flex-start}.currency-picker-group{justify-content:space-between;width:100%}.analytics-visuals-grid{grid-template-columns:minmax(0,1fr)}.cycle-legend-grid{grid-template-columns:1fr}}.header-nav-tabs{border:1px solid var(--border-color,#ffffff14);background:#ffffff0a;border-radius:8px;align-items:center;gap:4px;padding:3px;display:flex}.nav-tab-btn{color:var(--text-muted,#94a3b8);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 14px;font-size:.85rem;font-weight:500;transition:all .2s}.nav-tab-btn:hover{color:#fff}.nav-tab-btn.active{background:var(--primary,#6366f1);color:#fff;box-shadow:0 1px 3px #0000004d}.user-badge-btn{border:1px solid var(--border-color,#ffffff14);color:var(--text-main,#f8fafc);cursor:pointer;background:#ffffff0d;border-radius:8px;align-items:center;gap:8px;padding:6px 12px;font-size:.85rem;transition:all .2s;display:inline-flex}.user-badge-btn:hover{background:#ffffff17;border-color:#fff3}.badge-role-pill{color:#a5b4fc;letter-spacing:.05em;background:#6366f133;border:1px solid #6366f166;border-radius:4px;padding:2px 6px;font-size:.7rem;font-weight:700}.profile-modal-container{max-width:620px}.profile-info-card{border:1px solid var(--border-color,#ffffff14);background:#ffffff08;border-radius:8px;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:24px;padding:16px;display:grid}.profile-field{flex-direction:column;gap:4px;display:flex}.profile-label{color:var(--text-muted,#94a3b8);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem}.profile-value{color:#fff;font-size:.925rem;font-weight:500}.badge-role{border-radius:4px;width:fit-content;padding:2px 8px;font-size:.75rem;font-weight:700;display:inline-block}.role-admin{color:#a5b4fc;background:#6366f140;border:1px solid #6366f166}.role-user{color:#cbd5e1;background:#94a3b826;border:1px solid #94a3b84d}.badge-status-dot{align-items:center;gap:6px;font-size:.85rem;display:inline-flex}.badge-status-dot:before{content:"";border-radius:50%;width:8px;height:8px;display:inline-block}.dot-active:before{background:#10b981;box-shadow:0 0 6px #10b98199}.dot-inactive:before{background:#ef4444;box-shadow:0 0 6px #ef444499}.sessions-section{flex-direction:column;gap:12px;display:flex}.sessions-header-row{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.sessions-title{color:#fff;margin:0;font-size:.95rem;font-weight:600}.sessions-subtitle{color:var(--text-muted,#94a3b8);margin:2px 0 0;font-size:.8rem}.sessions-list{flex-direction:column;gap:10px;display:flex}.session-item{border:1px solid var(--border-color,#ffffff14);background:#ffffff05;border-radius:8px;align-items:center;gap:12px;padding:12px 16px;display:flex}.session-current{background:#6366f10d;border-color:#6366f166}.session-icon{color:var(--text-muted,#94a3b8)}.session-details{flex-direction:column;flex:1;gap:4px;display:flex}.session-title-row{align-items:center;gap:8px;display:flex}.session-device-name{color:#fff;font-size:.9rem;font-weight:500}.badge-current-session{color:#6ee7b7;background:#10b98133;border:1px solid #10b98166;border-radius:4px;padding:1px 6px;font-size:.7rem}.session-meta{color:var(--text-muted,#94a3b8);gap:12px;font-size:.775rem;display:flex}.admin-console-layout{flex-direction:column;gap:24px;display:flex}.admin-top-bar{border:1px solid var(--border-color,#ffffff14);background:#ffffff05;border-radius:12px;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.admin-bar-title{align-items:center;gap:12px;display:flex}.admin-bar-title h2{color:#fff;margin:0;font-size:1.25rem;font-weight:700}.admin-bar-actions{align-items:center;gap:10px;display:flex}.admin-section-heading{color:#fff;margin:0 0 6px;font-size:1.1rem;font-weight:600}.admin-section-sub{color:var(--text-muted,#94a3b8);margin:0 0 16px;font-size:.85rem}.admin-metrics-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;display:grid}.admin-metric-card{background:var(--bg-card,#1e293b);border:1px solid var(--border-color,#ffffff14);border-radius:10px;flex-direction:column;gap:8px;padding:16px;display:flex}.admin-metric-card .metric-label{color:var(--text-muted,#94a3b8);text-transform:uppercase;letter-spacing:.03em;font-size:.8rem}.admin-metric-card .metric-value{color:#fff;font-size:1.6rem;font-weight:700}.text-success{color:#10b981!important}.text-danger{color:#ef4444!important}.text-primary{color:#818cf8!important}.text-warning{color:#f59e0b!important}.text-info{color:#38bdf8!important}.admin-demo-section{background:#6366f10a;border:1px solid #6366f133;border-radius:12px;padding:20px}.demo-tools-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.demo-tools-buttons{align-items:center;gap:12px;display:flex}.admin-users-section{background:var(--bg-card,#1e293b);border:1px solid var(--border-color,#ffffff14);border-radius:12px;padding:20px}.users-header-row{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.admin-search-form{align-items:center;gap:8px;display:flex}.admin-search-input{border:1px solid var(--border-color,#ffffff1f);color:#fff;background:#0003;border-radius:6px;min-width:220px;padding:6px 12px;font-size:.85rem}.admin-table{border-collapse:collapse;width:100%;font-size:.875rem}.admin-table th{text-align:left;color:var(--text-muted,#94a3b8);text-transform:uppercase;border-bottom:1px solid var(--border-color,#ffffff14);padding:10px 14px;font-size:.775rem}.admin-table td{border-bottom:1px solid var(--border-color,#ffffff0a);vertical-align:middle;padding:12px 14px}.row-deactivated{opacity:.6;background:#ef44440a}.user-email-cell{align-items:center;gap:8px;display:flex}.badge-self{color:#c7d2fe;background:#6366f14d;border-radius:3px;padding:1px 5px;font-size:.65rem;font-weight:600}.badge-status{border-radius:4px;padding:2px 6px;font-size:.75rem;font-weight:600;display:inline-block}.status-active{color:#34d399;background:#10b98126}.status-inactive{color:#f87171;background:#ef444426}.status-warning{color:#fbbf24;background:#f59e0b26}.token-action-modal{width:100%;max-width:480px}.actions-cell{justify-content:flex-end;gap:6px;display:flex}.btn-xs{border-radius:4px;padding:4px 8px;font-size:.75rem}.btn-danger-outline{color:#f87171;background:0 0;border:1px solid #ef444466}.btn-danger-outline:hover{background:#ef444426}.admin-pagination{color:var(--text-muted,#94a3b8);justify-content:space-between;align-items:center;margin-top:16px;font-size:.85rem;display:flex}.pagination-buttons{gap:8px;display:flex}.admin-audit-section{background:var(--bg-card,#1e293b);border:1px solid var(--border-color,#ffffff14);border-radius:12px;padding:20px}.badge-audit-action{color:#e2e8f0;background:#ffffff0f;border-radius:4px;padding:2px 6px;font-family:monospace;font-size:.75rem}.metadata-json{color:#94a3b8;text-overflow:ellipsis;white-space:nowrap;max-width:320px;font-family:monospace;font-size:.75rem;display:inline-block;overflow:hidden}.delete-user-modal{max-width:480px}.text-danger-warning{color:#f87171;margin-top:8px;font-size:.875rem;line-height:1.4}@media (width<=768px){.admin-top-bar{flex-direction:column;align-items:stretch;gap:12px}.demo-tools-header,.users-header-row{flex-direction:column;align-items:stretch}.admin-search-form{width:100%}.admin-search-input{flex:1;min-width:0}.profile-info-card{grid-template-columns:1fr}}.admin-tab-nav{border-bottom:1px solid var(--border-color,#ffffff14);flex-wrap:wrap;gap:10px;padding-bottom:12px;display:flex}.admin-tab-btn{border:1px solid var(--border-color,#ffffff14);color:var(--text-muted,#94a3b8);cursor:pointer;background:#ffffff0a;border-radius:8px;padding:8px 16px;font-size:.875rem;font-weight:600;transition:all .15s}.admin-tab-btn:hover{color:#fff;background:#ffffff14}.admin-tab-btn.active{background:var(--primary,#4f46e5);border-color:var(--primary,#4f46e5);color:#fff;box-shadow:0 2px 8px #4f46e54d}.system-status-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;display:grid}.system-card{background:var(--bg-card,#1e293b);border:1px solid var(--border-color,#ffffff14);border-radius:12px;flex-direction:column;gap:12px;padding:18px;display:flex}.system-card-header{justify-content:space-between;align-items:center;display:flex}.system-card-title{color:#fff;align-items:center;gap:8px;margin:0;font-size:.95rem;font-weight:700;display:flex}.system-card-details{color:var(--text-muted,#94a3b8);flex-direction:column;gap:6px;font-size:.8rem;display:flex}.system-metrics-row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;display:grid}.system-metric-box{border:1px solid var(--border-color,#ffffff0f);background:#ffffff05;border-radius:8px;flex-direction:column;gap:6px;padding:14px;display:flex}.system-metric-box .box-label{color:var(--text-muted,#94a3b8);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem}.system-metric-box .box-val{color:#fff;font-size:1.5rem;font-weight:700}.system-actions-card{background:#6366f10a;border:1px solid #6366f133;border-radius:12px;flex-direction:column;gap:14px;padding:20px;display:flex}.system-actions-buttons{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.system-action-alert{border-radius:8px;padding:12px 16px;font-size:.85rem}.alert-success{color:#34d399;background:#10b98126;border:1px solid #10b9814d}.alert-error{color:#f87171;background:#ef444426;border:1px solid #ef44444d}.badge-job-status{text-transform:uppercase;border-radius:4px;padding:2px 7px;font-size:.725rem;font-weight:700;display:inline-block}.job-status-success{color:#34d399;background:#10b98133;border:1px solid #10b9814d}.job-status-partial{color:#fbbf24;background:#f59e0b33;border:1px solid #f59e0b4d}.job-status-failed{color:#f87171;background:#ef444433;border:1px solid #ef44444d}.job-status-running{color:#38bdf8;background:#38bdf833;border:1px solid #38bdf84d}
