.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:var(--z-notification);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:var(--bg-primary);border-radius:16px;box-shadow:0 8px 32px #0003;width:100%;max-width:400px;margin:20px;border:1px solid var(--bg-tertiary);animation:modalSlideIn .3s ease-out}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px 24px 0;margin-bottom:16px}.modal-title{color:var(--text-primary);font-size:18px;font-weight:600;margin:0;display:flex;align-items:center;gap:8px}.modal-title.danger{color:#dc2626}.modal-title.warning{color:#d97706}.modal-title.info{color:#2563eb}.modal-icon{font-size:20px}.modal-close{background:none;border:none;font-size:20px;color:var(--text-secondary);cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease;line-height:1}.modal-close:hover{background:var(--bg-secondary);color:var(--text-primary)}.modal-body{padding:0 24px 24px}.modal-message{color:var(--text-secondary);font-size:14px;line-height:1.5;margin:0}.modal-footer{display:flex;gap:12px;padding:0 24px 24px;justify-content:flex-end}.modal-button{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;border:1px solid transparent;min-width:80px}.cancel-button{background:var(--bg-secondary);color:var(--text-secondary);border-color:var(--border-color)}.cancel-button:hover{background:var(--bg-tertiary);color:var(--text-primary)}.confirm-button{background:#2563eb;color:#fff;border-color:#2563eb}.confirm-button:hover{background:#1d4ed8;border-color:#1d4ed8}.confirm-button.danger{background:#dc2626;border-color:#dc2626}.confirm-button.danger:hover{background:#b91c1c;border-color:#b91c1c}.confirm-button.warning{background:#d97706;border-color:#d97706}.confirm-button.warning:hover{background:#b45309;border-color:#b45309}.confirm-button.info{background:#2563eb;border-color:#2563eb}.confirm-button.info:hover{background:#1d4ed8;border-color:#1d4ed8}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-height:90vh;overflow-y:auto;position:relative;width:100%}.modal-small{max-width:400px}.modal-medium{max-width:600px}.modal-large{max-width:800px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e5e7eb;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px 12px 0 0}.modal-title{margin:0;font-size:1.8rem;font-weight:600;color:#fff}.modal-close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#6b7280;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;width:32px;height:32px;transition:all .2s ease}.modal-close-btn:hover{background-color:#f3f4f6;color:#374151}@media (max-width: 640px){.modal-overlay{padding:10px}.modal-content{margin:0;border-radius:8px}.modal-header{padding:16px 20px}.modal-body{padding:20px}.modal-title{font-size:1.125rem}}.password-input-container{position:relative;display:flex;align-items:center;width:100%}.password-input{width:100%;padding:8px 35px 8px 12px;border:1px solid #ccc;border-radius:4px;font-size:16px;transition:border-color .2s ease}.password-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.password-input:disabled{background-color:#f5f5f5;cursor:not-allowed}.password-toggle-button{position:absolute;right:8px;background:none;border:none;padding:4px 8px;cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;color:#666;border-radius:4px;text-transform:uppercase;font-weight:600;letter-spacing:.5px;z-index:var(--z-content)}.password-toggle-button:hover{background-color:#0000000d;color:#333}.password-toggle-button:disabled{cursor:not-allowed;opacity:.5}.password-toggle-button:not(:focus-visible){outline:none}.version-display{display:inline-flex;align-items:center;gap:8px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.85rem;line-height:1.4}.version-display.compact{font-size:12px;color:var(--text-secondary)}.version-display.inline{font-size:.85rem;color:var(--text-primary);padding:4px 8px;background:var(--bg-secondary);border-radius:4px;border:1px solid var(--bg-tertiary)}.version-display.detailed{flex-direction:column;align-items:flex-start;gap:12px;padding:12px;background:var(--bg-secondary);border:1px solid var(--bg-tertiary);border-radius:6px;min-width:300px}.version-text{font-weight:500;cursor:help;position:relative}.version-text[data-tooltip]:hover:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:#000000e6;color:#fff;padding:8px 12px;border-radius:6px;font-size:.75rem;white-space:pre-line;z-index:1000;min-width:250px;text-align:left;box-shadow:0 4px 12px #0000004d;margin-bottom:8px}.version-text[data-tooltip]:hover:before{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:#000000e6;margin-bottom:3px;z-index:1000}.version-display.loading .version-loading{color:var(--text-secondary);font-style:italic}.version-display.error .version-error{color:var(--error-red);font-style:italic}.version-refresh-btn{background:none;border:none;cursor:pointer;padding:2px;border-radius:3px;font-size:12px;opacity:.7;transition:opacity .2s ease}.version-refresh-btn:hover{opacity:1;background:var(--bg-tertiary)}.version-refresh-btn:active{transform:scale(.95)}.version-details{display:flex;flex-direction:column;gap:6px;width:100%}.version-detail-item{display:flex;justify-content:space-between;align-items:center;padding:4px 0;border-bottom:1px solid var(--bg-tertiary)}.version-detail-item:last-child{border-bottom:none}.detail-label{font-weight:600;color:var(--text-secondary);min-width:80px}.detail-value{color:var(--text-primary);font-weight:500;text-align:right;flex:1;margin-left:12px}.version-display .version-text[title*=development]{color:var(--accent-orange)}.version-display .version-text[title*=staging]{color:var(--accent-yellow)}.version-display .version-text[title*=production]{color:var(--accent-green)}@media (max-width: 768px){.version-display.detailed{min-width:250px;font-size:.8rem}.version-detail-item{flex-direction:column;align-items:flex-start;gap:2px}.detail-value{text-align:left;margin-left:0}}@keyframes versionRefresh{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.version-refresh-btn:active{animation:versionRefresh .3s ease}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-primary) 100%);padding:20px;box-sizing:border-box}.login-card{background:var(--bg-primary);border-radius:16px;box-shadow:0 8px 32px #0000001a;padding:40px;width:100%;max-width:420px;border:1px solid var(--bg-tertiary)}.login-header{text-align:center;margin-bottom:32px}.login-header h1{color:var(--text-primary);font-size:28px;font-weight:700;margin:0 0 8px;background:linear-gradient(135deg,var(--primary-blue),var(--accent-green));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-header p{color:var(--text-secondary);font-size:16px;margin:0 0 16px}.early-dev-notice{background:#eab3081a;border:1px solid rgba(234,179,8,.3);color:#b45309;padding:12px 16px;border-radius:8px;margin:16px 0;font-size:14px;line-height:1.4;text-align:center}.early-dev-notice span{font-weight:600}.status-indicator{padding:8px 12px;border-radius:6px;font-size:12px;font-weight:500;margin-top:8px;display:flex;align-items:center;gap:6px;justify-content:center}.status-indicator.checking{background:#3b82f61a;color:#3b82f6;border:1px solid rgba(59,130,246,.2)}.status-indicator.online{background:#22c55e1a;color:#22c55e;border:1px solid rgba(34,197,94,.2)}.status-indicator.offline{background:#ef44441a;color:var(--accent-red);border:1px solid rgba(239,68,68,.2);text-align:center;line-height:1.4}.status-indicator span{font-size:14px}.login-form{margin-bottom:0}.form-group input[type=text],.form-group input[type=email]{width:100%;padding:12px 16px;border:2px solid var(--bg-tertiary);border-radius:8px;font-size:16px;color:var(--text-primary);background:var(--bg-primary);transition:all .3s ease;box-sizing:border-box}.form-group input[type=text]:focus,.form-group input[type=email]:focus{outline:none;border-color:var(--primary-blue);box-shadow:0 0 0 3px #1e3a8a1a}.form-group input[type=text]:disabled,.form-group input[type=email]:disabled{background:var(--bg-secondary);color:var(--text-light);cursor:not-allowed}.form-group input[type=text]::placeholder,.form-group input[type=email]::placeholder{color:var(--text-light)}.login-button{width:100%;background:linear-gradient(135deg,var(--primary-blue),var(--accent-green));color:var(--text-white);border:none;padding:14px 24px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:8px}.login-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 16px #1e3a8a4d}.login-button:disabled{background:var(--bg-tertiary);color:var(--text-light);cursor:not-allowed;transform:none;box-shadow:none}.login-error{background:#ef44441a;border:1px solid var(--accent-red);color:var(--accent-red);padding:12px 16px;border-radius:8px;margin-bottom:20px;display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500}.error-icon{font-size:16px;flex-shrink:0}@media (max-width: 480px){.login-container{padding:16px}.login-card{padding:24px}.login-header h1{font-size:24px}.status-indicator{font-size:11px;padding:6px 10px}.status-indicator span{font-size:12px}}@media (prefers-color-scheme: dark){.login-card{background:var(--bg-dark);border-color:var(--bg-tertiary);box-shadow:0 8px 32px #0000004d}}.unauthorized-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-primary) 100%);padding:20px;box-sizing:border-box}.unauthorized-card{background:var(--bg-primary);border-radius:16px;box-shadow:0 8px 32px #0000001a;padding:40px;width:100%;max-width:480px;border:1px solid var(--bg-tertiary);text-align:center}.unauthorized-icon{font-size:64px;margin-bottom:24px}.unauthorized-card h1{color:var(--text-primary);font-size:28px;font-weight:700;margin:0 0 16px}.unauthorized-card p{color:var(--text-secondary);font-size:16px;margin:0 0 24px;line-height:1.5}.user-info{background:var(--bg-secondary);border-radius:8px;padding:16px;margin-bottom:24px;text-align:left}.user-info p{margin:0 0 8px;font-size:14px;color:var(--text-primary)}.user-info p:last-child{margin-bottom:0}.user-info strong{color:var(--text-primary);font-weight:600}.unauthorized-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.home-button,.logout-button{padding:12px 24px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;border:none;min-width:120px}.home-button{background:linear-gradient(135deg,var(--primary-blue),var(--accent-green));color:var(--text-white)}.home-button:hover{transform:translateY(-1px);box-shadow:0 4px 16px #1e3a8a4d}.logout-button{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--bg-tertiary)}.logout-button:hover{background:var(--bg-tertiary);transform:translateY(-1px)}@media (max-width: 480px){.unauthorized-container{padding:16px}.unauthorized-card{padding:24px}.unauthorized-card h1{font-size:24px}.unauthorized-icon{font-size:48px;margin-bottom:16px}.unauthorized-actions{flex-direction:column}.home-button,.logout-button{width:100%}}@media (prefers-color-scheme: dark){.unauthorized-card{background:var(--bg-dark);border-color:var(--bg-tertiary);box-shadow:0 8px 32px #0000004d}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-backdrop);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:var(--bg-primary);border-radius:16px;box-shadow:0 8px 32px #0003;width:100%;max-width:480px;margin:20px;border:1px solid var(--bg-tertiary);animation:modalSlideIn .3s ease-out}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px 24px 0;margin-bottom:20px}.modal-header h2{color:var(--text-primary);font-size:24px;font-weight:700;margin:0;background:linear-gradient(135deg,var(--primary-blue),var(--accent-green));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.modal-close{background:none;border:none;font-size:28px;color:var(--text-secondary);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.modal-close:hover{background:var(--bg-secondary);color:var(--text-primary);transform:scale(1.1)}.change-password-form{padding:0 24px 24px}.form-group label{display:block;color:var(--text-primary);font-weight:600;margin-bottom:8px;font-size:14px}.form-group input{width:100%;padding:12px 16px;border:2px solid var(--bg-tertiary);border-radius:8px;background:var(--bg-primary);color:var(--text-primary);font-size:14px;transition:all .2s ease;box-sizing:border-box}.form-group input:focus{outline:none;border-color:var(--primary-blue);box-shadow:0 0 0 3px #2563eb1a}.form-group input:disabled{background:var(--bg-secondary);color:var(--text-secondary);cursor:not-allowed}.password-requirements{margin-top:12px;padding:12px;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--bg-tertiary)}.requirements-title{font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.requirement-item{display:flex;align-items:center;gap:8px;font-size:12px;margin-bottom:4px;transition:all .2s ease}.requirement-item:last-child{margin-bottom:0}.requirement-item.met{color:#22c55e}.requirement-item.unmet{color:var(--text-secondary)}.requirement-icon{font-size:12px;width:16px;display:flex;justify-content:center}.form-message{padding:12px 16px;border-radius:8px;font-size:14px;font-weight:500;margin-bottom:20px;display:flex;align-items:center;gap:8px}.form-message.error{background:#ef44441a;color:var(--accent-red);border:1px solid rgba(239,68,68,.2)}.form-message.success{background:#22c55e1a;color:#22c55e;border:1px solid rgba(34,197,94,.2)}.message-icon{font-size:16px}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.cancel-button,.submit-button{padding:12px 24px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;border:none;min-width:100px}.cancel-button{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--bg-tertiary)}.cancel-button:hover{background:var(--bg-tertiary);transform:translateY(-1px)}.submit-button{background:linear-gradient(135deg,var(--primary-blue),var(--accent-green));color:var(--text-white)}.submit-button:hover{transform:translateY(-1px);box-shadow:0 4px 16px #1e3a8a4d}.submit-button:disabled,.cancel-button:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}@media (max-width: 480px){.modal-content{margin:10px;border-radius:12px}.modal-header{padding:20px 20px 0}.modal-header h2{font-size:20px}.change-password-form{padding:0 20px 20px}.modal-actions{flex-direction:column}.cancel-button,.submit-button{width:100%}}@media (prefers-color-scheme: dark){.modal-overlay{background:#000000b3}.modal-content{background:var(--bg-dark);border-color:var(--bg-tertiary);box-shadow:0 8px 32px #0006}.password-requirements{background:var(--bg-primary);border-color:var(--bg-tertiary)}.requirement-item.met{color:#10b981}}.user-greeting{position:relative;display:inline-block;cursor:pointer;z-index:var(--z-content);overflow:visible}.user-greeting-button{background:none;border:none;cursor:pointer;display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:6px;transition:background-color .2s ease;font-size:14px}.user-greeting-button:hover{background-color:#f5f5f5}.greeting-text{color:#333;font-weight:500;transition:background-color .2s ease;position:relative;z-index:var(--z-content)}.dropdown-arrow{font-size:12px;color:#666;transition:transform .2s ease}.dropdown-arrow.open{transform:rotate(180deg)}.user-greeting:hover .greeting-text{background-color:#f5f5f5}.user-dropdown{position:absolute;top:100%;right:0;background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:220px;opacity:0;visibility:hidden;transform:translateY(-8px);transition:all .2s ease;z-index:var(--z-notification);margin-top:4px}.user-dropdown.show{opacity:1;visibility:visible;transform:translateY(0)}.user-dropdown-item{background:none;border:none;width:100%;text-align:left;padding:12px 16px;cursor:pointer;font-size:14px;color:#333;border-bottom:1px solid #f0f0f0;transition:background-color .2s ease;z-index:var(--z-modal);font-family:inherit}.user-dropdown-item:hover{background-color:#f5f5f5}.user-dropdown-item:last-child{border-bottom:none}.dropdown-divider{height:1px;background-color:#e0e0e0;margin:8px 0}.user-info{padding:12px 16px 0;margin:0}.user-details{display:flex;flex-direction:column;margin:0;padding:0}.user-details strong{color:#333;font-size:14px;margin:0;padding:0}.user-email{color:#666;font-size:12px;margin:0;padding:0}.user-role{color:#666;font-size:12px;font-weight:500;margin:0;padding:0}.user-actions{padding:8px 0 4px;margin:0;border-top:1px solid #f0f0f0;display:flex;flex-direction:column;gap:4px}.action-button{padding:8px 12px;border:none;border-radius:6px;cursor:pointer;font-weight:500;font-size:12px;transition:all .2s ease;display:flex;align-items:center;gap:6px;text-align:left;width:100%;box-sizing:border-box}.change-password-button{background:linear-gradient(135deg,var(--primary-blue),var(--accent-green));color:#fff}.change-password-button:hover{transform:translateY(-1px);box-shadow:0 2px 8px #1e3a8a4d}.logout-button{background:#ff4757;color:#fff}.logout-button:hover{background:#ff3742;transform:translateY(-1px);box-shadow:0 2px 8px #ff47574d}@media (max-width: 768px){.user-greeting{gap:8px}.user-dropdown{min-width:200px}.user-details strong{font-size:13px}.user-email,.user-role{font-size:11px}.action-button{padding:6px 10px;font-size:11px}}.right-align{text-align:right;color:var(--text-secondary);font-size:14px}.hello-container{display:flex;justify-content:space-between;width:100%;padding:10px 16px;box-sizing:border-box;position:fixed;top:0;left:0;right:0;z-index:var(--z-modal);background:var(--bg-primary);border-bottom:1px solid var(--bg-tertiary);height:var(--hello-height);min-height:var(--hello-height);max-height:var(--hello-height);align-items:center}.left-align{text-align:left;font-size:16px;font-weight:700}.right-align{text-align:right;font-size:16px;font-weight:700}.trading-calendar{padding:20px;font-family:Arial,sans-serif;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px;transition:all .3s ease}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:15px}.trading-calendar h2{margin:0;color:#333;font-size:1.5rem}.view-links{display:flex;align-items:center;gap:8px;background:#f8f9fa;border-radius:6px;padding:4px}.view-link{background:transparent;border:none;padding:8px 16px;border-radius:4px;font-size:14px;font-weight:500;color:#666;cursor:pointer;transition:all .2s ease;white-space:nowrap}.view-link:hover{background:#e9ecef;color:#495057}.view-link.active{background:#007bff;color:#fff}.view-link.active:hover{background:#0056b3}.loading,.error{text-align:center;padding:20px;color:#666}.error{color:#dc3545}.calendar-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:15px;margin-top:20px;transition:all .3s ease}.calendar-day{border:1px solid #ddd;border-radius:8px;padding:15px;background:#fff;box-shadow:0 2px 4px #0000001a;transition:transform .2s ease}.calendar-day:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.calendar-day.market-closed{background-color:#f8f9fa;opacity:.7}.calendar-day.option-expiry{border-color:#dc3545;background-color:#fff5f5}.calendar-day.current-day{border-color:#007bff;background-color:#f0f8ff;box-shadow:0 0 0 2px #007bff40}.day-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.date{font-weight:700;font-size:14px;color:#333}.day-of-week{color:#666;font-size:12px;text-transform:uppercase}.day-status{margin-bottom:10px}.market-status{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:700}.market-status.open{background-color:#d4edda;color:#155724}.market-status.closed{background-color:#f8d7da;color:#721c24}.option-expiry-badge{display:inline-block;background-color:#dc3545;color:#fff;padding:2px 6px;border-radius:4px;font-size:10px;margin-left:8px;font-weight:700}.earnings-section{margin-top:10px;padding-top:10px;border-top:1px solid #eee}.earnings-section h4{margin:0 0 8px;font-size:12px;color:#666;text-transform:uppercase}.earning-item{display:flex;justify-content:space-between;align-items:center;padding:4px 0;font-size:11px;border-bottom:1px solid #f0f0f0}.earning-item:last-child{border-bottom:none}.symbol{font-weight:700;color:#333;flex:1}.time{color:#666;font-size:10px;margin:0 8px}.estimate,.actual{font-weight:700;font-size:10px}.estimate{color:#28a745}.estimate.tc-negative{color:#333}.actual{color:#007bff}@media (max-width: 768px){.calendar-grid{grid-template-columns:1fr}.trading-calendar{padding:15px}.calendar-day{padding:12px}.calendar-header{flex-direction:column;align-items:flex-start;gap:10px}.view-links{align-self:flex-end}}@media (max-width: 480px){.day-header{flex-direction:column;align-items:flex-start;gap:4px}.earning-item{flex-direction:column;align-items:flex-start;gap:2px}.calendar-header{align-items:stretch}.view-links{align-self:center}}.trade-summary-card{border:1px solid #ddd;border-radius:8px;padding:0;background:#fff;box-shadow:0 2px 4px #0000001a;transition:transform .2s ease;display:flex;flex-direction:column;gap:0px;min-height:auto}.trade-summary-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.trade-summary-card.current-period{border-color:#007bff;background-color:#f0f8ff;box-shadow:0 0 0 2px #007bff40}.trade-summary-card.current-period:hover{background-color:#e6f3ff}.trade-summary-day-header,.trade-summary-week-header,.trade-summary-month-header,.trade-summary-year-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;padding:15px 15px 0}.trade-summary-date{font-weight:500;font-size:14px;color:#333}.trade-summary-day-of-week{color:#666;font-size:12px;text-transform:uppercase}.card-divider{border-top:1px solid #eee;margin:5px 15px}.ts-card-content{display:flex;flex-direction:column;gap:0px;flex:1;padding:10px 15px 15px}.ts-metric-item{display:flex;justify-content:space-between;align-items:center;padding:4px 0;font-size:11px;font-family:Arial,sans-serif;border-bottom:1px solid #f0f0f0}.ts-metric-item:last-child{border-bottom:none}.metric-label{font-size:11px!important;font-family:Arial,sans-serif!important;color:#666!important;font-weight:700!important}.metric-value{font-size:11px!important;font-family:Arial,sans-serif!important;font-weight:700!important;color:#333!important;display:flex;align-items:center;gap:4px}.metric-value.positive{color:#155724}.metric-value.negative{color:#721c24}.change-indicator{font-size:8px;font-weight:700;padding:1px 3px;border-radius:3px;background:#0000000d}.change-indicator.positive{color:#155724;background:#1557241a}.change-indicator.negative{color:#721c24;background:#721c241a}@media (max-width: 1024px){.trade-summary-card{padding:0;min-height:180px}.trade-summary-day-header,.trade-summary-week-header,.trade-summary-month-header,.trade-summary-year-header{padding:12px 12px 0}.ts-card-content{padding:12px}.trade-summary-date{font-size:14px}.metric-label,.metric-value{font-size:11px!important}}@media (max-width: 768px){.trade-summary-card{padding:0;min-height:160px}.trade-summary-day-header,.trade-summary-week-header,.trade-summary-month-header,.trade-summary-year-header{flex-direction:column;align-items:flex-start;gap:6px;padding:10px 10px 0}.ts-card-content{padding:10px}.ts-metric-item{padding:1px 0}.metric-label,.metric-value{font-size:10px!important}}.dashboard-trade-summary-table{margin-bottom:20px}.table-title{margin:0 0 15px;padding:15px 20px;background:#f8f9fa;border-bottom:1px solid #e9ecef;font-size:1.2rem;font-weight:600;color:#333}.trade-summary-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:15px;margin-top:20px;transition:all .3s ease}@media (max-width: 1024px){.trade-summary-grid{grid-template-columns:repeat(3,1fr);gap:12px}.table-title{padding:12px 15px;font-size:1.1rem}}@media (max-width: 768px){.trade-summary-grid{grid-template-columns:repeat(2,1fr);gap:10px}.table-title{padding:10px 12px;font-size:1rem}}@media (max-width: 480px){.trade-summary-grid{grid-template-columns:1fr;gap:10px}}.dashboard-trade-summary{padding:20px;font-family:Arial,sans-serif;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px;transition:all .3s ease}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:15px}.dashboard-header h2{margin:0;color:#333;font-size:1.5rem}.expand-toggle{background:#f8f9fa;border:1px solid #e9ecef;color:#495057;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease}.expand-toggle:hover{background:#e9ecef;color:#333}.dashboard-content{margin-top:20px}.current-periods-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:20px}.no-data{text-align:center;padding:20px;color:#666;font-size:1.1rem}@media (max-width: 768px){.dashboard-header{flex-direction:column;gap:15px;text-align:center}.dashboard-header h2{font-size:1.3rem}.expand-toggle{width:100%;max-width:200px}}@media (max-width: 480px){.dashboard-header{padding:15px}.dashboard-header h2{font-size:1.2rem}}.home-container{padding:24px;max-width:1400px;margin:0 auto;min-height:calc(100vh - 80px);background:var(--bg-primary)}.home-header{text-align:center;margin-bottom:32px}.home-header h1{color:var(--text-primary);font-size:2.5rem;font-weight:700;margin:0 0 8px;background:linear-gradient(135deg,var(--primary-blue),var(--accent-green));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.home-header p{color:var(--text-secondary);font-size:1.1rem;margin:0}.home-content{display:flex;flex-direction:column;gap:32px}.section{background:var(--bg-primary);border:1px solid var(--bg-tertiary);border-radius:12px;padding:24px;box-shadow:0 4px 16px #00000014;transition:all .3s ease}.section:hover{box-shadow:0 8px 24px #0000001f;transform:translateY(-2px)}.section h2{color:var(--text-primary);font-size:1.5rem;font-weight:600;margin:0 0 20px;display:flex;align-items:center;gap:8px}.dummy-badge{background:var(--error-red);color:#fff;padding:4px 8px;border-radius:4px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-left:8px}.section h3{color:var(--text-primary);font-size:1.2rem;font-weight:600;margin:0 0 12px}.week-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.day-card{background:var(--bg-secondary);border:2px solid var(--bg-tertiary);border-radius:8px;padding:16px;text-align:center;transition:all .3s ease}.day-card.open{border-color:var(--accent-green);background:#4caf501a}.day-card.closed{border-color:var(--error-red);background:#f443361a}.day-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.day-name{font-weight:600;color:var(--text-primary);margin-bottom:4px}.day-date{font-size:.9rem;color:var(--text-secondary);margin-bottom:8px}.open-badge{background:var(--accent-green);color:#fff;padding:4px 8px;border-radius:4px;font-size:.8rem;font-weight:600}.closed-badge{background:var(--error-red);color:#fff;padding:4px 8px;border-radius:4px;font-size:.8rem;font-weight:600;margin-bottom:4px}.closure-info{display:flex;flex-direction:column;gap:4px}.closure-name{font-size:.75rem;color:var(--text-secondary)}.results-table-container{overflow-x:auto;border-radius:8px;border:1px solid var(--bg-tertiary)}.results-table{width:100%;border-collapse:collapse;background:var(--bg-primary)}.results-table th{background:linear-gradient(135deg,var(--primary-blue),var(--accent-green));color:#fff;padding:12px;text-align:left;font-weight:600;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.results-table td{padding:12px;border-bottom:1px solid var(--bg-tertiary);color:var(--text-primary)}.results-table tr:nth-child(2n){background:var(--bg-secondary)}.results-table tr:hover{background:var(--bg-tertiary)}.results-table .symbol{font-weight:600;color:var(--primary-blue)}.results-table .type{font-weight:500;color:var(--accent-green)}.summary-grid,.commission-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.summary-card,.commission-card{background:var(--bg-secondary);border:1px solid var(--bg-tertiary);border-radius:8px;padding:20px;text-align:center;transition:all .3s ease}.summary-card:hover,.commission-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026;border-color:var(--primary-blue)}.summary-label,.commission-label{font-size:.9rem;color:var(--text-secondary);margin-bottom:8px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.summary-value,.commission-value{font-size:1.5rem;font-weight:700;color:var(--primary-blue);margin-bottom:4px}.trades-value{font-size:.9rem;color:var(--text-secondary);font-weight:500}.no-data-message{text-align:center;padding:40px 20px;color:var(--text-secondary);font-size:1.1rem}.no-data-message p{margin:0}.portfolio-links-container{overflow-x:auto;border-radius:8px;border:1px solid var(--bg-tertiary);margin-bottom:24px;max-height:400px;overflow-y:auto}.portfolio-links-table{width:100%;border-collapse:collapse;background:var(--bg-primary)}.portfolio-links-table th{background:linear-gradient(135deg,var(--primary-blue),var(--accent-green));color:#fff;padding:12px;text-align:left;font-weight:600;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px;position:sticky;top:0;z-index:var(--z-sticky)}.portfolio-links-table td{padding:12px;border-bottom:1px solid var(--bg-tertiary);color:var(--text-primary)}.portfolio-links-table tr:nth-child(2n){background:var(--bg-secondary)}.portfolio-links-table tr:hover{background:var(--bg-tertiary)}.portfolio-links-table .symbol{font-weight:600;color:var(--primary-blue)}.portfolio-links-table .price{font-weight:500;color:var(--text-primary)}.portfolio-links-table .profit-loss{font-weight:600}.portfolio-links-table .profit-loss.positive{color:var(--accent-green)}.portfolio-links-table .profit-loss.negative{color:var(--error-red)}.external-link{display:inline-block;padding:6px 12px;background:linear-gradient(135deg,var(--primary-blue),var(--accent-green));color:#fff;text-decoration:none;border-radius:4px;font-weight:500;font-size:.8rem;text-align:center;transition:all .3s ease;border:none;cursor:pointer}.external-link:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0003;filter:brightness(1.1)}.external-link:active{transform:translateY(0)}.market-summary-section{background:var(--bg-secondary);border:1px solid var(--bg-tertiary);border-radius:8px;padding:20px;transition:all .3s ease}.market-summary-section:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.market-links{display:flex;flex-direction:column;gap:16px}.market-link-buttons{display:flex;flex-wrap:wrap;gap:8px}.market-link-btn{display:inline-block;padding:8px 12px;background:linear-gradient(135deg,var(--primary-blue),var(--accent-green));color:#fff;text-decoration:none;border-radius:4px;font-weight:500;text-align:center;transition:all .3s ease;border:none;cursor:pointer;font-size:.9rem}.market-link-btn:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0003;filter:brightness(1.1)}.market-link-btn:active{transform:translateY(0)}.market-description{font-size:.9rem;color:var(--text-secondary);line-height:1.5}.market-description p{margin:0}@media (max-width: 1200px){.home-container{padding:16px}.portfolio-links-table{font-size:.9rem}.external-link{font-size:.7rem;padding:4px 8px}}@media (max-width: 768px){.home-header h1{font-size:2rem}.week-grid{grid-template-columns:repeat(2,1fr);gap:12px}.day-card:nth-child(5){grid-column:span 2}.summary-grid,.commission-grid{grid-template-columns:repeat(2,1fr)}.portfolio-links-table{font-size:.8rem}.external-link{font-size:.6rem;padding:3px 6px}.market-link-buttons{flex-direction:column}.section{padding:16px}}@media (max-width: 480px){.week-grid{grid-template-columns:1fr}.day-card:nth-child(5){grid-column:span 1}.summary-grid,.commission-grid{grid-template-columns:1fr}.home-header h1{font-size:1.5rem}.section h2{font-size:1.2rem}}.section{animation:fadeInUp .6s ease-out}:root{--bg-primary: #ffffff;--bg-secondary: #f8f9fa;--bg-tertiary: #e9ecef;--text-primary: #212529;--text-secondary: #6c757d;--text-white: #ffffff;--primary-blue: #007bff;--accent-green: #28a745;--error-red: #dc3545}.dashboard-trade-summary-section,.portfolio-summary-section{background:var(--bg-primary);border:1px solid var(--bg-tertiary);border-radius:12px;padding:0;box-shadow:0 4px 16px #00000014;transition:all .3s ease}.market-summary-section{background:var(--bg-primary);border:1px solid var(--bg-tertiary);border-radius:12px;padding:24px;box-shadow:0 4px 16px #00000014;transition:all .3s ease}.dashboard-trade-summary-section:hover,.portfolio-summary-section:hover,.market-summary-section:hover{box-shadow:0 8px 24px #0000001f;transform:translateY(-2px)}.dashboard-trade-summary-section h2,.portfolio-summary-section h2,.market-summary-section h2{color:var(--text-primary);font-size:1.5rem;font-weight:600;margin:0 0 20px;display:flex;align-items:center;gap:8px}.dashboard-trade-summary-section .dashboard-trade-summary{background:transparent;border-radius:0;box-shadow:none;margin-bottom:0;padding:20px}.dashboard-trade-summary-section .dashboard-trade-summary:hover{transform:none}.dashboard-trade-summary-section .dashboard-header{margin-bottom:15px}.dashboard-trade-summary-section .dashboard-header h2{margin:0;color:var(--text-primary);font-size:1.5rem;font-weight:600}.dashboard-trade-summary-section .dashboard-content{padding:0}.trade-table-container{display:flex;flex-direction:column;height:100%;overflow:hidden}.trade-table{width:100%;border-collapse:collapse;border-spacing:0}.trade-table-header{flex-shrink:0;background:linear-gradient(135deg,var(--primary-blue),var(--accent-green));border-top:1px solid rgba(255,255,255,.2)}.trade-table-header .trade-table thead th{font-weight:600;background:transparent;color:var(--text-white);padding:16px 12px;text-align:right;border-bottom:none;letter-spacing:.5px;font-size:13px;text-transform:uppercase}.trade-table-header .trade-table thead th:first-child{text-align:left}.trade-table-body{flex:1;overflow-y:auto;background:var(--bg-primary)}.trade-table-body .trade-table tbody td{padding:12px;text-align:right;border-bottom:1px solid var(--bg-tertiary);color:var(--text-primary);font-weight:500}.trade-table-body .trade-table tbody td:first-child{text-align:left;font-weight:600;color:var(--text-primary)}.trade-table-body .trade-table tbody tr:nth-child(2n){background-color:var(--bg-secondary)}.trade-table-body .trade-table tbody tr:nth-child(odd){background-color:var(--bg-primary)}.trade-table-body .trade-table tbody tr:hover{background-color:var(--bg-tertiary);transition:background-color .2s ease}.trade-table-footer{flex-shrink:0;background:linear-gradient(135deg,var(--accent-green),var(--primary-blue));border-radius:0 0 8px 8px}.trade-table-footer .trade-table tbody tr.totals-row{background:transparent}.trade-table-footer .trade-table tbody tr.totals-row td{color:var(--text-white);font-weight:600;padding:16px 12px;border-bottom:none;text-align:right}.trade-table-footer .trade-table tbody tr.totals-row td:first-child{text-align:left}.trade-table-footer .trade-table tbody tr.totals-row:hover{background:linear-gradient(135deg,var(--accent-gold),var(--accent-green))}.trade-table:not(.trade-table-container .trade-table){border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.trade-table:not(.trade-table-container .trade-table) thead th{font-weight:600;background:linear-gradient(135deg,var(--primary-blue),var(--accent-green));color:var(--text-white);padding:16px 12px;text-align:right;border-bottom:none;letter-spacing:.5px;font-size:13px;text-transform:uppercase;border-radius:8px 8px 0 0}.trade-table:not(.trade-table-container .trade-table) thead th:first-child{text-align:left}.trade-table:not(.trade-table-container .trade-table) tbody td{padding:12px;text-align:right;border-bottom:1px solid var(--bg-tertiary);color:var(--text-primary);font-weight:500}.trade-table:not(.trade-table-container .trade-table) tbody td:first-child{text-align:left;font-weight:600;color:var(--text-primary)}.trade-table:not(.trade-table-container .trade-table) tbody tr:nth-child(2n){background-color:var(--bg-secondary)}.trade-table:not(.trade-table-container .trade-table) tbody tr:nth-child(odd){background-color:var(--bg-primary)}.trade-table:not(.trade-table-container .trade-table) tbody tr:hover{background-color:var(--bg-tertiary);transition:background-color .2s ease}.trade-table:not(.trade-table-container .trade-table) tbody tr:last-child{background:linear-gradient(135deg,var(--accent-green),var(--primary-blue));color:var(--text-white);font-weight:600;border-radius:0 0 8px 8px}.trade-table:not(.trade-table-container .trade-table) tbody tr:last-child td{color:var(--text-white);border-bottom:none}.trade-table:not(.trade-table-container .trade-table) tbody tr:last-child:hover{background:linear-gradient(135deg,var(--accent-gold),var(--accent-green))}.no-data{padding:24px;text-align:center;color:var(--text-secondary);font-style:italic;font-size:16px;height:100%;display:flex;align-items:center;justify-content:center}.account-table-container{display:flex;flex-direction:column;height:100%;overflow:hidden}.account-table{width:100%;border-collapse:collapse;border-spacing:0}.account-table-header{flex-shrink:0;background:linear-gradient(135deg,var(--primary-blue),var(--accent-green))}.account-table-header .account-table thead th{font-weight:600;background:transparent;color:var(--text-white);padding:16px 12px;text-align:right;border-bottom:none;letter-spacing:.5px;font-size:13px;text-transform:uppercase}.account-table-header .account-table thead th:first-child{text-align:left}.account-table-body{flex:1;overflow-y:auto;background:var(--bg-primary);min-height:0}.account-table-body .account-table tbody td{padding:12px;text-align:right;border-bottom:1px solid var(--bg-tertiary);color:var(--text-primary);font-weight:500}.account-table-body .account-table tbody td:first-child{text-align:left;font-weight:600;color:var(--text-primary)}.account-table-body .account-table tbody tr:nth-child(2n){background-color:var(--bg-secondary)}.account-table-body .account-table tbody tr:nth-child(odd){background-color:var(--bg-primary)}.account-table-body .account-table tbody tr:hover{background-color:var(--bg-tertiary);transition:background-color .2s ease}.account-table-footer{flex-shrink:0;background:linear-gradient(135deg,var(--accent-green),var(--primary-blue));border-radius:0 0 8px 8px;margin:0!important;padding:0!important}.account-table-footer .account-table,.account-table-footer .account-table tbody{background:transparent;margin:0;padding:0}.account-table-footer .account-table tbody tr.account-totals-row{background:transparent;margin:0;padding:0;height:auto}.account-table-footer .account-table tbody tr.account-totals-row td{color:var(--text-white);font-weight:600;padding:16px 12px;border-bottom:none;text-align:right;background:transparent;margin:0;line-height:1.2}.account-table-footer .account-table tbody tr.account-totals-row td:first-child{text-align:left}.account-table-footer .account-table tbody tr.account-totals-row:hover{background:linear-gradient(135deg,var(--accent-gold),var(--accent-green))}.account-table-footer .account-table thead,.account-table-footer .account-table thead tr,.account-table-footer .account-table thead th{display:none}.account-no-data{padding:24px;text-align:center;color:var(--text-secondary);font-style:italic;font-size:16px;height:100%;display:flex;align-items:center;justify-content:center}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.summary-container{display:flex;flex-direction:column;height:calc(100vh - 125px);width:100%;padding:24px 16px;background:transparent;overflow:hidden;box-sizing:border-box}.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;width:100%;height:100%;overflow:hidden;max-width:100%}.summary-section{background:var(--bg-primary);border:1px solid var(--bg-tertiary);border-radius:12px;box-shadow:0 4px 16px #00000014;text-align:center;transition:all .3s ease;animation:fadeInUp .6s ease-out;display:flex;flex-direction:column;height:100%;overflow:hidden}.summary-section:hover{box-shadow:0 8px 24px #0000001f;transform:translateY(-2px)}.summary-section h2{background:linear-gradient(135deg,var(--primary-blue),var(--accent-green));color:var(--text-white);margin:0;padding:16px;border-radius:12px 12px 0 0;font-weight:600;letter-spacing:.5px;text-transform:uppercase;font-size:14px;flex-shrink:0}.summary-section .content{flex:1;overflow:hidden;display:flex;flex-direction:column;padding:0;height:100%}.summary-container-accounts{display:flex;flex-direction:column;align-items:center;gap:0px;width:100%;padding:24px;overflow-y:auto;background:transparent}.summary-grid-accounts{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;width:100%;max-height:calc(100vh - 130px);overflow-y:auto}.summary-grid-accounts .summary-section{background:var(--bg-primary);border:1px solid var(--bg-tertiary);border-radius:12px;box-shadow:0 4px 16px #00000014;text-align:center;transition:all .3s ease;animation:fadeInUp .6s ease-out;display:block;height:auto;overflow:visible}.summary-grid-accounts .summary-section:hover{box-shadow:0 8px 24px #0000001f;transform:translateY(-2px)}.summary-grid-accounts .summary-section h2{background:linear-gradient(135deg,var(--primary-blue),var(--accent-green));color:var(--text-white);margin:0;padding:16px;border-radius:12px 12px 0 0;font-weight:600;letter-spacing:.5px;text-transform:uppercase;font-size:14px}.summary-grid-accounts .summary-section .content{padding:16px;display:block;overflow:visible}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.accounts-accordion{display:flex;flex-direction:column;gap:8px;height:100%;min-height:100%}.account-accordion-item{border:1px solid var(--bg-tertiary);border-radius:0;background:var(--bg-primary);overflow:hidden;transition:all .3s ease;box-shadow:0 2px 4px #0000000d}.account-accordion-item:hover{border-color:var(--bg-tertiary);box-shadow:0 4px 8px #0000001f}.account-accordion-item.expanded{flex:1;min-height:0;display:flex;flex-direction:column}.account-accordion-item.collapsed{flex:none}.account-header{display:flex;align-items:center;gap:12px;padding:16px 20px;background:linear-gradient(135deg,var(--primary-blue),var(--accent-green));color:#fff;cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .2s ease;font-weight:600;border-bottom:1px solid rgba(255,255,255,.2)}.account-header:hover{background:linear-gradient(135deg,var(--accent-gold),var(--accent-green));transform:translateY(-1px)}.account-header:focus{outline:2px solid var(--focus-color, #60a5fa);outline-offset:2px}.account-toggle-icon{font-size:14px;transition:transform .2s ease;color:#ffffffe6}.account-accordion-item.expanded .account-toggle-icon{transform:rotate(0)}.account-accordion-item.collapsed .account-toggle-icon{transform:rotate(-90deg)}.account-name{flex:1;font-size:16px;font-weight:600;color:#fff}.account-summary{font-size:14px;color:#fffc;font-weight:500;padding:4px 12px;background:#ffffff26;border-radius:12px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.account-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.account-content .account-table-container{flex:1;display:flex;flex-direction:column;overflow:hidden;margin:0;padding:0}.account-content .account-table-header{flex-shrink:0}.account-content .account-table-body{flex:1;overflow-y:auto;min-height:0}.account-content .account-table-footer{flex-shrink:0}@media (max-width: 768px){.account-header{padding:12px 16px;font-size:14px}.account-name{font-size:14px}.account-summary{font-size:12px;padding:2px 8px}.account-content{height:calc(100vh - 200px)}}@media (prefers-color-scheme: dark){.account-accordion-item{background:var(--bg-primary);border-color:var(--bg-tertiary)}.account-accordion-item:hover{border-color:var(--bg-tertiary);box-shadow:0 4px 8px #00000040}}.view-toggle-container{display:flex;align-items:center;gap:12px;margin:0 16px}.view-toggle-label{font-size:14px;font-weight:500;color:var(--text-primary);white-space:nowrap}.view-toggle{position:relative;display:flex;background:var(--bg-secondary);border-radius:24px;padding:4px;border:1px solid var(--bg-tertiary);box-shadow:0 2px 4px #0000000d;overflow:hidden}.view-toggle-option{position:relative;z-index:var(--z-content);padding:8px 16px;border:none;background:transparent;color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;border-radius:20px;white-space:nowrap;display:flex;align-items:center;gap:6px}.view-toggle-option:hover{color:var(--text-primary)}.view-toggle-option.active{color:var(--text-white);font-weight:600}.view-toggle-slider{position:absolute;top:4px;left:4px;bottom:4px;width:calc(50% - 4px);background:linear-gradient(135deg,var(--primary-blue),var(--accent-green));border-radius:20px;transition:transform .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 6px #00000026;z-index:var(--z-base)}.view-toggle:hover .view-toggle-slider{box-shadow:0 4px 12px #0003}.view-toggle-option:focus{outline:2px solid var(--primary-blue);outline-offset:2px}@media (max-width: 768px){.view-toggle-container{margin:0 8px;gap:8px}.view-toggle-label{font-size:12px}.view-toggle-option{padding:6px 12px;font-size:12px}}@media (prefers-color-scheme: dark){.view-toggle{background:var(--bg-primary);border-color:var(--bg-tertiary)}.view-toggle-slider{box-shadow:0 2px 6px #0006}.view-toggle:hover .view-toggle-slider{box-shadow:0 4px 12px #00000080}}.summary-page-wrapper{position:relative;height:calc(100vh - 100px);width:100vw;overflow:hidden;box-sizing:border-box;display:flex;flex-direction:column}.summary-page-header,.summary-page-title{display:none}.summary-selectors{display:flex;align-items:center;justify-content:flex-start;gap:16px;padding:12px 24px;background:var(--bg-primary);border-bottom:1px solid var(--bg-tertiary);box-shadow:0 2px 8px #00000014;flex-shrink:0;z-index:var(--z-sticky)}.view-selector-section,.account-selector-section{display:flex;align-items:center}.account-selector-section,.view-selector-section{justify-content:flex-start}.account-selector{padding:6px 12px;border:1px solid var(--bg-tertiary);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;min-width:150px}.account-selector:hover{border-color:var(--primary-blue);box-shadow:0 2px 4px #2563eb1a}.account-selector:focus{outline:none;border-color:var(--primary-blue);box-shadow:0 0 0 3px #2563eb1a}.summary-page-content{flex:1;overflow:hidden;box-sizing:border-box}.summary-page-content .summary-container{height:100%}.summary-selectors .view-toggle-container{margin:0;gap:6px}.summary-selectors .view-toggle-label{display:none}.summary-selectors .view-toggle{padding:2px;box-shadow:none;border:1px solid var(--bg-tertiary)}.summary-selectors .view-toggle-option{padding:6px 12px;font-size:13px;gap:4px}@media (max-width: 768px){.summary-selectors{flex-direction:column;gap:12px;padding:16px;align-items:flex-start}.view-selector-section,.account-selector-section{width:100%;justify-content:flex-start}.account-selector{min-width:200px}}@media (prefers-color-scheme: dark){.summary-selectors{background:var(--bg-primary);border-color:var(--bg-tertiary);box-shadow:0 2px 8px #0003}.account-selector{background:var(--bg-primary);border-color:var(--bg-tertiary);color:var(--text-primary)}}.portfolio-date-picker{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-radius:8px;border:1px solid #cbd5e1;margin-bottom:1rem}.portfolio-date-picker.loading,.portfolio-date-picker.error{justify-content:center;padding:1rem}.date-picker-label{font-weight:600;color:#374151;font-size:.875rem;white-space:nowrap}.date-picker-select{flex:1;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:6px;background-color:#fff;color:#374151;font-size:.875rem;cursor:pointer;transition:all .2s ease;min-width:200px}.date-picker-select:hover{border-color:#6366f1;box-shadow:0 0 0 1px #6366f1}.date-picker-select:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.date-picker-info{display:flex;flex-direction:column;align-items:flex-end;font-size:.75rem;color:#6b7280}.date-range{font-weight:500}.loading-text,.error-text{font-size:.875rem;color:#6b7280;font-weight:500}.error-text{color:#dc2626}@media (max-width: 640px){.portfolio-date-picker{flex-direction:column;align-items:stretch;gap:.75rem}.date-picker-label{text-align:center}.date-picker-select{min-width:auto}.date-picker-info{align-items:center}}@media (prefers-color-scheme: dark){.portfolio-date-picker{background:linear-gradient(135deg,#1f2937,#111827);border-color:#374151}.date-picker-label{color:#f3f4f6}.date-picker-select{background-color:#1f2937;border-color:#374151;color:#f3f4f6}.date-picker-select:hover{border-color:#818cf8;box-shadow:0 0 0 1px #818cf8}.date-picker-select:focus{border-color:#818cf8;box-shadow:0 0 0 3px #818cf81a}.date-picker-info,.loading-text{color:#9ca3af}}.data-freshness-indicator{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:6px;font-size:.875rem;font-weight:500;transition:all .2s ease}.data-freshness-indicator.current{background-color:#dcfce7;color:#15803d;border:1px solid #bbf7d0}.data-freshness-indicator.recent{background-color:#fef3c7;color:#d97706;border:1px solid #fed7aa}.data-freshness-indicator.old{background-color:#fee2e2;color:#dc2626;border:1px solid #fecaca}.data-freshness-indicator.loading{background-color:#f1f5f9;color:#64748b;border:1px solid #e2e8f0}.status-icon{font-size:1rem;line-height:1}.status-text{white-space:nowrap}.data-freshness-indicator:not(:has(.status-text)){padding:.375rem;min-width:2rem;justify-content:center}.data-freshness-indicator:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}@media (prefers-color-scheme: dark){.data-freshness-indicator.current{background-color:#064e3b;color:#34d399;border-color:#065f46}.data-freshness-indicator.recent{background-color:#451a03;color:#fbbf24;border-color:#78350f}.data-freshness-indicator.old{background-color:#450a0a;color:#f87171;border-color:#7f1d1d}.data-freshness-indicator.loading{background-color:#1e293b;color:#94a3b8;border-color:#334155}}@media (max-width: 640px){.data-freshness-indicator{font-size:.8rem}.status-text{display:none}.data-freshness-indicator{padding:.375rem;min-width:2rem;justify-content:center}}.portfolio-container{padding:20px;text-align:center}.portfolio-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:1rem}.portfolio-header h2{margin:0;color:#1a2b4c}.no-data-message{text-align:center;padding:20px;background-color:#f8f9fa;border-radius:8px;margin:20px auto;max-width:600px}.portfolio-summary{background-color:#f8f9fa;border-radius:8px;padding:20px;margin:20px 0;box-shadow:0 2px 4px #0000001a}.portfolio-summary h3{color:#1a2b4c;margin-bottom:15px;font-size:1.2em}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;text-align:left}.summary-item{display:flex;justify-content:space-between;align-items:center;padding:10px;background-color:#fff;border-radius:4px;border-left:4px solid #1a2b4c}.summary-label{font-weight:500;color:#495057}.summary-value{font-weight:700;color:#1a2b4c}.portfolio-filters{background-color:#fff;border:1px solid #dee2e6;border-radius:8px;padding:15px;margin:20px 0;text-align:left}.filter-group select:focus{outline:none;border-color:#1a2b4c;box-shadow:0 0 0 2px #1a2b4c1a}.portfolio-table{width:100%;border-collapse:collapse;margin:20px 0;background-color:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000001a}.portfolio-table th,.portfolio-table td{padding:12px;text-align:right;border-bottom:1px solid #dee2e6}.portfolio-table th{background-color:#1a2b4c;color:#fff;font-weight:600;text-transform:uppercase;font-size:.9em;letter-spacing:.5px}.portfolio-table tbody tr:hover{background-color:#f8f9fa}.portfolio-table tbody tr:last-child td{border-bottom:none}.portfolio-pagination{display:flex;justify-content:space-between;align-items:center;margin:20px 0;padding:15px;background-color:#f8f9fa;border-radius:8px}.pagination-info{color:#495057;font-size:14px}.pagination-controls{display:flex;align-items:center;gap:15px}.pagination-btn{padding:8px 16px;border:1px solid #ced4da;border-radius:4px;background-color:#fff;color:#495057;cursor:pointer;transition:all .2s ease;font-size:14px}.pagination-btn:hover:not(:disabled){background-color:#1a2b4c;color:#fff;border-color:#1a2b4c}.pagination-btn:disabled{background-color:#e9ecef;color:#6c757d;cursor:not-allowed;border-color:#dee2e6}.page-indicator{font-weight:500;color:#495057;padding:8px 12px;background-color:#fff;border:1px solid #ced4da;border-radius:4px;min-width:60px;text-align:center}@media (max-width: 768px){.portfolio-container{padding:10px}.summary-grid{grid-template-columns:1fr}.portfolio-pagination{flex-direction:column;gap:10px;text-align:center}.filter-group{flex-direction:column;align-items:stretch}.filter-group label{min-width:auto;margin-bottom:5px}.portfolio-table{font-size:12px}.portfolio-table th,.portfolio-table td{padding:6px}}.positive{color:#28a745;font-weight:600}.negative{color:#dc3545;font-weight:600}.analytics-container{padding:20px;max-width:1400px;margin:0 auto}.analytics-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;gap:1rem}.analytics-header h2{margin:0;color:#1a2b4c;font-size:2em}.analytics-container h2{color:#1a2b4c;text-align:center;margin-bottom:30px;font-size:2em}.analytics-filters{background-color:#fff;border:1px solid #dee2e6;border-radius:8px;padding:15px;margin:20px 0}.filter-group{display:flex;align-items:center;gap:10px}.filter-group label{font-weight:500;color:#495057;min-width:120px}.filter-group select{padding:8px 12px;border:1px solid #ced4da;border-radius:4px;background-color:#fff;color:#495057;font-size:14px;min-width:200px}.analytics-summary{margin:30px 0}.analytics-summary h3{color:#1a2b4c;margin-bottom:20px;font-size:1.4em}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:30px}.summary-card{background-color:#fff;border:1px solid #dee2e6;border-radius:12px;padding:20px;box-shadow:0 4px 6px #0000001a;text-align:center;transition:transform .2s ease,box-shadow .2s ease}.summary-card:hover{transform:translateY(-2px);box-shadow:0 6px 12px #00000026}.card-header{font-size:14px;color:#6c757d;margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.card-value{font-size:24px;font-weight:700;color:#1a2b4c;margin-bottom:5px}.card-subtitle{font-size:14px;color:#6c757d}.allocation-section{margin:40px 0;background-color:#fff;border-radius:12px;padding:25px;box-shadow:0 4px 6px #0000001a}.allocation-section h3{color:#1a2b4c;margin-bottom:20px;font-size:1.4em}.allocation-bar{height:40px;border-radius:20px;overflow:hidden;display:flex;margin-bottom:20px;box-shadow:0 2px 4px #0000001a}.allocation-segment:hover{opacity:.8}.allocation-segment.stocks{background-color:#007bff}.allocation-segment.options{background-color:#28a745}.allocation-segment.cash{background-color:#ffc107}.allocation-segment.other{background-color:#6c757d}.allocation-legend{display:flex;justify-content:center;flex-wrap:wrap;gap:20px}.legend-item{display:flex;align-items:center;gap:8px;font-size:14px;color:#495057}.legend-color{width:16px;height:16px;border-radius:4px}.legend-color.stocks{background-color:#007bff}.legend-color.options{background-color:#28a745}.legend-color.cash{background-color:#ffc107}.legend-color.other{background-color:#6c757d}.analytics-sections{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:40px 0}.top-holdings{background-color:#fff;border-radius:12px;padding:25px;box-shadow:0 4px 6px #0000001a}.top-holdings h3{color:#1a2b4c;margin-bottom:20px;font-size:1.3em}.holdings-table{display:grid;gap:2px}.table-header{display:grid;grid-template-columns:1fr 2fr 1fr 1fr 1fr;gap:10px;padding:12px;background-color:#1a2b4c;color:#fff;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.5px;border-radius:6px 6px 0 0}.table-row{display:grid;grid-template-columns:1fr 2fr 1fr 1fr 1fr;gap:10px;padding:12px;background-color:#f8f9fa;border-bottom:1px solid #dee2e6;transition:background-color .2s ease}.table-row:hover{background-color:#e9ecef}.table-row:last-child{border-radius:0 0 6px 6px}.holding-symbol{font-weight:700;color:#1a2b4c}.holding-description{color:#495057;font-size:13px}.holding-value,.holding-percentage{font-weight:600;color:#495057;text-align:right}.holding-type{text-align:center;font-size:12px;background-color:#e9ecef;padding:2px 6px;border-radius:4px;color:#495057}.top-sectors{background-color:#fff;border-radius:12px;padding:25px;box-shadow:0 4px 6px #0000001a}.top-sectors h3{color:#1a2b4c;margin-bottom:20px;font-size:1.3em}.sectors-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px}.sector-card{background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;padding:15px;text-align:center;transition:all .2s ease}.sector-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.sector-name{font-weight:700;color:#1a2b4c;font-size:14px;margin-bottom:8px}.sector-value{font-weight:600;color:#495057;font-size:16px;margin-bottom:4px}.sector-percentage{color:#28a745;font-weight:600;font-size:14px;margin-bottom:4px}.sector-positions{color:#6c757d;font-size:12px}.breakdowns-section{margin:40px 0}.breakdown-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:25px}.breakdown-card{background-color:#fff;border-radius:12px;padding:25px;box-shadow:0 4px 6px #0000001a}.breakdown-card h4{color:#1a2b4c;margin-bottom:20px;font-size:1.2em;padding-bottom:10px;border-bottom:2px solid #1a2b4c}.breakdown-list{display:flex;flex-direction:column;gap:12px}.breakdown-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background-color:#f8f9fa;border-radius:6px;transition:background-color .2s ease}.breakdown-item:hover{background-color:#e9ecef}.breakdown-label{font-weight:500;color:#1a2b4c;flex:1}.breakdown-values{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.breakdown-amount{font-weight:700;color:#495057}.breakdown-percentage{font-size:12px;color:#6c757d}@media (max-width: 1200px){.analytics-sections{grid-template-columns:1fr}}@media (max-width: 768px){.analytics-container{padding:15px}.summary-cards{grid-template-columns:1fr}.allocation-legend{flex-direction:column;align-items:center}.breakdown-grid{grid-template-columns:1fr}.sectors-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.table-header,.table-row{grid-template-columns:1fr;gap:5px}.table-header div,.table-row div{padding:4px 0}.filter-group{flex-direction:column;align-items:stretch}.filter-group label{min-width:auto;margin-bottom:5px}}@media (max-width: 480px){.analytics-container h2{font-size:1.5em}.card-value{font-size:18px}.allocation-bar{height:30px}.sector-card{padding:10px}.breakdown-card{padding:15px}}.no-data-message{text-align:center;padding:40px 20px;background-color:#f8f9fa;border-radius:12px;margin:20px auto;max-width:600px}.no-data-message h2{color:#1a2b4c;margin-bottom:10px}.no-data-message p{color:#6c757d;margin:0}.total-portfolio-wrapper{padding:20px;max-width:1400px;margin:0 auto;background-color:#f8f9fa;min-height:100vh}.total-portfolio-container{background-color:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;overflow:hidden}.total-portfolio-header{display:flex;justify-content:space-between;align-items:flex-start;padding:30px 20px 10px;gap:1rem}.total-portfolio-header div:first-child{flex:1}.total-portfolio-container h2{color:#1a2b4c;text-align:center;margin:0;padding:0;font-size:2.2em;font-weight:700}.subtitle{text-align:center;color:#6c757d;margin:0;font-size:1.1em;font-style:italic}.total-summary{padding:30px;background:linear-gradient(135deg,#1a2b4c,#2c5282);color:#fff;margin-bottom:0}.total-summary h3{color:#fff;margin-bottom:25px;font-size:1.5em;text-align:center;font-weight:600}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.summary-card{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:12px;padding:25px;text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease}.summary-card:hover{background:#ffffff26;transform:translateY(-2px);box-shadow:0 8px 20px #0003}.summary-card.total-value{border-left:4px solid #28a745}.summary-card.total-gain{border-left:4px solid #ffc107}.summary-card.symbols{border-left:4px solid #007bff}.summary-card.accounts{border-left:4px solid #dc3545}.card-header{font-size:14px;color:#fffc;margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.card-value{font-size:28px;font-weight:700;color:#fff;margin-bottom:5px}.total-allocation{padding:40px 30px;background-color:#f8f9fa;border-bottom:1px solid #dee2e6}.total-allocation h3{color:#1a2b4c;margin-bottom:25px;font-size:1.4em;text-align:center;font-weight:600}.allocation-chart{max-width:800px;margin:0 auto}.allocation-bar{height:50px;border-radius:25px;overflow:hidden;display:flex;margin-bottom:25px;box-shadow:0 4px 8px #0000001a}.allocation-segment{height:100%;transition:all .3s ease;cursor:pointer}.allocation-segment:hover{opacity:.8;transform:scaleY(1.1)}.allocation-segment.stocks{background:linear-gradient(135deg,#007bff,#0056b3)}.allocation-segment.options{background:linear-gradient(135deg,#28a745,#1e7e34)}.allocation-segment.cash{background:linear-gradient(135deg,#ffc107,#e0a800)}.allocation-legend{display:flex;justify-content:center;flex-wrap:wrap;gap:25px}.legend-item{display:flex;align-items:center;gap:10px;font-size:15px;color:#495057;font-weight:500}.legend-color{width:20px;height:20px;border-radius:6px;box-shadow:0 2px 4px #0000001a}.legend-color.stocks{background:linear-gradient(135deg,#007bff,#0056b3)}.legend-color.options{background:linear-gradient(135deg,#28a745,#1e7e34)}.legend-color.cash{background:linear-gradient(135deg,#ffc107,#e0a800)}.total-top-holdings{padding:40px 30px;background-color:#fff;border-bottom:1px solid #dee2e6}.total-top-holdings h3{color:#1a2b4c;margin-bottom:25px;font-size:1.4em;text-align:center;font-weight:600}.holdings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.holding-card{background:#f8f9fa;border:1px solid #dee2e6;border-radius:10px;padding:20px;text-align:center;transition:all .3s ease;position:relative;overflow:hidden}.holding-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#007bff,#28a745)}.holding-card:hover{transform:translateY(-3px);box-shadow:0 8px 16px #00000026;border-color:#007bff}.holding-symbol{font-weight:700;color:#1a2b4c;font-size:18px;margin-bottom:8px}.holding-description{color:#6c757d;font-size:13px;margin-bottom:12px;min-height:32px;display:flex;align-items:center;justify-content:center}.holding-value{font-weight:700;color:#495057;font-size:16px;margin-bottom:5px}.holding-percentage{color:#28a745;font-weight:600;font-size:14px;margin-bottom:8px}.holding-type{font-size:12px;background:#e9ecef;color:#495057;padding:4px 8px;border-radius:4px;display:inline-block}.position-sections{padding:40px 30px}.position-section{margin-bottom:50px}.position-section:last-child{margin-bottom:0}.position-section h3{color:#1a2b4c;margin-bottom:20px;font-size:1.3em;font-weight:600;padding-bottom:10px;border-bottom:2px solid #dee2e6}.stocks-section h3{border-bottom-color:#007bff}.options-section h3{border-bottom-color:#28a745}.cash-section h3{border-bottom-color:#ffc107}.positions-table{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a}.table-header{display:grid;grid-template-columns:1fr 2fr 1fr 1fr 1fr .8fr 1fr;gap:15px;padding:15px;background:#1a2b4c;color:#fff;font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.5px}.table-row{display:grid;grid-template-columns:1fr 2fr 1fr 1fr 1fr .8fr 1fr;gap:15px;padding:15px;background:#f8f9fa;border-bottom:1px solid #dee2e6;transition:background-color .2s ease;align-items:center}.table-row:hover{background:#e9ecef}.table-row:last-child{border-bottom:none}.position-symbol{font-weight:700;color:#1a2b4c;font-size:15px}.position-description{color:#495057;font-size:14px}.position-quantity,.position-value,.position-accounts,.position-percentage{font-weight:600;color:#495057;text-align:right;font-size:14px}.position-gain{font-weight:600;text-align:right;font-size:14px}@media (max-width: 1200px){.holdings-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}}@media (max-width: 768px){.total-portfolio-wrapper{padding:10px}.total-portfolio-container h2{font-size:1.8em;padding:20px 15px 5px}.total-summary{padding:20px 15px}.summary-cards{grid-template-columns:1fr;gap:15px}.total-allocation,.total-top-holdings,.position-sections{padding:20px 15px}.allocation-legend{flex-direction:column;align-items:center;gap:15px}.holdings-grid{grid-template-columns:1fr}.table-header,.table-row{grid-template-columns:1fr;gap:8px;text-align:left}.table-header div,.table-row div{padding:5px 0}.position-quantity,.position-value,.position-gain,.position-accounts,.position-percentage{text-align:left}}@media (max-width: 480px){.total-portfolio-container h2{font-size:1.5em}.card-value{font-size:22px}.allocation-bar{height:40px}.holding-card{padding:15px}.position-section{margin-bottom:30px}}.positive{color:#28a745!important}.negative{color:#dc3545!important}.no-data-message{text-align:center;padding:60px 20px;background-color:#f8f9fa;border-radius:12px;margin:20px}.no-data-message h2{color:#1a2b4c;margin-bottom:15px;font-size:1.8em}.no-data-message p{color:#6c757d;margin:0;font-size:1.1em}.nav{display:flex;align-items:center;background:linear-gradient(135deg,var(--primary-dark) 0%,var(--primary-blue) 100%);padding:10px 16px;gap:10px;justify-content:flex-start;box-shadow:0 2px 12px #00000026;box-sizing:border-box;position:fixed;top:var(--hello-height);left:0;right:0;z-index:var(--z-navbar);width:100%;height:var(--navbar-height);min-height:var(--navbar-height);max-height:var(--navbar-height);contain:layout style}.nav-right{margin-left:auto;display:flex;gap:12px;align-items:center}.dropdown{position:relative}.dropdown-button{background:var(--accent-green);color:var(--text-white);border:none;padding:12px 18px;font-size:16px;cursor:pointer;border-radius:8px;font-weight:600;transition:all .3s ease;box-shadow:0 2px 8px #10b9814d;white-space:nowrap}.dropdown-button:hover{background:var(--accent-gold);transform:translateY(-1px);box-shadow:0 4px 12px #f59e0b66}.dropdown-list{position:absolute;top:100%;left:0;background:var(--bg-primary);border:1px solid var(--bg-tertiary);list-style:none;padding:8px 0;margin:0;min-width:220px;box-shadow:0 8px 24px #00000026;border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:var(--z-modal)}.dropdown-list li{padding:12px 16px;text-align:left;cursor:pointer;transition:background-color .2s ease;white-space:nowrap}.dropdown-list li a{text-decoration:none;color:var(--text-primary);font-weight:500;display:block}.dropdown-list li:hover{background:var(--bg-secondary)}.dropdown-list li.active{background-color:var(--accent-green);color:var(--text-white)}.dropdown-list li.active a{color:var(--text-white)}.nav-right .dropdown-list{right:0;left:auto}@media (max-width: 768px){.nav{padding:8px 12px;gap:8px}.dropdown-button{padding:10px 14px;font-size:14px}.nav-right{gap:8px}}@media (max-width: 480px){.nav{padding:8px 10px;gap:6px}.dropdown-button{padding:8px 12px;font-size:13px}.nav-right{gap:6px}}.queued-file-item{background:#fff;border-radius:8px;border:1px solid #e5e7eb;box-shadow:0 1px 3px #0000001a;transition:all .2s ease;cursor:grab}.queued-file-item:hover{box-shadow:0 4px 6px #0000001a;transform:translateY(-1px)}.queued-file-item:active{cursor:grabbing}.queued-file-item.uploading{border-left:4px solid #f59e0b}.queued-file-item.processing{border-left:4px solid #8b5cf6}.queued-file-item.completed{border-left:4px solid #10b981;opacity:.8}.queued-file-item.failed{border-left:4px solid #ef4444}.queued-file-item.paused{border-left:4px solid #f97316}.file-item-header{display:flex;align-items:center;gap:1rem;padding:1rem}.drag-handle{color:#9ca3af;cursor:grab;font-size:1.2rem;line-height:1;min-width:20px;text-align:center}.file-details{flex:1;display:flex;justify-content:space-between;align-items:center;gap:1rem}.file-main-info{display:flex;align-items:center;gap:.75rem;flex:1}.file-icon{font-size:1.5rem}.file-text{flex:1;min-width:0}.file-name{margin:0 0 .25rem;font-size:1rem;font-weight:500;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-meta{display:flex;gap:1rem;font-size:.875rem;color:#6b7280}.file-meta span{white-space:nowrap}.file-status{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}.status-indicator{display:flex;align-items:center;gap:.5rem}.status-text{font-size:.875rem;font-weight:500}.duration{font-size:.75rem;color:#9ca3af}.file-actions{display:flex;gap:.5rem;align-items:center}.file-actions button{background:none;border:1px solid #d1d5db;border-radius:4px;padding:.375rem;cursor:pointer;transition:all .2s;font-size:.875rem;min-width:32px;display:flex;align-items:center;justify-content:center}.file-actions button:hover{background:#f3f4f6}.file-actions button:disabled{opacity:.5;cursor:not-allowed}.pause-button:hover{background:#fef3c7;border-color:#f59e0b}.resume-button:hover{background:#dcfce7;border-color:#10b981}.retry-button:hover{background:#dbeafe;border-color:#3b82f6}.remove-button:hover{background:#fee2e2;border-color:#ef4444}.view-results-button:hover{background:#dbeafe;border-color:#3b82f6}.confirm-button:hover{background:#dcfce7;border-color:#10b981}.cancel-button:hover{background:#fee2e2;border-color:#ef4444}.progress-section{padding:0 1rem 1rem}.progress-container{display:flex;align-items:center;gap:.75rem}.progress-bar{flex:1;height:6px;background:#e5e7eb;border-radius:3px;overflow:hidden}.progress-fill{height:100%;transition:width .3s ease;border-radius:3px}.progress-text{font-size:.75rem;color:#6b7280;min-width:40px;text-align:right}.error-details{margin:.5rem 1rem 1rem;padding:.75rem;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;display:flex;align-items:flex-start;gap:.5rem}.error-icon{color:#ef4444;font-size:1rem;flex-shrink:0}.error-message{color:#dc2626;font-size:.875rem;line-height:1.4;flex:1}.operation-info{margin:.5rem 1rem 1rem;padding:.5rem .75rem;background:#f3f4f6;border-radius:4px;font-size:.75rem;color:#6b7280;display:flex;gap:.5rem}.operation-label{font-weight:500}.operation-id{font-family:monospace}.file-preview{margin:.5rem 1rem 1rem;padding:1rem;background:#f0f9ff;border:2px solid #0ea5e9;border-radius:8px}.preview-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;font-weight:600;color:#0c4a6e;font-size:.875rem}.preview-icon{font-size:1rem}.file-badges{display:flex;gap:.5rem;margin-bottom:.75rem}.file-type-badge,.brokerage-badge{font-size:.75rem;padding:.25rem .5rem;border-radius:4px;font-weight:500}.file-type-badge.transaction{background:#fef3c7;color:#92400e;border:1px solid #fcd34d}.file-type-badge.portfolio{background:#dcfce7;color:#166534;border:1px solid #86efac}.brokerage-badge.fidelity{background:#e0e7ff;color:#3730a3;border:1px solid #a5b4fc}.brokerage-badge.unknown{background:#f3f4f6;color:#374151;border:1px solid #d1d5db}.preview-summary{display:grid;grid-template-columns:1fr;gap:.5rem;margin-bottom:.75rem}.summary-item{display:flex;justify-content:space-between;align-items:center;padding:.25rem 0;font-size:.875rem;border-bottom:1px solid #e0f2fe}.summary-item:last-child{border-bottom:none}.summary-label{font-weight:500;color:#075985}.summary-value{font-weight:600;color:#0c4a6e}.summary-value.new-count{color:#059669}.summary-value.duplicate-count{color:#d97706}.preview-warnings{background:#fef3c7;border:1px solid #fcd34d;border-radius:6px;padding:.75rem}.warnings-header{font-weight:600;color:#92400e;font-size:.875rem;margin-bottom:.5rem}.warnings-list{margin:0;padding-left:1rem;list-style-type:disc}.warning-item{color:#92400e;font-size:.875rem;margin-bottom:.25rem}.warning-item:last-child{margin-bottom:0}.upload-results{margin:.5rem 1rem 1rem;padding:1rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.results-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;font-weight:600;color:#374151;font-size:.875rem}.results-icon{font-size:1rem}.results-summary{display:flex;flex-direction:column;gap:.5rem}.result-item{display:flex;justify-content:space-between;align-items:center;padding:.25rem 0;font-size:.875rem}.result-item:not(:last-child){border-bottom:1px solid #e5e7eb}.result-label{font-weight:500;color:#6b7280}.result-value{font-weight:600;color:#374151}.result-value.success{color:#10b981}.result-value.error{color:#ef4444}@media (max-width: 768px){.file-item-header,.file-details{flex-direction:column;align-items:stretch;gap:.75rem}.file-main-info{justify-content:flex-start}.file-status{align-items:flex-start;flex-direction:row;justify-content:space-between}.file-actions{justify-content:center}.file-meta{flex-wrap:wrap;gap:.5rem}.result-item{flex-direction:column;align-items:flex-start;gap:.25rem}}.upload-stats{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px #0000001a;margin-bottom:2rem}.upload-stats.processing{border-left:4px solid #3b82f6}.stats-header{margin-bottom:1.5rem}.stats-header h3{margin:0;color:#1f2937;display:flex;align-items:center;gap:1rem}.processing-indicator{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#3b82f6;font-weight:400}.processing-dot{width:8px;height:8px;background:#3b82f6;border-radius:50%;animation:pulse 2s infinite}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem;margin-bottom:1.5rem}.stat-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#f9fafb;border-radius:8px;transition:all .2s}.stat-item:hover{background:#f3f4f6;transform:translateY(-1px)}.stat-icon{font-size:1.5rem;opacity:.8}.stat-content{flex:1}.stat-value{font-size:1.25rem;font-weight:600;line-height:1;margin-bottom:.25rem}.stat-label{font-size:.75rem;color:#6b7280;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.overall-progress{margin-bottom:1.5rem}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.progress-header span:first-child{font-weight:500;color:#374151}.progress-header span:last-child{font-size:.875rem;color:#6b7280}.progress-bar-container{margin-bottom:.75rem}.progress-bar{height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden;display:flex}.progress-segment{height:100%;transition:width .3s ease}.progress-segment.completed{background:linear-gradient(90deg,#10b981,#22c55e)}.progress-segment.failed{background:linear-gradient(90deg,#ef4444,#f87171)}.progress-segment.pending{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.progress-legend{display:flex;gap:1rem;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#6b7280}.legend-color{width:12px;height:12px;border-radius:2px}.legend-color.completed{background:#10b981}.legend-color.failed{background:#ef4444}.legend-color.pending{background:#f59e0b}.stats-details{border-top:1px solid #e5e7eb;padding-top:1rem}.detail-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0}.detail-row:not(:last-child){border-bottom:1px solid #f3f4f6}.detail-label{font-size:.875rem;color:#6b7280;font-weight:500}.detail-value{font-size:.875rem;font-weight:600;color:#374151}.empty-stats{text-align:center;padding:2rem;color:#6b7280}.empty-icon{font-size:3rem;opacity:.5;margin-bottom:1rem}.empty-stats p{margin:0;font-size:.875rem}@media (max-width: 768px){.stats-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.stat-item{padding:.5rem}.stat-icon{font-size:1.25rem}.stat-value{font-size:1.125rem}.progress-header{flex-direction:column;align-items:stretch;gap:.5rem}.progress-legend{gap:.75rem}.legend-item{font-size:.75rem}}.upload-history-modal{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem}.modal-content{position:relative;background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:90vw;max-height:90vh;width:1000px;display:flex;flex-direction:column}.modal-body{flex:1;overflow:hidden;display:flex;flex-direction:column}.history-summary{display:flex;gap:2rem;padding:1.5rem;background:#f9fafb;border-bottom:1px solid #e5e7eb;flex-wrap:wrap}.summary-label{font-size:.75rem;color:#6b7280;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.summary-value{font-size:1.25rem;font-weight:600;color:#1f2937}.history-filters{display:flex;gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid #e5e7eb;align-items:center;flex-wrap:wrap}.search-container{position:relative;flex:1;min-width:250px}.search-input{width:100%;padding:.5rem .75rem .5rem 2.5rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;transition:all .2s}.search-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:#6b7280;font-size:.875rem}.status-filter{padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;background:#fff;cursor:pointer}.status-filter:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.history-table-container{flex:1;overflow:auto;padding:0 1.5rem}.history-table{width:100%;border-collapse:collapse;font-size:.875rem}.history-table th{position:sticky;top:0;background:#fff;border-bottom:2px solid #e5e7eb;padding:.75rem;text-align:left;font-weight:600;color:#374151;white-space:nowrap}.history-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .2s}.history-table th.sortable:hover{background:#f9fafb}.history-table th.sortable.active{background:#eff6ff;color:#3b82f6}.history-table td{padding:.75rem;border-bottom:1px solid #f3f4f6;vertical-align:middle}.history-row{transition:background .2s}.history-row:hover{background:#f9fafb}.status-cell{display:flex;align-items:center;gap:.5rem}.status-icon{font-size:1rem}.status-text{font-weight:500;text-transform:capitalize}.file-cell{display:flex;align-items:center;gap:.5rem;max-width:250px}.file-icon{font-size:1rem;flex-shrink:0}.file-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}.details-cell{display:flex;align-items:center;gap:.75rem}.operation-id{font-family:monospace;font-size:.75rem;color:#6b7280;background:#f3f4f6;padding:.25rem .5rem;border-radius:4px}.error-indicator{color:#ef4444;cursor:help}.no-results{text-align:center;color:#6b7280;font-style:italic;padding:2rem}.results-count{padding:1rem 1.5rem;color:#6b7280;font-size:.875rem;text-align:center;border-top:1px solid #e5e7eb}.empty-history{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;color:#6b7280;text-align:center;min-height:300px}.empty-history h3{margin:0 0 .5rem;color:#374151}.empty-history p{margin:0;font-size:.875rem}@media (max-width: 768px){.modal-content{width:95vw;height:90vh}.history-summary{grid-template-columns:repeat(2,1fr);gap:1rem}.history-filters{flex-direction:column;align-items:stretch}.search-container{min-width:auto}.history-table{font-size:.75rem}.history-table th,.history-table td{padding:.5rem .25rem}.file-cell{max-width:150px}.details-cell{flex-direction:column;align-items:flex-start;gap:.25rem}}.upload-settings-modal{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem}.modal-backdrop{position:absolute;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{position:relative;background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:90vw;max-height:90vh;width:600px;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e5e7eb}.modal-header h2{margin:0;color:#1f2937;font-size:1.5rem}.close-button{background:none;border:none;font-size:1.5rem;color:#6b7280;cursor:pointer;padding:.5rem;border-radius:4px;transition:all .2s}.close-button:hover{background:#f3f4f6;color:#374151}.modal-body{flex:1;overflow-y:auto;padding:1.5rem}.settings-section{margin-bottom:2rem}.settings-section:last-child{margin-bottom:0}.section-title{margin:0 0 1rem;color:#1f2937;font-size:1.125rem;font-weight:600;padding-bottom:.5rem;border-bottom:1px solid #e5e7eb}.section-content{display:flex;flex-direction:column;gap:1rem}.setting-item{display:flex;flex-direction:column;gap:.5rem}.setting-label{font-size:.875rem;font-weight:500;color:#374151;display:flex;flex-direction:column;gap:.25rem}.setting-description{font-size:.75rem;font-weight:400;color:#6b7280;line-height:1.4}.number-input{padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;transition:all .2s;width:120px}.number-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.checkbox-label{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer}.checkbox-input{margin:0;width:1rem;height:1rem;accent-color:#3b82f6;cursor:pointer;flex-shrink:0;margin-top:.125rem}.checkbox-text{flex:1;font-size:.875rem;color:#374151;display:flex;flex-direction:column;gap:.25rem}.advanced-info{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:1rem}.info-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0}.info-item:not(:last-child){border-bottom:1px solid #e5e7eb}.info-label{font-size:.875rem;color:#6b7280;font-weight:500}.info-value{font-size:.875rem;color:#374151;font-weight:500}.modal-footer{border-top:1px solid #e5e7eb;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.footer-buttons{display:flex;justify-content:flex-end;gap:.75rem}.footer-buttons button{padding:.5rem 1rem;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;border:none}.cancel-button{background:#fff;color:#374151;border:1px solid #d1d5db}.cancel-button:hover{background:#f9fafb}.reset-button{background:#f59e0b;color:#fff}.reset-button:hover{background:#d97706}.save-button{background:#e5e7eb;color:#9ca3af;cursor:not-allowed}.save-button.has-changes{background:#3b82f6;color:#fff;cursor:pointer}.save-button.has-changes:hover{background:#2563eb}.save-button:disabled{background:#e5e7eb;color:#9ca3af;cursor:not-allowed}.changes-indicator{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#f59e0b;background:#fef3c7;padding:.75rem;border-radius:6px;border:1px solid #fcd34d}.changes-icon{font-size:1rem}@media (max-width: 768px){.modal-content{width:95vw;height:90vh}.modal-header,.modal-body,.modal-footer{padding:1rem}.footer-buttons{flex-direction:column-reverse}.footer-buttons button{width:100%;padding:.75rem}.info-item{flex-direction:column;align-items:flex-start;gap:.25rem}.number-input{width:100%}}.upload-queue-container{max-width:1200px;margin:0 auto;padding:2rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.upload-header{text-align:center;margin-bottom:2rem}.upload-header h1{color:#1f2937;margin-bottom:.5rem}.upload-header p{color:#6b7280;font-size:1.1rem}.file-drop-zone{border:2px dashed #d1d5db;border-radius:12px;padding:3rem 2rem;text-align:center;background:#f9fafb;transition:all .3s ease;margin-bottom:2rem;cursor:pointer}.file-drop-zone:hover{border-color:#3b82f6;background:#eff6ff}.file-drop-zone.drag-active{border-color:#10b981;background:#ecfdf5;transform:scale(1.02)}.drop-zone-content{display:flex;flex-direction:column;align-items:center;gap:1rem}.drop-zone-icon{font-size:3rem;opacity:.7}.drop-zone-content h3{margin:0;color:#374151;font-size:1.2rem}.drop-zone-content p{margin:0;color:#6b7280;font-size:1rem}.browse-button{background:#3b82f6;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;cursor:pointer;transition:background .2s}.browse-button:hover{background:#2563eb}.file-info{font-size:.9rem;color:#6b7280;line-height:1.5}.queue-controls{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;padding:1.5rem;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a}.control-group h3{margin:0 0 1rem;color:#1f2937}.queue-actions{display:flex;gap:.75rem;flex-wrap:wrap}.queue-actions button{padding:.5rem 1rem;border:none;border-radius:6px;font-size:.9rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.5rem}.start-button{background:#10b981;color:#fff}.start-button:hover{background:#059669}.stop-button{background:#f59e0b;color:#fff}.stop-button:hover{background:#d97706}.clear-button,.clear-all-button{background:#ef4444;color:#fff}.clear-button:hover,.clear-all-button:hover{background:#dc2626}.queue-actions button:disabled{background:#e5e7eb;color:#9ca3af;cursor:not-allowed}.view-toggles{display:flex;gap:.5rem}.toggle-button{padding:.5rem 1rem;border:1px solid #d1d5db;background:#fff;border-radius:6px;font-size:.9rem;cursor:pointer;transition:all .2s}.toggle-button:hover{background:#f3f4f6}.toggle-button.active{background:#3b82f6;color:#fff;border-color:#3b82f6}.queue-list{margin-bottom:2rem}.empty-queue{text-align:center;padding:4rem 2rem;color:#6b7280;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a}.empty-icon{font-size:4rem;opacity:.5;margin-bottom:1rem}.empty-queue h4{margin:0 0 .5rem;color:#374151}.empty-queue p{margin:0;font-size:.9rem}.file-list{display:flex;flex-direction:column;gap:1rem}.processing-indicator{position:fixed;bottom:2rem;right:2rem;background:#3b82f6;color:#fff;padding:1rem 1.5rem;border-radius:8px;box-shadow:0 4px 12px #3b82f64d;display:flex;align-items:center;gap:.75rem;font-size:.9rem;z-index:1000}.processing-dot{width:8px;height:8px;background:#10b981;border-radius:50%;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}@media (max-width: 768px){.upload-queue-container{padding:1rem}.queue-controls{flex-direction:column;gap:1rem}.queue-actions,.view-toggles{justify-content:center}.processing-indicator{bottom:1rem;right:1rem;left:1rem;justify-content:center}}.admin-dashboard{padding:24px;max-width:1200px;margin:0 auto;background:var(--bg-primary);min-height:calc(100vh - 200px)}.admin-header{text-align:center;margin-bottom:32px}.admin-header h1{color:var(--text-primary);font-size:32px;font-weight:700;margin:0 0 8px;background:linear-gradient(135deg,var(--primary-blue),var(--accent-green));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.admin-header p{color:var(--text-secondary);font-size:16px;margin:0}.warning-banner{background:linear-gradient(135deg,#f59e0b,#d97706);border:1px solid #d97706;border-radius:12px;margin-bottom:24px;padding:16px;box-shadow:0 4px 12px #f59e0b33}.warning-content{display:flex;align-items:center;gap:12px;color:#fff}.warning-icon{font-size:20px}.warning-text{flex:1;font-size:14px;font-weight:500}.warning-retry{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:8px;padding:8px 16px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease}.warning-retry:hover{background:#ffffff4d;transform:translateY(-1px)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-bottom:32px}.stat-card{background:var(--bg-primary);border:1px solid var(--bg-tertiary);border-radius:16px;padding:24px;box-shadow:0 4px 16px #00000014;transition:all .3s ease;display:flex;align-items:center;gap:16px}.stat-card:hover{box-shadow:0 8px 24px #0000001f;transform:translateY(-2px)}.stat-icon{font-size:36px;padding:12px;border-radius:12px;background:var(--bg-secondary)}.stat-content h3{color:var(--text-secondary);font-size:14px;font-weight:600;margin:0 0 8px;text-transform:uppercase;letter-spacing:.5px}.stat-number{color:var(--text-primary);font-size:32px;font-weight:700;margin:0;line-height:1}.total-users .stat-icon{background:linear-gradient(135deg,var(--primary-blue),var(--accent-green))}.active-users .stat-icon{background:linear-gradient(135deg,#22c55e,#16a34a)}.inactive-users .stat-icon{background:linear-gradient(135deg,#ef4444,#dc2626)}.role-breakdown-card{background:var(--bg-primary);border:1px solid var(--bg-tertiary);border-radius:16px;padding:24px;box-shadow:0 4px 16px #00000014;grid-column:1 / -1}.role-breakdown-card h3{color:var(--text-primary);font-size:18px;font-weight:600;margin:0 0 16px}.role-list{display:flex;flex-direction:column;gap:12px}.role-item{padding:16px;background:var(--bg-secondary);border-radius:12px;border:1px solid var(--bg-tertiary)}.role-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.role-badge{padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.role-total{font-size:18px;font-weight:700;color:var(--text-primary)}.role-details{display:flex;gap:16px;font-size:14px}.role-details .active{color:#22c55e;font-weight:500}.role-details .inactive{color:#ef4444;font-weight:500}.no-roles{text-align:center;padding:24px;color:var(--text-secondary)}.no-roles p{margin:0;font-style:italic}.quick-actions{background:var(--bg-primary);border:1px solid var(--bg-tertiary);border-radius:16px;padding:24px;box-shadow:0 4px 16px #00000014;margin-bottom:24px}.quick-actions h3{color:var(--text-primary);font-size:18px;font-weight:600;margin:0 0 16px}.action-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.action-button{padding:12px 20px;border:none;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px;justify-content:center}.action-button.primary{background:linear-gradient(135deg,var(--primary-blue),var(--accent-green));color:var(--text-white)}.action-button.primary:hover{transform:translateY(-1px);box-shadow:0 4px 16px #1e3a8a4d}.action-button.secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--bg-tertiary)}.dashboard-footer{display:flex;align-items:center;justify-content:space-between;padding:16px 0;border-top:1px solid var(--bg-tertiary)}.footer-left{display:flex;align-items:center;gap:12px;padding:6px 10px;border:1px solid var(--bg-tertiary);border-radius:6px;background:var(--bg-secondary);height:36px}.footer-right{display:flex;align-items:center;padding:6px 10px;border:1px solid var(--bg-tertiary);border-radius:6px;background:var(--bg-secondary);height:36px}.refresh-button{padding:4px 8px;background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--bg-tertiary);border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:4px}.refresh-button:hover{background:var(--bg-tertiary)}.last-updated{color:var(--text-secondary);font-size:12px}.no-data{text-align:center;padding:48px 24px}.no-data h2{color:var(--text-primary);margin:0 0 16px}.no-data p{color:var(--text-secondary);margin:0 0 24px}.retry-button{padding:12px 24px;background:linear-gradient(135deg,var(--primary-blue),var(--accent-green));color:var(--text-white);border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease}.retry-button:hover{transform:translateY(-1px);box-shadow:0 4px 16px #1e3a8a4d}@media (max-width: 768px){.admin-dashboard{padding:16px}.admin-header h1{font-size:24px}.stats-grid{grid-template-columns:1fr;gap:16px}.stat-card{padding:16px}.stat-icon{font-size:28px;padding:8px}.stat-number{font-size:24px}.action-buttons{grid-template-columns:1fr}.dashboard-footer{flex-direction:column;gap:12px;text-align:center}}@media (prefers-color-scheme: dark){.stat-card,.role-breakdown-card,.quick-actions{background:var(--bg-dark);border-color:var(--bg-tertiary);box-shadow:0 4px 16px #0003}.role-item{background:var(--bg-primary)}}.password-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.password-modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.password-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 16px;border-bottom:1px solid #e5e7eb}.password-modal-header h2{margin:0;font-size:1.5rem;font-weight:600;color:#111827}.password-modal-close{background:none;border:none;font-size:1.75rem;color:#6b7280;cursor:pointer;padding:4px 8px;line-height:1;border-radius:4px;transition:all .2s}.password-modal-close:hover{background-color:#f3f4f6;color:#111827}.password-modal-user-info{display:flex;align-items:center;gap:12px;padding:16px 24px;background-color:#f9fafb;border-bottom:1px solid #e5e7eb}.user-info-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1.1rem}.user-info-details h3{margin:0;font-size:1rem;font-weight:600;color:#111827}.user-info-details p{margin:4px 0 0;font-size:.875rem;color:#6b7280}.password-error-banner{margin:16px 24px 0;padding:12px;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;display:flex;align-items:center;gap:8px;color:#991b1b;font-size:.875rem}.password-modal-form{padding:24px}.form-label{display:block;margin-bottom:6px;font-weight:500;font-size:.875rem;color:#374151}.form-label.required:after{content:" *";color:#ef4444}.password-input-wrapper{position:relative;display:flex;align-items:center}.form-input,.form-textarea{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;transition:all .2s;box-sizing:border-box}.form-textarea{resize:vertical;min-height:80px;font-family:inherit;line-height:1.5}.password-input-wrapper .form-input{padding-right:40px}.form-input:focus,.form-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-input.error,.form-textarea.error{border-color:#ef4444}.form-input.error:focus,.form-textarea.error:focus{box-shadow:0 0 0 3px #ef44441a}.form-input:disabled,.form-textarea:disabled{background-color:#f9fafb;cursor:not-allowed;opacity:.6}.password-toggle{position:absolute;right:8px;background:none;border:none;cursor:pointer;padding:4px 8px;font-size:1.2rem;color:#6b7280;border-radius:4px;transition:all .2s}.password-toggle:hover:not(:disabled){background-color:#f3f4f6}.password-toggle:disabled{cursor:not-allowed;opacity:.5}.validation-error{display:block;margin-top:6px;font-size:.75rem;color:#ef4444}.password-strength{margin-top:6px;font-size:.75rem;color:#6b7280}.form-hint{display:block;margin-top:6px;font-size:.75rem;color:#6b7280;font-style:italic}.password-modal-actions{display:flex;gap:12px;justify-content:flex-end;padding-top:8px}.btn-primary,.btn-secondary{padding:10px 20px;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;border:none}.btn-primary{background-color:#3b82f6;color:#fff}.btn-primary:hover:not(:disabled){background-color:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.btn-primary:disabled{background-color:#93c5fd;cursor:not-allowed;transform:none}.btn-secondary{background-color:#fff;color:#374151;border:1px solid #d1d5db}.btn-secondary:hover:not(:disabled){background-color:#f9fafb;border-color:#9ca3af}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.password-modal-footer{padding:16px 24px;background-color:#fffbeb;border-top:1px solid #fde68a;border-bottom-left-radius:12px;border-bottom-right-radius:12px}.password-modal-footer p{margin:0;font-size:.875rem;color:#92400e}@media (max-width: 640px){.password-modal{max-width:100%;margin:0 16px}.password-modal-header,.password-modal-form,.password-modal-footer{padding-left:16px;padding-right:16px}.password-modal-actions{flex-direction:column-reverse}.btn-primary,.btn-secondary{width:100%}}.admin-users{padding:24px;max-width:1400px;margin:0 auto;background:var(--bg-primary);min-height:calc(100vh - 200px)}.users-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:16px}.users-title{color:var(--text-primary);font-size:28px;font-weight:700;margin:0;background:linear-gradient(135deg,var(--primary-blue),var(--accent-green));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.users-subtitle{color:var(--text-secondary);font-size:14px;margin:4px 0 0}.create-user-button{background:linear-gradient(135deg,var(--primary-blue),var(--accent-green));color:#fff;border:none;border-radius:12px;padding:12px 24px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px}.create-user-button:hover{box-shadow:0 8px 24px #3b82f64d;transform:translateY(-2px)}.users-controls{display:grid;grid-template-columns:1fr auto auto;gap:16px;margin-bottom:24px;align-items:center}.search-box{position:relative;min-width:0;max-width:100%;overflow:hidden}.search-input{width:100%;padding:12px 16px 12px 44px;border:1px solid var(--bg-tertiary);border-radius:12px;background:var(--bg-secondary);color:var(--text-primary);font-size:14px;transition:all .2s ease;box-sizing:border-box;min-width:0}.search-input:focus{outline:none;border-color:var(--primary-blue);box-shadow:0 0 0 3px #3b82f61a}.search-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--text-secondary);font-size:16px}.role-filter{padding:12px 16px;border:1px solid var(--bg-tertiary);border-radius:12px;background:var(--bg-secondary);color:var(--text-primary);font-size:14px;cursor:pointer;transition:all .2s ease;white-space:nowrap}.role-filter:focus{outline:none;border-color:var(--primary-blue);box-shadow:0 0 0 3px #3b82f61a}.sort-select{padding:12px 16px;border:1px solid var(--bg-tertiary);border-radius:12px;background:var(--bg-secondary);color:var(--text-primary);font-size:14px;cursor:pointer;transition:all .2s ease;white-space:nowrap}.sort-select:focus{outline:none;border-color:var(--primary-blue);box-shadow:0 0 0 3px #3b82f61a}.users-table-container{background:var(--bg-primary);border:1px solid var(--bg-tertiary);border-radius:16px;overflow:hidden;box-shadow:0 4px 16px #00000014;margin-bottom:24px}.users-table{width:100%;border-collapse:collapse}.users-table th{background:var(--bg-secondary);color:var(--text-secondary);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:16px;text-align:left;border-bottom:1px solid var(--bg-tertiary)}.users-table td{padding:16px;border-bottom:1px solid var(--bg-tertiary);color:var(--text-primary);font-size:14px}.users-table tbody tr:hover{background:var(--bg-secondary)}.user-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--primary-blue),var(--accent-green));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:12px}.user-info{display:flex;align-items:center;gap:12px}.user-details h4{margin:0 0 2px;font-size:14px;font-weight:600;color:var(--text-primary)}.user-details p{margin:0;font-size:12px;color:var(--text-secondary)}.role-badge{padding:4px 8px;border-radius:8px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-badge{padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;display:flex;align-items:center;gap:6px;width:fit-content}.status-badge.active{background:#22c55e1a;color:#16a34a}.status-badge.inactive{background:#ef44441a;color:#dc2626}.last-login{color:var(--text-secondary);font-size:12px}.last-login.recent{color:var(--accent-green)}.user-actions{display:flex;gap:8px;align-items:center}.action-button{padding:6px 12px;border:none;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:4px}.action-button.view{background:#3b82f61a;color:var(--primary-blue)}.action-button.view:hover{background:#3b82f633;transform:translateY(-1px)}.action-button.enable{background:#22c55e1a;color:#16a34a}.action-button.enable:hover{background:#22c55e33;transform:translateY(-1px)}.action-button.disable{background:#ef44441a;color:#dc2626}.action-button.disable:hover{background:#ef444433;transform:translateY(-1px)}.action-button.password{background:#a855f71a;color:#9333ea}.action-button.password:hover:not(:disabled){background:#a855f733;transform:translateY(-1px)}.action-button.password:disabled{opacity:.5;cursor:not-allowed}.pagination{display:flex;justify-content:space-between;align-items:center;padding:16px 0;flex-wrap:wrap;gap:16px}.pagination-info{color:var(--text-secondary);font-size:14px}.pagination-controls{display:flex;gap:8px;align-items:center}.page-button{padding:8px 12px;border:1px solid var(--bg-tertiary);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);font-size:14px;cursor:pointer;transition:all .2s ease}.page-button:hover:not(:disabled){background:var(--bg-tertiary);transform:translateY(-1px)}.page-button:disabled{opacity:.5;cursor:not-allowed}.page-button.active{background:var(--primary-blue);color:#fff;border-color:var(--primary-blue)}.page-size-selector{display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:14px}.page-size-select{padding:6px 8px;border:1px solid var(--bg-tertiary);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:14px;cursor:pointer}.no-users{text-align:center;padding:48px 24px;color:var(--text-secondary)}.no-users-icon{font-size:48px;margin-bottom:16px}.no-users h3{margin:0 0 8px;color:var(--text-primary)}.no-users p{margin:0;font-size:14px}@media (max-width: 768px){.users-controls{grid-template-columns:1fr;gap:12px}.search-box{order:1}.role-filter{order:2}.sort-select{order:3}}@media (max-width: 768px){.admin-users{padding:16px}.users-header{flex-direction:column;align-items:stretch}.users-table-container{overflow-x:auto}.users-table{min-width:800px}.pagination{flex-direction:column;align-items:stretch}.pagination-controls{justify-content:center}}@media (prefers-color-scheme: dark){.users-table-container{border-color:var(--bg-tertiary)}.users-table th{background:var(--bg-tertiary)}}.success-banner{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #bbf7d0;border-radius:12px;padding:16px;margin-bottom:24px;animation:slideDown .3s ease-out}@keyframes slideDown{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.success-content{display:flex;align-items:center;gap:12px}.success-icon{font-size:18px;flex-shrink:0}.success-text{color:#166534;font-weight:600;font-size:14px;flex:1}.success-close{background:transparent;border:none;color:#166534;font-size:24px;line-height:1;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s}.success-close:hover{background:#1665341a}.admin-create-user{padding:2rem;max-width:800px;margin:0 auto;background:var(--bg-secondary);border-radius:8px;box-shadow:0 2px 8px #0000001a}.create-user-header{margin-bottom:2rem;text-align:center}.create-user-header h1{color:var(--text-primary);margin-bottom:.5rem;font-size:2rem;font-weight:600}.create-user-header p{color:var(--text-secondary);font-size:1.1rem}.result-message{margin-bottom:2rem;padding:1rem;border-radius:6px;border:1px solid;animation:slideIn .3s ease-out}.result-content{display:flex;align-items:flex-start;gap:.75rem}.result-icon{font-size:1.2rem;flex-shrink:0}.result-text p{margin:0 0 .5rem;font-weight:500}.temporary-password{margin-top:1rem;padding:1rem;background:#ffc1071a;border:1px solid #ffc107;border-radius:4px}.temporary-password code{display:block;margin:.5rem 0;padding:.5rem;background:#fff;border:1px solid #ddd;border-radius:4px;font-family:Courier New,monospace;font-size:1.1rem;font-weight:700;letter-spacing:.5px;-webkit-user-select:all;user-select:all}.password-note{margin:.5rem 0 0;font-size:.9rem;font-style:italic}.create-user-form{margin-bottom:2rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}.form-group{display:flex;flex-direction:column}.form-group label{color:var(--text-primary);font-weight:500;margin-bottom:.5rem;font-size:.95rem}.required{color:#dc3545;margin-left:2px}.form-group input{padding:.75rem;border:2px solid var(--border-color);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);font-size:1rem;transition:all .2s ease}.form-group input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #007bff1a}.form-group input.error{border-color:#dc3545;box-shadow:0 0 0 3px #dc35451a}.error-message{color:#dc3545;font-size:.85rem;margin-top:.25rem;display:flex;align-items:center;gap:.25rem}.error-message:before{content:"⚠️";font-size:.8rem}.form-options{margin-bottom:2rem;padding:1.5rem;background:var(--bg-tertiary);border-radius:6px;border:1px solid var(--border-color)}.checkbox-group{margin-bottom:1rem}.checkbox-group:last-child{margin-bottom:0}.checkbox-label{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer;color:var(--text-primary);font-weight:500}.checkbox-label input[type=checkbox]{position:absolute;opacity:0;cursor:pointer}.checkmark{position:relative;width:20px;height:20px;background:var(--bg-primary);border:2px solid var(--border-color);border-radius:4px;flex-shrink:0;transition:all .2s ease;margin-top:1px}.checkbox-label input[type=checkbox]:checked+.checkmark{background:var(--primary-color);border-color:var(--primary-color)}.checkbox-label input[type=checkbox]:checked+.checkmark:after{content:"✓";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:#fff;font-size:12px;font-weight:700}.checkbox-description{color:var(--text-secondary);font-size:.9rem;margin:.25rem 0 0 2.75rem;font-weight:400}.form-actions{display:flex;gap:1rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid var(--border-color)}.btn{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem;min-width:140px;justify-content:center}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover:not(:disabled){background:var(--bg-secondary);transform:translateY(-1px)}.btn-icon{font-size:1.1rem}.form-info{padding:1.5rem;background:var(--bg-tertiary);border-radius:6px;border:1px solid var(--border-color)}.form-info h3{color:var(--text-primary);margin-bottom:1rem;font-size:1.1rem}.form-info ul{list-style:none;padding:0;margin:0}.form-info li{color:var(--text-secondary);padding:.5rem 0;border-bottom:1px solid var(--border-light);font-size:.95rem;display:flex;align-items:center;gap:.5rem}.form-info li:last-child{border-bottom:none}.form-info li:before{content:"ℹ️";font-size:.9rem}@media (max-width: 768px){.admin-create-user{padding:1rem;margin:1rem}.form-row{grid-template-columns:1fr;gap:1rem}.form-actions{flex-direction:column}.btn{width:100%}.create-user-header h1{font-size:1.5rem}.temporary-password code{font-size:1rem;word-break:break-all}}@media (max-width: 480px){.admin-create-user{margin:.5rem}.result-content{flex-direction:column;gap:.5rem}.checkbox-description{margin-left:0;margin-top:.5rem}}.admin-user-details{padding:2rem;max-width:1200px;margin:0 auto;background:var(--bg-primary);min-height:calc(100vh - 200px)}.user-details-header{display:flex;align-items:center;gap:1rem;margin-bottom:2rem}.back-button{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:8px;padding:.5rem 1rem;font-size:.9rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.back-button:hover{background:var(--bg-tertiary);transform:translateY(-1px)}.user-details-header h1{color:var(--text-primary);font-size:2rem;font-weight:600;margin:0;background:linear-gradient(135deg,var(--primary-blue),var(--accent-green));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.warning-banner{background:#ffc1071a;border:1px solid #ffc107;border-radius:8px;padding:1rem;margin-bottom:1.5rem;animation:slideIn .3s ease-out}.warning-content{display:flex;align-items:center;gap:.75rem}.warning-retry{background:#ffc107;color:#000;border:none;border-radius:4px;padding:.25rem .75rem;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease}.status-message{padding:1rem;border-radius:8px;margin-bottom:1.5rem;display:flex;align-items:center;gap:.75rem;animation:slideIn .3s ease-out}.status-message.success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.status-message.error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.status-icon{font-size:1.2rem;flex-shrink:0}.dismiss-button{background:none;border:none;color:currentColor;font-size:1.2rem;cursor:pointer;padding:0;margin-left:auto;opacity:.7;transition:opacity .2s ease}.dismiss-button:hover{opacity:1}.user-not-found{text-align:center;padding:4rem 2rem;color:var(--text-secondary)}.not-found-icon{font-size:4rem;margin-bottom:1rem;opacity:.5}.user-not-found h2{color:var(--text-primary);margin-bottom:.5rem}.user-not-found p{margin-bottom:2rem}.user-details-content{display:flex;flex-direction:column;gap:2rem}.user-profile-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:2rem;box-shadow:0 4px 16px #00000014}.profile-header{display:grid;grid-template-columns:auto 1fr auto;gap:1.5rem;align-items:center;margin-bottom:2rem}.user-avatar.large{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,var(--primary-blue),var(--accent-green));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:1.8rem;box-shadow:0 4px 12px #00000026}.profile-info h2{color:var(--text-primary);font-size:1.8rem;font-weight:600;margin:0 0 .5rem}.profile-info .username{color:var(--text-secondary);font-size:1rem;margin:0 0 .25rem;font-weight:500}.profile-info .email{color:var(--text-secondary);font-size:.95rem;margin:0 0 1rem}.user-roles{display:flex;gap:.5rem;flex-wrap:wrap}.role-badge{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.role-badge.admin{background:linear-gradient(135deg,#dc2626,#991b1b);color:#fff}.role-badge.user{background:linear-gradient(135deg,var(--primary-blue),var(--accent-green));color:#fff}.role-badge.readonly{background:linear-gradient(135deg,#64748b,#475569);color:#fff}.profile-status{text-align:right}.status-badge{padding:.5rem 1rem;border-radius:20px;font-size:.9rem;font-weight:600;display:flex;align-items:center;gap:.5rem;width:fit-content;margin-left:auto}.status-badge.active{background:#22c55e1a;color:#16a34a;border:1px solid rgba(34,197,94,.2)}.status-badge.inactive{background:#ef44441a;color:#dc2626;border:1px solid rgba(239,68,68,.2)}.profile-actions{display:flex;gap:1rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid var(--border-color)}.btn{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem;min-width:140px;justify-content:center}.btn-primary{background:var(--primary-color);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px)}.btn-success{background:#16a34a;color:#fff}.btn-success:hover:not(:disabled){background:#15803d;transform:translateY(-1px)}.btn-danger{background:#dc2626;color:#fff}.btn-danger:hover:not(:disabled){background:#b91c1c;transform:translateY(-1px)}.spinner{width:16px;height:16px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}.user-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.info-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000000d}.info-card h3{color:var(--text-primary);font-size:1.1rem;font-weight:600;margin:0 0 1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color)}.info-list{display:flex;flex-direction:column;gap:.75rem}.info-item{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.info-label{color:var(--text-secondary);font-size:.9rem;font-weight:500;flex-shrink:0;min-width:120px}.info-value{color:var(--text-primary);font-size:.9rem;text-align:right;flex:1;word-break:break-word}.info-value.status.enabled{color:#16a34a;font-weight:600}.info-value.status.disabled{color:#dc2626;font-weight:600}.info-value.last-login.recent{color:#16a34a;font-weight:500}.info-value.last-login.this-week{color:#0ea5e9;font-weight:500}.info-value.last-login.this-month{color:#f59e0b;font-weight:500}.info-value.last-login.old{color:var(--text-secondary)}.info-value.last-login.never{color:#6b7280;font-style:italic}.roles-list{display:flex;gap:.25rem;flex-wrap:wrap;justify-content:flex-end}.role-tag{padding:.2rem .6rem;border-radius:8px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.role-tag.admin{background:#dc26261a;color:#dc2626;border:1px solid rgba(220,38,38,.2)}.role-tag.user{background:#3b82f61a;color:#3b82f6;border:1px solid rgba(59,130,246,.2)}.role-tag.readonly{background:#64748b1a;color:#64748b;border:1px solid rgba(100,116,139,.2)}.progress-indicator{display:flex;align-items:center;gap:.5rem}.progress-bar{width:80px;height:6px;background:var(--bg-tertiary);border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary-blue),var(--accent-green));border-radius:3px;transition:width .3s ease}.progress-indicator span{font-size:.8rem;font-weight:600;color:var(--text-primary)}@media (max-width: 768px){.admin-user-details{padding:1rem}.user-details-header{flex-direction:column;align-items:flex-start;gap:.5rem}.user-details-header h1{font-size:1.5rem}.profile-header{grid-template-columns:1fr;text-align:center;gap:1rem}.profile-status{text-align:center}.user-info-grid{grid-template-columns:1fr}.info-item{flex-direction:column;align-items:flex-start;gap:.25rem}.info-label{min-width:auto}.info-value{text-align:left}.roles-list{justify-content:flex-start}.profile-actions{justify-content:center}.btn{width:100%}}@media (max-width: 480px){.user-avatar.large{width:60px;height:60px;font-size:1.4rem}.profile-info h2{font-size:1.4rem}.info-card{padding:1rem}.progress-bar{width:60px}}@media (prefers-color-scheme: dark){.status-message.success{background:#22c55e1a;color:#4ade80;border-color:#22c55e33}.status-message.error{background:#ef44441a;color:#f87171;border-color:#ef444433}.warning-banner{background:#ffc1071a}.warning-retry{background:#fbbf24;color:#000}.warning-retry:hover{background:#f59e0b}}.admin-analytics{padding:2rem;max-width:1400px;margin:0 auto;background:var(--bg-primary);min-height:calc(100vh - 200px)}.analytics-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.header-content h1{color:var(--text-primary);font-size:2.5rem;font-weight:700;margin:0 0 .5rem;background:linear-gradient(135deg,var(--primary-blue),var(--accent-green));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-content p{color:var(--text-secondary);font-size:1.1rem;margin:0}.header-controls{display:flex;gap:1rem;align-items:center}.period-selector{display:flex;background:var(--bg-secondary);border-radius:12px;padding:4px;border:1px solid var(--border-color)}.period-selector button{padding:.5rem 1rem;border:none;background:none;color:var(--text-secondary);cursor:pointer;border-radius:8px;font-size:.9rem;font-weight:500;transition:all .2s ease}.period-selector button.active{background:var(--primary-color);color:#fff;box-shadow:0 2px 4px #0000001a}.period-selector button:hover:not(.active){background:var(--bg-tertiary);color:var(--text-primary)}.refresh-button{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:12px;padding:.75rem 1.25rem;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.refresh-button:hover:not(:disabled){background:var(--bg-tertiary);transform:translateY(-1px)}.refresh-button:disabled{opacity:.6;cursor:not-allowed}.warning-banner{background:#ffc1071a;border:1px solid #ffc107;border-radius:12px;padding:1rem;margin-bottom:2rem;display:flex;align-items:center;gap:.75rem;animation:slideIn .3s ease-out}.warning-icon{font-size:1.2rem;flex-shrink:0}.warning-text{color:var(--text-primary);flex:1;font-weight:500}.warning-retry{background:#ffc107;color:#000;border:none;border-radius:8px;padding:.5rem 1rem;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.warning-retry:hover{background:#e0a800;transform:translateY(-1px)}.analytics-content{display:flex;flex-direction:column;gap:2rem}.metrics-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:1rem}.metric-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;padding:1.5rem;box-shadow:0 4px 16px #00000014;transition:all .2s ease}.metric-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001f}.metric-card.primary{border-left:4px solid var(--primary-blue)}.metric-card.success{border-left:4px solid #16a34a}.metric-card.warning{border-left:4px solid #f59e0b}.metric-card.danger{border-left:4px solid #dc2626}.metric-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.metric-header h3{color:var(--text-secondary);font-size:.9rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin:0}.metric-icon{font-size:1.5rem;opacity:.7}.metric-value{color:var(--text-primary);font-size:2.5rem;font-weight:700;margin-bottom:.5rem;line-height:1}.metric-trend{display:flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:500}.metric-trend span:first-child{font-size:1rem}.analytics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem}.analytics-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;padding:1.5rem;box-shadow:0 2px 8px #0000000d;transition:all .2s ease}.analytics-card:hover{transform:translateY(-1px);box-shadow:0 4px 16px #0000001a}.analytics-card.large{grid-column:span 2}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-color)}.card-header h3{color:var(--text-primary);font-size:1.1rem;font-weight:600;margin:0}.card-icon,.chart-icon{font-size:1.3rem;opacity:.7}.status-indicator{color:#fff;font-size:.8rem;font-weight:600;padding:.25rem .75rem;border-radius:12px;text-transform:uppercase;letter-spacing:.5px}.chart-container{height:200px;overflow:hidden}.simple-chart{display:flex;align-items:end;justify-content:space-between;height:150px;gap:2px;padding:0 .5rem}.chart-day{flex:1;display:flex;flex-direction:column;align-items:center;max-width:20px}.chart-bars{display:flex;align-items:end;justify-content:center;gap:1px;height:120px;margin-bottom:.5rem}.chart-bar{width:6px;border-radius:2px 2px 0 0;min-height:2px;transition:all .2s ease}.chart-bar:hover{opacity:.8;transform:scaleY(1.1)}.chart-bar.new-users{background:linear-gradient(to top,#3b82f6,#60a5fa)}.chart-bar.active-users{background:linear-gradient(to top,#16a34a,#4ade80)}.chart-label{font-size:.7rem;color:var(--text-secondary);text-align:center;transform:rotate(-45deg);white-space:nowrap;margin-top:.25rem}.health-metrics{display:flex;flex-direction:column;gap:1rem}.health-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--border-light)}.health-item:last-child{border-bottom:none}.health-label{color:var(--text-secondary);font-size:.9rem;font-weight:500}.health-value{color:var(--text-primary);font-size:.9rem;font-weight:600}.user-list{display:flex;flex-direction:column;gap:.75rem}.user-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--bg-tertiary);border-radius:12px;transition:all .2s ease}.user-item:hover{background:var(--bg-primary);transform:translate(2px)}.user-rank{background:linear-gradient(135deg,var(--primary-blue),var(--accent-green));color:#fff;font-weight:600;font-size:.8rem;padding:.25rem .5rem;border-radius:8px;min-width:2rem;text-align:center}.user-info{flex:1;min-width:0}.user-name{color:var(--text-primary);font-weight:500;font-size:.9rem;margin-bottom:.1rem}.user-username{color:var(--text-secondary);font-size:.8rem}.user-stats{text-align:right;flex-shrink:0}.login-count{color:var(--text-primary);font-weight:500;font-size:.85rem}.security-metrics{display:flex;flex-direction:column;gap:1rem}.security-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:var(--bg-tertiary);border-radius:8px}.security-label{color:var(--text-secondary);font-size:.9rem;font-weight:500}.security-value{font-weight:600;font-size:1rem;padding:.25rem .5rem;border-radius:6px}.security-value.warning{background:#f59e0b1a;color:#f59e0b}.security-value.danger{background:#dc26261a;color:#dc2626}.endpoints-list{display:flex;flex-direction:column;gap:.75rem}.endpoint-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--bg-tertiary);border-radius:8px;transition:all .2s ease;min-width:0}.endpoint-item:hover{background:var(--bg-primary);transform:translate(2px)}.endpoint-method{font-family:JetBrains Mono,Monaco,Consolas,monospace;font-weight:600;font-size:.8rem;padding:.25rem .5rem;border-radius:4px;min-width:4rem;text-align:center;color:#fff;background:#6b7280}.endpoint-method.method-get{background:#10b981}.endpoint-method.method-post{background:#3b82f6}.endpoint-method.method-put{background:#f59e0b}.endpoint-method.method-delete{background:#ef4444}.endpoint-path{font-family:JetBrains Mono,Monaco,Consolas,monospace;color:var(--text-primary);font-size:.9rem;font-weight:500;flex:1;min-width:0;overflow-wrap:break-word;word-break:break-word;-webkit-hyphens:none;hyphens:none}.quick-actions{margin-top:1rem}.quick-actions h3{color:var(--text-primary);font-size:1.2rem;font-weight:600;margin-bottom:1rem}.action-buttons{display:flex;gap:1rem;flex-wrap:wrap}.action-button{padding:.75rem 1.5rem;border:none;border-radius:12px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.action-button.primary{background:linear-gradient(135deg,var(--primary-blue),var(--accent-green));color:#fff}.action-button.primary:hover{box-shadow:0 8px 24px #3b82f64d;transform:translateY(-2px)}.action-button.secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.action-button.secondary:hover{background:var(--bg-tertiary);transform:translateY(-1px)}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 1200px){.analytics-card.large{grid-column:span 1}}@media (max-width: 768px){.admin-analytics{padding:1rem}.analytics-header{flex-direction:column;align-items:stretch;gap:1rem}.header-controls{flex-direction:column;gap:.75rem}.period-selector{width:100%}.period-selector button{flex:1}.header-content h1{font-size:2rem}.metrics-row,.analytics-grid{grid-template-columns:1fr}.simple-chart{height:120px}.chart-bars{height:80px}.action-buttons{flex-direction:column}.action-button{width:100%;justify-content:center}.endpoint-item{flex-direction:column;align-items:flex-start;gap:.5rem}.endpoint-method{align-self:flex-start}.endpoint-path{font-size:.8rem;line-height:1.3}.user-item{flex-direction:column;align-items:flex-start;gap:.5rem}.user-stats{text-align:left;width:100%}}@media (max-width: 480px){.metric-value{font-size:2rem}.chart-label{font-size:.6rem}.security-item{flex-direction:column;align-items:flex-start;gap:.5rem}}@media (prefers-color-scheme: dark){.metric-card:hover{box-shadow:0 8px 24px #0000004d}.analytics-card:hover{box-shadow:0 4px 16px #0003}.chart-bar.new-users{background:linear-gradient(to top,#2563eb,#3b82f6)}.chart-bar.active-users{background:linear-gradient(to top,#059669,#10b981)}}.admin-placeholder{padding:48px 24px;max-width:800px;margin:0 auto;min-height:calc(100vh - 200px);display:flex;align-items:center;justify-content:center}.placeholder-content{text-align:center;background:var(--bg-primary);border:1px solid var(--bg-tertiary);border-radius:20px;padding:48px 32px;box-shadow:0 8px 32px #0000001a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.placeholder-icon{font-size:64px;margin-bottom:24px;display:block}.placeholder-content h1{color:var(--text-primary);font-size:28px;font-weight:700;margin:0 0 16px;background:linear-gradient(135deg,var(--primary-blue),var(--accent-green));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.placeholder-content>p{color:var(--text-secondary);font-size:16px;margin:0 0 32px}.upcoming-features{background:var(--bg-secondary);border-radius:16px;padding:24px;margin:32px 0;text-align:left}.upcoming-features h3{color:var(--text-primary);font-size:18px;font-weight:600;margin:0 0 16px;text-align:center}.upcoming-features ul{list-style:none;padding:0;margin:0}.upcoming-features li{color:var(--text-primary);font-size:14px;padding:8px 0;border-bottom:1px solid var(--bg-tertiary);display:flex;align-items:center;gap:8px}.upcoming-features li:last-child{border-bottom:none}.placeholder-note{background:linear-gradient(135deg,var(--primary-blue),var(--accent-green));color:var(--text-white);border-radius:12px;padding:20px;margin-top:24px}.placeholder-note p{margin:0;font-size:14px;line-height:1.5}@media (max-width: 768px){.admin-placeholder{padding:24px 16px}.placeholder-content{padding:32px 20px}.placeholder-icon{font-size:48px}.placeholder-content h1{font-size:24px}.upcoming-features{padding:16px}}@media (prefers-color-scheme: dark){.placeholder-content{background:var(--bg-dark);box-shadow:0 8px 32px #0000004d}.upcoming-features{background:var(--bg-primary)}}.admin-audit-logs{padding:2rem;max-width:1400px;margin:0 auto;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.audit-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;gap:2rem}.header-content h1{color:#2c3e50;margin:0 0 .5rem;font-size:2rem;font-weight:600}.header-content p{color:#64748b;margin:0;font-size:1rem}.header-actions{display:flex;gap:.75rem;flex-wrap:wrap}.view-btn,.action-btn,.danger-btn{padding:.5rem 1rem;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.view-btn{background:#f8fafc;color:#475569;border:1px solid #e2e8f0}.view-btn:hover{background:#e2e8f0;color:#334155}.view-btn.active{background:#3b82f6;color:#fff;border-color:#3b82f6}.action-btn{background:#10b981;color:#fff}.action-btn:hover:not(:disabled){background:#059669}.action-btn:disabled{background:#9ca3af;cursor:not-allowed}.danger-btn{background:#ef4444;color:#fff}.danger-btn:hover{background:#dc2626}.error-banner{background:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:1rem;margin-bottom:1.5rem;display:flex;align-items:center;gap:.5rem}.error-icon{font-size:1.25rem}.error-text{color:#dc2626;font-weight:500}.error-note{color:#7f1d1d;font-style:italic}.statistics-panel{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}.statistics-panel h3{margin:0 0 1rem;color:#1f2937;font-size:1.25rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}.stat-card{background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:1rem;text-align:center;transition:all .2s ease}.stat-card:hover{border-color:#cbd5e1;box-shadow:0 2px 4px #0000000d}.stat-card.success{border-left:4px solid #10b981}.stat-card.failed{border-left:4px solid #ef4444}.stat-value{font-size:1.5rem;font-weight:600;color:#1f2937;margin-bottom:.25rem}.stat-label{color:#64748b;font-size:.875rem}.additional-stats{border-top:1px solid #e2e8f0;padding-top:1rem;display:flex;gap:2rem;flex-wrap:wrap}.additional-stats p{margin:0;color:#475569}.filters-panel{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}.filters-panel h3{margin:0 0 1rem;color:#1f2937;font-size:1.25rem}.filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.filter-group{display:flex;flex-direction:column;gap:.5rem}.filter-group label{font-weight:500;color:#374151;font-size:.875rem}.filter-group select,.filter-group input{padding:.5rem;border:1px solid #d1d5db;border-radius:4px;font-size:.875rem;background:#fff}.filter-group select:focus,.filter-group input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.date-inputs{display:flex;gap:.5rem;align-items:center}.apply-btn{padding:.5rem 1rem;background:#3b82f6;color:#fff;border:none;border-radius:4px;font-size:.875rem;cursor:pointer;transition:background .2s ease}.apply-btn:hover{background:#2563eb}.view-tabs{display:flex;gap:.25rem;margin-bottom:1.5rem;border-bottom:1px solid #e2e8f0}.tab-btn{padding:.75rem 1rem;background:none;border:none;border-bottom:2px solid transparent;color:#64748b;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.tab-btn:hover{color:#475569;background:#f8fafc}.tab-btn.active{color:#3b82f6;border-bottom-color:#3b82f6;background:#f8fafc}.logs-container{position:relative;background:#fff;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#ffffffe6;display:flex;align-items:center;justify-content:center;z-index:var(--z-overlay)}.loading-spinner{font-size:1.125rem;color:#64748b;font-weight:500}.logs-table-container{overflow-x:auto}.logs-table{width:100%;border-collapse:collapse;font-size:.875rem}.logs-table th{background:#f8fafc;padding:.75rem;text-align:left;font-weight:600;color:#374151;border-bottom:1px solid #e2e8f0;position:sticky;top:0;z-index:var(--z-sticky)}.logs-table td{padding:.75rem;border-bottom:1px solid #f1f5f9;vertical-align:top}.log-row:hover{background:#f8fafc}.log-row.failed-log{background:#fef2f2}.log-row.failed-log:hover{background:#fecaca}.action-cell{min-width:140px}.action-icon{font-size:1rem;margin-right:.5rem}.action-label{font-weight:500;color:#374151}.user-cell,.target-cell{min-width:150px}.user-info{display:flex;flex-direction:column;gap:.125rem}.user-info strong{color:#1f2937}.user-info small{color:#64748b;font-size:.75rem}.no-target{color:#9ca3af;font-style:italic}.description-cell{max-width:300px}.description{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#374151}.error-message{color:#dc2626;font-size:.75rem;margin-top:.25rem;font-weight:500}.success-cell{text-align:center;width:60px}.success-indicator{font-size:1rem}.time-cell{min-width:150px}.timestamp{color:#64748b;font-size:.8125rem}.actions-cell{width:80px;text-align:center}.view-details-btn{background:none;border:1px solid #e2e8f0;border-radius:4px;padding:.25rem .5rem;cursor:pointer;font-size:.875rem;transition:all .2s ease}.view-details-btn:hover{background:#f8fafc;border-color:#cbd5e1}.no-data{text-align:center;color:#64748b;font-style:italic;padding:2rem!important}.pagination{display:flex;justify-content:center;align-items:center;gap:.5rem;padding:1rem;border-top:1px solid #e2e8f0;background:#f8fafc}.nav-btn,.page-btn{padding:.5rem .75rem;border:1px solid #e2e8f0;background:#fff;color:#64748b;border-radius:4px;cursor:pointer;font-size:.875rem;transition:all .2s ease}.nav-btn:hover:not(:disabled),.page-btn:hover{background:#f8fafc;border-color:#cbd5e1;color:#475569}.nav-btn:disabled{background:#f1f5f9;color:#9ca3af;cursor:not-allowed}.page-btn.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-backdrop);padding:1rem}.modal-content{background:#fff;border-radius:8px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e2e8f0}.modal-header h3{margin:0;color:#1f2937;font-size:1.25rem}.close-btn{background:none;border:none;font-size:1.5rem;color:#64748b;cursor:pointer;padding:.25rem;line-height:1}.close-btn:hover{color:#374151}.modal-body{padding:1.5rem}.detail-section{margin-bottom:1.5rem}.detail-section:last-child{margin-bottom:0}.detail-section h4{margin:0 0 .75rem;color:#374151;font-size:1rem;font-weight:600}.detail-section.error h4{color:#dc2626}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem}.detail-item{display:flex;flex-direction:column;gap:.25rem}.detail-item label{font-size:.75rem;font-weight:500;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.detail-item span{color:#374151;font-weight:500}.detail-item span.success{color:#059669}.detail-item span.failed{color:#dc2626}.user-details p{margin:0 0 .5rem;color:#374151}.description-text{color:#374151;line-height:1.5;margin:0}.error-text{color:#dc2626;font-weight:500;background:#fef2f2;padding:.75rem;border-radius:4px;border-left:4px solid #dc2626;margin:0}@media (max-width: 768px){.admin-audit-logs{padding:1rem}.audit-header{flex-direction:column;gap:1rem}.header-actions{justify-content:flex-start}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.filters-grid{grid-template-columns:1fr}.view-tabs{flex-wrap:wrap}.logs-table{font-size:.8125rem}.logs-table th,.logs-table td{padding:.5rem}.description-cell{max-width:200px}.modal-content{margin:1rem;max-width:none}.detail-grid{grid-template-columns:1fr}}@media (max-width: 480px){.date-inputs{flex-direction:column;align-items:stretch}.additional-stats{flex-direction:column;gap:.5rem}.pagination{flex-wrap:wrap;gap:.25rem}}.upload-health-dashboard{background:#f8f9fa;border-radius:8px;padding:24px;min-height:600px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #e9ecef}.header-title h2{margin:0 0 8px;color:#212529;font-size:28px;font-weight:600}.monitoring-status{display:inline-flex;align-items:center;gap:6px}.status-active{color:#28a745;font-weight:500;font-size:14px}.status-inactive{color:#dc3545;font-weight:500;font-size:14px}.refresh-btn,.start-btn,.stop-btn{padding:8px 16px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px}.start-btn{background:#28a745;color:#fff}.start-btn:hover{background:#1e7e34}.stop-btn{background:#dc3545;color:#fff}.stop-btn:hover{background:#c82333}.error-banner{background:#f8d7da;border:1px solid #f5c6cb;border-radius:6px;padding:12px 16px;margin-bottom:20px;display:flex;align-items:center;gap:8px}.error-icon{font-size:18px}.error-message{color:#721c24;font-weight:500}.overall-status{border-radius:8px;padding:20px;margin-bottom:24px;display:flex;justify-content:space-between;align-items:center;border-left:5px solid}.overall-status.status-healthy{background:#d4edda;border-left-color:#28a745}.overall-status.status-degraded{background:#fff3cd;border-left-color:#ffc107}.overall-status.status-critical{background:#f8d7da;border-left-color:#dc3545}.status-main{display:flex;align-items:center;gap:12px}.status-icon{font-size:24px}.status-text{font-size:20px;font-weight:600;color:#212529}.status-details{display:flex;gap:24px}.status-stat{text-align:center}.stat-label{display:block;font-size:12px;color:#6c757d;margin-bottom:4px;text-transform:uppercase;font-weight:500}.stat-value{display:block;font-size:16px;font-weight:600;color:#212529}.summary-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-bottom:32px}.stat-card{background:#fff;border-radius:8px;padding:20px;text-align:center;box-shadow:0 2px 4px #0000001a;border-top:4px solid}.stat-card.healthy{border-top-color:#28a745}.stat-card.degraded{border-top-color:#ffc107}.stat-card.critical{border-top-color:#dc3545}.stat-card.total{border-top-color:#007bff}.stat-number{font-size:32px;font-weight:700;margin-bottom:8px;color:#212529}.stat-card .stat-label{font-size:14px;color:#6c757d;margin:0}.service-checks{margin-bottom:32px}.service-checks h3{margin:0 0 16px;color:#212529;font-size:20px;font-weight:600}.checks-list{display:flex;flex-direction:column;gap:12px}.service-check{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden;border-left:4px solid}.service-check.status-healthy{border-left-color:#28a745}.service-check.status-degraded{border-left-color:#ffc107}.service-check.status-critical{border-left-color:#dc3545}.service-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;cursor:pointer;transition:background-color .2s ease}.service-header:hover{background:#f8f9fa}.service-info{display:flex;align-items:center;gap:12px}.service-icon{font-size:18px}.service-name{font-size:16px;font-weight:600;color:#212529;text-transform:capitalize}.service-status{font-size:12px;font-weight:500;padding:4px 8px;border-radius:4px;background:#e9ecef;color:#495057}.service-meta{display:flex;align-items:center;gap:16px}.response-time{font-size:14px;color:#6c757d;font-weight:500}.expand-icon{font-size:12px;color:#6c757d;transition:transform .2s ease}.expand-icon.expanded{transform:rotate(180deg)}.service-details{padding:0 20px 20px;background:#f8f9fa;border-top:1px solid #e9ecef}.detail-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #e9ecef}.detail-row:last-child{border-bottom:none}.detail-label{font-weight:500;color:#495057}.detail-value{color:#212529;max-width:60%;text-align:right}.service-metrics{margin-top:16px;padding-top:16px;border-top:1px solid #e9ecef}.service-metrics h4{margin:0 0 12px;font-size:14px;font-weight:600;color:#495057}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px}.metric-item{display:flex;justify-content:space-between;padding:6px 0}.metric-key{font-size:13px;color:#6c757d;text-transform:capitalize}.metric-value{font-size:13px;font-weight:500;color:#212529}.health-history{margin-bottom:24px}.health-history h3{margin:0 0 16px;color:#212529;font-size:20px;font-weight:600}.history-list{display:flex;flex-direction:column;gap:8px}.history-item{display:flex;align-items:center;gap:16px;padding:12px 16px;background:#fff;border-radius:6px;box-shadow:0 1px 3px #0000001a;border-left:3px solid}.history-item.status-healthy{border-left-color:#28a745}.history-item.status-degraded{border-left-color:#ffc107}.history-item.status-critical{border-left-color:#dc3545}.history-icon{font-size:16px}.history-status{font-weight:600;font-size:14px;color:#212529;min-width:80px}.history-time{flex:1;font-size:14px;color:#6c757d}.history-summary{font-size:12px;font-weight:500;color:#495057;background:#f8f9fa;padding:4px 8px;border-radius:4px}.no-data-icon{font-size:64px;margin-bottom:16px}@media (max-width: 768px){.upload-health-dashboard{padding:16px}.dashboard-header{flex-direction:column;align-items:stretch;gap:16px}.header-actions{justify-content:flex-start}.overall-status{flex-direction:column;align-items:flex-start;gap:16px}.status-details{align-self:stretch;justify-content:space-around}.summary-stats{grid-template-columns:repeat(2,1fr)}.service-header{flex-direction:column;align-items:flex-start;gap:12px}.service-meta{align-self:stretch;justify-content:space-between}.detail-row{flex-direction:column;gap:4px}.detail-value{text-align:left;max-width:100%}.metrics-grid{grid-template-columns:1fr}.history-item{flex-wrap:wrap;gap:8px}.history-summary{order:1;width:100%;text-align:center}}.service-header:focus,.refresh-btn:focus,.start-btn:focus,.stop-btn:focus{outline:2px solid #007bff;outline-offset:2px}@media print{.upload-health-dashboard{background:#fff;box-shadow:none}.header-actions{display:none}.service-header{cursor:default}}.upload-metrics-dashboard{background:#f8f9fa;border-radius:8px;padding:24px;min-height:600px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px;padding-bottom:20px;border-bottom:2px solid #e9ecef}.header-title h2{margin:0 0 4px;color:#212529;font-size:28px;font-weight:600}.metrics-subtitle{color:#6c757d;font-size:14px;font-weight:500}.header-actions{display:flex;gap:12px;align-items:center}.timeframe-select{padding:8px 12px;border:1px solid #ced4da;border-radius:6px;background:#fff;font-size:14px;color:#495057;cursor:pointer}.timeframe-select:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.refresh-btn,.export-btn{padding:8px 16px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px}.refresh-btn{background:#007bff;color:#fff}.refresh-btn:hover{background:#0056b3}.refresh-btn:disabled{background:#6c757d;cursor:not-allowed}.export-btn{background:#28a745;color:#fff}.export-btn:hover{background:#1e7e34}.metrics-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:32px}.metric-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 4px 6px #0000001a;border-top:4px solid;display:flex;align-items:center;gap:16px;transition:transform .2s ease,box-shadow .2s ease}.metric-card:hover{transform:translateY(-2px);box-shadow:0 6px 12px #00000026}.metric-card.primary{border-top-color:#007bff}.metric-card.success{border-top-color:#28a745}.metric-card.info{border-top-color:#17a2b8}.metric-card.warning{border-top-color:#ffc107}.metric-card.secondary{border-top-color:#6c757d}.metric-icon{font-size:32px;opacity:.8}.metric-content{flex:1}.metric-value{font-size:28px;font-weight:700;color:#212529;margin-bottom:4px;line-height:1}.metric-label{font-size:14px;color:#6c757d;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.charts-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:24px;margin-bottom:32px}.chart-container{background:#fff;border-radius:12px;padding:24px;box-shadow:0 4px 6px #0000001a}.chart-header{margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid #e9ecef}.chart-header h3{margin:0 0 4px;color:#212529;font-size:18px;font-weight:600}.chart-subtitle{color:#6c757d;font-size:13px;font-weight:500}.chart-content{min-height:250px;display:flex;align-items:center;justify-content:center}.chart-no-data{text-align:center;color:#6c757d;padding:40px 20px}.chart-no-data .no-data-icon{font-size:48px;margin-bottom:12px;opacity:.6}.chart-no-data .no-data-text{font-size:16px;font-weight:500}.pie-chart{display:flex;gap:24px;align-items:center;width:100%}.chart-legend{flex:1;display:flex;flex-direction:column;gap:8px}.legend-item{display:flex;align-items:center;gap:8px;padding:6px 0}.legend-color{width:16px;height:16px;border-radius:3px;flex-shrink:0}.legend-label{font-weight:500;color:#212529;min-width:40px}.legend-value{color:#6c757d;font-size:13px;margin-left:auto}.chart-visual{width:200px;height:200px}.pie-svg{width:100%;height:100%}.bar-chart{display:flex;flex-direction:column;gap:16px;width:100%}.bar-item{display:flex;align-items:center;gap:16px}.bar-label{font-weight:500;color:#212529;min-width:80px;font-size:14px}.bar-container{flex:1;height:24px;background:#e9ecef;border-radius:12px;position:relative;overflow:hidden}.bar-fill{height:100%;border-radius:12px;transition:width .3s ease;position:relative}.bar-value{position:absolute;right:8px;top:50%;transform:translateY(-50%);color:#fff;font-size:12px;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.3)}.bar-percentage{font-size:13px;color:#6c757d;font-weight:500;min-width:50px;text-align:right}.performance-section{background:#fff;border-radius:12px;padding:24px;margin-bottom:32px;box-shadow:0 4px 6px #0000001a}.performance-section h3{margin:0 0 20px;color:#212529;font-size:20px;font-weight:600;padding-bottom:12px;border-bottom:1px solid #e9ecef}.performance-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.performance-item{padding:16px;background:#f8f9fa;border-radius:8px;text-align:center}.performance-label{font-size:13px;color:#6c757d;margin-bottom:8px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.performance-value{font-size:20px;font-weight:600;color:#212529}.performance-value.trend-increasing{color:#dc3545}.performance-value.trend-stable{color:#007bff}.performance-value.trend-decreasing{color:#28a745}.trends-section{background:#fff;border-radius:12px;padding:24px;margin-bottom:24px;box-shadow:0 4px 6px #0000001a}.trends-section h3{margin:0 0 20px;color:#212529;font-size:20px;font-weight:600;padding-bottom:12px;border-bottom:1px solid #e9ecef}.trends-chart{display:flex;align-items:end;gap:8px;height:120px;padding:16px 0}.trend-bar{display:flex;flex-direction:column;align-items:center;flex:1;height:100%}.trend-value{border-radius:4px 4px 0 0;transition:all .3s ease;cursor:pointer;min-height:20px;margin-top:auto}.trend-value:hover{opacity:.8}.trend-label{font-size:10px;color:#6c757d;margin-top:8px;writing-mode:vertical-rl;text-orientation:mixed;max-height:60px;overflow:hidden}.no-data{text-align:center;padding:80px 20px;color:#6c757d}.no-data-icon{font-size:64px;margin-bottom:16px;opacity:.6}.no-data-message{font-size:18px;font-weight:500}@media (max-width: 1200px){.charts-section{grid-template-columns:1fr}.pie-chart{flex-direction:column;text-align:center}.chart-visual{order:-1}}@media (max-width: 768px){.upload-metrics-dashboard{padding:16px}.dashboard-header{flex-direction:column;align-items:stretch;gap:16px}.header-actions{justify-content:flex-start;flex-wrap:wrap}.metrics-cards{grid-template-columns:repeat(2,1fr);gap:12px}.metric-card{flex-direction:column;text-align:center;padding:16px}.metric-icon,.metric-value{font-size:24px}.charts-section{gap:16px}.chart-container{padding:16px}.performance-grid{grid-template-columns:repeat(2,1fr);gap:12px}.performance-item{padding:12px}.performance-value{font-size:16px}.bar-item{flex-direction:column;align-items:stretch;gap:8px}.bar-label{text-align:center;min-width:auto}.trends-chart{height:100px}.trend-label{writing-mode:horizontal-tb;text-orientation:unset;max-height:none;max-width:40px}}@media (max-width: 480px){.metrics-cards,.performance-grid{grid-template-columns:1fr}.header-actions{flex-direction:column;align-items:stretch}.timeframe-select,.refresh-btn,.export-btn{width:100%;justify-content:center}}@keyframes pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.refresh-btn:disabled{animation:pulse 1.5s infinite}.legend-item:hover{background:#00000005;border-radius:4px}.bar-item:hover .bar-fill{filter:brightness(1.1)}.performance-item:hover{background:#e9ecef;transform:translateY(-1px);transition:all .2s ease}.timeframe-select:focus,.refresh-btn:focus,.export-btn:focus{outline:2px solid #007bff;outline-offset:2px}@media print{.upload-metrics-dashboard{background:#fff;box-shadow:none}.header-actions{display:none}.metric-card,.chart-container{break-inside:avoid}}.admin-upload-dashboard{min-height:100vh;background:#f1f3f4;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.dashboard-navigation{background:#fff;box-shadow:0 2px 4px #0000001a;padding:24px 32px;margin-bottom:24px}.nav-header{margin-bottom:24px}.nav-header h1{margin:0 0 8px;color:#1a73e8;font-size:32px;font-weight:600;letter-spacing:-.5px}.nav-subtitle{color:#5f6368;font-size:16px;font-weight:400}.nav-tabs{display:flex;gap:4px;background:#f8f9fa;padding:4px;border-radius:8px;max-width:600px}.nav-tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:16px 20px;border:none;border-radius:6px;background:transparent;cursor:pointer;transition:all .2s ease;text-align:center;position:relative}.nav-tab:hover{background:#1a73e814}.nav-tab.active{background:#1a73e8;color:#fff;box-shadow:0 2px 8px #1a73e84d}.tab-icon{font-size:24px;margin-bottom:4px}.tab-label{font-size:16px;font-weight:600;margin-bottom:2px}.tab-description{font-size:12px;opacity:.8;font-weight:400}.nav-tab:not(.active) .tab-description{color:#5f6368}.dashboard-content{padding:0 32px;margin-bottom:24px}.dashboard-panel{animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.dashboard-footer{background:#fff;border-top:1px solid #e8eaed;padding:16px 32px;display:flex;justify-content:space-between;align-items:center;margin-top:auto}.footer-info{display:flex;align-items:center;gap:8px}.footer-text{color:#5f6368;font-size:14px}.footer-separator{color:#dadce0;font-weight:300}.footer-btn{padding:8px 16px;border:1px solid #dadce0;border-radius:6px;background:#fff;color:#1a73e8;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px}.footer-btn:hover{background:#f8f9fa;border-color:#1a73e8}.footer-btn:active{background:#e8f0fe}@media (max-width: 1024px){.dashboard-navigation,.dashboard-content,.dashboard-footer{padding-left:24px;padding-right:24px}.nav-header h1{font-size:28px}.nav-tabs{max-width:100%}}@media (max-width: 768px){.dashboard-navigation,.dashboard-content,.dashboard-footer{padding-left:16px;padding-right:16px}.nav-header{text-align:center;margin-bottom:20px}.nav-header h1{font-size:24px}.nav-subtitle{font-size:14px}.nav-tabs{flex-direction:column;gap:8px;padding:8px}.nav-tab{flex-direction:row;justify-content:flex-start;text-align:left;padding:12px 16px}.tab-icon{font-size:20px;margin-bottom:0;margin-right:12px}.tab-content{display:flex;flex-direction:column;align-items:flex-start}.tab-label{font-size:15px;margin-bottom:2px}.tab-description{font-size:11px}.dashboard-footer{flex-direction:column;gap:12px;align-items:center;text-align:center}.footer-info{flex-direction:column;gap:4px}.footer-separator{display:none}}@media (max-width: 480px){.dashboard-navigation{padding:16px}.dashboard-content{padding:0 16px}.dashboard-footer{padding:16px}.nav-header h1{font-size:20px}.nav-header{margin-bottom:16px}.nav-tab{padding:10px 12px}.tab-icon{font-size:18px;margin-right:10px}.tab-label{font-size:14px}.tab-description{font-size:10px}.footer-btn{width:100%;justify-content:center}}@media (prefers-contrast: high){.nav-tab.active{background:#000;color:#fff}.nav-tab:hover{background:#0000001a}.footer-btn{border-width:2px}}@media (prefers-reduced-motion: reduce){.nav-tab,.footer-btn,.dashboard-panel{transition:none}@keyframes fadeIn{0%,to{opacity:1;transform:translateY(0)}}}.nav-tab:focus,.footer-btn:focus{outline:2px solid #1a73e8;outline-offset:2px}.nav-tab.active:focus{outline-color:#fff}@media print{.dashboard-navigation{box-shadow:none;border-bottom:2px solid #000}.dashboard-footer,.nav-tabs{display:none}.nav-header h1{color:#000}}@media (prefers-color-scheme: dark){.admin-upload-dashboard{background:#1a1a1a}.dashboard-navigation,.dashboard-footer{background:#2d2d2d;color:#e8eaed}.nav-header h1{color:#8ab4f8}.nav-subtitle,.footer-text{color:#9aa0a6}.nav-tabs{background:#3c4043}.nav-tab:hover{background:#8ab4f814}.footer-btn{background:#3c4043;border-color:#5f6368;color:#8ab4f8}.footer-btn:hover{background:#48494a}}.stored-holidays-tab{height:100%;display:flex;flex-direction:column}.stored-holidays-tab>.tab-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--bg-tertiary)}.stored-holidays-tab>.tab-header h3{margin:0;color:var(--text-primary);font-size:18px;font-weight:600}.refresh-button{padding:6px 12px;background:var(--primary-blue);color:#fff;border:none;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:400px;text-align:center;padding:40px}.empty-state h3{margin:0 0 12px;color:var(--text-primary);font-size:20px;font-weight:600}.empty-state p{margin:0 0 24px;color:var(--text-secondary);font-size:14px;max-width:400px;line-height:1.5}.table-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--bg-secondary);border-bottom:1px solid var(--bg-tertiary);border-radius:8px 8px 0 0}.selection-controls{display:flex;align-items:center;gap:8px}.bulk-edit-action{display:flex;align-items:center}.goto-bulk-edit-button{background:var(--primary-blue);color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.goto-bulk-edit-button:hover{background:var(--primary-blue-dark)}.select-all-checkbox{width:18px;height:18px;cursor:pointer}.selection-label{font-size:14px;font-weight:500;color:var(--text-primary)}.holidays-table-container{border:1px solid var(--bg-tertiary);border-radius:8px;overflow:hidden}.holidays-table{width:100%;border-collapse:collapse;background:var(--bg-primary)}.holidays-table th{background:var(--bg-secondary);padding:12px 16px;text-align:left;font-weight:600;font-size:14px;color:var(--text-primary);border-bottom:1px solid var(--bg-tertiary)}.holidays-table td{padding:12px 16px;border-bottom:1px solid var(--bg-tertiary);font-size:14px;color:var(--text-secondary)}.holidays-table tr:hover{background:var(--bg-secondary)}.holidays-table tr.selected-row{background:var(--accent-color-light);border-left:3px solid var(--accent-color)}.holidays-table tr.selected-row:hover{background:var(--accent-color-light)}.holiday-checkbox{width:16px;height:16px;cursor:pointer}@media (max-width: 768px){.content-header{flex-direction:column;align-items:flex-start;gap:12px}.header-actions{width:100%;justify-content:space-between}.empty-state{padding:20px;height:300px}.holidays-table{font-size:12px}.holidays-table th,.holidays-table td{padding:8px 12px}.checkbox-column{width:40px}}.api-data-tab{height:100%;display:flex;flex-direction:column}.api-initial-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:400px;text-align:center;padding:40px}.api-initial-state h3{margin:0 0 12px;color:var(--text-primary);font-size:20px;font-weight:600}.api-initial-state p{margin:0 0 24px;color:var(--text-secondary);font-size:14px;max-width:400px;line-height:1.5}.api-data-content{height:100%;display:flex;flex-direction:column}.holiday-count{font-size:14px;color:var(--text-secondary);font-weight:500}.last-fetched{font-size:12px;color:var(--text-secondary);font-style:italic}.fetch-button{padding:8px 16px;background:var(--primary-blue);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;min-width:120px}.fetch-button:hover:not(:disabled){background:var(--primary-blue-dark);transform:translateY(-1px)}.fetch-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.fetch-button.primary{background:var(--accent-green);font-size:16px;padding:12px 24px;min-width:160px}.fetch-button.primary:hover:not(:disabled){background:var(--accent-green-dark)}.table-container{flex:1;overflow:auto;border:1px solid var(--bg-tertiary);border-radius:8px}.holidays-table{width:100%;border-collapse:collapse;font-size:14px}.holidays-table thead{background:var(--bg-secondary);position:sticky;top:0;z-index:10}.holidays-table th{padding:12px 16px;text-align:left;font-weight:600;color:var(--text-primary);border-bottom:1px solid var(--bg-tertiary);white-space:nowrap}.holidays-table td{padding:12px 16px;border-bottom:1px solid var(--bg-tertiary);color:var(--text-primary)}.holidays-table tbody tr:hover{background:var(--bg-secondary)}.holidays-table tbody tr:last-child td{border-bottom:none}.api-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:400px;text-align:center;padding:40px}.api-empty-state h3{margin:0 0 12px;color:var(--text-primary);font-size:20px;font-weight:600}.api-empty-state p{margin:0 0 24px;color:var(--text-secondary);font-size:14px;max-width:400px;line-height:1.5}@media (max-width: 768px){.content-header{flex-direction:column;align-items:flex-start;gap:12px}.header-actions{width:100%;justify-content:space-between;flex-wrap:wrap}.holidays-table{font-size:12px}.holidays-table th,.holidays-table td{padding:8px 12px}.api-initial-state,.api-empty-state{padding:20px;height:300px}.fetch-button.primary{font-size:14px;padding:10px 20px;min-width:140px}}.comparison-tab{height:100%;display:flex;flex-direction:column}.error-banner{background:linear-gradient(135deg,#f59e0b,#d97706);border:1px solid #d97706;border-radius:8px;margin-bottom:16px;padding:12px;box-shadow:0 2px 8px #f59e0b33}.error-content{display:flex;align-items:center;gap:12px;color:#fff}.error-icon{font-size:16px}.error-text{flex:1;font-size:14px;font-weight:500}.error-retry{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:6px;padding:6px 12px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease}.error-retry:hover{background:#ffffff4d;transform:translateY(-1px)}.comparison-initial-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:400px;text-align:center;padding:40px}.initial-icon{font-size:48px;margin-bottom:16px;opacity:.6}.comparison-initial-state h3{margin:0 0 12px;color:var(--text-primary);font-size:20px;font-weight:600}.comparison-initial-state p{margin:0 0 24px;color:var(--text-secondary);font-size:14px;max-width:400px;line-height:1.5}.initial-actions{display:flex;flex-direction:column;align-items:center;gap:16px}.initial-hint{margin:0;font-size:12px;color:var(--text-secondary);font-style:italic}.comparison-content{height:100%;display:flex;flex-direction:column}.content-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--bg-tertiary)}.content-header h3{margin:0;color:var(--text-primary);font-size:18px;font-weight:600}.compare-button{padding:8px 16px;background:var(--primary-blue);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;min-width:120px}.compare-button:hover:not(:disabled){background:var(--primary-blue-dark);transform:translateY(-1px)}.compare-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.compare-button.primary{background:var(--accent-green);font-size:16px;padding:12px 24px;min-width:160px}.compare-button.primary:hover:not(:disabled){background:var(--accent-green-dark)}.comparison-summary{background:var(--bg-secondary);border:1px solid var(--bg-tertiary);border-radius:8px;padding:16px;margin-bottom:20px}.stat-label{font-size:12px;color:var(--text-secondary);font-weight:500}.stat-value{font-size:18px;font-weight:700;color:var(--text-primary)}.stat-value.added{color:var(--accent-green)}.stat-value.removed{color:#ef4444}.stat-value.modified{color:#f59e0b}.differences-list{flex:1;overflow:auto}.differences-list h3{margin:0 0 16px;color:var(--text-primary);font-size:16px;font-weight:600}.differences-container{display:flex;flex-direction:column;gap:16px}.difference-item{border:1px solid var(--bg-tertiary);border-radius:8px;overflow:hidden;transition:all .2s ease}.difference-item:hover{box-shadow:0 4px 12px #0000001a}.difference-item.difference-added{border-left:4px solid var(--accent-green)}.difference-item.difference-removed{border-left:4px solid #ef4444}.difference-item.difference-modified{border-left:4px solid #f59e0b}.difference-header{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--bg-secondary);border-bottom:1px solid var(--bg-tertiary)}.difference-type{font-size:12px;font-weight:600;text-transform:uppercase;padding:4px 8px;border-radius:4px;background:var(--bg-tertiary);color:var(--text-primary)}.difference-action{font-size:12px;font-weight:600;color:var(--text-secondary);margin-left:auto}.difference-description{padding:12px 16px;background:var(--bg-primary);border-bottom:1px solid var(--bg-tertiary)}.difference-description p{margin:0;font-size:14px;color:var(--text-primary);line-height:1.4}.difference-notes{margin-top:8px!important;font-size:13px!important;color:var(--text-secondary)!important;font-style:italic}.debug-section{margin-top:12px;border:1px solid var(--bg-tertiary);border-radius:6px;overflow:hidden}.debug-section summary{padding:8px 12px;background:var(--bg-secondary);cursor:pointer;font-size:12px;font-weight:600;color:var(--text-secondary);-webkit-user-select:none;user-select:none}.debug-section summary:hover{background:var(--bg-tertiary)}.debug-data{margin:0;padding:12px;background:var(--bg-primary);font-size:11px;color:var(--text-secondary);white-space:pre-wrap;word-break:break-all;max-height:200px;overflow:auto;border-top:1px solid var(--bg-tertiary)}.difference-details{display:grid;grid-template-columns:1fr 1fr;gap:0}.detail-section{padding:16px;border-right:1px solid var(--bg-tertiary)}.detail-section:last-child{border-right:none}.detail-section h4{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--text-primary)}.detail-section.stored h4{color:var(--primary-blue)}.detail-section.api h4{color:var(--accent-green)}.detail-content p{margin:0 0 8px;font-size:13px;color:var(--text-primary)}.detail-content p:last-child{margin-bottom:0}.detail-content strong{color:var(--text-secondary);font-weight:600}.no-differences{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px;text-align:center;padding:40px}.no-diff-icon{font-size:48px;margin-bottom:16px;opacity:.6}.no-differences h3{margin:0 0 12px;color:var(--text-primary);font-size:20px;font-weight:600}.no-differences p{margin:0;color:var(--text-secondary);font-size:14px}.comparison-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:400px;text-align:center;padding:40px}.empty-icon{font-size:48px;margin-bottom:16px;opacity:.6}.comparison-empty-state h3{margin:0 0 12px;color:var(--text-primary);font-size:20px;font-weight:600}.comparison-empty-state p{margin:0 0 24px;color:var(--text-secondary);font-size:14px;max-width:400px;line-height:1.5}.empty-actions{display:flex;flex-direction:column;align-items:center;gap:16px}.empty-hint{margin:0;font-size:12px;color:var(--text-secondary);font-style:italic}.arrays-summary{margin-top:16px;border:1px solid var(--bg-tertiary);border-radius:8px;overflow:hidden}.arrays-summary summary{padding:12px 16px;background:var(--bg-secondary);cursor:pointer;font-size:14px;font-weight:600;color:var(--text-primary);-webkit-user-select:none;user-select:none}.arrays-summary summary:hover{background:var(--bg-tertiary)}.arrays-content{padding:16px;background:var(--bg-primary);display:grid;grid-template-columns:1fr 1fr;gap:20px}.array-section h4{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--text-primary)}.array-section ul{margin:0;padding-left:20px;list-style:none}.array-section li{font-size:13px;color:var(--text-secondary);margin-bottom:4px;padding:4px 0}.array-section p{margin:0;font-size:13px;color:var(--text-secondary);font-style:italic}@media (max-width: 768px){.content-header{flex-direction:column;align-items:flex-start;gap:12px}.summary-stats{gap:16px}.difference-details{grid-template-columns:1fr}.detail-section{border-right:none;border-bottom:1px solid var(--bg-tertiary)}.detail-section:last-child{border-bottom:none}.comparison-initial-state,.comparison-empty-state{padding:20px;height:300px}.compare-button.primary{font-size:14px;padding:10px 20px;min-width:140px}}.empty-database-notice{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #0ea5e9;border-radius:12px;padding:20px;margin-bottom:24px;display:flex;align-items:flex-start;gap:16px}.notice-icon{font-size:24px;flex-shrink:0;margin-top:2px}.notice-content h4{margin:0 0 8px;color:#0c4a6e;font-size:16px;font-weight:600}.notice-content p{margin:0;color:#0c4a6e;font-size:14px;line-height:1.5}.bulk-operations-tab{height:100%;display:flex;flex-direction:column}.operations-header{margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--bg-tertiary)}.operations-header h3{margin:0 0 8px;color:var(--text-primary);font-size:20px;font-weight:600}.operations-header p{margin:0;color:var(--text-secondary);font-size:14px}.operations-content{flex:1;display:flex;flex-direction:column;gap:24px}.operation-section{background:var(--bg-secondary);border:1px solid var(--bg-tertiary);border-radius:12px;padding:24px}.section-header{margin-bottom:20px}.section-header h3{margin:0 0 8px;color:var(--text-primary);font-size:18px;font-weight:600}.section-header p{margin:0;color:var(--text-secondary);font-size:14px}.sync-options{display:flex;flex-direction:column;gap:20px}.option-group{display:flex;flex-direction:column;gap:8px}.sync-checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;font-weight:500;color:var(--text-primary);padding:8px 0}.sync-checkbox-label input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--primary-blue)}.option-description{margin:0 0 0 32px;font-size:13px;color:var(--text-secondary);line-height:1.4}.sync-info{background:var(--bg-primary);border:1px solid var(--bg-tertiary);border-radius:8px;padding:16px}.sync-info p{margin:0 0 8px;font-size:14px;color:var(--text-primary)}.sync-info p:last-child{margin-bottom:0}.sync-info strong{color:var(--text-secondary);font-weight:600}.date-range-status{font-size:14px;font-weight:500}.date-range-status.valid{color:var(--accent-green)}.date-range-status.invalid{color:#ef4444}.validation-error{margin:0;font-size:13px;color:#ef4444;font-weight:500;padding:8px 12px;background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:6px}.sync-button{padding:12px 24px;background:var(--accent-green);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;align-self:flex-start}.sync-button:hover:not(:disabled){background:var(--accent-green-dark);transform:translateY(-1px)}.sync-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.sync-result{margin-top:20px;padding:16px;border-radius:8px;border:1px solid}.sync-result.success{background:#22c55e1a;border-color:var(--accent-green)}.sync-result.error{background:#ef44441a;border-color:#ef4444}.result-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.result-icon{font-size:18px}.result-title{font-size:16px;font-weight:600;color:var(--text-primary)}.result-details p{margin:0;font-size:14px;color:var(--text-primary)}.result-errors{margin-top:12px}.result-errors p{margin:0 0 8px;font-size:14px;font-weight:600;color:var(--text-primary)}.result-errors ul{margin:0;padding-left:20px}.result-errors li{font-size:13px;color:var(--text-secondary);margin-bottom:4px}.bulk-update-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;text-align:center;background:var(--bg-primary);border:2px dashed var(--bg-tertiary);border-radius:8px}.placeholder-icon{font-size:48px;margin-bottom:16px;opacity:.6}.bulk-update-placeholder h4{margin:0 0 12px;color:var(--text-primary);font-size:18px;font-weight:600}.bulk-update-placeholder p{margin:0 0 24px;color:var(--text-secondary);font-size:14px;max-width:400px;line-height:1.5}.placeholder-features{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;max-width:300px}.feature-item{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary)}.feature-icon{color:var(--accent-green);font-weight:700}@media (max-width: 768px){.operation-section{padding:16px}.sync-options{gap:16px}.sync-info{padding:12px}.sync-button{width:100%;text-align:center}.bulk-update-placeholder{padding:24px}.placeholder-features{grid-template-columns:1fr;gap:8px}}.bulk-update-form{background:var(--bg-secondary);border:1px solid var(--bg-tertiary);border-radius:8px;padding:20px;margin-top:16px}.selection-summary{margin-bottom:20px}.selection-summary h4{margin:0 0 12px;font-size:16px;font-weight:600;color:var(--text-primary)}.selected-holidays-list{max-height:150px;overflow-y:auto;background:var(--bg-primary);border:1px solid var(--bg-tertiary);border-radius:6px;padding:12px;margin:0}.selected-holidays-list li{padding:4px 8px;font-size:14px;color:var(--text-secondary);border-bottom:1px solid var(--bg-tertiary);margin:0 -8px;border-left:none}.selected-holidays-list li:last-child{border-bottom:none}.update-fields{margin-bottom:20px}.update-fields h4{margin:0 0 16px;font-size:16px;font-weight:600;color:var(--text-primary)}.field-group{margin-bottom:16px}.field-group label{display:block;margin-bottom:6px;font-size:14px;font-weight:500;color:var(--text-primary)}.field-group input{width:100%;padding:10px 12px;border:1px solid var(--bg-tertiary);border-radius:6px;font-size:14px;background:var(--bg-primary);color:var(--text-primary);transition:border-color .2s ease}.field-group input:focus{outline:none;border-color:var(--primary-blue);box-shadow:0 0 0 2px #3b82f61a}.field-group input::placeholder{color:var(--text-tertiary)}.update-button{background:#2563eb;color:#fff;border:none;border-radius:6px;padding:12px 24px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;width:100%;text-shadow:0 1px 2px rgba(0,0,0,.2)}.update-button:hover:not(:disabled){background:#1d4ed8;transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.no-selection{background:var(--bg-secondary);border:1px solid var(--bg-tertiary);border-radius:8px;padding:20px;text-align:center;margin-top:16px}.no-selection p{margin:0 0 8px;color:var(--text-secondary)}.no-selection p:last-child{margin-bottom:0;font-size:13px;color:var(--text-tertiary)}.result-message{margin-top:16px;padding:16px;border-radius:8px;border:1px solid}.result-message.success{background:#22c55e1a;border-color:#22c55e4d;color:var(--success-color)}.result-message.error{background:#ef44441a;border-color:#ef44444d;color:var(--error-color)}.result-message h4{margin:0 0 8px;font-size:16px;font-weight:600}.result-message p{margin:0 0 8px;font-size:14px}.result-message li{font-size:13px;margin-bottom:4px}.sync-checkbox{width:16px;height:16px;margin-right:8px;cursor:pointer}.sync-warning{background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:8px;padding:16px;margin-bottom:16px}.sync-warning h4{margin:0 0 8px;color:#d97706;font-size:16px;font-weight:600}.sync-warning p{margin:0;color:var(--text-primary);font-size:14px;line-height:1.5}.sync-warning strong{color:#d97706}.bulk-update-info{background:var(--bg-secondary);border:1px solid var(--bg-tertiary);border-radius:8px;padding:16px;margin-bottom:20px}.bulk-update-info h4{margin:0 0 12px;font-size:16px;font-weight:600;color:var(--text-primary)}.bulk-update-info p{margin:0 0 12px;font-size:14px;color:var(--text-primary);line-height:1.5}.bulk-update-info ul{margin:0 0 12px;padding-left:20px}.bulk-update-info li{font-size:14px;color:var(--text-secondary);margin-bottom:6px;line-height:1.4}.bulk-update-info strong{color:var(--text-primary);font-weight:600}.bulk-update-info em{color:var(--text-tertiary);font-style:italic}.holidays-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:20px;margin:20px 0}.holiday-card{background:var(--bg-primary);border:1px solid var(--bg-tertiary);border-radius:12px;padding:20px;transition:all .2s ease}.holiday-card:hover{border-color:var(--primary-blue);box-shadow:0 4px 12px #0000001a}.holiday-card.has-changes{border-color:var(--accent-green);background:#22c55e05}.holiday-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--bg-tertiary)}.holiday-header h5{margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.holiday-name{font-size:14px;color:var(--text-secondary);font-weight:500}.change-badge{background:var(--accent-green);color:#fff;padding:4px 8px;border-radius:12px;font-size:11px;font-weight:600}.holiday-fields{display:flex;flex-direction:column;gap:16px}.field-row{display:flex;flex-direction:column;gap:8px}.field-row label{font-size:13px;font-weight:600;color:var(--text-primary);margin:0}.field-comparison{display:flex;flex-direction:column;gap:6px}.current-value{background:var(--bg-secondary);color:var(--text-secondary);font-style:italic;padding:6px 10px;border-radius:6px;font-size:12px;border-left:3px solid var(--bg-tertiary)}.edit-input{width:100%;padding:8px 12px;border:1px solid var(--bg-tertiary);border-radius:6px;font-size:13px;background:var(--bg-primary);color:var(--text-primary);transition:all .2s ease;box-sizing:border-box}.edit-input:focus{outline:none;border-color:var(--primary-blue);box-shadow:0 0 0 2px #3b82f61a}.edit-input::placeholder{color:var(--text-tertiary);font-style:italic}.update-button{background:#2563eb;color:#fff;border:none;border-radius:8px;padding:14px 28px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;width:100%;margin-top:20px;text-shadow:0 1px 2px rgba(0,0,0,.2)}.update-button:hover:not(:disabled){background:#1d4ed8;transform:translateY(-1px);box-shadow:0 6px 16px #00000026}.update-button:disabled{background:#9ca3af;color:#f9fafb;cursor:not-allowed;transform:none;text-shadow:none}@media (max-width: 768px){.holidays-grid{grid-template-columns:1fr;gap:16px}.holiday-card{padding:16px}.holiday-header{flex-direction:column;align-items:flex-start;gap:8px}.update-button{padding:12px 24px;font-size:14px}}.admin-market-holidays{padding:24px;max-width:1200px;margin:0 auto;background:var(--bg-primary);min-height:calc(100vh - 200px)}.market-holidays-header{text-align:center;margin-bottom:32px}.market-holidays-header h1{color:var(--text-primary);font-size:32px;font-weight:700;margin:0 0 8px;background:linear-gradient(135deg,var(--primary-blue),var(--accent-green));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.market-holidays-header p{color:var(--text-secondary);font-size:16px;margin:0}.filters-section{display:flex;gap:24px;margin-bottom:24px;padding:20px;background:var(--bg-secondary);border-radius:12px;border:1px solid var(--bg-tertiary);flex-wrap:wrap}.filter-group{display:flex;flex-direction:column;gap:8px;min-width:150px}.filter-group label{font-size:14px;font-weight:600;color:var(--text-primary)}.filter-group select,.filter-group input{padding:8px 12px;border:1px solid var(--bg-tertiary);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);font-size:14px}.filter-group select:focus,.filter-group input:focus{outline:none;border-color:var(--primary-blue);box-shadow:0 0 0 2px #3b82f61a}.tab-navigation{display:flex;gap:4px;margin-bottom:24px;background:var(--bg-secondary);padding:4px;border-radius:8px;border:1px solid var(--bg-tertiary)}.tab-button{flex:1;padding:12px 16px;border:none;border-radius:6px;background:transparent;color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:center}.tab-button:hover{background:#3b82f61a;color:var(--text-primary)}.tab-button.active{background:var(--primary-blue);color:#fff;box-shadow:0 2px 8px #3b82f64d}.selection-badge{background:var(--accent-color);color:#fff;border-radius:12px;padding:2px 8px;font-size:12px;font-weight:600;margin-left:8px;min-width:20px;text-align:center}.tab-container{background:var(--bg-primary);border:1px solid var(--bg-tertiary);border-radius:12px;min-height:400px;margin-bottom:24px}.tab-content{padding:24px}.tab-content h3{color:var(--text-primary);font-size:20px;font-weight:600;margin:0 0 8px}.tab-content p{color:var(--text-secondary);font-size:14px;margin:0 0 24px}.placeholder-content{display:flex;align-items:center;justify-content:center;height:300px;background:var(--bg-secondary);border-radius:8px;border:2px dashed var(--bg-tertiary)}.placeholder-content p{color:var(--text-secondary);font-size:16px;font-weight:500;margin:0}.market-holidays-footer{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:var(--bg-secondary);border-radius:12px;border:1px solid var(--bg-tertiary)}.footer-info{display:flex;gap:24px;font-size:14px;color:var(--text-secondary)}.footer-info span{font-weight:500}.refresh-button{padding:8px 16px;background:var(--primary-blue);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.refresh-button:hover{background:var(--primary-blue-dark);transform:translateY(-1px)}@media (max-width: 768px){.admin-market-holidays{padding:16px}.filters-section{flex-direction:column;gap:16px}.filter-group{min-width:auto}.tab-navigation{flex-direction:column}.tab-button{text-align:left}.market-holidays-footer{flex-direction:column;gap:16px;align-items:stretch}.footer-info{flex-direction:column;gap:8px}}.stored-earnings-tab{padding:20px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.refresh-button{background:#007bff;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background-color .2s}.loading-message{text-align:center;padding:40px;color:#666;font-size:1.1rem}.error-message{text-align:center;padding:40px;color:#dc3545;font-size:1.1rem;background:#f8d7da;border:1px solid #f5c6cb;border-radius:4px}.empty-state{text-align:center;padding:60px 20px;color:#666}.empty-icon{font-size:4rem;margin-bottom:20px}.empty-state h4{margin:0 0 15px;color:#333;font-size:1.3rem}.empty-state p{margin:0 0 10px;font-size:1rem;line-height:1.5}.hint{color:#007bff;font-style:italic}.table-controls{margin-bottom:20px;padding:15px;background:#f8f9fa;border-radius:6px;border:1px solid #e9ecef}.selection-controls{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:15px}.select-all-label{display:flex;align-items:center;gap:8px;font-weight:500;color:#495057;cursor:pointer}.select-all-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.bulk-edit-button{background:#28a745;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background-color .2s}.bulk-edit-button:hover{background:#218838}.table-container{overflow-x:auto;border:1px solid #dee2e6;border-radius:6px;margin-bottom:20px}.earnings-table th{background:#f8f9fa;padding:12px 8px;text-align:left;font-weight:600;color:#495057;border-bottom:2px solid #dee2e6;font-size:.9rem}.earnings-table td{padding:10px 8px;border-bottom:1px solid #dee2e6;font-size:.9rem}.earnings-table tr.selected{background:#e3f2fd}.earnings-table tr.selected:hover{background:#bbdefb}.table-summary{display:flex;justify-content:space-between;align-items:center;padding:15px;background:#f8f9fa;border-radius:6px;border:1px solid #e9ecef;font-size:.9rem;color:#495057}.selected-count{color:#007bff;font-weight:600}@media (max-width: 768px){.stored-earnings-tab{padding:15px}.tab-header{flex-direction:column;gap:15px;align-items:flex-start}.selection-controls{flex-direction:column;align-items:flex-start}.table-container{font-size:.8rem}.earnings-table th,.earnings-table td{padding:8px 4px;font-size:.8rem}}.api-data-tab{padding:20px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.fetch-button{background:#28a745;color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-size:1rem;font-weight:500;transition:all .2s ease;box-shadow:0 2px 4px #0000001a}.fetch-button:hover:not(:disabled){background:#218838;transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.fetch-button:disabled{background:#6c757d;cursor:not-allowed;transform:none;box-shadow:none}.last-fetched{background:#e7f3ff;color:#0056b3;padding:10px 15px;border-radius:6px;margin-bottom:20px;font-size:.9rem;border-left:4px solid #007bff}.empty-state{text-align:center;padding:80px 20px;color:#666}.empty-icon{font-size:4rem;margin-bottom:25px;opacity:.7}.empty-state h4{margin:0 0 20px;color:#333;font-size:1.4rem;font-weight:600}.empty-state p{font-size:1.1rem;line-height:1.6;max-width:500px;margin:0 auto 15px}.data-section{margin-top:20px}.data-summary{background:#f8f9fa;padding:20px;border-radius:8px;margin-bottom:25px;border:1px solid #e9ecef}.data-summary h4{margin:0 0 10px;color:#333;font-size:1.3rem;font-weight:600}.data-summary p{margin:0;color:#666;font-size:1rem}.table-container{overflow-x:auto;border:1px solid #dee2e6;border-radius:8px;margin-bottom:20px;box-shadow:0 2px 4px #0000000d}.earnings-table{width:100%;border-collapse:collapse;background:#fff}.earnings-table th{background:#f8f9fa;padding:12px 10px;text-align:left;font-weight:600;color:#495057;border-bottom:2px solid #dee2e6;font-size:.9rem;white-space:nowrap}.earnings-table td{padding:12px 10px;border-bottom:1px solid #dee2e6;font-size:.9rem;vertical-align:middle}.earnings-table tr:hover{background:#f8f9fa}.data-note{background:#fff3cd;color:#856404;padding:15px;border-radius:6px;border:1px solid #ffeaa7;text-align:center;font-size:.9rem}.data-note p{margin:0}@media (max-width: 768px){.api-data-tab{padding:15px}.tab-header{flex-direction:column;gap:15px;align-items:flex-start}.fetch-button{width:100%;padding:12px}.initial-state,.loading-state,.error-state,.empty-state{padding:40px 15px}.initial-icon,.loading-icon,.error-icon,.empty-icon{font-size:3rem}.table-container{font-size:.8rem}.earnings-table th,.earnings-table td{padding:8px 6px;font-size:.8rem}}.comparison-tab{padding:20px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.compare-button{background:#17a2b8;color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-size:1rem;font-weight:500;transition:all .2s ease;box-shadow:0 2px 4px #0000001a}.compare-button:hover:not(:disabled){background:#138496;transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.compare-button:disabled{background:#6c757d;cursor:not-allowed;transform:none;box-shadow:none}.last-compared{background:#e7f3ff;color:#0056b3;padding:10px 15px;border-radius:6px;margin-bottom:20px;font-size:.9rem;border-left:4px solid #007bff}.initial-state{text-align:center;padding:80px 20px;color:#666}.initial-icon{font-size:5rem;margin-bottom:25px;opacity:.7}.initial-state h4{margin:0 0 20px;color:#333;font-size:1.5rem;font-weight:600}.initial-state p{font-size:1.1rem;line-height:1.6;max-width:600px;margin:0 auto 15px}.hint{color:#007bff;font-style:italic;font-size:1rem}.loading-state{text-align:center;padding:80px 20px;color:#666}.loading-icon{font-size:4rem;margin-bottom:25px;animation:spin 2s linear infinite}.loading-state h4{margin:0 0 20px;color:#333;font-size:1.4rem;font-weight:600}.loading-state p{margin:0;font-size:1.1rem;line-height:1.6}.error-state{text-align:center;padding:60px 20px;color:#dc3545}.error-icon{font-size:4rem;margin-bottom:25px}.error-state h4{margin:0 0 20px;color:#dc3545;font-size:1.4rem;font-weight:600}.error-state p{margin:0 0 15px;font-size:1.1rem;line-height:1.6}.error-message{background:#f8d7da;border:1px solid #f5c6cb;border-radius:6px;padding:15px;font-family:monospace;font-size:.9rem;text-align:left;max-width:600px;margin:20px auto}.retry-button{background:#dc3545;color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-size:1rem;font-weight:500;transition:background-color .2s}.comparison-section{margin-top:20px}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}.summary-card{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:20px;text-align:center;transition:transform .2s ease,box-shadow .2s ease}.summary-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.card-icon{font-size:2.5rem;margin-bottom:15px}.card-content h4{margin:0 0 10px;color:#333;font-size:1.1rem;font-weight:600}.card-value{font-size:2rem;font-weight:700;margin-bottom:5px;color:#333}.card-value.added{color:#28a745}.card-value.removed{color:#dc3545}.card-value.modified{color:#ffc107}.card-value.unchanged{color:#6c757d}.card-label{font-size:.9rem;color:#666;font-weight:500}.differences-section{margin-top:30px}.differences-section h4{margin:0 0 20px;color:#333;font-size:1.3rem;font-weight:600;padding-bottom:10px;border-bottom:2px solid #e0e0e0}.differences-list{display:flex;flex-direction:column;gap:15px}.difference-item{background:#fff;border:1px solid #dee2e6;border-radius:8px;padding:20px;transition:box-shadow .2s ease}.difference-item:hover{box-shadow:0 2px 8px #0000001a}.difference-item.added{border-left:4px solid #28a745}.difference-item.removed{border-left:4px solid #dc3545}.difference-item.modified{border-left:4px solid #ffc107}.difference-header{display:flex;align-items:center;gap:15px;margin-bottom:15px}.difference-type{padding:4px 12px;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.difference-type.added{background:#d4edda;color:#155724}.difference-type.removed{background:#f8d7da;color:#721c24}.difference-type.modified{background:#fff3cd;color:#856404}.difference-description{font-size:1rem;color:#333;font-weight:500}.difference-notes{background:#f8f9fa;padding:10px 15px;border-radius:6px;margin-bottom:15px;font-size:.9rem;color:#666;border-left:3px solid #007bff}.difference-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-top:15px}.detail-section{background:#f8f9fa;padding:15px;border-radius:6px;border:1px solid #e9ecef}.detail-section h5{margin:0 0 10px;color:#333;font-size:1rem;font-weight:600;padding-bottom:5px;border-bottom:1px solid #dee2e6}.detail-content{display:flex;flex-direction:column;gap:8px;font-size:.9rem}.detail-content span{display:flex;justify-content:space-between;align-items:center;padding:4px 0}.detail-content strong{color:#495057;min-width:120px}.no-differences{text-align:center;padding:80px 20px;color:#666}.no-differences-icon{font-size:4rem;margin-bottom:25px;color:#28a745}.no-differences h4{margin:0 0 20px;color:#333;font-size:1.4rem;font-weight:600}.no-differences p{font-size:1.1rem;line-height:1.6;max-width:500px;margin:0 auto}@media (max-width: 768px){.comparison-tab{padding:15px}.tab-header{flex-direction:column;gap:15px;align-items:flex-start}.compare-button{width:100%;padding:12px}.summary-cards{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px}.summary-card{padding:15px}.card-icon{font-size:2rem}.card-value{font-size:1.5rem}.difference-header{flex-direction:column;align-items:flex-start;gap:10px}.difference-details{grid-template-columns:1fr;gap:15px}.detail-content span{flex-direction:column;align-items:flex-start;gap:2px}.detail-content strong{min-width:auto}}.bulk-operations-tab{padding:20px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.tab-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:2px solid #e0e0e0}.tab-header h3{margin:0;color:#333;font-size:1.5rem;font-weight:600}.header-actions{display:flex;align-items:center;gap:15px}.selected-count{background:#007bff;color:#fff;padding:6px 12px;border-radius:20px;font-size:.9rem;font-weight:500}.operations-section{display:flex;flex-direction:column;gap:30px}.sync-section{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:25px}.sync-section h4{margin:0 0 10px;color:#333;font-size:1.3rem;font-weight:600}.sync-section p{margin:0 0 20px;color:#666;font-size:1rem;line-height:1.5}.sync-controls{display:flex;flex-direction:column;gap:15px;margin-bottom:20px}.overwrite-checkbox{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:1rem;color:#495057;font-weight:500}.overwrite-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer}.sync-button{background:#28a745;color:#fff;border:none;padding:12px 24px;border-radius:6px;cursor:pointer;font-size:1rem;font-weight:500;transition:all .2s ease;box-shadow:0 2px 4px #0000001a}.sync-button:hover:not(:disabled){background:#218838;transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.sync-button:disabled{background:#6c757d;cursor:not-allowed;transform:none;box-shadow:none}.sync-warning{background:#fff3cd;color:#856404;padding:15px;border-radius:6px;margin-bottom:20px;border:1px solid #ffeaa7}.sync-warning h4{margin:0 0 10px;color:#856404;font-size:1rem;font-weight:600}.sync-warning p{margin:0;font-size:.9rem;line-height:1.5}.sync-warning strong{color:#856404;font-weight:600}.bulk-update-section{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:25px}.bulk-update-section h4{margin:0 0 10px;color:#333;font-size:1.3rem;font-weight:600}.bulk-update-section p{margin:0 0 20px;color:#666;font-size:1rem;line-height:1.5}.no-selection{text-align:center;padding:60px 20px;color:#666}.no-selection-icon{font-size:4rem;margin-bottom:20px;opacity:.7}.no-selection h5{margin:0 0 15px;color:#333;font-size:1.2rem;font-weight:600}.no-selection p{margin:0;font-size:1rem;line-height:1.5}.bulk-update-controls{display:flex;gap:15px;margin-bottom:25px;flex-wrap:wrap}.update-button{background:#007bff;color:#fff;border:none;padding:12px 24px;border-radius:6px;cursor:pointer;font-size:1rem;font-weight:500;transition:all .2s ease;box-shadow:0 2px 4px #0000001a}.update-button:hover:not(:disabled){background:#0056b3;transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.update-button:disabled{background:#6c757d;cursor:not-allowed;transform:none;box-shadow:none}.clear-button{background:#6c757d;color:#fff;border:none;padding:12px 24px;border-radius:6px;cursor:pointer;font-size:1rem;font-weight:500;transition:all .2s ease}.clear-button:hover{background:#5a6268;transform:translateY(-1px)}.earnings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px}.earning-card{background:#fff;border:1px solid #dee2e6;border-radius:8px;padding:20px;transition:all .2s ease;width:100%;box-sizing:border-box;overflow:hidden}.earning-card:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.earning-card.modified{border-color:#ffc107;border-width:2px;background:#fffbf0}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid #e9ecef}.card-header h5{margin:0;color:#333;font-size:1.2rem;font-weight:600}.date{color:#666;font-size:.9rem;font-weight:500}.modified-badge{background:#ffc107;color:#856404;padding:4px 8px;border-radius:12px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.card-content{padding:15px;overflow:hidden;width:100%;box-sizing:border-box}.field-group{margin-bottom:15px}.field-group label{display:block;margin-bottom:5px;font-weight:500;color:#333;font-size:.9rem}.field-group input,.field-group select{width:100%;padding:8px;border:1px solid #ddd;border-radius:4px;font-size:.9rem;box-sizing:border-box;max-width:100%;overflow:hidden;text-overflow:ellipsis}.field-group input:focus,.field-group select:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.field-group input::placeholder{color:#999;font-style:italic}@media (max-width: 768px){.bulk-operations-tab{padding:15px}.tab-header{flex-direction:column;gap:15px;align-items:flex-start}.sync-controls{flex-direction:column;align-items:flex-start;gap:15px}.sync-button{width:100%;padding:15px}.bulk-update-controls{flex-direction:column}.update-button,.clear-button{width:100%;padding:15px}.earnings-grid{grid-template-columns:1fr;gap:15px}.earning-card{padding:15px}.card-header{flex-direction:column;align-items:flex-start;gap:10px}.field-group input,.field-group select{width:100%;padding:8px;border:1px solid #ddd;border-radius:4px;font-size:.9rem}}.result-message{margin-top:20px;padding:15px;border-radius:8px;border:1px solid}.result-message.success{background:#d4edda;color:#155724;border-color:#c3e6cb}.result-message.error{background:#f8d7da;color:#721c24;border-color:#f5c6cb}.result-message h4{margin:0 0 10px;font-size:1rem;font-weight:600}.result-message p{margin:0 0 10px;font-size:.9rem}.result-message ul{margin:0;padding-left:20px}.result-message li{margin-bottom:5px;font-size:.9rem}.earnings-calendar-admin{padding:20px;max-width:1400px;margin:0 auto;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.date-filters{display:flex;gap:20px;align-items:center}.filter-group input{padding:8px 12px;border:1px solid #ced4da;border-radius:4px;font-size:14px;min-width:150px}.filter-group input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.tab-navigation{display:flex;gap:8px;margin-bottom:24px;border-bottom:2px solid #e9ecef;padding-bottom:0}.tab-button{padding:12px 20px;background:none;border:none;border-bottom:3px solid transparent;cursor:pointer;font-size:14px;font-weight:500;color:#6c757d;transition:all .2s ease;border-radius:6px 6px 0 0}.footer{display:flex;justify-content:space-between;align-items:center;padding:16px 0;margin-top:24px;border-top:1px solid #e9ecef;font-size:14px;color:#6c757d}.footer-left{display:flex;gap:16px;align-items:center}.selection-badge{background:#007bff;color:#fff;padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500}.footer-right{display:flex;gap:16px;align-items:center}@media (max-width: 768px){.earnings-calendar-admin{padding:16px}.date-filters{flex-direction:column;gap:12px}.tab-navigation{flex-wrap:wrap;gap:4px}.tab-button{padding:8px 12px;font-size:12px}.footer{flex-direction:column;gap:8px;align-items:flex-start}}.stored-expiries-tab{display:flex;flex-direction:column;height:100%}.last-refreshed{font-size:12px;color:#6c757d;font-style:italic}.refresh-button{padding:8px 16px;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s ease}.refresh-button:hover:not(:disabled){background:#0056b3}.refresh-button:disabled{background:#6c757d;cursor:not-allowed}.selection-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding:12px;background:#f8f9fa;border-radius:6px;border:1px solid #e9ecef}.selection-info{font-size:14px;color:#495057;font-weight:500}.selection-actions{display:flex;gap:8px}.select-all-button,.deselect-all-button,.bulk-edit-button{padding:6px 12px;border:1px solid #ced4da;border-radius:4px;background:#fff;cursor:pointer;font-size:12px;font-weight:500;transition:all .2s ease}.select-all-button:hover:not(:disabled),.deselect-all-button:hover:not(:disabled){background:#e9ecef;border-color:#adb5bd}.bulk-edit-button{background:#28a745;color:#fff;border-color:#28a745}.bulk-edit-button:hover{background:#218838;border-color:#1e7e34}.select-all-button:disabled,.deselect-all-button:disabled{opacity:.5;cursor:not-allowed}.expiries-table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.4}.expiries-table th{background:#f8f9fa;padding:12px 8px;text-align:left;font-weight:600;color:#495057;border-bottom:2px solid #e9ecef;position:sticky;top:0;z-index:10;vertical-align:middle;line-height:1.4}.expiries-table td{padding:10px 8px;border-bottom:1px solid #e9ecef;vertical-align:middle;line-height:1.4}.expiries-table tbody tr.selected{background:#e3f2fd}.expiries-table tbody tr.selected:hover{background:#bbdefb}.checkbox-column{width:40px;text-align:center;vertical-align:middle;padding:10px 4px}.checkbox-column input[type=checkbox]{width:16px;height:16px;cursor:pointer;margin:0;position:relative;top:2px}.expiries-table th.checkbox-column,.expiries-table td.checkbox-column{text-align:center;vertical-align:middle}.table-footer{display:flex;justify-content:space-between;align-items:center;padding:12px 0;margin-top:16px;border-top:1px solid #e9ecef;font-size:14px;color:#6c757d}.footer-info{display:flex;gap:16px;align-items:center}.selected-count{background:#007bff;color:#fff;padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500}@media (max-width: 768px){.tab-header{flex-direction:column;align-items:flex-start;gap:12px}.header-actions{width:100%;justify-content:space-between}.selection-controls{flex-direction:column;align-items:stretch;gap:12px}.selection-actions{justify-content:center;flex-wrap:wrap}.expiries-table{font-size:12px}.expiries-table th,.expiries-table td{padding:6px 4px}.table-footer{flex-direction:column;gap:8px;text-align:center}}.calculated-expiries-tab{display:flex;flex-direction:column;height:100%}.last-fetched{font-size:12px;color:#6c757d;font-style:italic}.fetch-button{padding:8px 16px;background:#28a745;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s ease}.fetch-button:hover:not(:disabled){background:#218838}.fetch-button:disabled{background:#6c757d;cursor:not-allowed}.results-section{display:flex;flex-direction:column;height:100%}.results-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding:12px;background:#d4edda;border-radius:6px;border:1px solid #c3e6cb}.results-header h4{margin:0;color:#155724;font-size:16px;font-weight:600}.results-summary{font-size:14px;color:#155724;font-weight:500}.empty-state{text-align:center;padding:40px;color:#6c757d}.empty-state p{margin:8px 0;font-size:16px}.expiries-table-container{flex:1;overflow-x:auto;border:1px solid #e9ecef;border-radius:6px}.expiries-table{width:100%;border-collapse:collapse;font-size:14px}.expiries-table th{background:#f8f9fa;padding:12px 8px;text-align:left;font-weight:600;color:#495057;border-bottom:2px solid #e9ecef;position:sticky;top:0;z-index:10}.expiries-table td{padding:10px 8px;border-bottom:1px solid #e9ecef;vertical-align:middle}.expiries-table tbody tr:hover{background:#f8f9fa}.status-badge{padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500;display:inline-block}.status-badge.adjusted{background:#d4edda;color:#155724}.status-badge.calculated{background:#d1ecf1;color:#0c5460}.results-footer{display:flex;justify-content:space-between;align-items:center;padding:12px 0;margin-top:16px;border-top:1px solid #e9ecef;font-size:14px;color:#6c757d}@media (max-width: 768px){.tab-header{flex-direction:column;align-items:flex-start;gap:12px}.header-actions{width:100%;justify-content:space-between}.results-header{flex-direction:column;align-items:flex-start;gap:8px}.expiries-table{font-size:12px}.expiries-table th,.expiries-table td{padding:6px 4px}.results-footer{flex-direction:column;gap:8px;text-align:center}.footer-info{justify-content:center}}.comparison-tab{display:flex;flex-direction:column;height:100%}.tab-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:12px;border-bottom:2px solid #e9ecef}.tab-header h3{margin:0;color:#2c3e50;font-size:20px;font-weight:600}.header-actions{display:flex;align-items:center;gap:16px}.last-compared{font-size:12px;color:#6c757d;font-style:italic}.compare-button{padding:8px 16px;background:#17a2b8;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s ease}.compare-button:hover:not(:disabled){background:#138496}.compare-button:disabled{background:#6c757d;cursor:not-allowed}.initial-state{display:flex;justify-content:center;align-items:center;min-height:300px;padding:40px}.initial-content{text-align:center;max-width:500px;color:#6c757d}.initial-content h4{color:#2c3e50;margin-bottom:16px;font-size:18px}.initial-content p{margin:8px 0;font-size:16px;line-height:1.5}.filter-info{margin-top:24px;padding:16px;background:#f8f9fa;border-radius:6px;border:1px solid #e9ecef;text-align:left}.filter-info p{margin:4px 0;font-size:14px}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;color:#6c757d}.loading-container p{margin-top:16px;font-size:16px}.error-container{padding:20px;background:#f8d7da;border:1px solid #f5c6cb;border-radius:6px;color:#721c24}.error-container p{margin:0 0 8px}.error-message{font-family:monospace;background:#f8f9fa;padding:8px;border-radius:4px;margin:8px 0}.retry-button{padding:8px 16px;background:#dc3545;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500}.retry-button:hover{background:#c82333}.comparison-results{display:flex;flex-direction:column;height:100%}.comparison-summary{margin-bottom:24px;padding:16px;background:#e3f2fd;border-radius:6px;border:1px solid #bbdefb}.comparison-summary h4{margin:0 0 16px;color:#1565c0;font-size:16px;font-weight:600}.summary-stats{display:flex;gap:24px;flex-wrap:wrap}.stat-item{display:flex;flex-direction:column;align-items:center;gap:4px}.stat-label{font-size:12px;color:#6c757d;font-weight:500}.stat-value{font-size:18px;font-weight:600;color:#2c3e50}.stat-value.added{color:#28a745}.stat-value.removed{color:#dc3545}.stat-value.modified{color:#ffc107}.no-differences{text-align:center;padding:40px;background:#d4edda;border:1px solid #c3e6cb;border-radius:6px;color:#155724}.no-differences p{margin:8px 0;font-size:16px}.differences-section{flex:1;overflow-y:auto}.differences-section h4{margin:0 0 16px;color:#2c3e50;font-size:16px;font-weight:600}.differences-list{display:flex;flex-direction:column;gap:12px}.difference-item{padding:16px;border-radius:6px;border:1px solid #e9ecef;background:#fff}.difference-item.added{border-left:4px solid #28a745;background:#f8fff9}.difference-item.removed{border-left:4px solid #dc3545;background:#fff8f8}.difference-item.modified{border-left:4px solid #ffc107;background:#fffef8}.difference-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.difference-icon{font-size:16px}.difference-type{font-weight:600;color:#2c3e50;font-size:14px}.difference-description{color:#6c757d;font-size:14px;flex:1}.difference-details{margin-top:8px}.detail-group{display:flex;gap:8px;margin-bottom:4px}.detail-label{font-weight:500;color:#495057;font-size:12px;min-width:80px}.detail-value{color:#2c3e50;font-size:12px;font-family:monospace}.comparison-footer{display:flex;justify-content:space-between;align-items:center;padding:12px 0;margin-top:16px;border-top:1px solid #e9ecef;font-size:14px;color:#6c757d}.footer-info{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.footer-actions{display:flex;gap:8px}.refresh-button{padding:6px 12px;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:12px;font-weight:500;transition:background-color .2s ease}.refresh-button:hover{background:#0056b3}@media (max-width: 768px){.tab-header{flex-direction:column;align-items:flex-start;gap:12px}.header-actions{width:100%;justify-content:space-between}.summary-stats{justify-content:center;gap:16px}.difference-header{flex-direction:column;align-items:flex-start;gap:4px}.detail-group{flex-direction:column;gap:2px}.comparison-footer{flex-direction:column;gap:8px;text-align:center}.footer-info{justify-content:center}}.bulk-operations-tab{padding:20px;max-width:1200px;margin:0 auto}.tab-header{margin-bottom:30px;text-align:center}.tab-header h3{margin:0 0 10px;color:#333;font-size:24px}.tab-header p{margin:0 0 15px;color:#666;font-size:16px}.selected-count{background:#e3f2fd;color:#1976d2;padding:8px 16px;border-radius:20px;font-weight:500;display:inline-block;margin-bottom:15px}.clear-results-btn{background:#f5f5f5;border:1px solid #ddd;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:14px;color:#666}.clear-results-btn:hover{background:#e0e0e0}.operations-container{display:flex;flex-direction:column;gap:30px}.operation-section{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:20px;box-shadow:0 2px 4px #0000001a}.operation-section h4{margin:0 0 10px;color:#333;font-size:18px}.operation-section p{margin:0 0 15px;color:#666;font-size:14px}.sync-controls{display:flex;flex-direction:column;gap:15px;align-items:flex-start}.checkbox-group{display:flex;align-items:center;gap:8px}.checkbox-group input[type=checkbox]{margin:0}.checkbox-group label{font-size:14px;color:#333;cursor:pointer}.sync-button{background:#2196f3;color:#fff;border:none;padding:12px 24px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;display:flex;align-items:center;gap:8px}.sync-button:hover:not(:disabled){background:#1976d2}.sync-button:disabled{background:#ccc;cursor:not-allowed}.sync-stats{display:flex;gap:20px;margin-top:10px;font-size:14px;color:#666}.sync-stats span{background:#f5f5f5;padding:4px 8px;border-radius:4px}.bulk-update-info{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;padding:15px;margin-bottom:20px}.bulk-update-info h5{margin:0 0 10px;color:#495057;font-size:16px}.bulk-update-info p{margin:0 0 10px;color:#6c757d;font-size:14px}.bulk-update-info ul{margin:0 0 10px;padding-left:20px;color:#6c757d;font-size:14px}.bulk-update-info li{margin-bottom:5px}.bulk-update-info em{color:#495057;font-style:italic}.no-selection{text-align:center;padding:40px 20px;color:#666}.no-selection p{margin:0 0 10px;font-size:16px}.no-selection p:last-child{font-size:14px;color:#999}.bulk-update-form{margin-top:20px}.selection-summary{margin-bottom:20px;text-align:center}.selection-summary h5{margin:0 0 10px;color:#333;font-size:16px}.selection-summary p{margin:0;color:#666;font-size:14px}.expiries-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px;margin-bottom:20px}.expiry-card{border:1px solid #e0e0e0;border-radius:8px;padding:15px;background:#fff;transition:all .2s ease}.expiry-card.has-changes{border-color:#ff9800;background:#fff8e1}.expiry-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:10px;border-bottom:1px solid #f0f0f0}.expiry-header h6{margin:0;color:#333;font-size:16px;font-weight:600}.exchange{background:#e3f2fd;color:#1976d2;padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500}.change-badge{background:#ff9800;color:#fff;padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500}.expiry-fields{display:flex;flex-direction:column;gap:12px}.field-row{display:flex;flex-direction:column;gap:5px}.field-row label{font-size:12px;color:#666;font-weight:500}.field-comparison{display:flex;flex-direction:column;gap:5px}.current-value{font-size:12px;color:#999;background:#f5f5f5;padding:4px 8px;border-radius:4px;font-family:monospace}.edit-input{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;width:100%;box-sizing:border-box}.edit-input:focus{outline:none;border-color:#2196f3;box-shadow:0 0 0 2px #2196f31a}.update-button{background:#4caf50;color:#fff;border:none;padding:12px 24px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;display:flex;align-items:center;gap:8px;margin:0 auto}.update-button:hover:not(:disabled){background:#45a049}.update-button:disabled{background:#ccc;cursor:not-allowed}.delete-warning{background:#fff3cd;border:1px solid #ffeaa7;border-radius:6px;padding:15px;margin-bottom:20px}.delete-warning p{margin:0 0 10px;color:#856404;font-size:14px}.delete-warning p:last-child{margin-bottom:0;font-weight:500}.delete-button{background:#f44336;color:#fff;border:none;padding:12px 24px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;display:flex;align-items:center;gap:8px}.delete-button:hover:not(:disabled){background:#d32f2f}.delete-button:disabled{background:#ccc;cursor:not-allowed}.result-message{margin-top:15px;padding:15px;border-radius:6px;border-left:4px solid}.result-message.success{background:#d4edda;border-color:#28a745;color:#155724}.result-message.error{background:#f8d7da;border-color:#dc3545;color:#721c24}.result-message h5{margin:0 0 10px;font-size:16px;font-weight:600}.result-message p{margin:0 0 10px;font-size:14px}.result-message ul{margin:0;padding-left:20px;font-size:14px}.result-message li{margin-bottom:5px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-backdrop)}.delete-confirmation-modal{background:#fff;border-radius:8px;padding:30px;max-width:500px;width:90%;box-shadow:0 4px 20px #0000004d}.delete-confirmation-modal h4{margin:0 0 15px;color:#333;font-size:18px}.delete-confirmation-modal p{margin:0 0 15px;color:#666;font-size:14px;line-height:1.5}.delete-confirmation-modal p:last-of-type{margin-bottom:25px;color:#d32f2f;font-weight:500}.modal-actions{display:flex;gap:15px;justify-content:flex-end}.cancel-button{background:#f5f5f5;color:#333;border:1px solid #ddd;padding:10px 20px;border-radius:6px;cursor:pointer;font-size:14px}.cancel-button:hover{background:#e0e0e0}.confirm-delete-button{background:#f44336;color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500}.confirm-delete-button:hover{background:#d32f2f}@media (max-width: 768px){.bulk-operations-tab{padding:15px}.expiries-grid{grid-template-columns:1fr}.sync-stats{flex-direction:column;gap:10px}.modal-actions{flex-direction:column}.modal-actions button{width:100%}}.option-expiry-admin{padding:20px;max-width:1400px;margin:0 auto;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.page-header{margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #e9ecef}.page-header h1{margin:0 0 8px;color:#2c3e50;font-size:28px;font-weight:600}.page-header p{margin:0;color:#6c757d;font-size:16px}.filters-section{margin-bottom:24px;padding:16px;background:#f8f9fa;border-radius:6px;border:1px solid #e9ecef}.date-filters{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.filter-group{display:flex;flex-direction:column;gap:4px}.filter-group label{font-weight:500;color:#495057;font-size:14px}.filter-group input,.filter-group select{padding:8px 12px;border:1px solid #ced4da;border-radius:4px;font-size:14px;min-width:150px}.filter-group input:focus,.filter-group select:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.tab-navigation{display:flex;gap:8px;margin-bottom:24px;border-bottom:2px solid #e9ecef;padding-bottom:0;flex-wrap:wrap}.tab-button{padding:12px 20px;background:none;border:none;border-bottom:3px solid transparent;cursor:pointer;font-size:14px;font-weight:500;color:#6c757d;transition:all .2s ease;border-radius:6px 6px 0 0;position:relative;white-space:nowrap}.tab-button:hover{background:#f8f9fa;color:#495057}.tab-button.active{color:#007bff;border-bottom-color:#007bff;background:#f8f9fa}.tab-button .selection-badge{position:absolute;top:-8px;right:-8px;background:#dc3545;color:#fff;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.tab-content{min-height:400px;padding:20px 0}.footer{display:flex;justify-content:space-between;align-items:center;padding:16px 0;margin-top:24px;border-top:1px solid #e9ecef;font-size:14px;color:#6c757d;flex-wrap:wrap;gap:16px}.footer-left,.footer-right{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.footer .selection-badge{background:#007bff;color:#fff;padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500}@media (max-width: 768px){.option-expiry-admin{padding:16px}.date-filters{flex-direction:column;align-items:stretch}.filter-group input,.filter-group select{min-width:auto}.tab-navigation{flex-direction:column}.tab-button{border-radius:6px;border-bottom:none;border-left:3px solid transparent}.tab-button.active{border-left-color:#007bff;border-bottom-color:transparent}.footer{flex-direction:column;align-items:flex-start}}.portfolio-admin-user-selection{padding:24px;max-width:1400px;margin:0 auto;background:var(--bg-primary);min-height:calc(100vh - 200px)}.portfolio-admin-step-header{margin-bottom:24px}.portfolio-admin-step-header h2{color:var(--text-primary);font-size:28px;font-weight:700;margin:0 0 8px;background:linear-gradient(135deg,var(--primary-blue),var(--accent-green));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.portfolio-admin-step-header p{color:var(--text-secondary);font-size:14px;margin:0}.portfolio-admin-users-controls{display:grid;grid-template-columns:1fr auto auto;gap:16px;margin-bottom:24px;align-items:center}.portfolio-admin-search-box{position:relative;min-width:0;max-width:100%;overflow:hidden}.portfolio-admin-search-input{width:100%;padding:12px 16px 12px 44px;border:1px solid var(--bg-tertiary);border-radius:12px;background:var(--bg-secondary);color:var(--text-primary);font-size:14px;transition:all .2s ease;box-sizing:border-box;min-width:0}.portfolio-admin-search-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--text-secondary);font-size:16px}.portfolio-admin-role-filter{padding:12px 16px;border:1px solid var(--bg-tertiary);border-radius:12px;background:var(--bg-secondary);color:var(--text-primary);font-size:14px;cursor:pointer;transition:all .2s ease;min-width:120px}.portfolio-admin-role-filter:focus{outline:none;border-color:var(--primary-blue);box-shadow:0 0 0 3px #3b82f61a}.portfolio-admin-sort-select{padding:12px 16px;border:1px solid var(--bg-tertiary);border-radius:12px;background:var(--bg-secondary);color:var(--text-primary);font-size:14px;cursor:pointer;transition:all .2s ease;min-width:140px}.portfolio-admin-sort-select:focus{outline:none;border-color:var(--primary-blue);box-shadow:0 0 0 3px #3b82f61a}.portfolio-admin-users-table-container{background:var(--bg-secondary);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000001a;margin-bottom:24px}.portfolio-admin-users-table{width:100%;border-collapse:collapse}.portfolio-admin-users-table th{background:var(--bg-tertiary);color:var(--text-primary);font-weight:600;font-size:14px;text-align:left;padding:16px;border-bottom:1px solid var(--bg-tertiary)}.portfolio-admin-users-table td{padding:16px;border-bottom:1px solid var(--bg-tertiary);color:var(--text-primary);font-size:14px}.portfolio-admin-users-table tbody tr:hover{background:var(--bg-tertiary)}.portfolio-admin-user-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--primary-blue),var(--accent-green));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;margin-right:12px}.portfolio-admin-user-info{display:flex;align-items:center}.portfolio-admin-user-details h4{margin:0 0 4px;font-size:16px;font-weight:600;color:var(--text-primary)}.portfolio-admin-user-details p{margin:0;font-size:12px;color:var(--text-secondary)}.portfolio-admin-role-badge{padding:4px 8px;border-radius:6px;font-size:12px;font-weight:500;text-transform:uppercase}.portfolio-admin-role-badge.admin{background:#ef44441a;color:#ef4444}.portfolio-admin-role-badge.user{background:#3b82f61a;color:#3b82f6}.portfolio-admin-role-badge.readonly{background:#6b72801a;color:#6b7280}.portfolio-admin-status-badge{padding:4px 8px;border-radius:6px;font-size:12px;font-weight:500}.portfolio-admin-status-badge.active{background:#22c55e1a;color:#22c55e}.portfolio-admin-status-badge.inactive{background:#ef44441a;color:#ef4444}.portfolio-admin-last-login{color:var(--text-secondary);font-size:12px}.portfolio-admin-select-user-button{background:linear-gradient(135deg,var(--primary-blue),var(--accent-green));color:#fff;border:none;border-radius:8px;padding:8px 16px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease}.portfolio-admin-select-user-button:hover:not(:disabled){box-shadow:0 4px 12px #3b82f64d;transform:translateY(-1px)}.portfolio-admin-select-user-button:disabled{background:var(--bg-tertiary);color:var(--text-secondary);cursor:not-allowed;transform:none;box-shadow:none}.portfolio-admin-no-users{text-align:center;padding:48px 24px;color:var(--text-secondary)}.portfolio-admin-no-users-icon{font-size:48px;margin-bottom:16px}.portfolio-admin-no-users h3{margin:0 0 8px;font-size:18px;color:var(--text-primary)}.portfolio-admin-no-users p{margin:0;font-size:14px}.portfolio-admin-pagination{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;margin-top:24px}.portfolio-admin-pagination-info{color:var(--text-secondary);font-size:14px}.portfolio-admin-pagination-controls{display:flex;gap:8px;align-items:center}.portfolio-admin-page-button{padding:8px 12px;border:1px solid var(--bg-tertiary);background:var(--bg-secondary);color:var(--text-primary);border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s ease;min-width:40px}.portfolio-admin-page-button:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--primary-blue)}.portfolio-admin-page-button:disabled{opacity:.5;cursor:not-allowed}.portfolio-admin-page-button.active{background:var(--primary-blue);color:#fff;border-color:var(--primary-blue)}.portfolio-admin-page-size-selector{display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:14px}.portfolio-admin-page-size-select{padding:6px 8px;border:1px solid var(--bg-tertiary);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:14px;cursor:pointer}@media (max-width: 768px){.portfolio-admin-users-controls{grid-template-columns:1fr;gap:12px}.portfolio-admin-search-box{order:1}.portfolio-admin-role-filter{order:2;min-width:auto}.portfolio-admin-sort-select{order:3;min-width:auto}.portfolio-admin-user-selection{padding:16px}.portfolio-admin-users-table-container{overflow-x:auto}.portfolio-admin-users-table{min-width:600px}.portfolio-admin-pagination{flex-direction:column;align-items:stretch}.portfolio-admin-pagination-controls{justify-content:center}}.copy-positions-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.copy-positions-modal{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000004d;width:100%;max-width:1200px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 0;border-bottom:1px solid #e1e5e9}.modal-header h3{margin:0;font-size:24px;font-weight:600;color:#1a1a1a}.close-button{background:none;border:none;font-size:28px;color:#6c757d;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.close-button:hover{background:#f8f9fa;color:#495057}.modal-content{flex:1;overflow:hidden;display:flex;flex-direction:column;padding:24px}.search-filters{display:flex;gap:16px;margin-bottom:20px;flex-wrap:wrap}.search-box{flex:1;min-width:250px}.search-input{width:100%;padding:12px 16px;border:1px solid #ced4da;border-radius:8px;font-size:14px;transition:border-color .2s ease,box-shadow .2s ease}.search-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.filter-controls{display:flex;gap:12px}.filter-select{padding:12px 16px;border:1px solid #ced4da;border-radius:8px;font-size:14px;background:#fff;min-width:150px;transition:border-color .2s ease,box-shadow .2s ease}.filter-select:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.selection-summary{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding:16px;background:#f8f9fa;border-radius:8px;border:1px solid #e1e5e9}.summary-info{display:flex;gap:16px;align-items:center}.total-positions{font-weight:500;color:#495057}.selected-count{background:#007bff;color:#fff;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600}.positions-table-container{flex:1;overflow:auto;border:1px solid #e1e5e9;border-radius:8px;background:#fff}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#6c757d}.loading-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #007bff;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.empty-state p{margin:8px 0}.positions-table{width:100%;border-collapse:collapse;font-size:14px}.positions-table th{background:#f8f9fa;padding:16px 12px;text-align:left;font-weight:600;color:#495057;border-bottom:2px solid #e1e5e9;position:sticky;top:0;z-index:10}.positions-table td{padding:16px 12px;border-bottom:1px solid #e1e5e9;vertical-align:middle}.positions-table tbody tr:hover{background:#f8f9fa}.checkbox-column{width:50px;text-align:center}.symbol-cell{font-weight:600;color:#007bff}.quantity-cell{text-align:right;font-family:Monaco,Menlo,Ubuntu Mono,monospace}.account-cell{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.date-cell{text-align:center;white-space:nowrap}.value-cell{text-align:right;font-family:Monaco,Menlo,Ubuntu Mono,monospace}.select-all-checkbox,.position-checkbox{width:18px;height:18px;cursor:pointer}.type-badge{background:#e9ecef;color:#495057;padding:4px 8px;border-radius:12px;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.modal-footer{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-top:1px solid #e1e5e9;background:#f8f9fa}.footer-info{display:flex;align-items:center}.copy-info{background:#28a745;color:#fff;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600}.footer-actions{display:flex;gap:12px}.btn{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;min-width:80px}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary:hover:not(:disabled){background:#0056b3;transform:translateY(-1px);box-shadow:0 4px 8px #007bff4d}.btn-secondary:hover:not(:disabled){background:#545b62;transform:translateY(-1px)}.btn-outline:hover:not(:disabled){background:#007bff;color:#fff}.btn-sm{padding:6px 12px;font-size:12px;min-width:60px}@media (max-width: 1024px){.copy-positions-modal{max-width:95vw;max-height:95vh}.search-filters{flex-direction:column}.search-box{min-width:auto}.filter-controls{justify-content:stretch}.filter-select{flex:1;min-width:auto}}@media (max-width: 768px){.copy-positions-modal-overlay{padding:10px}.copy-positions-modal{max-height:98vh}.modal-header,.modal-content,.modal-footer{padding:16px}.modal-header h3{font-size:20px}.selection-summary{flex-direction:column;gap:12px;align-items:stretch}.summary-info{justify-content:center}.footer-actions{flex-direction:column;width:100%}.btn{width:100%}.positions-table-container{overflow-x:auto}.positions-table{min-width:800px}}@media (max-width: 480px){.copy-positions-modal-overlay{padding:5px}.modal-header,.modal-content,.modal-footer{padding:12px}.search-filters{gap:12px}.filter-controls{flex-direction:column;gap:8px}.positions-table th,.positions-table td{padding:12px 8px;font-size:12px}.type-badge{font-size:10px;padding:2px 6px}}.search-input:focus-visible,.filter-select:focus-visible,.btn:focus-visible{outline:2px solid #007bff;outline-offset:2px}@media (prefers-contrast: high){.copy-positions-modal{border:2px solid #000000}.positions-table th,.positions-table td{border:1px solid #000000}.btn{border:2px solid #000000}}.add-position-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;text-decoration:none;min-width:120px;position:relative;overflow:hidden}.add-position-button:disabled{opacity:.6;cursor:not-allowed}.add-position-button:not(:disabled):hover{transform:translateY(-1px)}.btn-primary{background:#007bff;color:#fff}.btn-primary:hover:not(:disabled){background:#0056b3;box-shadow:0 4px 8px #007bff4d}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover:not(:disabled){background:#545b62;box-shadow:0 4px 8px #6c757d4d}.btn-outline{background:transparent;color:#007bff;border:1px solid #007bff}.btn-outline:hover:not(:disabled){background:#007bff;color:#fff;box-shadow:0 4px 8px #007bff4d}.btn-sm{padding:6px 12px;font-size:12px;min-width:80px}.btn-md{padding:10px 16px;font-size:14px;min-width:120px}.btn-lg{padding:14px 20px;font-size:16px;min-width:140px}.button-icon{font-size:18px;font-weight:700;line-height:1}.loading{pointer-events:none}.loading-spinner{width:16px;height:16px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}.add-position-button:focus-visible{outline:2px solid #007bff;outline-offset:2px}@media (prefers-contrast: high){.add-position-button{border:2px solid #000000}}@media (max-width: 480px){.add-position-button{width:100%;min-width:auto}}.portfolio-admin-account-selection{padding:24px;max-width:1400px;margin:0 auto;background:var(--bg-primary);min-height:calc(100vh - 200px)}.portfolio-admin-error-state{text-align:center;padding:48px 24px;color:var(--text-secondary)}.portfolio-admin-error-state h3{margin:0 0 16px;font-size:20px;color:var(--text-primary)}.portfolio-admin-error-state p{margin:0 0 24px;font-size:14px}.portfolio-admin-accounts-container{background:var(--bg-secondary);border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000001a;margin-bottom:24px}.portfolio-admin-accounts-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:16px}.portfolio-admin-select-all-section{display:flex;align-items:center}.portfolio-admin-selection-info{display:flex;align-items:center}.portfolio-admin-accounts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:16px}.portfolio-admin-account-card{background:var(--bg-primary);border:2px solid var(--bg-tertiary);border-radius:12px;padding:20px;cursor:pointer;transition:all .2s ease;position:relative}.portfolio-admin-account-card:hover{border-color:var(--primary-blue);box-shadow:0 4px 12px #3b82f61a}.portfolio-admin-account-card.selected{border-color:var(--primary-blue);background:#3b82f60d;box-shadow:0 4px 12px #3b82f633}.portfolio-admin-account-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.portfolio-admin-account-name{font-weight:600;font-size:16px;color:var(--text-primary);margin-left:8px}.portfolio-admin-retirement-badge{background:#22c55e1a;color:#22c55e;padding:2px 8px;border-radius:12px;font-size:10px;font-weight:500;text-transform:uppercase}.portfolio-admin-account-details{display:flex;flex-direction:column;gap:8px}.portfolio-admin-account-info{display:flex;justify-content:space-between;align-items:center;font-size:14px}.portfolio-admin-account-label{color:var(--text-secondary);font-weight:500}.portfolio-admin-account-value{color:var(--text-primary);font-weight:600}.portfolio-admin-no-accounts{text-align:center;padding:48px 24px;color:var(--text-secondary)}.portfolio-admin-no-accounts-icon{font-size:48px;margin-bottom:16px}.portfolio-admin-no-accounts h3{margin:0 0 8px;font-size:18px;color:var(--text-primary)}.portfolio-admin-no-accounts p{margin:0;font-size:14px}.portfolio-admin-no-accounts-actions{display:flex;gap:12px;margin-top:20px;justify-content:center}.portfolio-admin-step-actions{display:flex;justify-content:flex-end;margin-top:24px}.portfolio-admin-continue-button{background:linear-gradient(135deg,var(--primary-blue),var(--accent-green));color:#fff;border:none;border-radius:12px;padding:12px 24px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px}.portfolio-admin-continue-button:hover:not(:disabled){box-shadow:0 8px 24px #3b82f64d;transform:translateY(-2px)}.portfolio-admin-continue-button:disabled{background:var(--bg-tertiary);color:var(--text-secondary);cursor:not-allowed;transform:none;box-shadow:none}@media (max-width: 768px){.portfolio-admin-account-selection,.portfolio-admin-accounts-container{padding:16px}.portfolio-admin-accounts-header{flex-direction:column;align-items:stretch}.portfolio-admin-accounts-grid{grid-template-columns:1fr}.portfolio-admin-account-card{padding:16px}.portfolio-admin-step-actions{justify-content:stretch}.portfolio-admin-continue-button{width:100%;justify-content:center}}.portfolio-admin-date-selection{padding:24px;max-width:1400px;margin:0 auto;background:var(--bg-primary);min-height:calc(100vh - 200px)}.portfolio-admin-back-section{margin-bottom:24px}.portfolio-admin-actions{display:flex;gap:12px;align-items:center}.portfolio-admin-date-selection-container{background:var(--bg-secondary);border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000001a;margin-bottom:24px}.portfolio-admin-date-range-section{margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid var(--bg-tertiary)}.portfolio-admin-date-range-section h3{margin:0 0 8px;font-size:18px;color:var(--text-primary);font-weight:600}.portfolio-admin-date-range-section p{margin:0 0 16px;font-size:14px;color:var(--text-secondary)}.portfolio-admin-date-range-inputs{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.portfolio-admin-date-input-group{display:flex;flex-direction:column;gap:8px}.portfolio-admin-date-input-group label{font-size:14px;font-weight:500;color:var(--text-primary)}.portfolio-admin-date-input{padding:12px 16px;border:1px solid var(--bg-tertiary);border-radius:8px;background:var(--bg-primary);color:var(--text-primary);font-size:14px;transition:all .2s ease}.portfolio-admin-date-input:focus{outline:none;border-color:var(--primary-blue);box-shadow:0 0 0 3px #3b82f61a}.portfolio-admin-date-range-info{display:flex;justify-content:flex-end}.portfolio-admin-date-range-count{background:var(--primary-blue);color:#fff;padding:4px 12px;border-radius:16px;font-size:12px;font-weight:500}.portfolio-admin-individual-dates-section{margin-bottom:24px}.portfolio-admin-individual-dates-header{margin-bottom:20px}.portfolio-admin-individual-dates-header h3{margin:0 0 8px;font-size:18px;color:var(--text-primary);font-weight:600}.portfolio-admin-individual-dates-header p{margin:0 0 16px;font-size:14px;color:var(--text-secondary)}.portfolio-admin-select-all-dates{display:flex;align-items:center;margin-bottom:16px}.portfolio-admin-dates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-bottom:16px}.portfolio-admin-date-card{background:var(--bg-primary);border:2px solid var(--bg-tertiary);border-radius:8px;padding:12px 16px;cursor:pointer;transition:all .2s ease}.portfolio-admin-date-card:hover{border-color:var(--primary-blue);box-shadow:0 2px 8px #3b82f61a}.portfolio-admin-date-card.selected{border-color:var(--primary-blue);background:#3b82f60d;box-shadow:0 2px 8px #3b82f633}.portfolio-admin-date-text{font-size:14px;font-weight:500;color:var(--text-primary);margin-left:8px}.portfolio-admin-individual-dates-info{display:flex;justify-content:flex-end}.portfolio-admin-individual-dates-count{background:var(--primary-blue);color:#fff;padding:4px 12px;border-radius:16px;font-size:12px;font-weight:500}.portfolio-admin-no-dates{text-align:center;padding:48px 24px;color:var(--text-secondary)}.portfolio-admin-no-dates-icon{font-size:48px;margin-bottom:16px}.portfolio-admin-no-dates h3{margin:0 0 8px;font-size:18px;color:var(--text-primary)}.portfolio-admin-no-dates p{margin:0;font-size:14px}.portfolio-admin-no-dates-actions{display:flex;gap:12px;margin-top:20px;justify-content:center}@media (max-width: 768px){.portfolio-admin-date-selection,.portfolio-admin-date-selection-container{padding:16px}.portfolio-admin-date-range-inputs{grid-template-columns:1fr}.portfolio-admin-dates-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.portfolio-admin-date-card{padding:10px 12px}}.ap-portfolio-edit-modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:var(--z-modal);display:none}.ap-portfolio-edit-modal.open{display:flex;align-items:center;justify-content:center}.ap-portfolio-edit-modal .ap-modal-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#00000080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:var(--z-modal-backdrop)}.ap-portfolio-edit-modal .ap-modal-content{position:relative;background:#fff;border-radius:8px;box-shadow:0 10px 30px #0000004d;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;animation:modalSlideIn .3s ease-out;z-index:var(--z-modal)}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.ap-portfolio-edit-modal .ap-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb;background:#f9fafb;border-radius:8px 8px 0 0}.ap-portfolio-edit-modal .ap-modal-header h2{margin:0;font-size:1.25rem;font-weight:600;color:#111827}.ap-portfolio-edit-modal .ap-close-button{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#6b7280;padding:4px;border-radius:4px;transition:all .2s}.ap-portfolio-edit-modal .ap-close-button:hover{background-color:#e5e7eb;color:#374151}.ap-portfolio-edit-modal .ap-close-button:disabled{opacity:.5;cursor:not-allowed}.ap-portfolio-edit-modal .ap-modal-body{padding:24px}.ap-portfolio-info{background:#f3f4f6;border-radius:6px;padding:16px;margin-bottom:24px;border-left:4px solid #3b82f6}.ap-info-row{display:flex;justify-content:space-between;margin-bottom:8px}.ap-info-row:last-child{margin-bottom:0}.ap-info-row .ap-label{font-weight:500;color:#374151;min-width:80px}.ap-info-row .ap-value{color:#111827;font-weight:600}.ap-edit-form{display:flex;flex-direction:column;gap:20px}.ap-form-group{display:flex;flex-direction:column;gap:6px}.ap-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.ap-form-group label{font-weight:500;color:#374151;font-size:.875rem}.ap-form-group input{padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;transition:border-color .2s,box-shadow .2s}.ap-form-group input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.ap-form-group input:disabled{background-color:#f9fafb;color:#6b7280;cursor:not-allowed}.ap-form-group input::placeholder{color:#9ca3af}.ap-error-messages{background:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:12px;margin-top:8px}.ap-error-message{color:#dc2626;font-size:.875rem;margin-bottom:4px}.ap-error-message:last-child{margin-bottom:0}.ap-form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:8px;padding-top:20px;border-top:1px solid #e5e7eb}.ap-btn{padding:10px 20px;border:none;border-radius:6px;font-weight:500;font-size:.875rem;cursor:pointer;transition:all .2s;min-width:100px}.ap-btn:disabled{opacity:.5;cursor:not-allowed}.ap-btn-primary{background-color:#3b82f6;color:#fff}.ap-btn-primary:hover:not(:disabled){background-color:#2563eb}.ap-btn-secondary{background-color:#f3f4f6;color:#374151;border:1px solid #d1d5db}@media (max-width: 640px){.ap-portfolio-edit-modal .ap-modal-content{width:95%;margin:20px}.ap-portfolio-edit-modal .ap-form-row{grid-template-columns:1fr;gap:12px}.ap-portfolio-edit-modal .ap-form-actions{flex-direction:column-reverse}.ap-portfolio-edit-modal .ap-btn{width:100%}}.portfolio-admin-portfolio-management{padding:24px;max-width:1400px;margin:0 auto;background:var(--bg-primary);min-height:calc(100vh - 200px)}.portfolio-admin-back-section{display:flex;gap:12px;margin-bottom:24px}.portfolio-admin-back-button{background:none;border:1px solid var(--bg-tertiary);color:var(--text-primary);padding:8px 16px;border-radius:8px;cursor:pointer;font-size:14px;transition:all .2s ease;display:flex;align-items:center;gap:8px}.portfolio-admin-back-button:hover{background:var(--bg-secondary);border-color:var(--primary-blue)}.portfolio-admin-reset-button{background:var(--bg-tertiary);border:1px solid var(--bg-tertiary);color:var(--text-primary);padding:8px 16px;border-radius:8px;cursor:pointer;font-size:14px;transition:all .2s ease}.portfolio-admin-reset-button:hover{background:var(--bg-secondary);border-color:var(--text-secondary)}.portfolio-admin-portfolio-container{background:var(--bg-secondary);border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000001a;margin-bottom:24px}.portfolio-admin-portfolio-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:16px}.portfolio-admin-search-section{flex:1;max-width:400px}.portfolio-admin-search-input{width:100%;padding:12px 16px;border:1px solid var(--bg-tertiary);border-radius:8px;background:var(--bg-primary);color:var(--text-primary);font-size:14px;transition:all .2s ease}.portfolio-admin-search-input:focus{outline:none;border-color:var(--primary-blue);box-shadow:0 0 0 3px #3b82f61a}.portfolio-admin-selection-section{display:flex;align-items:center;gap:16px}.portfolio-admin-checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:var(--text-primary)}.portfolio-admin-checkbox{width:18px;height:18px;cursor:pointer;accent-color:var(--primary-blue)}.portfolio-admin-checkbox-text{font-weight:500}.portfolio-admin-selection-count{background:var(--primary-blue);color:#fff;padding:4px 12px;border-radius:16px;font-size:12px;font-weight:500}.portfolio-admin-delete-button{background:#ef4444;border:1px solid #ef4444;color:#fff;padding:8px 16px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease;display:flex;align-items:center;gap:8px}.portfolio-admin-delete-button:hover:not(:disabled){background:#dc2626;border-color:#dc2626;transform:translateY(-1px)}.portfolio-admin-delete-button:disabled{opacity:.6;cursor:not-allowed}.portfolio-admin-bulk-edit-button{background:var(--primary-blue);border:1px solid var(--primary-blue);color:#fff;padding:8px 16px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease;display:flex;align-items:center;gap:8px}.portfolio-admin-bulk-edit-button:hover{background:var(--primary-blue-dark);border-color:var(--primary-blue-dark)}.portfolio-admin-actions-cell{white-space:nowrap}.portfolio-admin-actions-container{display:flex;gap:8px;align-items:center}.portfolio-admin-edit-button{background:var(--bg-tertiary);border:1px solid var(--bg-tertiary);color:var(--text-primary);padding:4px 8px;border-radius:4px;cursor:pointer;font-size:12px;transition:all .2s ease;display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.portfolio-admin-edit-button:hover{background:var(--bg-secondary);border-color:var(--primary-blue);color:var(--primary-blue)}.portfolio-admin-copy-button{background:var(--bg-tertiary);border:1px solid var(--bg-tertiary);color:var(--text-primary);padding:4px 8px;border-radius:4px;cursor:pointer;font-size:12px;transition:all .2s ease;display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.portfolio-admin-copy-button:hover{background:#28a745;border-color:#28a745;color:#fff}.portfolio-admin-portfolio-table-container{overflow-x:auto;margin-bottom:24px}.portfolio-admin-portfolio-table{width:100%;border-collapse:collapse;min-width:1200px}.portfolio-admin-portfolio-table th{background:var(--bg-tertiary);color:var(--text-primary);font-weight:600;font-size:14px;text-align:left;padding:12px 16px;border-bottom:1px solid var(--bg-tertiary);white-space:nowrap}.portfolio-admin-portfolio-table td{padding:12px 16px;border-bottom:1px solid var(--bg-tertiary);color:var(--text-primary);font-size:14px;white-space:nowrap}.portfolio-admin-portfolio-table tbody tr:hover{background:var(--bg-tertiary)}.portfolio-admin-sortable-header{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s ease}.portfolio-admin-sortable-header:hover{background:var(--bg-secondary)}.portfolio-admin-symbol{font-weight:600;color:var(--primary-blue)}.portfolio-admin-description{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portfolio-admin-gain-loss{font-weight:600}.portfolio-admin-gain-loss.positive{color:#22c55e}.portfolio-admin-gain-loss.negative{color:#ef4444}.portfolio-admin-type-badge{padding:4px 8px;border-radius:6px;font-size:12px;font-weight:500;text-transform:uppercase}.portfolio-admin-type-badge.stock{background:#3b82f61a;color:#3b82f6}.portfolio-admin-type-badge.option{background:#a855f71a;color:#a855f7}.portfolio-admin-type-badge.etf{background:#22c55e1a;color:#22c55e}.portfolio-admin-type-badge.mutual-fund{background:#f59e0b1a;color:#f59e0b}.portfolio-admin-no-positions{text-align:center;padding:48px 24px;color:var(--text-secondary)}.portfolio-admin-no-positions-icon{font-size:48px;margin-bottom:16px}.portfolio-admin-no-positions h3{margin:0 0 8px;font-size:18px;color:var(--text-primary)}.portfolio-admin-no-positions p{margin:0;font-size:14px}.portfolio-admin-no-positions-actions{display:flex;gap:12px;margin-top:20px;justify-content:center}.portfolio-admin-refresh-button{background:var(--primary-blue);border:1px solid var(--primary-blue);color:#fff;padding:8px 16px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease;display:flex;align-items:center;gap:8px}.portfolio-admin-refresh-button:hover{background:#2563eb;border-color:#2563eb;transform:translateY(-1px)}.portfolio-admin-summary-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;padding:20px;background:var(--bg-primary);border-radius:8px;border:1px solid var(--bg-tertiary)}.portfolio-admin-stat{display:flex;justify-content:space-between;align-items:center;padding:12px;background:var(--bg-secondary);border-radius:6px}.portfolio-admin-stat-label{font-size:14px;color:var(--text-secondary);font-weight:500}.portfolio-admin-stat-value{font-size:16px;font-weight:600;color:var(--text-primary)}.portfolio-admin-stat-value.positive{color:#22c55e}.portfolio-admin-stat-value.negative{color:#ef4444}@media (max-width: 768px){.portfolio-admin-portfolio-management,.portfolio-admin-portfolio-container{padding:16px}.portfolio-admin-portfolio-controls{flex-direction:column;align-items:stretch}.portfolio-admin-search-section{max-width:none}.portfolio-admin-selection-section{justify-content:space-between}.portfolio-admin-portfolio-table-container{margin:0 -16px}.portfolio-admin-portfolio-table{min-width:800px}.portfolio-admin-summary-stats{grid-template-columns:1fr}}.portfolio-admin-dashboard{padding:24px;background:var(--bg-primary);min-height:100vh;max-width:1400px;margin:0 auto}.portfolio-admin-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px;padding:24px;background:var(--bg-secondary);border-radius:12px;box-shadow:0 2px 8px #0000001a}.portfolio-admin-header-content h1{margin:0 0 8px;font-size:28px;font-weight:700;background:linear-gradient(135deg,var(--primary-blue),var(--accent-green));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.portfolio-admin-header-content p{margin:0;color:var(--text-secondary);font-size:14px}.portfolio-admin-header-actions{display:flex;gap:12px}.portfolio-admin-reset-workflow-button{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--bg-tertiary);padding:8px 16px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease;display:flex;align-items:center;gap:8px}.portfolio-admin-reset-workflow-button:hover{background:var(--bg-primary);border-color:var(--primary-blue);color:var(--primary-blue)}.portfolio-admin-progress{margin-bottom:32px;padding:24px;background:var(--bg-secondary);border-radius:12px;box-shadow:0 2px 8px #0000001a}.portfolio-admin-progress-steps{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.portfolio-admin-progress-step{display:flex;align-items:flex-start;gap:12px;flex:1;position:relative}.portfolio-admin-progress-step:not(:last-child):after{content:"";position:absolute;top:20px;left:32px;right:-16px;height:2px;background:var(--bg-tertiary);z-index:1}.portfolio-admin-progress-step.completed:not(:last-child):after{background:var(--primary-blue)}.portfolio-admin-progress-step-number{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:16px;background:var(--bg-tertiary);color:var(--text-secondary);border:2px solid var(--bg-tertiary);z-index:2;transition:all .3s ease}.portfolio-admin-progress-step.active .portfolio-admin-progress-step-number{background:var(--primary-blue);color:#fff;border-color:var(--primary-blue);box-shadow:0 0 0 4px #3b82f633}.portfolio-admin-progress-step.completed .portfolio-admin-progress-step-number{background:var(--accent-green);color:#fff;border-color:var(--accent-green)}.portfolio-admin-progress-step.disabled .portfolio-admin-progress-step-number{background:var(--bg-tertiary);color:var(--text-secondary);border-color:var(--bg-tertiary);opacity:.5}.portfolio-admin-progress-step-content{flex:1;min-width:0}.portfolio-admin-progress-step-title{display:block;font-weight:600;font-size:14px;color:var(--text-primary);margin-bottom:4px}.portfolio-admin-progress-step-description{display:block;font-size:12px;color:var(--text-secondary);line-height:1.4}.portfolio-admin-progress-step.disabled .portfolio-admin-progress-step-title,.portfolio-admin-progress-step.disabled .portfolio-admin-progress-step-description{color:var(--text-secondary);opacity:.5}.portfolio-admin-step-content{margin-bottom:32px}.portfolio-admin-workflow-summary{padding:20px;background:var(--bg-secondary);border-radius:12px;box-shadow:0 2px 8px #0000001a;border-left:4px solid var(--primary-blue)}.portfolio-admin-workflow-summary h3{margin:0 0 16px;font-size:18px;font-weight:600;color:var(--text-primary)}.portfolio-admin-summary-items{display:flex;flex-direction:column;gap:12px}.portfolio-admin-summary-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--bg-tertiary)}.portfolio-admin-summary-item:last-child{border-bottom:none}.portfolio-admin-summary-label{font-weight:500;color:var(--text-secondary);font-size:14px}.portfolio-admin-summary-value{font-weight:600;color:var(--text-primary);font-size:14px}@media (max-width: 768px){.portfolio-admin-dashboard{padding:16px}.portfolio-admin-header{flex-direction:column;gap:16px;padding:16px}.portfolio-admin-header-content h1{font-size:24px}.portfolio-admin-progress{padding:16px}.portfolio-admin-progress-steps{flex-direction:column;gap:24px}.portfolio-admin-progress-step{flex-direction:row}.portfolio-admin-progress-step:not(:last-child):after{display:none}.portfolio-admin-progress-step-number{width:32px;height:32px;font-size:14px}.portfolio-admin-workflow-summary{padding:16px}.portfolio-admin-summary-item{flex-direction:column;align-items:flex-start;gap:4px}}@media (max-width: 480px){.portfolio-admin-dashboard,.portfolio-admin-header{padding:12px}.portfolio-admin-header-content h1{font-size:20px}.portfolio-admin-progress,.portfolio-admin-workflow-summary{padding:12px}}.ap-add-portfolio-position{max-width:1200px;margin:0 auto;padding:20px}.ap-breadcrumb{margin-bottom:20px}.ap-breadcrumb nav ol{list-style:none;padding:0;margin:0;display:flex;align-items:center;gap:8px;font-size:.9rem;color:#6c757d}.ap-breadcrumb li:not(:last-child):after{content:"/";margin-left:8px;color:#adb5bd}.ap-breadcrumb-link{background:none;border:none;color:#667eea;text-decoration:none;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s ease;font-size:.9rem}.ap-breadcrumb-link:hover{background:#e3f2fd;color:#5a6fd8}.ap-breadcrumb-current{color:#6c757d;font-weight:500}.ap-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding:20px;background:linear-gradient(135deg,#495057,#6c757d);border-radius:12px;color:#fff;box-shadow:0 4px 6px #0000001a}.ap-header-content h2{margin:0 0 8px;font-size:1.8rem;font-weight:600}.ap-header-content p{margin:0;opacity:.9;font-size:1rem}.ap-form-container{background:#fff;border-radius:12px;padding:30px;box-shadow:0 2px 4px #0000001a}.ap-form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid #e9ecef}.ap-form-header h3{margin:0;font-size:1.5rem;font-weight:600;color:#333}.ap-form-actions{display:flex;gap:12px}.ap-btn{padding:10px 20px;border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}.ap-btn-primary:hover:not(:disabled){background:#343a40;transform:translateY(-1px)}.ap-btn-primary:disabled{background:#adb5bd;cursor:not-allowed;transform:none}.ap-btn-secondary:hover:not(:disabled){background:#e9ecef;border-color:#adb5bd}.ap-btn-secondary:disabled{background:#f8f9fa;color:#adb5bd;cursor:not-allowed}.ap-btn-danger:hover:not(:disabled){background:#c82333;transform:translateY(-1px)}.ap-validation-errors{background:#f8d7da;border:1px solid #f5c6cb;border-radius:8px;padding:16px;margin-bottom:20px}.ap-validation-errors h4{margin:0 0 12px;color:#721c24;font-size:1rem}.ap-validation-error{color:#721c24;margin-bottom:8px;padding:8px;background:#dc35451a;border-radius:4px}.ap-validation-error:last-child{margin-bottom:0}.ap-form-rows{margin-bottom:30px}.ap-form-row{background:#fff;border:1px solid #e9ecef;border-radius:12px;margin-bottom:20px;overflow:visible;box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:column;width:100%;box-sizing:border-box}.ap-row-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:linear-gradient(135deg,#495057,#6c757d);color:#fff;border-bottom:1px solid #e9ecef;width:100%;min-height:48px;box-sizing:border-box}.ap-row-number{font-size:14px;font-weight:600;color:#fff;background:none;padding:0;margin:0}.ap-row-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;padding:20px;background:#fff;width:100%;box-sizing:border-box}.ap-field-group{display:flex;flex-direction:column;gap:6px}.ap-field-group label{font-size:.9rem;font-weight:600;color:#495057;margin:0}.ap-field-group input,.ap-field-group select{padding:10px 12px;border:1px solid #dee2e6;border-radius:6px;font-size:.9rem;transition:all .2s ease;background:#fff;width:100%;min-width:0;box-sizing:border-box}.ap-field-group input:focus,.ap-field-group select:focus{outline:none;border-color:#495057;box-shadow:0 0 0 3px #4950571a}.ap-field-group input::placeholder{color:#adb5bd}.ap-btn{padding:8px 16px;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s ease;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.ap-btn:hover{transform:translateY(-1px)}.ap-btn-primary{background:#495057;color:#fff}.ap-btn-primary:hover{background:#343a40;box-shadow:0 4px 8px #4950574d}.ap-btn-primary:disabled{background:#adb5bd;color:#6c757d;cursor:not-allowed;transform:none;box-shadow:none}.ap-btn-secondary{background:#f8f9fa;color:#495057;border:1px solid #dee2e6}.ap-btn-secondary:hover{background:#e9ecef;border-color:#adb5bd}.ap-btn-secondary:disabled{background:#e9ecef;color:#adb5bd;cursor:not-allowed;transform:none}.ap-btn-danger{background:#dc3545;color:#fff}.ap-btn-danger:hover{background:#c82333;box-shadow:0 4px 8px #dc35454d}.ap-btn-sm{padding:6px 12px;font-size:.8rem}.ap-no-rows-message{text-align:center;padding:40px 20px;color:#6c757d;background:#f8f9fa;border-radius:8px;border:2px dashed #dee2e6}.ap-no-rows-message p{margin:0;font-size:1rem}.ap-form-footer{display:flex;justify-content:space-between;align-items:center;padding-top:20px;border-top:1px solid #e9ecef}.ap-form-summary{color:#6c757d;font-size:.9rem}.ap-preview-content{background:#fff;border-radius:12px;padding:30px;box-shadow:0 2px 4px #0000001a}.ap-preview-positions{margin-bottom:30px}.ap-preview-position{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:20px;margin-bottom:16px}.ap-preview-position-header{margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #dee2e6}.ap-preview-position-number{font-weight:600;color:#495057;font-size:1rem}.ap-preview-position-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.ap-preview-detail{display:flex;flex-direction:column}.ap-preview-label{font-weight:500;color:#6c757d;font-size:.8rem;margin-bottom:4px}.ap-preview-value{color:#495057;font-size:.9rem}.ap-preview-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:20px;border-top:1px solid #e9ecef}@media (max-width: 768px){.ap-add-portfolio-position{padding:16px}.ap-form-container{padding:20px}.ap-row-fields{grid-template-columns:1fr}.ap-form-footer{flex-direction:column;gap:16px;align-items:stretch}.ap-form-actions{justify-content:stretch}.ap-btn{flex:1}}@media (max-width: 480px){.ap-add-portfolio-position{padding:12px}.ap-form-container,.ap-header{padding:16px}.ap-header-content h2{font-size:1.5rem}}.ap-loading{text-align:center;padding:40px;color:#666}.ap-loading p{font-size:16px;margin:0}.statistics-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;transition:all .2s ease-in-out;position:relative;overflow:hidden;min-height:140px;display:flex;flex-direction:column;justify-content:space-between}.statistics-card:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;transform:translateY(-2px)}.statistics-card--interactive{cursor:pointer;-webkit-user-select:none;user-select:none}.statistics-card--interactive:hover{border-color:#3b82f6;box-shadow:0 4px 6px -1px #3b82f61a,0 2px 4px -1px #3b82f60f}.statistics-card--interactive:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.statistics-card--loading{opacity:.7;pointer-events:none}.statistics-card__header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.statistics-card__icon{width:40px;height:40px;border-radius:8px;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;font-size:20px;color:#fff;flex-shrink:0}.statistics-card__title{margin:0;font-size:14px;font-weight:500;color:#6b7280;line-height:1.4;flex:1}.statistics-card__content{flex:1;display:flex;flex-direction:column;justify-content:flex-end}.statistics-card__value{font-size:28px;font-weight:700;color:#111827;line-height:1.2;margin-bottom:8px;word-break:break-word}.statistics-card__value--loading{width:60%;height:28px;background:linear-gradient(90deg,#f3f4f6 25%,#e5e7eb,#f3f4f6 75%);background-size:200% 100%;animation:loading-shimmer 1.5s infinite;border-radius:4px}.statistics-card__trend{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:500}.statistics-card__trend--positive{color:#059669}.statistics-card__trend--negative{color:#dc2626}.statistics-card__trend-icon{font-size:14px;font-weight:700}.statistics-card__trend-text{line-height:1}.statistics-card__loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#fffc;display:flex;align-items:center;justify-content:center;border-radius:12px}.statistics-card__loading-spinner{width:24px;height:24px;border:2px solid #e5e7eb;border-top:2px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite}@keyframes loading-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@media (max-width: 768px){.statistics-card{padding:20px;min-height:120px}.statistics-card__header{margin-bottom:12px}.statistics-card__icon{width:32px;height:32px;font-size:16px}.statistics-card__title{font-size:13px}.statistics-card__value{font-size:24px}}@media (max-width: 480px){.statistics-card{padding:16px;min-height:100px}.statistics-card__value{font-size:20px}.statistics-card__title{font-size:12px}}@media (prefers-color-scheme: dark){.statistics-card{background:#1f2937;border-color:#374151;color:#f9fafb}.statistics-card__title{color:#9ca3af}.statistics-card__value{color:#f9fafb}.statistics-card__value--loading{background:linear-gradient(90deg,#374151 25%,#4b5563,#374151 75%)}.statistics-card__loading-overlay{background:#1f2937cc}.statistics-card__loading-spinner{border-color:#4b5563;border-top-color:#3b82f6}}.statistics-dashboard{padding:24px;max-width:1400px;margin:0 auto}.statistics-dashboard__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px;gap:24px}.statistics-dashboard__title-section{flex:1}.statistics-dashboard__title{margin:0 0 8px;font-size:32px;font-weight:700;color:#111827;line-height:1.2}.statistics-dashboard__subtitle{margin:0;font-size:16px;color:#6b7280;line-height:1.5}.statistics-dashboard__actions{display:flex;gap:12px;align-items:center}.statistics-dashboard__refresh-button{display:flex;align-items:center;gap:8px;padding:12px 20px;background:#3b82f6;border:1px solid #3b82f6;color:#fff;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease-in-out;min-width:120px;justify-content:center}.statistics-dashboard__refresh-button:hover:not(:disabled){background:#2563eb;border-color:#2563eb;transform:translateY(-1px);box-shadow:0 4px 6px -1px #3b82f61a}.statistics-dashboard__refresh-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.statistics-dashboard__refresh-icon{font-size:16px;animation:spin 2s linear infinite}.statistics-dashboard__refresh-button:disabled .statistics-dashboard__refresh-icon{animation:none}.statistics-dashboard__content{display:flex;flex-direction:column;gap:32px}.statistics-dashboard__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;margin-bottom:24px}.statistics-dashboard__metadata{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;color:#6b7280}.statistics-dashboard__metadata-item{display:flex;align-items:center;gap:8px}.statistics-dashboard__metadata-label{font-weight:500;color:#374151}.statistics-dashboard__metadata-value{font-family:Monaco,Menlo,Ubuntu Mono,monospace;color:#111827}.statistics-card--portfolios .statistics-card__icon{background:linear-gradient(135deg,#667eea,#764ba2)}.statistics-card--users .statistics-card__icon{background:linear-gradient(135deg,#f093fb,#f5576c)}.statistics-card--symbols .statistics-card__icon{background:linear-gradient(135deg,#4facfe,#00f2fe)}.statistics-card--types .statistics-card__icon{background:linear-gradient(135deg,#43e97b,#38f9d7)}.statistics-card--value .statistics-card__icon{background:linear-gradient(135deg,#fa709a,#fee140)}.statistics-card--dates .statistics-card__icon{background:linear-gradient(135deg,#a8edea,#fed6e3)}@media (max-width: 1024px){.statistics-dashboard{padding:20px}.statistics-dashboard__grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.statistics-dashboard__title{font-size:28px}}@media (max-width: 768px){.statistics-dashboard{padding:16px}.statistics-dashboard__header{flex-direction:column;align-items:stretch;gap:16px;margin-bottom:24px}.statistics-dashboard__title{font-size:24px}.statistics-dashboard__subtitle{font-size:14px}.statistics-dashboard__actions{justify-content:flex-end}.statistics-dashboard__grid{grid-template-columns:1fr;gap:16px}.statistics-dashboard__metadata{flex-direction:column;align-items:flex-start;gap:8px;padding:12px 16px}}@media (max-width: 480px){.statistics-dashboard{padding:12px}.statistics-dashboard__title{font-size:20px}.statistics-dashboard__refresh-button{padding:10px 16px;font-size:13px;min-width:100px}.statistics-dashboard__metadata{font-size:12px;padding:10px 12px}}@media (prefers-color-scheme: dark){.statistics-dashboard{background:#111827}.statistics-dashboard__title{color:#f9fafb}.statistics-dashboard__subtitle{color:#9ca3af}.statistics-dashboard__metadata{background:#1f2937;border-color:#374151;color:#9ca3af}.statistics-dashboard__metadata-label{color:#d1d5db}.statistics-dashboard__metadata-value{color:#f9fafb}.statistics-dashboard__refresh-button{background:#3b82f6;border-color:#3b82f6}.statistics-dashboard__refresh-button:hover:not(:disabled){background:#2563eb;border-color:#2563eb}}@media print{.statistics-dashboard{padding:0}.statistics-dashboard__header{margin-bottom:20px}.statistics-dashboard__actions{display:none}.statistics-dashboard__grid{grid-template-columns:repeat(2,1fr);gap:16px}.statistics-dashboard__metadata{background:none;border:1px solid #000;color:#000}}.date-selection{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;max-width:600px;margin:0 auto}.date-selection__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #f3f4f6}.date-selection__title{margin:0;font-size:20px;font-weight:600;color:#111827}.date-selection__current-date{display:flex;align-items:center;gap:8px;font-size:14px}.date-selection__current-label{color:#6b7280;font-weight:500}.date-selection__current-value{color:#111827;font-weight:600;background:#f3f4f6;padding:4px 8px;border-radius:6px}.date-selection__content{display:flex;flex-direction:column;gap:24px}.date-selection__section-title{margin:0 0 12px;font-size:16px;font-weight:600;color:#374151}.date-selection__quick-buttons{display:flex;flex-wrap:wrap;gap:8px}.date-selection__quick-button{padding:8px 16px;background:#f9fafb;border:1px solid #e5e7eb;color:#374151;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease-in-out;min-width:80px;text-align:center}.date-selection__quick-button:hover:not(:disabled){background:#f3f4f6;border-color:#d1d5db;transform:translateY(-1px)}.date-selection__quick-button--active{background:#3b82f6;border-color:#3b82f6;color:#fff}.date-selection__quick-button--active:hover{background:#2563eb;border-color:#2563eb}.date-selection__quick-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.date-selection__date-list{display:flex;flex-wrap:wrap;gap:8px;max-height:200px;overflow-y:auto;padding:8px;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.date-selection__date-button{padding:6px 12px;background:#fff;border:1px solid #d1d5db;color:#374151;border-radius:4px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease-in-out;white-space:nowrap}.date-selection__date-button:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af;transform:translateY(-1px)}.date-selection__date-button--active{background:#3b82f6;border-color:#3b82f6;color:#fff}.date-selection__date-button--active:hover{background:#2563eb;border-color:#2563eb}.date-selection__date-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.date-selection__more-dates{color:#6b7280;font-size:12px;font-style:italic;padding:8px;text-align:center;width:100%}.date-selection__input-group{display:flex;gap:12px;align-items:center}.date-selection__date-input{flex:1;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;color:#111827;background:#fff;transition:border-color .2s ease-in-out}.date-selection__date-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.date-selection__date-input:disabled{background:#f9fafb;color:#6b7280;cursor:not-allowed}.date-selection__submit-button{padding:10px 20px;background:#3b82f6;border:1px solid #3b82f6;color:#fff;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease-in-out;white-space:nowrap}.date-selection__submit-button:hover:not(:disabled){background:#2563eb;border-color:#2563eb;transform:translateY(-1px)}.date-selection__submit-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.date-selection__loading{display:flex;align-items:center;justify-content:center;gap:12px;padding:20px;color:#6b7280;font-size:14px}.date-selection__loading-spinner{width:20px;height:20px;border:2px solid #e5e7eb;border-top:2px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.date-selection{padding:20px;margin:0 16px}.date-selection__header{flex-direction:column;align-items:flex-start;gap:12px}.date-selection__title{font-size:18px}.date-selection__current-date{font-size:13px}.date-selection__input-group{flex-direction:column;align-items:stretch}.date-selection__submit-button{width:100%}.date-selection__quick-buttons,.date-selection__date-list{justify-content:center}}@media (max-width: 480px){.date-selection{padding:16px;margin:0 12px}.date-selection__title{font-size:16px}.date-selection__section-title{font-size:14px}.date-selection__quick-button{padding:6px 12px;font-size:13px;min-width:70px}.date-selection__date-button{padding:4px 8px;font-size:12px}.date-selection__date-input{padding:8px 10px;font-size:13px}.date-selection__submit-button{padding:8px 16px;font-size:13px}}@media (prefers-color-scheme: dark){.date-selection{background:#1f2937;border-color:#374151;color:#f9fafb}.date-selection__title{color:#f9fafb}.date-selection__current-label{color:#9ca3af}.date-selection__current-value{color:#f9fafb;background:#374151}.date-selection__section-title{color:#d1d5db}.date-selection__quick-button{background:#374151;border-color:#4b5563;color:#d1d5db}.date-selection__quick-button:hover:not(:disabled){background:#4b5563;border-color:#6b7280}.date-selection__date-list{background:#374151;border-color:#4b5563}.date-selection__date-button{background:#4b5563;border-color:#6b7280;color:#d1d5db}.date-selection__date-button:hover:not(:disabled){background:#6b7280;border-color:#9ca3af}.date-selection__date-input{background:#374151;border-color:#4b5563;color:#f9fafb}.date-selection__date-input:focus{border-color:#3b82f6}.date-selection__date-input:disabled{background:#374151;color:#6b7280}.date-selection__loading{color:#9ca3af}.date-selection__loading-spinner{border-color:#4b5563;border-top-color:#3b82f6}}.statistics-comparison{padding:24px;max-width:1400px;margin:0 auto}.statistics-comparison__header{text-align:center;margin-bottom:32px}.statistics-comparison__title{margin:0 0 8px;font-size:32px;font-weight:700;color:#111827;line-height:1.2}.statistics-comparison__subtitle{margin:0;font-size:16px;color:#6b7280;line-height:1.5}.statistics-comparison__date-selectors{display:flex;align-items:center;justify-content:center;gap:32px;margin-bottom:40px;flex-wrap:wrap}.statistics-comparison__date-selector{flex:1;min-width:280px;max-width:400px}.statistics-comparison__date-title{margin:0 0 16px;font-size:18px;font-weight:600;color:#374151;text-align:center}.statistics-comparison__vs-indicator{display:flex;align-items:center;justify-content:center;width:60px;height:60px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;font-weight:700;font-size:18px;box-shadow:0 4px 6px -1px #0000001a;flex-shrink:0}.statistics-comparison__vs-text{margin:0}.statistics-comparison__summary{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:24px;margin-bottom:32px;box-shadow:0 1px 3px #0000001a}.statistics-comparison__summary-title{margin:0 0 16px;font-size:20px;font-weight:600;color:#111827}.statistics-comparison__summary-content{display:flex;gap:32px;flex-wrap:wrap}.statistics-comparison__summary-item{display:flex;align-items:center;gap:12px;flex:1;min-width:200px}.statistics-comparison__summary-label{font-size:14px;color:#6b7280;font-weight:500}.statistics-comparison__summary-value{font-size:16px;font-weight:600;padding:4px 8px;border-radius:6px;background:#f3f4f6}.statistics-comparison__summary-value--positive{color:#059669;background:#d1fae5}.statistics-comparison__summary-value--negative{color:#dc2626;background:#fee2e2}.statistics-comparison__summary-value--neutral{color:#6b7280;background:#f3f4f6}.statistics-comparison__cards{display:flex;flex-direction:column;gap:24px}.statistics-comparison__card-group{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a}.statistics-comparison__card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid #f3f4f6}.statistics-comparison__card-title{margin:0;font-size:18px;font-weight:600;color:#111827}.statistics-comparison__change{font-size:14px;font-weight:600;padding:6px 12px;border-radius:6px;display:flex;align-items:center;gap:4px}.statistics-comparison__change--positive{color:#059669;background:#d1fae5}.statistics-comparison__change--negative{color:#dc2626;background:#fee2e2}.statistics-comparison__change--neutral{color:#6b7280;background:#f3f4f6}.statistics-comparison__card-content{display:flex;align-items:center;gap:20px;justify-content:center}.statistics-comparison__base-card,.statistics-comparison__compare-card{flex:1;max-width:300px}.statistics-comparison__arrow{font-size:24px;color:#6b7280;font-weight:700;display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#f9fafb;border-radius:50%;border:2px solid #e5e7eb;flex-shrink:0}.statistics-comparison__empty-state{text-align:center;padding:60px 24px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000001a}.statistics-comparison__empty-icon{font-size:48px;margin-bottom:16px;display:block}.statistics-comparison__empty-title{margin:0 0 8px;font-size:20px;font-weight:600;color:#111827}.statistics-comparison__empty-description{margin:0;font-size:14px;color:#6b7280;line-height:1.5}@media (max-width: 1024px){.statistics-comparison{padding:20px}.statistics-comparison__date-selectors{gap:24px}.statistics-comparison__vs-indicator{width:50px;height:50px;font-size:16px}.statistics-comparison__card-content{flex-direction:column;gap:16px}.statistics-comparison__arrow{transform:rotate(90deg)}}@media (max-width: 768px){.statistics-comparison{padding:16px}.statistics-comparison__title{font-size:24px}.statistics-comparison__subtitle{font-size:14px}.statistics-comparison__date-selectors{flex-direction:column;gap:20px}.statistics-comparison__date-selector{min-width:100%;max-width:none}.statistics-comparison__vs-indicator{order:-1;margin-bottom:8px}.statistics-comparison__summary-content{flex-direction:column;gap:16px}.statistics-comparison__summary-item{min-width:auto}.statistics-comparison__card-header{flex-direction:column;align-items:flex-start;gap:8px}.statistics-comparison__base-card,.statistics-comparison__compare-card{max-width:none}}@media (max-width: 480px){.statistics-comparison{padding:12px}.statistics-comparison__title{font-size:20px}.statistics-comparison__card-group{padding:16px}.statistics-comparison__card-title{font-size:16px}.statistics-comparison__change{font-size:12px;padding:4px 8px}.statistics-comparison__summary{padding:16px}.statistics-comparison__summary-title{font-size:18px}}@media (prefers-color-scheme: dark){.statistics-comparison{background:#111827}.statistics-comparison__title{color:#f9fafb}.statistics-comparison__subtitle{color:#9ca3af}.statistics-comparison__date-title{color:#d1d5db}.statistics-comparison__summary{background:#1f2937;border-color:#374151}.statistics-comparison__summary-title{color:#f9fafb}.statistics-comparison__summary-label{color:#9ca3af}.statistics-comparison__summary-value{background:#374151}.statistics-comparison__summary-value--positive{background:#065f46}.statistics-comparison__summary-value--negative{background:#7f1d1d}.statistics-comparison__summary-value--neutral{background:#374151;color:#9ca3af}.statistics-comparison__card-group{background:#1f2937;border-color:#374151}.statistics-comparison__card-title{color:#f9fafb}.statistics-comparison__change--positive{background:#065f46}.statistics-comparison__change--negative{background:#7f1d1d}.statistics-comparison__change--neutral{background:#374151;color:#9ca3af}.statistics-comparison__arrow{background:#374151;border-color:#4b5563;color:#9ca3af}.statistics-comparison__empty-state{background:#1f2937;border-color:#374151}.statistics-comparison__empty-title{color:#f9fafb}.statistics-comparison__empty-description{color:#9ca3af}}.statistics-error-boundary{display:flex;align-items:center;justify-content:center;min-height:400px;padding:2rem;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);border-radius:12px;margin:1rem}.statistics-error-boundary__content{text-align:center;max-width:500px;background:#fff;padding:2rem;border-radius:8px;box-shadow:0 4px 6px #0000001a;border:1px solid #e1e5e9}.statistics-error-boundary__icon{font-size:3rem;margin-bottom:1rem;animation:pulse 2s infinite}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.statistics-error-boundary__title{font-size:1.5rem;font-weight:600;color:#2c3e50;margin:0 0 1rem}.statistics-error-boundary__message{color:#5a6c7d;line-height:1.6;margin:0 0 1.5rem;font-size:1rem}.statistics-error-boundary__details{margin:1rem 0;text-align:left}.statistics-error-boundary__details summary{cursor:pointer;color:#3498db;font-weight:500;margin-bottom:.5rem}.statistics-error-boundary__details summary:hover{color:#2980b9}.statistics-error-boundary__error-stack{background:#f8f9fa;border:1px solid #e9ecef;border-radius:4px;padding:1rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.8rem;color:#dc3545;white-space:pre-wrap;word-break:break-word;max-height:200px;overflow-y:auto}.statistics-error-boundary__actions{display:flex;gap:1rem;justify-content:center;margin:1.5rem 0;flex-wrap:wrap}.statistics-error-boundary__button{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem;min-width:120px;justify-content:center}.statistics-error-boundary__button--primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.statistics-error-boundary__button--primary:hover{background:linear-gradient(135deg,#5a6fd8,#6a4190);transform:translateY(-1px);box-shadow:0 4px 8px #667eea4d}.statistics-error-boundary__button--secondary{background:#f8f9fa;color:#6c757d;border:1px solid #dee2e6}.statistics-error-boundary__button--secondary:hover{background:#e9ecef;color:#495057;border-color:#adb5bd}.statistics-error-boundary__button:disabled{opacity:.6;cursor:not-allowed;transform:none}.statistics-error-boundary__help{margin-top:1.5rem;padding-top:1rem;border-top:1px solid #e9ecef}.statistics-error-boundary__help p{color:#6c757d;font-size:.9rem;margin:0}@media (prefers-color-scheme: dark){.statistics-error-boundary{background:linear-gradient(135deg,#2c3e50,#34495e)}.statistics-error-boundary__content{background:#34495e;border-color:#4a5568;color:#e2e8f0}.statistics-error-boundary__title{color:#f7fafc}.statistics-error-boundary__message{color:#cbd5e0}.statistics-error-boundary__error-stack{background:#2d3748;border-color:#4a5568;color:#fc8181}.statistics-error-boundary__button--secondary{background:#4a5568;color:#e2e8f0;border-color:#718096}.statistics-error-boundary__button--secondary:hover{background:#718096;color:#f7fafc;border-color:#a0aec0}.statistics-error-boundary__help{border-top-color:#4a5568}.statistics-error-boundary__help p{color:#a0aec0}}@media (max-width: 768px){.statistics-error-boundary{padding:1rem;margin:.5rem}.statistics-error-boundary__content{padding:1.5rem}.statistics-error-boundary__actions{flex-direction:column;align-items:center}.statistics-error-boundary__button{width:100%;max-width:200px}.statistics-error-boundary__title{font-size:1.25rem}.statistics-error-boundary__icon{font-size:2.5rem}}@media (max-width: 480px){.statistics-error-boundary__content{padding:1rem}.statistics-error-boundary__title{font-size:1.1rem}.statistics-error-boundary__message{font-size:.9rem}}.admin-statistics{min-height:100vh;background:#f9fafb;display:flex;flex-direction:column}.admin-statistics__header{background:#fff;border-bottom:1px solid #e5e7eb;padding:24px;box-shadow:0 1px 3px #0000001a}.admin-statistics__title-section{max-width:1400px;margin:0 auto}.admin-statistics__title{margin:0 0 8px;font-size:32px;font-weight:700;color:#111827;line-height:1.2}.admin-statistics__subtitle{margin:0;font-size:16px;color:#6b7280;line-height:1.5}.admin-statistics__navigation{background:#fff;border-bottom:1px solid #e5e7eb;padding:0 24px;box-shadow:0 1px 2px #0000000d}.admin-statistics__tabs{display:flex;gap:0;max-width:1400px;margin:0 auto}.admin-statistics__tab{display:flex;align-items:center;gap:8px;padding:16px 24px;background:transparent;border:none;color:#6b7280;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease-in-out;border-bottom:2px solid transparent;position:relative;min-width:120px;justify-content:center}.admin-statistics__tab:hover{color:#374151;background:#f9fafb}.admin-statistics__tab--active{color:#3b82f6;border-bottom-color:#3b82f6;background:#f0f9ff}.admin-statistics__tab--active:hover{color:#2563eb;background:#e0f2fe}.admin-statistics__tab-icon{font-size:16px;line-height:1}.admin-statistics__tab-label{font-weight:600;white-space:nowrap}.admin-statistics__content{flex:1;padding:0;background:#f9fafb}@media (max-width: 1024px){.admin-statistics__header{padding:20px}.admin-statistics__title{font-size:28px}.admin-statistics__navigation{padding:0 20px}.admin-statistics__tab{padding:14px 20px;min-width:100px}}@media (max-width: 768px){.admin-statistics__header{padding:16px}.admin-statistics__title{font-size:24px}.admin-statistics__subtitle{font-size:14px}.admin-statistics__navigation{padding:0 16px}.admin-statistics__tabs{gap:0}.admin-statistics__tab{padding:12px 16px;min-width:80px;font-size:13px}.admin-statistics__tab-icon{font-size:14px}}@media (max-width: 480px){.admin-statistics__header{padding:12px}.admin-statistics__title{font-size:20px}.admin-statistics__navigation{padding:0 12px}.admin-statistics__tab{padding:10px 12px;min-width:70px;font-size:12px}.admin-statistics__tab-icon{font-size:12px}.admin-statistics__tab-label{display:none}}@media (prefers-color-scheme: dark){.admin-statistics{background:#111827}.admin-statistics__header{background:#1f2937;border-color:#374151}.admin-statistics__title{color:#f9fafb}.admin-statistics__subtitle{color:#9ca3af}.admin-statistics__navigation{background:#1f2937;border-color:#374151}.admin-statistics__tab{color:#9ca3af}.admin-statistics__tab:hover{color:#d1d5db;background:#374151}.admin-statistics__tab--active{color:#60a5fa;border-bottom-color:#60a5fa;background:#1e3a8a}.admin-statistics__tab--active:hover{color:#93c5fd;background:#1e40af}.admin-statistics__content{background:#111827}}@media print{.admin-statistics__navigation{display:none}.admin-statistics__header{background:none;border:none;box-shadow:none;padding:0 0 20px}.admin-statistics__content{background:none}}.user-account-selection-step{max-width:800px;margin:0 auto}.user-account-selection-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:30px}.user-account-selection-header-content{text-align:left}.user-account-selection-header-content h2{margin:0 0 10px;color:#495057;font-size:1.8rem;font-weight:600}.user-account-selection-header-content p{margin:0;color:#6c757d;font-size:1rem}.user-account-selection-content{background:#fff;border-radius:12px;padding:30px;box-shadow:0 2px 4px #0000001a}.user-account-selection-empty{text-align:center;padding:40px 20px;color:#6c757d}.user-account-selection-actions{display:flex;gap:10px;margin-bottom:20px;justify-content:center}.user-account-selection-action-button{background:#f8f9fa;border:1px solid #dee2e6;color:#495057;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .2s ease}.user-account-selection-action-button:hover:not(:disabled){background:#e9ecef;border-color:#adb5bd}.user-account-selection-action-button:disabled{opacity:.5;cursor:not-allowed}.user-account-selection-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:15px;margin-bottom:30px}.user-account-card{border:2px solid #e9ecef;border-radius:8px;padding:20px;cursor:pointer;transition:all .2s ease;background:#fff}.user-account-card:hover{border-color:#667eea;box-shadow:0 4px 8px #667eea1a;transform:translateY(-2px)}.user-account-card.selected{border-color:#667eea;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 12px #667eea4d}.user-account-card-content{display:flex;flex-direction:column;gap:10px}.user-account-card-header{display:flex;align-items:center;gap:12px}.user-account-checkbox{width:18px;height:18px;accent-color:#667eea;cursor:pointer}.user-account-card.selected .user-account-checkbox{accent-color:white}.user-account-name{margin:0;font-size:1.1rem;font-weight:600;flex:1}.user-account-card.selected .user-account-name{color:#fff}.user-account-card-details{display:flex;justify-content:space-between;align-items:center}.user-account-type{font-size:.9rem;color:#6c757d;background:#f8f9fa;padding:4px 8px;border-radius:4px}.user-account-card.selected .user-account-type{color:#fff;background:#fff3}.user-account-selection-footer{display:flex;justify-content:space-between;align-items:center;padding-top:20px;border-top:1px solid #e9ecef}.user-account-selection-summary{color:#6c757d;font-size:.9rem}.user-account-selection-continue-button{background:#667eea;color:#fff;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .2s ease}.user-account-selection-continue-button:hover:not(:disabled){background:#5a6fd8;transform:translateY(-1px);box-shadow:0 4px 8px #667eea4d}.user-account-selection-continue-button:disabled{background:#adb5bd;cursor:not-allowed;transform:none;box-shadow:none}@media (max-width: 768px){.user-account-selection-step{padding:0 10px}.user-account-selection-content{padding:20px}.user-account-selection-header h2{font-size:1.5rem}.user-account-selection-grid{grid-template-columns:1fr}.user-account-selection-actions{flex-direction:column}.user-account-selection-footer{flex-direction:column;gap:15px;text-align:center}}.user-date-selection-step{max-width:800px;margin:0 auto}.user-date-selection-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:30px}.user-date-selection-header-content{text-align:left}.user-date-selection-header-content h2{margin:0 0 10px;color:#495057;font-size:1.8rem;font-weight:600}.user-date-selection-header-content p{margin:0;color:#6c757d;font-size:1rem}.user-date-selection-content{background:#fff;border-radius:12px;padding:30px;box-shadow:0 2px 4px #0000001a}.user-date-selection-empty{text-align:center;padding:40px 20px;color:#6c757d}.user-date-selection-actions{display:flex;gap:10px;margin-bottom:20px;justify-content:center}.user-date-selection-action-button{background:#f8f9fa;border:1px solid #dee2e6;color:#495057;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .2s ease}.user-date-selection-action-button:hover:not(:disabled){background:#e9ecef;border-color:#adb5bd}.user-date-selection-action-button:disabled{opacity:.5;cursor:not-allowed}.user-date-selection-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:15px;margin-bottom:30px}.user-date-card{border:2px solid #e9ecef;border-radius:8px;padding:20px;cursor:pointer;transition:all .2s ease;background:#fff}.user-date-card:hover{border-color:#667eea;box-shadow:0 4px 8px #667eea1a;transform:translateY(-2px)}.user-date-card.selected{border-color:#667eea;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 12px #667eea4d}.user-date-card-content{display:flex;flex-direction:column;gap:10px}.user-date-card-header{display:flex;align-items:center;gap:12px}.user-date-checkbox{width:18px;height:18px;accent-color:#667eea;cursor:pointer}.user-date-card.selected .user-date-checkbox{accent-color:white}.user-date-value{margin:0;font-size:1.1rem;font-weight:600;flex:1}.user-date-card.selected .user-date-value{color:#fff}.user-date-card-details{display:flex;justify-content:space-between;align-items:center}.user-date-raw{font-size:.9rem;color:#6c757d;background:#f8f9fa;padding:4px 8px;border-radius:4px;font-family:monospace}.user-date-card.selected .user-date-raw{color:#fff;background:#fff3}.user-date-selection-footer{display:flex;justify-content:space-between;align-items:center;padding-top:20px;border-top:1px solid #e9ecef}.user-date-selection-back-button{background:#6c757d;color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .2s ease}.user-date-selection-back-button:hover{background:#5a6268;transform:translateY(-1px)}.user-date-selection-summary{color:#6c757d;font-size:.9rem}.user-date-selection-continue-button{background:#667eea;color:#fff;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .2s ease}.user-date-selection-continue-button:hover:not(:disabled){background:#5a6fd8;transform:translateY(-1px);box-shadow:0 4px 8px #667eea4d}.user-date-selection-continue-button:disabled{background:#adb5bd;cursor:not-allowed;transform:none;box-shadow:none}@media (max-width: 768px){.user-date-selection-step{padding:0 10px}.user-date-selection-content{padding:20px}.user-date-selection-header h2{font-size:1.5rem}.user-date-selection-grid{grid-template-columns:1fr}.user-date-selection-actions{flex-direction:column}.user-date-selection-footer{flex-direction:column;gap:15px;text-align:center}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;max-width:500px;width:90%;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e9ecef}.modal-header h2{margin:0;font-size:1.5rem;font-weight:600;color:#495057}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#6c757d;padding:4px;border-radius:4px;transition:all .2s ease}.modal-close:hover{background-color:#f8f9fa;color:#495057}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:#495057;font-size:.9rem}.form-group input,.form-group select{width:100%;padding:12px 16px;border:1px solid #dee2e6;border-radius:6px;font-size:1rem;transition:border-color .2s ease;box-sizing:border-box}.form-group input:focus,.form-group select:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.form-group input:disabled,.form-group select:disabled{background-color:#f8f9fa;color:#6c757d;cursor:not-allowed}.error-message{background-color:#f8d7da;color:#721c24;padding:12px 16px;border-radius:6px;margin-bottom:20px;border:1px solid #f5c6cb;font-size:.9rem}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px 24px;border-top:1px solid #e9ecef;background-color:#f8f9fa}.modal-button{padding:10px 20px;border:none;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;min-width:100px}.modal-button:disabled{opacity:.6;cursor:not-allowed}.cancel-button{background-color:#6c757d;color:#fff}.cancel-button:hover:not(:disabled){background-color:#5a6268}.confirm-button{background-color:#007bff;color:#fff}.confirm-button:hover:not(:disabled){background-color:#0056b3}@media (max-width: 768px){.modal-content{width:95%;margin:20px}.modal-header,.modal-body,.modal-footer{padding:16px 20px}.modal-footer{flex-direction:column}.modal-button{width:100%}}.user-portfolio-management-step{max-width:1200px;margin:0 auto}.user-portfolio-management-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding:20px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;box-shadow:0 4px 6px #0000001a}.user-portfolio-management-header-content h2{margin:0 0 8px;font-size:1.8rem;font-weight:600}.user-portfolio-management-header-content p{margin:0;opacity:.9;font-size:1rem}.user-portfolio-management-back-button{background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;padding:10px 20px;border-radius:8px;cursor:pointer;font-size:.9rem;transition:all .2s ease}.user-portfolio-management-back-button:hover{background:#ffffff4d;transform:translateY(-1px)}.user-portfolio-management-actions{display:flex;gap:12px;align-items:center}.user-portfolio-management-content{background:#fff;border-radius:12px;padding:30px;box-shadow:0 2px 4px #0000001a}.user-portfolio-management-empty{text-align:center;padding:40px 20px;color:#6c757d}.user-portfolio-management-summary{margin-bottom:30px;padding:20px;background:#f8f9fa;border-radius:8px;border-left:4px solid #667eea}.user-portfolio-summary-stats{display:flex;gap:30px;flex-wrap:wrap}.user-portfolio-summary-stat{display:flex;flex-direction:column;gap:5px}.user-portfolio-summary-label{font-size:.9rem;color:#6c757d;font-weight:500}.user-portfolio-summary-value{font-size:1.2rem;font-weight:600;color:#495057}.user-portfolio-table-container{overflow-x:auto;border-radius:8px;border:1px solid #e9ecef}.user-portfolio-table{width:100%;border-collapse:collapse;background:#fff}.user-portfolio-table th{background:#f8f9fa;padding:12px 16px;text-align:left;font-weight:600;color:#495057;border-bottom:2px solid #e9ecef;font-size:.9rem}.user-portfolio-table td{padding:12px 16px;border-bottom:1px solid #e9ecef;vertical-align:middle}.user-portfolio-table tbody tr:hover{background:#f8f9fa}.symbol-cell{font-weight:600;color:#495057}.description-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quantity-cell,.price-cell{text-align:right;font-family:monospace}.value-cell{text-align:right;font-family:monospace;font-weight:600;color:#28a745}.type-cell{text-align:center}.position-type{padding:4px 8px;border-radius:4px;font-size:.8rem;font-weight:600;text-transform:uppercase}.position-type.stock{background:#d4edda;color:#155724}.position-type.option{background:#fff3cd;color:#856404}.position-type.cash{background:#d1ecf1;color:#0c5460}.position-type.bond{background:#e2e3e5;color:#383d41}.position-type.etf{background:#f8d7da;color:#721c24}.position-type.mutual_fund{background:#d1ecf1;color:#0c5460}.position-type.other{background:#e2e3e5;color:#383d41}.date-cell{font-family:monospace;color:#6c757d}.account-cell{font-weight:500;color:#495057}.actions-cell{text-align:center;white-space:nowrap}.user-portfolio-action-button{padding:6px 12px;border:none;border-radius:4px;cursor:pointer;font-size:.8rem;font-weight:500;margin:0 2px;transition:all .2s ease}.user-portfolio-action-button.edit{background:#007bff;color:#fff}.user-portfolio-action-button.edit:hover{background:#0056b3}.user-portfolio-action-button.delete{background:#dc3545;color:#fff}.user-portfolio-action-button.delete:hover{background:#c82333}.user-portfolio-action-button.copy{background:#28a745;color:#fff}.user-portfolio-action-button.copy:hover{background:#218838}.user-portfolio-pagination{margin-top:20px;padding:15px;background-color:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.user-portfolio-pagination-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;font-size:14px;color:#6c757d}.user-portfolio-pagination-controls{display:flex;justify-content:center;align-items:center;gap:5px}.user-portfolio-pagination-button{padding:8px 12px;border:1px solid #dee2e6;background-color:#fff;color:#495057;border-radius:4px;cursor:pointer;font-size:14px;transition:all .2s ease;min-width:40px}.user-portfolio-pagination-button:hover:not(:disabled){background-color:#e9ecef;border-color:#adb5bd}.user-portfolio-pagination-button:disabled{opacity:.5;cursor:not-allowed}.user-portfolio-pagination-button.active{background-color:#007bff;border-color:#007bff;color:#fff}.user-portfolio-pagination-button.active:hover{background-color:#0056b3;border-color:#0056b3}.user-portfolio-pagination-ellipsis{padding:8px 4px;color:#6c757d;font-weight:700}@media (max-width: 768px){.user-portfolio-management-step{padding:0 10px}.user-portfolio-management-header{flex-direction:column;gap:15px;text-align:center}.user-portfolio-management-header-content h2{font-size:1.5rem}.user-portfolio-management-content{padding:20px}.user-portfolio-summary-stats{flex-direction:column;gap:15px}.user-portfolio-table-container{font-size:.8rem}.user-portfolio-table th,.user-portfolio-table td{padding:8px 12px}.description-cell{max-width:150px}}.user-portfolio-dashboard{max-width:1200px;margin:0 auto;padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.user-portfolio-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding:20px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;box-shadow:0 4px 6px #0000001a}.user-portfolio-header-content h1{margin:0 0 8px;font-size:2rem;font-weight:600}.user-portfolio-header-content p{margin:0;opacity:.9;font-size:1rem}.user-portfolio-reset-workflow-button{background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;padding:10px 20px;border-radius:8px;cursor:pointer;font-size:.9rem;transition:all .2s ease}.user-portfolio-reset-workflow-button:hover{background:#ffffff4d;transform:translateY(-1px)}.user-portfolio-progress{margin-bottom:30px}.user-portfolio-progress-steps{display:flex;justify-content:space-between;align-items:center;position:relative}.user-portfolio-progress-steps:before{content:"";position:absolute;top:20px;left:0;right:0;height:2px;background:#e1e5e9;z-index:1}.user-portfolio-progress-step{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;flex:1;cursor:pointer;transition:all .3s ease}.user-portfolio-progress-step-number{width:40px;height:40px;border-radius:50%;background:#e1e5e9;color:#6c757d;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1rem;margin-bottom:8px;transition:all .3s ease}.user-portfolio-progress-step.active .user-portfolio-progress-step-number{background:#667eea;color:#fff;box-shadow:0 4px 8px #667eea4d}.user-portfolio-progress-step.completed .user-portfolio-progress-step-number{background:#28a745;color:#fff}.user-portfolio-progress-step.disabled{opacity:.5;cursor:not-allowed}.user-portfolio-progress-step-content{text-align:center;max-width:120px}.user-portfolio-progress-step-title{display:block;font-weight:600;font-size:.9rem;color:#495057;margin-bottom:4px}.user-portfolio-progress-step.active .user-portfolio-progress-step-title{color:#667eea}.user-portfolio-progress-step.completed .user-portfolio-progress-step-title{color:#28a745}.user-portfolio-progress-step-description{display:block;font-size:.8rem;color:#6c757d;line-height:1.3}.user-portfolio-step-content{background:#fff;border-radius:12px;padding:30px;box-shadow:0 2px 4px #0000001a;min-height:400px}.user-portfolio-workflow-summary{margin-top:30px;background:#f8f9fa;border-radius:12px;padding:20px;border-left:4px solid #667eea}.user-portfolio-workflow-summary h3{margin:0 0 15px;color:#495057;font-size:1.1rem;font-weight:600}.user-portfolio-summary-items{display:flex;flex-wrap:wrap;gap:15px}.user-portfolio-summary-item{display:flex;align-items:center;gap:8px;background:#fff;padding:8px 12px;border-radius:6px;box-shadow:0 1px 3px #0000001a}.user-portfolio-summary-label{font-weight:600;color:#6c757d;font-size:.9rem}.user-portfolio-summary-value{color:#495057;font-size:.9rem}@media (max-width: 768px){.user-portfolio-dashboard{padding:15px}.user-portfolio-header{flex-direction:column;gap:15px;text-align:center}.user-portfolio-header-content h1{font-size:1.5rem}.user-portfolio-progress-steps{flex-direction:column;gap:20px}.user-portfolio-progress-steps:before{display:none}.user-portfolio-progress-step{flex-direction:row;gap:15px;width:100%}.user-portfolio-progress-step-content{text-align:left;max-width:none}.user-portfolio-step-content{padding:20px}.user-portfolio-summary-items{flex-direction:column}}.up-add-portfolio-position{max-width:1200px;margin:0 auto;padding:20px}.up-breadcrumb{margin-bottom:20px}.up-breadcrumb ol{list-style:none;padding:0;margin:0;display:flex;align-items:center;gap:8px;font-size:.9rem;color:#6c757d}.up-breadcrumb li:not(:last-child):after{content:"/";margin-left:8px;color:#adb5bd}.up-breadcrumb a{color:#667eea;text-decoration:none;transition:color .2s ease}.up-breadcrumb a:hover{color:#5a6fd8}.up-breadcrumb-current{color:#6c757d;font-weight:500}.up-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding:20px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;box-shadow:0 4px 6px #0000001a}.up-header-content h2{margin:0 0 8px;font-size:1.8rem;font-weight:600}.up-header-content p{margin:0;opacity:.9;font-size:1rem}.up-back-button{background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;padding:10px 20px;border-radius:8px;cursor:pointer;font-size:.9rem;transition:all .2s ease}.up-back-button:hover{background:#ffffff4d;transform:translateY(-1px)}.up-form-container{background:#fff;border-radius:12px;padding:30px;box-shadow:0 2px 4px #0000001a}.up-form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid #e0e0e0}.up-form-header h3{margin:0;color:#333;font-size:18px;font-weight:600}.up-form-rows{margin-bottom:30px}.up-form-row{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-bottom:20px;overflow:hidden}.up-row-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-bottom:1px solid #e9ecef}.up-row-number{font-size:14px;font-weight:600;color:#fff;background:none;padding:0;margin:0}.up-row-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;padding:20px;background:#fff}.up-field-group{display:flex;flex-direction:column;gap:6px}.up-field-group label{font-size:.9rem;font-weight:600;color:#495057;margin:0}.up-field-group input,.up-field-group select{padding:10px 12px;border:1px solid #dee2e6;border-radius:6px;font-size:.9rem;transition:all .2s ease;background:#fff}.up-field-group input:focus,.up-field-group select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.up-field-group input::placeholder{color:#adb5bd}.up-btn{padding:8px 16px;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s ease;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.up-add-position-btn{background:#667eea;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s ease;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.up-add-position-btn:hover{background:#5a6fd8;transform:translateY(-1px);box-shadow:0 4px 8px #667eea4d}.up-btn:hover{transform:translateY(-1px)}.up-btn-primary{background:#667eea;color:#fff}.up-btn-primary:hover{background:#5a6fd8;box-shadow:0 4px 8px #667eea4d}.up-btn-primary:disabled{background:#adb5bd;color:#6c757d;cursor:not-allowed;transform:none;box-shadow:none}.up-btn-secondary{background:#f8f9fa;color:#495057;border:1px solid #dee2e6}.up-btn-secondary:hover{background:#e9ecef;border-color:#adb5bd}.up-btn-secondary:disabled{background:#e9ecef;color:#adb5bd;cursor:not-allowed;transform:none}.up-btn-danger{background:#dc3545;color:#fff}.up-btn-danger:hover{background:#c82333;box-shadow:0 4px 8px #dc35454d}.up-btn-sm{padding:6px 12px;font-size:.8rem}.up-form-footer{display:flex;justify-content:space-between;align-items:center;padding-top:20px;border-top:2px solid #f8f9fa}.up-form-summary{color:#6c757d;font-size:.9rem;font-weight:500}.up-form-actions{display:flex;gap:10px;align-items:center}.up-no-rows-message{text-align:center;padding:60px 20px;background:#f8f9fa;border:2px dashed #dee2e6;border-radius:12px;margin:20px 0}.up-no-rows-message p{margin:0;color:#6c757d;font-size:16px;font-style:italic}.up-preview-actions{display:flex;gap:15px;justify-content:center;align-items:center;margin-top:30px;padding-top:20px;border-top:1px solid #e9ecef}.up-preview-positions{margin-bottom:30px}.up-validation-errors{background:#f8d7da;border:1px solid #f5c6cb;border-radius:8px;padding:15px;margin-bottom:20px;color:#721c24}.up-validation-errors h4{margin:0 0 10px;color:#721c24;font-size:16px}.up-validation-error{margin-bottom:8px;padding:8px;background:#f8d7da;border-radius:4px;border-left:4px solid #dc3545}.up-validation-error:last-child{margin-bottom:0}.up-preview-position{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-bottom:20px;overflow:hidden}.up-preview-position-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:12px 16px;border-bottom:1px solid #e9ecef}.up-preview-position-number{font-size:16px;font-weight:600;color:#fff}.up-preview-position-details{padding:20px;background:#fff}.up-preview-detail{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #f1f3f4}.up-preview-detail:last-child{border-bottom:none}.up-preview-label{font-weight:600;color:#495057;min-width:80px}.up-preview-value{color:#6c757d;text-align:right}@media (max-width: 768px){.up-add-portfolio-position{padding:10px}.up-header{flex-direction:column;gap:15px;text-align:center}.up-header-content h2{font-size:1.5rem}.up-form-container{padding:20px}.up-form-header{flex-direction:column;gap:15px;align-items:flex-start}.up-row-fields{grid-template-columns:1fr;gap:15px;padding:15px}.up-form-footer{flex-direction:column;gap:15px;text-align:center}}.up-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal)}.up-modal{background:#fff;border-radius:12px;padding:0;max-width:400px;width:90%;box-shadow:0 10px 25px #0003;overflow:hidden}.up-modal-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:20px;text-align:center}.up-modal-header h3{margin:0;font-size:1.5rem;font-weight:600}.up-modal-content{padding:30px 20px;text-align:center}.up-modal-content p{margin:0;font-size:1.1rem;color:#495057}.up-modal-actions{padding:20px;text-align:center;border-top:1px solid #e9ecef}.user-account-management-form{padding:0;display:flex;flex-direction:column;align-items:center;width:100%}.user-account-management-form form{width:100%;max-width:500px;padding:0 1rem}.form-errors{margin-bottom:1.5rem;padding:1rem;border-radius:8px;background-color:#fef2f2;border:1px solid #fecaca}.form-errors.general-errors{background-color:#fef2f2;border-color:#fecaca}.error-message{color:#dc2626;font-size:.875rem;margin-bottom:.5rem}.error-message:last-child{margin-bottom:0}.field-error{color:#dc2626;font-size:.75rem;margin-top:.25rem;font-weight:500}.form-row{margin-bottom:1.5rem;display:flex;justify-content:center}.form-row:last-child{margin-bottom:0}.form-row:has(.radio-group){margin-bottom:1rem}.form-field{display:flex;flex-direction:column;width:100%;max-width:400px}.form-label{font-weight:600;color:#374151;margin-bottom:.5rem;font-size:.875rem;text-align:left}.form-input{padding:.75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;transition:border-color .2s,box-shadow .2s;background-color:#fff;width:100%;height:48px;box-sizing:border-box;min-width:400px}.form-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-input.error{border-color:#dc2626;background-color:#fef2f2}.form-input.error:focus{border-color:#dc2626;box-shadow:0 0 0 3px #dc26261a}.form-input:disabled{background-color:#f9fafb;color:#6b7280;cursor:not-allowed}.help-text{color:#6b7280;font-size:.75rem;margin-top:.25rem;line-height:1.4}.radio-group{display:flex;gap:1rem;align-items:stretch;justify-content:flex-start;width:100%;margin-top:.5rem}.radio-option{display:flex;flex-direction:column;align-items:center;gap:.25rem;cursor:pointer;-webkit-user-select:none;user-select:none;padding:.75rem;border:2px solid #e5e7eb;border-radius:6px;background-color:#f9fafb;transition:all .2s;width:195px;height:80px;justify-content:center;box-sizing:border-box}.radio-option:hover{border-color:#3b82f6;background-color:#f0f9ff}.radio-option input[type=radio]{width:1rem;height:1rem;accent-color:#3b82f6;cursor:pointer;margin-bottom:.5rem;flex-shrink:0}.radio-option input[type=radio]:disabled{cursor:not-allowed;opacity:.6}.radio-label{font-size:.875rem;color:#374151;cursor:pointer;font-weight:600;text-align:center;line-height:1.2;margin-bottom:.25rem;flex-shrink:0}.radio-help{font-size:.7rem;color:#6b7280;text-align:center;line-height:1.2;flex-shrink:0}.radio-option:has(input:disabled) .radio-label{cursor:not-allowed;opacity:.6}.form-actions{display:flex;gap:1rem;justify-content:center;margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e5e7eb}.user-account-management-form .uam-btn-primary:disabled,.user-account-management-form .uam-btn-secondary:disabled{opacity:.6!important;cursor:not-allowed!important}.user-account-management-form .uam-btn-primary{background-color:#3b82f6!important;color:#fff!important;border:none!important;border-radius:6px!important;font-size:.875rem!important;font-weight:500!important;padding:.75rem 1.5rem!important;cursor:pointer!important;transition:all .2s!important;min-width:100px!important}.user-account-management-form .uam-btn-primary:hover:not(:disabled){background-color:#2563eb!important}.user-account-management-form .uam-btn-primary:active:not(:disabled){background-color:#1d4ed8!important}.user-account-management-form .uam-btn-secondary{background-color:#6b7280!important;color:#fff!important;border:none!important;border-radius:6px!important;font-size:.875rem!important;font-weight:500!important;padding:.75rem 1.5rem!important;cursor:pointer!important;transition:all .2s!important;min-width:100px!important}.user-account-management-form .uam-btn-secondary:hover:not(:disabled){background-color:#4b5563!important}.user-account-management-form .uam-btn-secondary:active:not(:disabled){background-color:#374151!important}@media (max-width: 640px){.form-actions{flex-direction:column}.user-account-management-form .uam-btn-primary,.user-account-management-form .uam-btn-secondary{width:100%}.radio-group{flex-direction:column;gap:1rem}}.table-header{padding:1rem 1.5rem;border-bottom:1px solid #e5e7eb;background-color:#f9fafb;display:flex;justify-content:space-between;align-items:center}.table-header h3{margin:0;color:#374151;font-size:1.25rem;font-weight:700}.user-account-management-table-container{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.user-account-management-table{width:100%;border-collapse:collapse;font-size:.9rem}.user-account-management-table th{background:#f8f9fa;padding:12px 16px;text-align:left;font-weight:600;color:#495057;border-bottom:2px solid #dee2e6;white-space:nowrap}.user-account-management-table td{padding:12px 16px;border-bottom:1px solid #e9ecef;vertical-align:middle}.user-account-management-table td.actions-column{text-align:right}.user-account-management-table tbody tr:hover{background-color:#f8f9fa}.user-account-management-table tbody tr:last-child td{border-bottom:none}.account-name{font-weight:600;color:#1f2937}.account-id{color:#6b7280;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.85rem}.brokerage-name{color:#374151;font-weight:500}.account-type{padding:4px 12px;border-radius:16px;font-size:.85rem;font-weight:500}.account-type.retirement{background:#fff3e0;color:#f57c00}.account-type.individual{background:#e8f5e8;color:#388e3c}.name-column{width:40%}.id-column,.brokerage-column,.type-column{width:15%}.actions-column{width:12%;text-align:right}.action-buttons{display:flex;justify-content:flex-end;gap:6px;white-space:nowrap;flex-wrap:nowrap}.action-buttons .btn{margin:0;min-width:auto;padding:6px 10px;font-size:.8rem}.no-accounts-message{text-align:center;padding:40px 20px;color:#6c757d}.no-accounts-message p{margin:0 0 8px;font-size:1rem}.no-accounts-message p:last-child{margin-bottom:0;font-size:.9rem;opacity:.8}@media (max-width: 768px){.account-table-container{overflow-x:auto}.account-table{min-width:600px}.account-table th,.account-table td{padding:8px 12px;font-size:.85rem}.actions .btn{padding:6px 10px;font-size:.8rem}}.user-account-management-filters{display:flex;align-items:flex-start;margin-bottom:1.5rem;padding:1.5rem;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px}.search-filter-container{display:flex;flex-direction:column;gap:1rem;flex:1;margin-right:2rem}.search-filter-inputs{display:flex;gap:2rem;align-items:flex-start}.uam-filter-group{display:flex;flex-direction:column;min-width:320px}.uam-filter-label{font-weight:600;color:#374151;margin-bottom:.5rem;font-size:.875rem}.search-input-container{position:relative;display:flex;align-items:center}.uam-search-input{width:100%;min-width:350px;padding:.75rem 2.5rem .75rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;transition:border-color .2s,box-shadow .2s;background-color:#fff}.uam-search-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.clear-search-btn{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:none;border:none;color:#6b7280;cursor:pointer;padding:.25rem;border-radius:4px;font-size:1.25rem;line-height:1;transition:all .2s}.clear-search-btn:hover{background-color:#f3f4f6;color:#374151}.clear-search-btn:active{background-color:#e5e7eb}.search-help-text{color:#6b7280;font-size:.75rem;margin-top:.25rem;line-height:1.4}.uam-brokerage-select{padding:.75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;background-color:#fff;cursor:pointer;transition:border-color .2s,box-shadow .2s}.uam-brokerage-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.uam-brokerage-select:hover{border-color:#9ca3af}.uam-filter-help-text{color:#6b7280;font-size:.75rem;margin-top:.25rem;line-height:1.4;font-style:italic}.uam-filter-actions{display:flex;justify-content:flex-end;align-self:center;margin-top:0;min-width:150px;margin-left:auto}.uam-clear-filters-btn{padding:.5rem 1rem;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;background-color:#6b7280;color:#fff;white-space:nowrap}.uam-clear-filters-btn:hover{background-color:#4b5563}.uam-clear-filters-btn:active{background-color:#374151}.uam-active-filters-container{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-top:1rem;width:100%}.uam-active-filters-text{color:#374151;font-size:.875rem;font-weight:500;background-color:#f3f4f6;padding:.5rem 1rem;border-radius:6px;border:1px solid #d1d5db;width:100%}.filter-tag{display:inline-flex;align-items:center;gap:.5rem;background-color:#3b82f6;color:#fff;padding:.375rem .75rem;border-radius:6px;font-size:.75rem;font-weight:500;margin:.25rem;border:none}.remove-filter-btn{background:none;border:none;color:#fff;cursor:pointer;padding:.125rem;border-radius:3px;font-size:1rem;line-height:1;transition:background-color .2s}.remove-filter-btn:hover{background-color:#fff3}@media (max-width: 768px){.user-account-management-filters,.search-filter-container,.search-filter-inputs{flex-direction:column;gap:1rem}.uam-filter-group{min-width:auto;flex:none}.uam-filter-actions{align-items:stretch;min-width:auto;justify-content:flex-start}.uam-clear-filters-btn{width:100%}}@media (max-width: 480px){.user-account-management-filters{padding:1rem;gap:.75rem}.uam-filter-group{gap:.5rem}}.user-account-management-stats{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 1px 3px #0000001a}.stats-header{margin-bottom:1.5rem;text-align:center}.stats-header h3{margin:0 0 .5rem;color:#111827;font-size:1.25rem;font-weight:600}.stats-header p{margin:0;color:#6b7280;font-size:.875rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;margin-bottom:2rem}.stat-card{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:1rem;text-align:center;transition:all .2s;position:relative;overflow:hidden}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.stat-card.primary{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border-color:#3b82f6}.stat-card.primary .stat-label,.stat-card.primary .stat-percentage{color:#ffffffe6}.stat-card.highlight{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-color:#10b981}.stat-card.highlight .stat-label,.stat-card.highlight .stat-percentage{color:#ffffffe6}.stat-value{font-size:2rem;font-weight:700;color:#111827;margin-bottom:.5rem;line-height:1}.stat-card.primary .stat-value,.stat-card.highlight .stat-value{color:#fff}.stat-label{font-size:.875rem;font-weight:500;color:#6b7280;margin-bottom:.25rem;line-height:1.4}.stat-percentage{font-size:.75rem;color:#059669;font-weight:600}.brokerage-distribution{margin-bottom:2rem;padding:1.5rem;background-color:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.brokerage-distribution h4{margin:0 0 1rem;color:#111827;font-size:1rem;font-weight:600}.distribution-bars{display:flex;flex-direction:column;gap:.75rem}.distribution-bar{display:flex;align-items:center;gap:1rem}.bar-label{display:flex;justify-content:space-between;align-items:center;min-width:200px;font-size:.875rem}.brokerage-name{font-weight:500;color:#374151}.brokerage-count{color:#6b7280;font-size:.75rem}.bar-container{flex:1;height:20px;background-color:#e5e7eb;border-radius:10px;overflow:hidden;position:relative}.bar-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#1d4ed8);border-radius:10px;transition:width .3s ease;min-width:20px}.bar-percentage{min-width:40px;text-align:right;font-size:.75rem;font-weight:600;color:#374151}.quick-insights{padding:1.5rem;background-color:#f0f9ff;border:1px solid #bae6fd;border-radius:8px}.quick-insights h4{margin:0 0 1rem;color:#0369a1;font-size:1rem;font-weight:600}.insights-grid{display:flex;flex-direction:column;gap:.75rem}.insight-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-radius:6px;font-size:.875rem;line-height:1.4}.insight-item.positive{background-color:#d1fae5;border:1px solid #a7f3d0;color:#065f46}.insight-item.info{background-color:#dbeafe;border:1px solid #93c5fd;color:#1e40af}.insight-item.suggestion{background-color:#fef3c7;border:1px solid #fcd34d;color:#92400e}.insight-icon{font-size:1.25rem;flex-shrink:0}@media (max-width: 768px){.account-stats{padding:1rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem}.stat-card{padding:.75rem}.stat-value{font-size:1.5rem}.bar-label{min-width:150px;flex-direction:column;align-items:flex-start;gap:.25rem}.distribution-bar{flex-direction:column;align-items:stretch;gap:.5rem}.bar-container{height:16px}.bar-percentage{text-align:left}}@media (max-width: 480px){.stats-grid{grid-template-columns:1fr}.stat-card,.brokerage-distribution,.quick-insights{padding:1rem}}.user-account-management{max-width:1200px;margin:0 auto;padding:20px}.user-account-management-header{text-align:center;margin-bottom:30px;padding:20px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;box-shadow:0 4px 6px #0000001a}.user-account-management-header h1{margin:0 0 8px;font-size:1.8rem;font-weight:600}.user-account-management-header p{margin:0;opacity:.9;font-size:1rem}.user-account-management-content{background:#f8f9fa;border-radius:12px;padding:24px;box-shadow:0 2px 4px #0000000d}.empty-state{text-align:center;padding:60px 20px;color:#6c757d}.empty-state-header{display:flex;flex-direction:column;align-items:center;margin-bottom:20px;text-align:center}.empty-state-header h3{margin:0 0 8px;font-size:1.5rem;color:#374151}.empty-state-header p{margin:0 0 16px;font-size:1.1rem;color:#6b7280}.empty-state p{margin:0 0 20px;font-size:1.1rem}.empty-state .btn{margin:.5rem;min-width:120px}.empty-state .btn-primary{margin-bottom:1rem}.empty-state .btn-secondary{margin-top:.5rem}.search-results-info{background-color:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;padding:1rem;margin-bottom:1.5rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.search-results-message{color:#0369a1;font-weight:500;font-size:.875rem}.search-results-count{color:#0369a1;font-size:.75rem;background-color:#e0f2fe;padding:.25rem .75rem;border-radius:4px;border:1px solid #bae6fd}@media (max-width: 640px){.search-results-info{flex-direction:column;align-items:flex-start;gap:.5rem}.search-results-count{align-self:flex-start}}@media (max-width: 768px){.user-account-management{padding:15px}.user-account-management-header{padding:16px}.user-account-management-header h1{font-size:1.5rem}.user-account-management-content{padding:16px}.filters-and-actions{flex-direction:column;align-items:stretch;gap:16px}.add-account-btn{align-self:flex-end}}.ctm-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.ctm-modal-content{background:#fff;border-radius:12px;width:100%;max-width:800px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0000004d}.ctm-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 20px;border-bottom:1px solid #e5e7eb}.ctm-modal-header h2{margin:0;font-size:1.5rem;font-weight:600;color:#111827}.ctm-close-button{background:none;border:none;font-size:2rem;color:#6b7280;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:background-color .2s,color .2s}.ctm-close-button:hover{background-color:#f3f4f6;color:#111827}.ctm-modal-body{padding:24px}.ctm-error-message{background-color:#fef2f2;border:1px solid #fecaca;color:#991b1b;padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:.875rem}.ctm-raw-transaction-info{background-color:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;padding:16px;margin-bottom:20px}.ctm-raw-transaction-info h4{margin:0 0 12px;font-size:.95rem;font-weight:600;color:#1e40af}.ctm-raw-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:.875rem}.ctm-raw-detail-item{display:flex;flex-direction:row;gap:8px;align-items:baseline}.ctm-raw-detail-item.ctm-full-width{grid-column:1 / -1}.ctm-detail-label{font-weight:600;color:#1e40af;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;flex-shrink:0}.ctm-detail-value{color:#1e3a8a;font-weight:500;font-size:.875rem}.ctm-transaction-type-selector{display:flex;gap:24px;margin-bottom:24px;padding:16px;background-color:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.ctm-radio-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.95rem;color:#374151;font-weight:500}.ctm-radio-input{width:18px;height:18px;cursor:pointer;accent-color:#3b82f6}.ctm-radio-text{-webkit-user-select:none;user-select:none}.ctm-form-group{margin-bottom:20px}.ctm-form-group label{display:block;margin-bottom:8px;font-weight:500;color:#374151;font-size:.875rem}.ctm-form-row{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:20px}.ctm-form-row .ctm-form-group{margin-bottom:0}.ctm-form-row-three{display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px;margin-bottom:20px}.ctm-form-row-three .ctm-form-group{margin-bottom:0}.ctm-form-input,.ctm-form-select,.ctm-form-textarea{width:100%;padding:10px 14px;border:1px solid #d1d5db;border-radius:8px;font-size:.95rem;color:#111827;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.ctm-form-input:focus,.ctm-form-select:focus,.ctm-form-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.ctm-form-input:disabled,.ctm-form-select:disabled{background-color:#f3f4f6;cursor:not-allowed;opacity:.6}.ctm-form-textarea{resize:vertical;min-height:80px;font-family:inherit}.ctm-modal-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:20px;border-top:1px solid #e5e7eb;margin-top:24px}.ctm-cancel-button,.ctm-submit-button{padding:10px 24px;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s;border:none}.ctm-cancel-button{background-color:#fff;color:#374151;border:1px solid #d1d5db}.ctm-cancel-button:hover:not(:disabled){background-color:#f9fafb}.ctm-submit-button{background-color:#3b82f6;color:#fff}.ctm-submit-button:hover:not(:disabled){background-color:#2563eb;box-shadow:0 4px 12px #3b82f64d}.ctm-cancel-button:disabled,.ctm-submit-button:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.ctm-modal-content{max-width:100%;margin:0 10px}.ctm-form-row,.ctm-form-row-three{grid-template-columns:1fr}.ctm-modal-header h2{font-size:1.25rem}.ctm-modal-actions{flex-direction:column-reverse}.ctm-cancel-button,.ctm-submit-button{width:100%}}.dtm-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.dtm-modal-content{background:#fff;border-radius:12px;width:100%;max-width:500px;box-shadow:0 10px 40px #0000004d}.dtm-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 20px;border-bottom:1px solid #e5e7eb}.dtm-modal-header h2{margin:0;font-size:1.25rem;font-weight:600;color:#111827}.dtm-close-button{background:none;border:none;font-size:2rem;color:#6b7280;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:background-color .2s,color .2s}.dtm-close-button:hover{background-color:#f3f4f6;color:#111827}.dtm-modal-body{padding:24px;text-align:center}.dtm-error-message{background-color:#fef2f2;border:1px solid #fecaca;color:#991b1b;padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:.875rem;text-align:left}.dtm-warning-icon{display:flex;justify-content:center;margin-bottom:16px}.dtm-warning-icon svg{color:#ef4444}.dtm-confirmation-text{font-size:1.125rem;font-weight:500;color:#111827;margin-bottom:16px}.dtm-transaction-details{background-color:#f9fafb;padding:12px 16px;border-radius:8px;margin-bottom:12px;text-align:left;font-size:.875rem;color:#374151}.dtm-transaction-details strong{color:#111827;margin-right:8px}.dtm-warning-text{font-size:.875rem;color:#6b7280;margin-top:16px;margin-bottom:0}.dtm-modal-actions{display:flex;justify-content:flex-end;gap:12px;padding:20px 24px 24px;border-top:1px solid #e5e7eb}.dtm-cancel-button,.dtm-delete-button{padding:10px 24px;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s;border:none}.dtm-cancel-button{background-color:#fff;color:#374151;border:1px solid #d1d5db}.dtm-cancel-button:hover:not(:disabled){background-color:#f9fafb}.dtm-delete-button{background-color:#ef4444;color:#fff}.dtm-delete-button:hover:not(:disabled){background-color:#dc2626;box-shadow:0 4px 12px #ef44444d}.dtm-cancel-button:disabled,.dtm-delete-button:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.dtm-modal-content{max-width:100%;margin:0 10px}.dtm-modal-header h2{font-size:1.125rem}.dtm-modal-actions{flex-direction:column-reverse}.dtm-cancel-button,.dtm-delete-button{width:100%}}.etm-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.etm-modal-content{background:#fff;border-radius:12px;width:100%;max-width:800px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0000004d}.etm-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 20px;border-bottom:1px solid #e5e7eb}.etm-modal-header h2{margin:0;font-size:1.5rem;font-weight:600;color:#111827}.etm-close-button{background:none;border:none;font-size:2rem;color:#6b7280;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:background-color .2s,color .2s}.etm-close-button:hover{background-color:#f3f4f6;color:#111827}.etm-modal-body{padding:24px}.etm-error-message{background-color:#fef2f2;border:1px solid #fecaca;color:#991b1b;padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:.875rem}.etm-transaction-info{background-color:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;padding:12px 16px;margin-bottom:20px;font-size:.875rem}.etm-transaction-info p{margin:0;color:#1e40af}.etm-form-group{margin-bottom:20px}.etm-form-group label{display:block;margin-bottom:8px;font-weight:500;color:#374151;font-size:.875rem}.etm-form-row{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:20px}.etm-form-row .etm-form-group{margin-bottom:0}.etm-form-row-three{display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px;margin-bottom:20px}.etm-form-row-three .etm-form-group{margin-bottom:0}.etm-form-input,.etm-form-select,.etm-form-textarea{width:100%;padding:10px 14px;border:1px solid #d1d5db;border-radius:8px;font-size:.95rem;color:#111827;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.etm-form-input:focus,.etm-form-select:focus,.etm-form-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.etm-form-input:disabled,.etm-form-select:disabled{background-color:#f3f4f6;cursor:not-allowed;opacity:.6}.etm-form-textarea{resize:vertical;min-height:80px;font-family:inherit}.etm-modal-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:20px;border-top:1px solid #e5e7eb;margin-top:24px}.etm-cancel-button,.etm-submit-button{padding:10px 24px;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s;border:none}.etm-cancel-button{background-color:#fff;color:#374151;border:1px solid #d1d5db}.etm-cancel-button:hover:not(:disabled){background-color:#f9fafb}.etm-submit-button{background-color:#3b82f6;color:#fff}.etm-submit-button:hover:not(:disabled){background-color:#2563eb;box-shadow:0 4px 12px #3b82f64d}.etm-cancel-button:disabled,.etm-submit-button:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.etm-modal-content{max-width:100%;margin:0 10px}.etm-form-row,.etm-form-row-three{grid-template-columns:1fr}.etm-modal-header h2{font-size:1.25rem}.etm-modal-actions{flex-direction:column-reverse}.etm-cancel-button,.etm-submit-button{width:100%}}.bdm-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.bdm-modal-content{background:#fff;border-radius:12px;width:90%;max-width:500px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;animation:bdmSlideUp .3s ease-out}@keyframes bdmSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.bdm-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 16px;border-bottom:1px solid #e5e7eb}.bdm-modal-header h2{margin:0;font-size:20px;font-weight:600;color:#dc2626;display:flex;align-items:center;gap:8px}.bdm-close-button{background:none;border:none;font-size:28px;color:#9ca3af;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.bdm-close-button:hover:not(:disabled){background:#f3f4f6;color:#374151}.bdm-close-button:disabled{opacity:.5;cursor:not-allowed}.bdm-modal-body{padding:24px}.bdm-warning-box{background:#fef2f2;border:2px solid #fca5a5;border-radius:8px;padding:16px;margin-bottom:20px}.bdm-warning-text{margin:0 0 8px;font-size:16px;color:#991b1b;line-height:1.5}.bdm-warning-text strong{font-weight:600;color:#7f1d1d}.bdm-warning-subtext{margin:0;font-size:14px;color:#b91c1c;line-height:1.5}.bdm-warning-subtext strong{font-weight:600}.bdm-confirmation-text{font-size:16px;color:#374151;text-align:center;font-weight:500}.bdm-modal-actions{display:flex;gap:12px;padding:16px 24px 24px;border-top:1px solid #e5e7eb}.bdm-cancel-button,.bdm-confirm-button{flex:1;padding:12px 24px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.bdm-cancel-button{background:#f3f4f6;color:#374151;border:1px solid #d1d5db}.bdm-cancel-button:hover:not(:disabled){background:#e5e7eb;border-color:#9ca3af}.bdm-confirm-button{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff;box-shadow:0 4px 6px -1px #dc262633}.bdm-confirm-button:hover:not(:disabled){background:linear-gradient(135deg,#b91c1c,#991b1b);transform:translateY(-2px);box-shadow:0 6px 12px -2px #dc26264d}.bdm-cancel-button:disabled,.bdm-confirm-button:disabled{opacity:.6;cursor:not-allowed;transform:none}@media (max-width: 640px){.bdm-modal-content{width:95%;margin:16px}.bdm-modal-header,.bdm-modal-body,.bdm-modal-actions{padding:16px}.bdm-modal-actions{flex-direction:column}}.bdr-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.bdr-modal-content{background:#fff;border-radius:12px;width:90%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;animation:bdrSlideUp .3s ease-out}@keyframes bdrSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.bdr-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 16px;border-bottom:1px solid #e5e7eb;flex-shrink:0}.bdr-modal-header h2{margin:0;font-size:20px;font-weight:600;color:#111827}.bdr-close-button{background:none;border:none;font-size:28px;color:#9ca3af;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.bdr-close-button:hover{background:#f3f4f6;color:#374151}.bdr-modal-body{padding:24px;overflow-y:auto;flex:1}.bdr-summary-box{border-radius:8px;padding:20px;margin-bottom:24px;display:flex;gap:24px;align-items:center;justify-content:space-around}.bdr-summary-box.success{background:#f0fdf4;border:2px solid #86efac}.bdr-summary-box.warning{background:#fef3c7;border:2px solid #fbbf24}.bdr-summary-item{display:flex;flex-direction:column;align-items:center;gap:4px}.bdr-summary-label{font-size:14px;color:#6b7280;font-weight:500}.bdr-summary-value{font-size:24px;font-weight:700;color:#111827}.bdr-summary-item.success .bdr-summary-value{color:#16a34a}.bdr-summary-item.failed .bdr-summary-value{color:#dc2626}.bdr-failures-section{margin-top:24px}.bdr-failures-section h3{margin:0 0 16px;font-size:16px;font-weight:600;color:#dc2626}.bdr-failures-list{display:flex;flex-direction:column;gap:12px}.bdr-failure-item{background:#fef2f2;border:1px solid #fca5a5;border-radius:8px;padding:12px}.bdr-failure-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.bdr-failure-id{font-size:14px;font-weight:600;color:#991b1b}.bdr-failure-type{font-size:12px;padding:2px 8px;background:#dc2626;color:#fff;border-radius:4px;font-weight:500}.bdr-failure-message{font-size:13px;color:#7f1d1d;line-height:1.5}.bdr-modal-actions{display:flex;gap:12px;padding:16px 24px 24px;border-top:1px solid #e5e7eb;flex-shrink:0}.bdr-close-action-button{flex:1;padding:12px 24px;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 6px -1px #2563eb33}.bdr-close-action-button:hover{background:linear-gradient(135deg,#1d4ed8,#1e40af);transform:translateY(-2px);box-shadow:0 6px 12px -2px #2563eb4d}@media (max-width: 640px){.bdr-modal-content{width:95%;margin:16px;max-height:90vh}.bdr-modal-header,.bdr-modal-body,.bdr-modal-actions{padding:16px}.bdr-summary-box{flex-direction:column;gap:16px}}.fp-filter-panel{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;padding:20px;box-sizing:border-box;height:100%}.fp-filter-row{display:flex;gap:16px;margin-bottom:16px;align-items:flex-end}.fp-filter-row:last-child{margin-bottom:0}.fp-filter-group{display:flex;flex-direction:column;gap:8px;flex:1;min-width:0}.fp-filter-group:has(input[type=date]){flex:0 0 180px}.fp-filter-group label{font-size:.875rem;font-weight:500;color:#374151}.fp-filter-input,.fp-filter-select{padding:10px 14px;border:1px solid #d1d5db;border-radius:8px;font-size:.95rem;color:#111827;background-color:#fff;transition:border-color .2s,box-shadow .2s}.fp-filter-input:focus,.fp-filter-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.fp-filter-select{cursor:pointer}.fp-button-group{display:flex;gap:12px;margin-left:auto;flex-shrink:0}.fp-apply-filters-button{padding:10px 24px;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s}.fp-apply-filters-button:hover{background-color:#2563eb;box-shadow:0 4px 12px #3b82f64d}.fp-apply-filters-button:active{transform:scale(.98)}.fp-clear-filters-button{padding:10px 24px;background:#fff;color:#6b7280;border:1px solid #d1d5db;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s}.fp-clear-filters-button:hover{background-color:#f9fafb;color:#111827;border-color:#9ca3af}.fp-clear-filters-button:active{transform:scale(.98)}@media (max-width: 768px){.fp-filter-panel{padding:16px}.fp-filter-row{grid-template-columns:1fr;gap:12px;margin-bottom:12px}.fp-button-group{width:100%;flex-direction:column}.fp-apply-filters-button,.fp-clear-filters-button{width:100%}}.utm-transaction-crud-dashboard{padding:24px;max-width:1400px;margin:0 auto}.utm-dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px;padding-bottom:24px;border-bottom:2px solid #e5e7eb}.utm-header-content h1{margin:0 0 8px;font-size:28px;font-weight:600;color:#111827}.utm-header-content p{margin:0;color:#6b7280;font-size:16px}.utm-header-actions{display:flex;gap:12px;align-items:center;flex-shrink:0}.utm-bulk-mode-button{display:flex;align-items:center;gap:8px;padding:12px 20px;background:#f3f4f6;color:#374151;border:2px solid #d1d5db;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.utm-bulk-mode-button:hover{background:#e5e7eb;border-color:#9ca3af}.utm-bulk-mode-button.active{background:#fef3c7;color:#92400e;border-color:#fbbf24}.utm-bulk-mode-button.active:hover{background:#fde68a}.utm-bulk-delete-button{display:flex;align-items:center;gap:8px;padding:12px 20px;background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 6px -1px #dc262633}.utm-bulk-delete-button:hover:not(:disabled){background:linear-gradient(135deg,#b91c1c,#991b1b);transform:translateY(-2px);box-shadow:0 6px 12px -2px #dc26264d}.utm-bulk-delete-button:disabled{opacity:.5;cursor:not-allowed;background:#9ca3af}.utm-create-transaction-button{display:flex;align-items:center;gap:8px;padding:12px 20px;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 6px -1px #2563eb1a}.utm-create-transaction-button:hover{background:linear-gradient(135deg,#1d4ed8,#1e40af);transform:translateY(-1px);box-shadow:0 10px 15px -3px #2563eb33}.utm-create-transaction-button span{font-size:16px}.utm-content-layout{display:flex;gap:24px;margin-bottom:24px}.utm-filters-column{flex:0 0 calc(70% - 14.4px);display:flex;flex-direction:column}.utm-summary-column{flex:0 0 calc(30% - 9.6px);display:flex;flex-direction:column}.utm-filter-panel{padding:0}.utm-filter-row{display:flex;gap:20px;align-items:flex-end;flex-wrap:wrap;margin-bottom:20px}.utm-filter-group{display:flex;flex-direction:column;gap:6px;min-width:150px}.utm-filter-group label{font-size:12px;font-weight:500;color:#374151;text-transform:uppercase;letter-spacing:.5px}.utm-filter-select,.utm-filter-input{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;background:#fff;transition:border-color .2s ease}.utm-filter-select:focus,.utm-filter-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.utm-clear-filters-button{padding:8px 16px;background:#f3f4f6;color:#6b7280;border:1px solid #d1d5db;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s ease;height:36px;margin-top:20px;align-self:flex-start}.utm-clear-filters-button:hover{background:#e5e7eb;color:#374151}.utm-no-data-message{text-align:center;padding:40px 20px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-top:20px}.utm-no-data-message p{margin:0;color:#6b7280}.utm-no-data-message p:first-child{font-size:18px;font-weight:600;color:#374151;margin-bottom:8px}.utm-no-data-subtitle{font-size:14px;color:#9ca3af}.utm-pagination{display:flex;flex-direction:row;justify-content:space-between;align-items:center;margin-top:24px;padding-top:24px;border-top:1px solid #e5e7eb;gap:16px}.utm-pagination-info{color:#6b7280;font-size:14px;flex-shrink:0}.utm-pagination-controls{display:flex;align-items:center;gap:8px;flex-shrink:0}.utm-pagination-button{padding:8px 16px;border:1px solid #d1d5db;background:#fff;color:#374151;border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s ease}.utm-pagination-button:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.utm-pagination-button:disabled{opacity:.5;cursor:not-allowed}.utm-page-numbers{display:flex;gap:4px}.utm-page-button{padding:8px 12px;border:1px solid #d1d5db;background:#fff;color:#374151;border-radius:6px;cursor:pointer;font-size:14px;min-width:40px;transition:all .2s ease}.utm-page-button:hover{background:#f9fafb;border-color:#9ca3af}.utm-page-button.utm-active{background:#2563eb;color:#fff;border-color:#2563eb}.utm-page-button.utm-ellipsis{background:#f3f4f6;color:#9ca3af;border-color:#d1d5db;cursor:default;pointer-events:none}.utm-page-button.utm-ellipsis:hover{background:#f3f4f6;border-color:#d1d5db}.utm-page-size{display:flex;align-items:center;gap:8px;color:#6b7280;font-size:14px;flex-shrink:0}.utm-page-size-select{padding:4px 8px;border:1px solid #d1d5db;border-radius:4px;background:#fff;font-size:14px}.utm-main-content{width:100%;background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;padding:20px;min-height:400px;box-sizing:border-box}.utm-transactions-tab{width:100%}.utm-transactions-tab h3{margin:0 0 8px;font-size:20px;font-weight:600;color:#111827}.utm-transactions-tab p{margin:0 0 24px;color:#6b7280;font-size:14px}.utm-summary-cards{display:flex;flex-direction:column;gap:16px;height:100%}.utm-summary-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;padding:20px;box-sizing:border-box;height:100%;display:flex;flex-direction:column;justify-content:center}.utm-summary-card h4{margin:0 0 16px;font-size:16px;font-weight:600;color:#374151}.utm-filtered-badge{font-size:.75em;font-weight:400;color:#6b7280;margin-left:8px}.utm-summary-stats{display:flex;justify-content:space-between;gap:16px}.utm-stat-item{display:flex;flex-direction:column;align-items:center;text-align:center}.utm-stat-number{font-size:24px;font-weight:700;color:#2563eb;margin-bottom:4px}.utm-stat-label{font-size:12px;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.utm-section{margin-bottom:0}.utm-section h4{margin:0 0 16px;font-size:18px;font-weight:600;color:#111827;padding-bottom:8px;border-bottom:2px solid #e5e7eb}.utm-missing-row{background:#fef3c7}.utm-orphaned-row{background:#fee2e2}.utm-transaction-cell{display:flex;flex-direction:column;gap:4px}.utm-transaction-id{font-size:12px;font-weight:600;color:#2563eb}.utm-transaction-desc{font-size:11px;color:#6b7280;line-height:1.3}.utm-missing-indicator{font-size:12px;color:#9ca3af;font-style:italic}.utm-action-group{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;align-items:center;min-width:300px}.utm-mock-table{overflow-x:auto}.utm-mock-table table{width:100%;border-collapse:collapse;font-size:14px}.utm-mock-table th{background:#f9fafb;padding:12px 16px;text-align:left;font-weight:600;color:#374151;border-bottom:2px solid #e5e7eb}.utm-mock-table td{padding:12px 16px;border-bottom:1px solid #f3f4f6;color:#374151}.utm-mock-table tr:hover{background:#f9fafb}.utm-status-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:6px;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.utm-status-badge.success{background:#dcfce7;color:#166534}.utm-status-badge.pending{background:#fef3c7;color:#92400e}.utm-status-badge.failed{background:#fee2e2;color:#991b1b}.utm-action-button{padding:4px 8px;background:#f3f4f6;color:#374151;border:1px solid #d1d5db;border-radius:4px;font-size:11px;cursor:pointer;transition:all .2s ease;white-space:nowrap}.utm-action-button:hover{background:#e5e7eb;color:#111827}.utm-action-button.primary{background:#2563eb;color:#fff;border-color:#2563eb}.utm-action-button.primary:hover{background:#1d4ed8}.utm-action-button.secondary{background:#6b7280;color:#fff;border-color:#6b7280}.utm-action-button.secondary:hover{background:#4b5563}.utm-action-button.danger{background:#ef4444;color:#fff;border-color:#ef4444}.utm-action-button.danger:hover{background:#dc2626}.utm-action-button.edit{background:#f59e0b;color:#fff;border-color:#f59e0b}.utm-action-button.edit:hover{background:#d97706}.utm-mock-note{margin-top:16px;padding:12px;background:#fef3c7;color:#92400e;border-radius:6px;font-size:12px;font-style:italic}.utm-action-buttons{display:flex;gap:16px;flex-wrap:wrap}.utm-mock-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.utm-mock-modal-content{background:#fff;border-radius:12px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a}.utm-mock-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 20px;border-bottom:1px solid #e5e7eb}.utm-mock-modal-header h2{margin:0;font-size:20px;font-weight:600;color:#111827}.utm-close-button{background:none;border:none;font-size:24px;color:#6b7280;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:background-color .2s ease}.utm-close-button:hover{background:#f3f4f6;color:#374151}.utm-mock-modal-body{padding:24px}.utm-mock-modal-body p{margin:0 0 16px;color:#6b7280;font-size:14px}.utm-mock-form{margin-top:20px}.utm-form-group{margin-bottom:16px}.utm-form-group label{display:block;margin-bottom:6px;font-size:14px;font-weight:500;color:#374151}.utm-form-select,.utm-form-input{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;background:#fff;transition:border-color .2s ease}.utm-form-select:focus,.utm-form-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.utm-mock-modal-actions{display:flex;gap:12px;justify-content:flex-end;padding:20px 24px 24px;border-top:1px solid #e5e7eb}.utm-cancel-button{padding:10px 20px;background:#f3f4f6;color:#374151;border:1px solid #d1d5db;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s ease}.utm-cancel-button:hover{background:#e5e7eb;color:#111827}.utm-submit-button{padding:10px 20px;background:#2563eb;color:#fff;border:1px solid #2563eb;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.utm-submit-button:hover{background:#1d4ed8}@media (max-width: 768px){.utm-transaction-crud-dashboard{padding:16px}.utm-dashboard-header{flex-direction:column;gap:16px;align-items:flex-start}.utm-filter-row{flex-direction:column;gap:16px}.utm-filter-group{min-width:100%}.utm-tab-navigation{overflow-x:auto;padding-bottom:8px}.utm-tab-button{white-space:nowrap;padding:10px 16px}.utm-action-buttons{flex-direction:column}.utm-action-button{width:100%;text-align:center}.utm-mock-modal-content{width:95%;margin:20px}}.account-selector{display:flex;align-items:center;gap:12px}.account-selector-label{font-size:.95rem;font-weight:500;color:#333;white-space:nowrap}.account-selector-dropdown{padding:8px 32px 8px 12px;font-size:.95rem;border:1px solid #ddd;border-radius:4px;background-color:#fff;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 8px center;background-size:16px;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease;appearance:none;-webkit-appearance:none;-moz-appearance:none;min-width:250px;max-width:400px}.account-selector-dropdown:hover:not(:disabled){border-color:#999}.account-selector-dropdown:focus{outline:none;border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a}.account-selector-dropdown:disabled{background-color:#f5f5f5;color:#999;cursor:not-allowed;opacity:.6}.account-selector-dropdown option{padding:8px}@media (max-width: 768px){.account-selector{flex-direction:column;align-items:flex-start;gap:8px;width:100%}.account-selector-dropdown{width:100%;min-width:unset;max-width:unset}}.calculation-method-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:4px;font-size:.875rem;font-weight:500;cursor:help;transition:opacity .2s ease}.calculation-method-badge:hover{opacity:.85}.badge-icon{font-size:1rem;line-height:1}.badge-text{white-space:nowrap}.badge-snapshot{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.badge-calculated{background-color:#d1ecf1;color:#0c5460;border:1px solid #bee5eb}.calculation-method-badge .badge-text:empty{display:none}@media (prefers-color-scheme: dark){.badge-snapshot{background-color:#1e4620;color:#a8d5a8;border-color:#2d5a2f}.badge-calculated{background-color:#0d3d47;color:#9dd4e0;border-color:#1a5563}}.ra-table-container{overflow-x:auto;border:1px solid #ddd;border-radius:8px;background-color:#fff;box-shadow:0 2px 4px #0000000d}.ra-table{width:100%;border-collapse:collapse;font-size:.95rem;table-layout:fixed}.ra-table thead{background-color:#f8f9fa;border-bottom:2px solid #dee2e6}.ra-table th{padding:12px 16px;font-weight:600;color:#495057;white-space:nowrap;font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}.ra-table th.col-expand{text-align:center}.ra-table th.col-symbol{text-align:left}.ra-table th.col-stock-qty,.ra-table th.col-cost-basis,.ra-table th.col-market-value,.ra-table th.col-gain-loss{text-align:right;padding-right:20px!important}.ra-table th.col-positions{text-align:center}.col-expand{width:40px;min-width:40px;text-align:center;padding:12px 8px!important}.col-symbol{width:15%;text-align:left}.col-stock-qty{width:10%;text-align:right;font-family:SF Mono,Monaco,Consolas,monospace;padding-right:20px!important}.col-cost-basis{width:16%;text-align:right;font-family:SF Mono,Monaco,Consolas,monospace;padding-right:20px!important}.col-market-value{width:17%;text-align:right;font-family:SF Mono,Monaco,Consolas,monospace;padding-right:20px!important}.col-gain-loss{width:20%;text-align:right;font-family:SF Mono,Monaco,Consolas,monospace;padding-right:20px!important}.col-positions{width:22%;text-align:center}.ra-group-row{border-bottom:1px solid #e9ecef;background-color:#fff;transition:background-color .15s ease}.ra-group-row.ra-expandable:hover{background-color:#f8f9fa}.ra-group-row.ra-expandable{-webkit-user-select:none;user-select:none}.ra-group-row.ra-expanded{background-color:#f1f3f5;border-bottom:none}.ra-group-row td{padding:14px 16px;font-weight:500;color:#212529;vertical-align:middle}.ra-group-row .col-symbol{vertical-align:middle}.ra-group-row .col-symbol strong{font-size:1.05rem;color:#2c3e50;display:inline-block}.expand-icon{display:inline-block;font-size:.75rem;color:#6c757d;transition:transform .2s ease}.ra-position-badge{display:inline-block;padding:4px 10px;background-color:#e9ecef;color:#495057;border-radius:12px;font-size:.875rem;font-weight:500}.ra-group-row.ra-expanded .ra-position-badge{background-color:#4a90e2;color:#fff}.ra-detail-row{background-color:#f8f9fa;border-bottom:1px solid #e9ecef}.ra-detail-row:last-child{border-bottom:2px solid #adb5bd}.ra-detail-row td{padding:10px 16px;font-size:.9rem;color:#6c757d;vertical-align:top}.ra-detail-row .col-expand{padding:10px 8px!important}.ra-detail-row .col-stock-qty{text-align:center;padding-right:20px!important}.ra-detail-row .col-cost-basis,.ra-detail-row .col-market-value,.ra-detail-row .col-gain-loss{text-align:right;padding-right:20px!important}.ra-detail-row .col-positions{text-align:left;padding-left:16px}.detail-symbol{display:flex;align-items:center;gap:6px;color:#495057;flex-wrap:wrap}.detail-indent{color:#adb5bd;font-size:.9rem;margin-right:2px;line-height:1.4}.detail-account{color:#6c757d;font-size:.85rem;font-weight:400;white-space:nowrap}.detail-value{vertical-align:top}.detail-values{display:flex;flex-direction:column;gap:3px;font-size:.85rem}.detail-line{display:flex;justify-content:space-between;gap:16px;white-space:nowrap}.detail-label{color:#6c757d;font-weight:500;min-width:45px;text-align:left}.detail-meta{display:flex;flex-direction:row;gap:8px;align-items:center;white-space:nowrap}.security-type-badge{display:inline-block;padding:4px 10px;border-radius:3px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.type-stock{background-color:#e3f2fd;color:#1976d2}.type-option{background-color:#fff3e0;color:#f57c00}.type-etf{background-color:#f3e5f5;color:#7b1fa2}.type-mutual_fund{background-color:#e8f5e9;color:#388e3c}.type-cash{background-color:#fce4ec;color:#c2185b}.type-other{background-color:#f5f5f5;color:#757575}.col-gain-loss.gain{color:#2e7d32}.col-gain-loss.loss{color:#c62828}.gain-loss-display{display:flex;flex-direction:column;gap:2px;align-items:flex-end}.gain-loss-value{font-weight:600;font-size:.95rem}.gain-loss-percent{font-size:.8rem;opacity:.9}.gain-loss-value-inline,.gain-loss-percent-inline{font-weight:600}.no-price{color:#f57c00;font-size:1rem}.no-price-detail{display:flex;flex-direction:column;gap:4px;color:#f57c00}.no-price-detail small{color:#757575;font-size:.75rem;font-style:italic}.price-metadata{justify-content:flex-start!important;margin-top:2px}.price-metadata small{font-size:.7rem;cursor:help}.ra-table-empty{padding:48px;text-align:center;color:#6c757d;background-color:#f8f9fa;border:1px solid #ddd;border-radius:8px}.ra-table-empty p{margin:0;font-size:1rem}@media (max-width: 1024px){.ra-table{font-size:.875rem}.ra-table th,.ra-table td{padding:10px 12px}.detail-values{font-size:.8rem}}@media (max-width: 768px){.ra-table-container{border-radius:4px}.ra-table{font-size:.85rem}.ra-table th,.ra-table td,.ra-detail-row td{padding:8px 10px}.detail-line{flex-direction:row;justify-content:space-between}}.risk-score-gauge{display:flex;flex-direction:column;align-items:center;gap:8px}.risk-gauge-svg{display:block}.risk-score-gauge-small .risk-gauge-svg{width:64px;height:64px}.risk-score-gauge-medium .risk-gauge-svg{width:96px;height:96px}.risk-score-gauge-large .risk-gauge-svg{width:128px;height:128px}.risk-gauge-score{font-weight:700;font-size:24px;font-family:SF Mono,Monaco,Consolas,monospace}.risk-score-gauge-small .risk-gauge-score{font-size:18px}.risk-score-gauge-large .risk-gauge-score{font-size:28px}.risk-gauge-label{display:flex;align-items:center;gap:6px;font-weight:600;font-size:.875rem;text-align:center}.risk-score-gauge-small .risk-gauge-label{font-size:.75rem}.risk-score-gauge-large .risk-gauge-label{font-size:1rem}.risk-gauge-emoji{font-size:1.2em}.risk-gauge-text{white-space:nowrap}.hedge-status-summary{margin-bottom:24px}.hedge-summary-title{font-size:1.125rem;font-weight:600;color:#2c3e50;margin-bottom:16px}.hedge-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px}.hedge-status-card{border-radius:8px;padding:20px;text-align:center;border:2px solid;transition:transform .2s ease,box-shadow .2s ease}.hedge-status-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.hedge-status-hedged{background-color:#f0fdf4;border-color:#86efac}.hedge-status-partial{background-color:#fef3c7;border-color:#fbbf24}.hedge-status-unhedged{background-color:#fef2f2;border-color:#fca5a5}.hedge-status-over{background-color:#f5f3ff;border-color:#c4b5fd}.status-icon{font-size:2rem;margin-bottom:8px}.status-count{font-size:2rem;font-weight:700;margin-bottom:4px}.hedge-status-hedged .status-count{color:#16a34a}.hedge-status-partial .status-count{color:#d97706}.hedge-status-unhedged .status-count{color:#dc2626}.hedge-status-over .status-count{color:#7c3aed}.status-label{font-size:.875rem;font-weight:500;margin-bottom:4px}.hedge-status-hedged .status-label{color:#16a34a}.hedge-status-partial .status-label{color:#d97706}.hedge-status-unhedged .status-label{color:#dc2626}.hedge-status-over .status-label{color:#7c3aed}.status-percent{font-size:.75rem;color:#6c757d;font-weight:500}@media (max-width: 768px){.hedge-status-grid{grid-template-columns:repeat(2,1fr)}.status-icon,.status-count{font-size:1.5rem}}.hedge-analysis-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px}.hedge-analysis-modal{background:#fff;border-radius:12px;max-width:700px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:2px solid #e5e7eb;position:sticky;top:0;background:#fff;z-index:1}.modal-title{font-size:1.5rem;font-weight:700;color:#1f2937;margin:0}.modal-close-btn{background:none;border:none;font-size:2rem;color:#6b7280;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.modal-close-btn:hover{background-color:#f3f4f6;color:#1f2937}.modal-body{padding:24px}.modal-body h3{font-size:1rem;font-weight:600;color:#374151;margin:0 0 12px}.position-summary{margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #e5e7eb}.position-details{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:1rem}.position-info{font-weight:500;color:#1f2937}.position-value{font-weight:700;color:#2563eb}.position-separator{color:#9ca3af}.hedge-status-section{margin-bottom:24px}.hedge-status-display{border:2px solid;border-radius:8px;padding:16px;background:#f9fafb}.hedge-status-main{display:flex;align-items:center;gap:8px;margin-bottom:12px}.hedge-icon{font-size:1.5rem}.hedge-status-text{font-weight:700;font-size:1.125rem}.hedge-percent{font-size:.875rem;font-weight:600}.hedge-progress-bar{width:100%;height:12px;background-color:#e5e7eb;border-radius:6px;overflow:hidden}.hedge-progress-fill{height:100%;transition:width .3s ease;border-radius:6px}.coverage-metrics{margin-bottom:24px}.coverage-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.coverage-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;padding:12px;text-align:center}.coverage-item label{display:block;font-size:.75rem;color:#6b7280;margin-bottom:4px;font-weight:500}.coverage-value{display:block;font-size:1.25rem;font-weight:700;color:#1f2937}.coverage-value.covered{color:#10b981}.coverage-value.exposed{color:#ef4444}.option-positions-section{margin-bottom:20px}.option-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:16px;margin-bottom:12px}.option-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #e5e7eb}.option-symbol{font-weight:700;font-size:1rem;color:#1f2937}.option-type{padding:4px 8px;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase}.option-type-p{background-color:#fef3c7;color:#d97706}.option-type-c{background-color:#dbeafe;color:#2563eb}.option-details{display:flex;flex-direction:column;gap:6px}.option-detail-row{display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.detail-label{color:#6b7280;font-weight:500}.detail-value{color:#1f2937;font-weight:600}.hedge-contribution{margin-top:8px;padding-top:8px;border-top:1px solid #e5e7eb}.contribution-value{color:#10b981;font-weight:700}.option-warning{margin-top:8px;padding:8px;background-color:#fef3c7;border-left:3px solid #f59e0b;border-radius:4px;font-size:.875rem;color:#d97706}.net-protection-summary{margin-top:16px;padding:12px;background:#f0fdf4;border:1px solid #86efac;border-radius:6px;text-align:center;font-size:.875rem;color:#16a34a}.no-options-message{text-align:center;padding:32px;background:#fef2f2;border:1px dashed #fca5a5;border-radius:8px;color:#dc2626}.no-options-message p{margin:8px 0}.no-options-subtext{font-size:.875rem;color:#6b7280}.hedge-details-footer{margin-top:20px;padding:16px;background:#eff6ff;border-left:4px solid #3b82f6;border-radius:4px}.hedge-details-text{margin:0;font-size:.875rem;color:#1e40af;line-height:1.5}.modal-footer{padding:16px 24px;border-top:2px solid #e5e7eb;display:flex;justify-content:flex-end;position:sticky;bottom:0;background:#fff}.btn-close{padding:10px 24px;background-color:#3b82f6;color:#fff;border:none;border-radius:6px;font-weight:600;font-size:.875rem;cursor:pointer;transition:background-color .2s}.btn-close:hover{background-color:#2563eb}@media (max-width: 768px){.hedge-analysis-modal{max-height:95vh}.modal-header{padding:16px}.modal-title{font-size:1.25rem}.modal-body{padding:16px}.coverage-grid{grid-template-columns:1fr}.position-details{flex-direction:column;align-items:flex-start}.position-separator{display:none}}.position-risk-card{border:1px solid #e5e7eb;border-radius:8px;padding:20px;margin-bottom:16px;background:#fff;box-shadow:0 1px 3px #0000001a;transition:box-shadow .2s ease,transform .2s ease}.position-risk-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid #f3f4f6}.position-symbol{font-size:1.25rem;font-weight:700;color:#1f2937;margin:0 0 4px;display:inline-block}.position-type{display:inline-block;margin-left:12px;padding:2px 8px;background-color:#e5e7eb;color:#4b5563;font-size:.75rem;font-weight:600;border-radius:4px;text-transform:uppercase}.position-quantity{font-size:.875rem;color:#6b7280;margin-top:4px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}.position-breakdown{color:#4b5563;font-weight:500}.position-price{color:#9ca3af;font-weight:500}.btn-toggle-positions{background:none;border:1px solid #d1d5db;border-radius:4px;padding:2px 8px;font-size:.75rem;color:#6b7280;cursor:pointer;transition:all .2s ease;margin-left:8px}.btn-toggle-positions:hover{background-color:#f3f4f6;border-color:#9ca3af;color:#374151}.positions-list{margin-top:12px;padding:12px;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:4px}.position-item{padding:6px 8px;font-size:.75rem;color:#4b5563;font-family:SF Mono,Monaco,Consolas,monospace;border-left:3px solid #3b82f6;margin-bottom:4px;background-color:#fff}.position-item:last-child{margin-bottom:0}.header-right{margin-left:16px}.card-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:16px}.metric{display:flex;flex-direction:column;gap:4px}.metric label{font-size:.75rem;color:#6b7280;font-weight:500;text-transform:uppercase;letter-spacing:.025em}.metric-value{font-size:1.125rem;font-weight:700;color:#1f2937}.metric-value.positive{color:#10b981}.metric-value.negative{color:#ef4444}.card-risk-factors{margin-bottom:16px}.card-risk-factors>label{display:block;font-size:.75rem;color:#6b7280;font-weight:500;text-transform:uppercase;letter-spacing:.025em;margin-bottom:8px}.risk-factors-list{display:flex;flex-wrap:wrap;gap:6px}.risk-factor-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:600;white-space:nowrap}.badge-icon{font-size:.875rem}.badge-red{background-color:#fef2f2;color:#dc2626;border:1px solid #fca5a5}.badge-yellow{background-color:#fef3c7;color:#d97706;border:1px solid #fbbf24}.badge-orange{background-color:#ffedd5;color:#ea580c;border:1px solid #fdba74}.badge-blue{background-color:#dbeafe;color:#2563eb;border:1px solid #93c5fd}.badge-green{background-color:#f0fdf4;color:#16a34a;border:1px solid #86efac}.badge-gray{background-color:#f3f4f6;color:#6b7280;border:1px solid #d1d5db}.card-hedge-status{border-radius:6px;padding:12px;display:flex;justify-content:space-between;align-items:center;gap:12px}.hedge-status-hedged{background-color:#f0fdf4;border:1px solid #86efac}.hedge-status-partial{background-color:#fef3c7;border:1px solid #fbbf24}.hedge-status-unhedged{background-color:#fef2f2;border:1px solid #fca5a5}.hedge-status-over{background-color:#f5f3ff;border:1px solid #c4b5fd}.hedge-status-content{flex:1}.hedge-status-main{display:flex;align-items:center;gap:6px;margin-bottom:4px}.hedge-icon{font-size:1.125rem}.hedge-status-label{font-size:.875rem;font-weight:700}.hedge-status-hedged .hedge-status-label{color:#16a34a}.hedge-status-partial .hedge-status-label{color:#d97706}.hedge-status-unhedged .hedge-status-label{color:#dc2626}.hedge-status-over .hedge-status-label{color:#7c3aed}.hedge-ratio{font-size:.75rem;font-weight:600;color:#6b7280}.hedge-status-details{font-size:.75rem;color:#6b7280;line-height:1.4;margin-top:4px}.btn-view-details{padding:8px 16px;background-color:#3b82f6;color:#fff;border:none;border-radius:4px;font-size:.875rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background-color .2s}.btn-view-details:hover{background-color:#2563eb}@media (max-width: 768px){.card-metrics{grid-template-columns:1fr;gap:12px}.card-header{flex-direction:column;align-items:flex-start}.header-right{margin-left:0;margin-top:12px}.card-hedge-status{flex-direction:column;align-items:flex-start}.btn-view-details{width:100%;text-align:center}}.risk-dashboard-page{padding:24px;max-width:1400px;margin:0 auto}.risk-dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.page-title{font-size:2rem;font-weight:700;color:#1f2937;margin:0 0 8px;display:flex;align-items:center;gap:12px}.refresh-button{padding:10px 20px;background-color:#3b82f6;color:#fff;border:none;border-radius:6px;font-weight:600;font-size:.875rem;cursor:pointer;transition:background-color .2s}.refresh-button:disabled{background-color:#9ca3af;cursor:not-allowed}.risk-dashboard-controls{margin-bottom:24px}.risk-score-summary{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:32px;margin-bottom:24px;box-shadow:0 1px 3px #0000001a;display:flex;gap:32px;align-items:center}.risk-gauge-container{flex-shrink:0;display:flex;justify-content:center;align-items:center;padding:16px}.portfolio-metrics-grid{flex:1;display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.metric-card{display:flex;flex-direction:column;gap:4px}.metric-card label{font-size:.75rem;color:#6b7280;font-weight:500;text-transform:uppercase;letter-spacing:.025em}.metric-value{font-size:1.5rem;font-weight:700;color:#1f2937}.metric-value.concentration{color:#f59e0b}.metric-value.exposure{color:#3b82f6}.metric-subtext{font-size:.75rem;color:#9ca3af}.position-controls{display:flex;gap:24px;margin-bottom:24px;padding:16px;background:#fff;border:1px solid #e5e7eb;border-radius:8px}.control-group{display:flex;align-items:center;gap:8px}.control-group label{font-size:.875rem;font-weight:500;color:#4b5563;white-space:nowrap}.control-select{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;color:#1f2937;background:#fff;cursor:pointer;min-width:200px}.control-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.positions-section{margin-bottom:24px}.section-title{font-size:1.25rem;font-weight:600;color:#1f2937;margin:0 0 16px;display:flex;align-items:center;gap:8px}.position-count{font-size:.875rem;font-weight:400;color:#6b7280}.position-risk-list{display:flex;flex-direction:column}.no-positions-message{text-align:center;padding:48px;background:#f9fafb;border:1px dashed #d1d5db;border-radius:8px;color:#6b7280;font-size:1rem}.dashboard-footer{margin-top:32px;padding-top:16px;border-top:1px solid #e5e7eb}.footer-metadata{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:.875rem;color:#6b7280}.footer-item{white-space:nowrap}.footer-separator{color:#d1d5db}.phase-notice{margin-top:32px;padding:16px;background-color:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;font-size:.875rem;color:#1e40af;line-height:1.5}.phase-notice p{margin:0}.phase-notice strong{color:#1e3a8a}@media (max-width: 1024px){.risk-score-summary{flex-direction:column;gap:24px}.portfolio-metrics-grid{grid-template-columns:1fr}}@media (max-width: 768px){.risk-dashboard-page{padding:16px}.risk-dashboard-header{flex-direction:column;gap:16px}.refresh-button{align-self:flex-start}.page-title,.title-icon{font-size:1.5rem}.position-controls{flex-direction:column;gap:12px}.control-group{flex-direction:column;align-items:flex-start;width:100%}.control-select{width:100%}.footer-metadata{flex-direction:column;align-items:flex-start}.footer-separator{display:none}}.best-worst-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1.5rem}.scenario-card{border-radius:8px;padding:1.5rem;border:1px solid}.scenario-card.best-case{background-color:#f0fdf4;border-color:#bbf7d0}.scenario-card.worst-case{background-color:#fef2f2;border-color:#fecaca}.card-title{display:flex;align-items:center;gap:.5rem;font-size:1.125rem;font-weight:600;margin-bottom:.75rem}.best-case .card-title{color:#166534}.worst-case .card-title{color:#991b1b}.card-icon{font-size:1.25rem}.card-value{font-size:1.875rem;font-weight:700;margin-bottom:.25rem}.best-case .card-value{color:#16a34a}.worst-case .card-value{color:#dc2626}.card-subtitle{font-size:.875rem}.best-case .card-subtitle{color:#15803d}.worst-case .card-subtitle{color:#b91c1c}@media (max-width: 768px){.best-worst-summary{grid-template-columns:1fr}}.portfolio-scenario-table-container{overflow-x:auto}.portfolio-scenario-table{width:100%;border-collapse:collapse;font-size:.875rem}.portfolio-scenario-table thead{background-color:#f9fafb;border-bottom:2px solid #e5e7eb}.portfolio-scenario-table th{padding:.75rem 1.5rem;font-weight:600;font-size:.75rem;text-transform:uppercase;color:#6b7280;letter-spacing:.05em}.portfolio-scenario-table td{padding:1rem 1.5rem;border-bottom:1px solid #e5e7eb}.portfolio-scenario-table tbody tr{background-color:#fff;transition:background-color .15s ease}.portfolio-scenario-table tbody tr:hover{background-color:#f9fafb}.current-row{background-color:#eff6ff!important;font-weight:600}.current-row:hover{background-color:#dbeafe!important}.best-scenario{background-color:#f0fdf4!important}.best-scenario:hover{background-color:#dcfce7!important}.worst-scenario{background-color:#fef2f2!important}.worst-scenario:hover{background-color:#fee2e2!important}.market-move{font-weight:500;display:flex;align-items:center;gap:.5rem}.badge{font-size:1rem;margin-left:.5rem}@media (max-width: 768px){.portfolio-scenario-table{font-size:.75rem}.portfolio-scenario-table th,.portfolio-scenario-table td{padding:.5rem .75rem}}.position-scenario-cards{display:flex;flex-direction:column;gap:1rem}.position-card{border:1px solid #e5e7eb;border-radius:8px;background-color:#fff;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;overflow:hidden}.card-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;cursor:pointer;transition:background-color .15s ease}.card-header:hover{background-color:#f9fafb}.header-left{flex:1}.symbol{font-size:1.125rem;font-weight:600;color:#111827;margin:0 0 .25rem}.position-meta{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#6b7280;flex-wrap:wrap}.position-count,.current-value{color:#6b7280}.position-divider{color:#d1d5db}.hedge-badge{display:inline-flex;align-items:center;padding:.25rem .5rem;background-color:#d1fae5;color:#065f46;border-radius:4px;font-size:.75rem;font-weight:500}.expand-button{background:none;border:none;color:#9ca3af;font-size:1rem;cursor:pointer;padding:.5rem;transition:color .15s ease}.expand-button:hover{color:#4b5563}.scenario-table-container{padding:0 1.5rem 1rem;background-color:#f9fafb}.scenario-table{width:100%;border-collapse:collapse;font-size:.875rem;background-color:#fff;border:1px solid #e5e7eb;border-radius:4px;overflow:hidden}.scenario-table thead{background-color:#f9fafb;border-bottom:1px solid #e5e7eb}.scenario-table th{padding:.5rem 1rem;font-weight:600;font-size:.75rem;color:#6b7280;text-transform:uppercase}.scenario-table td{padding:.75rem 1rem;border-bottom:1px solid #f3f4f6}.scenario-table tbody tr:last-child td{border-bottom:none}.scenario-table tbody tr:hover{background-color:#f9fafb}.text-left{text-align:left}.text-right{text-align:right}.market-move{font-weight:500;color:#374151}.profit-loss{font-weight:600}.profit-loss.profit{color:#16a34a}.profit-loss.loss{color:#dc2626}@media (max-width: 768px){.card-header{padding:.75rem 1rem}.symbol{font-size:1rem}.position-meta{font-size:.75rem}.scenario-table-container{padding:0 1rem .75rem}.scenario-table{font-size:.75rem}.scenario-table th,.scenario-table td{padding:.5rem .75rem}}.scenario-analysis-page{padding:2rem;max-width:1400px;margin:0 auto}.scenario-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.page-title{display:flex;align-items:center;gap:.5rem;font-size:1.875rem;font-weight:700;color:#111827;margin:0 0 .5rem}.page-subtitle{color:#6b7280;font-size:1rem;margin:0}.refresh-button{padding:.5rem 1rem;background-color:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .15s ease}.refresh-button:hover:not(:disabled){background-color:#2563eb}.scenario-controls{margin-bottom:1.5rem}.scenario-content{display:flex;flex-direction:column;gap:1.5rem}.scenario-info{color:#6b7280;font-size:.875rem}.info-label{font-weight:500}.portfolio-summary-card{background-color:#eff6ff;border:1px solid: #bfdbfe;border-radius:8px;padding:1.5rem}.summary-title{font-size:1.125rem;font-weight:600;color:#1e40af;margin:0 0 1rem}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.summary-item{display:flex;flex-direction:column;gap:.25rem}.summary-label{font-size:.875rem;color:#6b7280;font-weight:500}.summary-value{font-size:1.5rem;font-weight:700;color:#111827}.summary-value.profit{color:#16a34a}.summary-value.loss{color:#dc2626}.section-card{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f}.section-title{font-size:1.25rem;font-weight:600;color:#111827;margin:0 0 1rem}.scenario-footer{text-align:center;font-size:.875rem;color:#9ca3af;padding:1rem 0}@media (max-width: 1024px){.scenario-analysis-page{padding:1.5rem}.summary-grid{grid-template-columns:1fr;gap:1rem}}@media (max-width: 768px){.scenario-analysis-page{padding:1rem}.scenario-header{flex-direction:column;gap:1rem}.page-title{font-size:1.5rem}.refresh-button{width:100%}.portfolio-summary-card{padding:1rem}.summary-value{font-size:1.25rem}.section-card{padding:1rem}}.risk-analysis-wrapper{max-width:1400px;margin:0 auto}.risk-analysis-tabs{display:flex;gap:8px;padding:16px 24px 0;border-bottom:2px solid #e9ecef;background-color:#f8f9fa}.tab-button{padding:12px 24px;background-color:transparent;color:#6c757d;border:none;border-bottom:3px solid transparent;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px;position:relative;bottom:-2px}.tab-button:hover{color:#2c3e50;background-color:#e9ecef}.tab-button.active{color:#4a90e2;border-bottom-color:#4a90e2;background-color:#fff}.risk-analysis-page{max-width:1400px;margin:0 auto;padding:24px}.risk-analysis-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;padding-bottom:20px;border-bottom:2px solid #e9ecef}.header-title-section{flex:1}.page-title{display:flex;align-items:center;gap:12px;font-size:2rem;font-weight:700;color:#2c3e50;margin:0 0 8px}.title-icon{font-size:2rem}.page-subtitle{font-size:1rem;color:#6c757d;margin:0;font-weight:400}.refresh-button{padding:10px 20px;background-color:#4a90e2;color:#fff;border:none;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;transition:background-color .2s ease,opacity .2s ease;display:flex;align-items:center;gap:6px}.refresh-button:hover:not(:disabled){background-color:#357abd}.refresh-button:active:not(:disabled){transform:translateY(1px)}.refresh-button:disabled{opacity:.5;cursor:not-allowed}.risk-analysis-controls{margin-bottom:24px;padding:20px;background-color:#f8f9fa;border-radius:8px;border:1px solid #dee2e6}.portfolio-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:24px}.summary-card{padding:24px;background-color:#fff;border:2px solid #dee2e6;border-radius:12px;box-shadow:0 2px 8px #00000014;transition:transform .2s ease,box-shadow .2s ease}.summary-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001f}.summary-card.gain{border-color:#4caf50;background-color:#f1f8f4}.summary-card.loss{border-color:#f44336;background-color:#fef5f5}.summary-label{font-size:.875rem;font-weight:600;color:#6c757d;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;display:flex;align-items:center;gap:6px}.summary-warning{color:#f57c00;font-size:1rem;cursor:help}.summary-value{font-size:1.75rem;font-weight:700;color:#2c3e50;font-family:SF Mono,Monaco,Consolas,monospace}.summary-card.gain .summary-value{color:#2e7d32}.summary-card.loss .summary-value{color:#c62828}.summary-percent{font-size:1rem;font-weight:600;color:inherit;margin-top:4px;font-family:SF Mono,Monaco,Consolas,monospace}.summary-footnote{font-size:.75rem;color:#6c757d;margin-top:4px;font-style:italic}.portfolio-metadata{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px;padding:20px;background-color:#fff;border:1px solid #dee2e6;border-radius:8px;box-shadow:0 2px 4px #0000000d}.metadata-item{display:flex;flex-direction:column;gap:6px}.metadata-label{font-size:.875rem;font-weight:600;color:#6c757d;text-transform:uppercase;letter-spacing:.5px}.metadata-value{font-size:1.1rem;font-weight:500;color:#2c3e50}.metadata-timestamp{color:#6c757d;font-size:.95rem}.phase-notice{margin-top:24px;padding:16px 20px;background-color:#e3f2fd;border:1px solid #2196f3;border-radius:6px;color:#0d47a1}.phase-notice p{margin:0;font-size:.95rem;line-height:1.6}.phase-notice strong{font-weight:600}@media (max-width: 768px){.risk-analysis-tabs{padding:12px 16px 0;gap:4px}.tab-button{padding:10px 16px;font-size:.875rem}.risk-analysis-page{padding:16px}.risk-analysis-header{flex-direction:column;gap:16px;align-items:stretch}.page-title,.title-icon{font-size:1.5rem}.refresh-button{width:100%;justify-content:center}.portfolio-summary{grid-template-columns:1fr;gap:16px}.summary-value{font-size:1.5rem}.portfolio-metadata{grid-template-columns:1fr;gap:12px;padding:16px}.metadata-item{flex-direction:row;justify-content:space-between;align-items:center}.metadata-label{font-size:.8rem}.metadata-value{font-size:1rem}.phase-notice{padding:12px 16px}.phase-notice p{font-size:.875rem}}.risk-analysis-page .loading-spinner-container,.risk-analysis-page .error-message-container{margin:40px 0}html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,*:before,*:after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}@-ms-viewport{width:device-width}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;border-bottom:0;cursor:help}address{margin-bottom:1em;font-style:normal;line-height:inherit}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-size:1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75em;padding-bottom:.3em;text-align:left;caption-side:bottom}input,button,select,optgroup,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{display:block;width:100%;max-width:100%;margin-bottom:.5em;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}mark{padding:.2em;background-color:#feffe6}.sb-nav{background:linear-gradient(135deg,#667eea,#764ba2);padding:1rem 2rem;box-shadow:0 2px 8px #0000001a}.sb-nav-content{max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.sb-nav-items{display:flex;gap:.5rem}.sb-nav-item{padding:.75rem 1.25rem;background:#ffffff1a;color:#fff;border:2px solid transparent;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.5rem}.sb-nav-item:hover:not(:disabled){background:#fff3;border-color:#ffffff4d}.sb-nav-item.active{background:#fff;color:#667eea;border-color:#fff}.sb-nav-item:disabled{opacity:.5;cursor:not-allowed}.sb-nav-icon{font-size:1.1rem}.sb-nav-breadcrumb{display:flex;align-items:center;gap:.5rem;color:#fff;font-size:.9rem}.sb-nav-breadcrumb-text{opacity:.9;font-weight:500}@media (max-width: 768px){.sb-nav{padding:1rem}.sb-nav-content{flex-direction:column;gap:1rem;align-items:stretch}.sb-nav-items{flex-direction:column}.sb-nav-item{width:100%;justify-content:center}.sb-nav-breadcrumb{justify-content:center}}.sb-d-page{display:flex;flex-direction:column;height:100%;background-color:#f5f7fa}.sb-d-content{flex:1;padding:2rem;overflow-y:auto}.sb-d-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:2px solid #e1e8ed}.sb-d-title{font-size:2rem;font-weight:600;color:#1a202c;margin:0 0 .5rem}.sb-d-subtitle{font-size:1rem;color:#718096;margin:0}.sb-d-create-btn{padding:.75rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 4px #0000001a}.sb-d-create-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.sb-d-create-btn:active{transform:translateY(0)}.sb-d-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d}.sb-d-empty-icon{font-size:5rem;margin-bottom:1.5rem;opacity:.6}.sb-d-empty h2{font-size:1.75rem;color:#2d3748;margin:0 0 1rem}.sb-d-empty p{font-size:1.1rem;color:#718096;margin:0 0 2rem;max-width:500px}.sb-d-create-btn-large{padding:1rem 2rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:10px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #667eea4d}.sb-d-create-btn-large:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.sb-d-container{display:flex;flex-direction:column;gap:2.5rem}.sb-d-section{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000000d}.sb-d-section-header{margin-bottom:1.5rem}.sb-d-section-title{font-size:1.5rem;font-weight:600;color:#2d3748;margin:0;display:flex;align-items:center;gap:.75rem}.sb-d-section-icon{font-size:1.25rem}.sb-d-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.sb-d-card{background:linear-gradient(135deg,#fff,#f8f9fa);border:1px solid #e1e8ed;border-radius:10px;padding:1.5rem;cursor:pointer;transition:all .3s ease;box-shadow:0 1px 3px #0000000d}.sb-d-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f;border-color:#667eea}.sb-d-card-child{background:linear-gradient(135deg,#f8f9fc,#f0f1f5);border-left:3px solid #667eea;padding:1rem 1.25rem;margin-bottom:8px}.sb-d-card-child:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea26}.sb-d-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #e1e8ed}.sb-d-card-name{font-size:1.25rem;font-weight:600;color:#2d3748;margin:0;line-height:1.3;flex:1;word-break:break-word}.sb-d-card-type-badge{padding:.25rem .75rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:20px;font-size:.75rem;font-weight:600;white-space:nowrap}.sb-d-card-body{display:flex;flex-direction:column;gap:.75rem}.sb-d-card-info-row{display:flex;justify-content:space-between;align-items:center;font-size:.9rem}.sb-d-card-info-label{color:#718096;font-weight:500}.sb-d-card-info-value{color:#2d3748;font-weight:600;text-align:right;max-width:60%;word-break:break-word}.sb-d-card-footer{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.5rem;padding-top:.75rem;border-top:1px solid #e1e8ed}.sb-d-badge{padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600}.sb-d-badge-owner{background:linear-gradient(135deg,#48bb78,#38a169);color:#fff}.sb-d-badge-manager{background:linear-gradient(135deg,#4299e1,#3182ce);color:#fff}.sb-d-badge-inactive{background:#e2e8f0;color:#718096}.sb-d-card-name-container{display:flex;align-items:center;gap:.5rem;flex:1}.sb-d-hierarchy-icon{color:#a0aec0;font-family:monospace;font-size:.875rem;font-weight:700}.sb-d-parent-indicator{color:#667eea;font-weight:500}.sb-d-section-subtitle{font-size:.875rem;color:#a0aec0;margin:.25rem 0 0;font-weight:400}@media (max-width: 1200px){.sb-d-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media (max-width: 768px){.sb-d-content{padding:1rem}.sb-d-header{flex-direction:column;gap:1rem;align-items:stretch}.sb-d-create-btn{width:100%}.sb-d-grid{grid-template-columns:1fr}.sb-d-title{font-size:1.5rem}.sb-d-section-title{font-size:1.25rem}}@media (max-width: 480px){.sb-d-card{padding:1rem}.sb-d-card-name{font-size:1.1rem}.sb-d-card-info-row{font-size:.85rem}}.sb-ce-page{display:flex;flex-direction:column;height:100%;background-color:#f5f7fa}.sb-ce-content{flex:1;padding:2rem;overflow-y:auto}.sb-ce-container{max-width:800px;margin:0 auto}.sb-ce-header{text-align:center;margin-bottom:2rem}.sb-ce-title{font-size:2rem;font-weight:600;color:#1a202c;margin:0 0 .75rem}.sb-ce-subtitle{font-size:1rem;color:#718096;margin:0;line-height:1.5}.sb-ce-form{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #0000000d}.sb-ce-error-banner{background:#fed7d7;color:#c53030;padding:1rem;border-radius:8px;margin-bottom:1.5rem;display:flex;align-items:center;gap:.75rem}.sb-ce-error-icon{font-size:1.25rem}.sb-ce-success-banner{background:#c6f6d5;color:#2f855a;padding:1rem;border-radius:8px;margin-bottom:1.5rem;display:flex;align-items:center;gap:.75rem}.sb-ce-success-icon{font-size:1.25rem}.sb-ce-form-group{margin-bottom:1.5rem}.sb-ce-label{display:block;font-size:.95rem;font-weight:600;color:#2d3748;margin-bottom:.5rem}.sb-ce-label.required:after{content:" *";color:#e53e3e}.sb-ce-input{width:100%;padding:.75rem;border:2px solid #e1e8ed;border-radius:8px;font-size:1rem;color:#2d3748;transition:border-color .3s ease}.sb-ce-input:focus{outline:none;border-color:#667eea}.sb-ce-input.error{border-color:#e53e3e}.sb-ce-input:disabled{background-color:#f7fafc;cursor:not-allowed}.sb-ce-field-error{display:block;color:#e53e3e;font-size:.875rem;margin-top:.5rem}.sb-ce-field-hint{display:block;color:#718096;font-size:.875rem;margin-top:.5rem}.sb-ce-actions{display:flex;gap:1rem;margin-top:2rem;justify-content:flex-end}.sb-ce-btn{padding:.75rem 2rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;border:none}.sb-ce-btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 2px 4px #667eea4d}.sb-ce-btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.sb-ce-btn-primary:active:not(:disabled){transform:translateY(0)}.sb-ce-btn-primary:disabled{opacity:.6;cursor:not-allowed}.sb-ce-btn-secondary{background:#fff;color:#4a5568;border:2px solid #e1e8ed}.sb-ce-btn-secondary:hover:not(:disabled){background:#f7fafc;border-color:#cbd5e0}.sb-ce-btn-secondary:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.sb-ce-content{padding:1rem}.sb-ce-form{padding:1.5rem}.sb-ce-title{font-size:1.5rem}.sb-ce-actions{flex-direction:column-reverse}.sb-ce-btn{width:100%}}.sb-el-container{display:flex;flex-direction:column;gap:1rem}.sb-el-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.sb-el-title{font-size:1.25rem;font-weight:600;color:#2d3748;margin:0}.sb-el-btn-add{padding:.5rem 1rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease}.sb-el-btn-add:hover{transform:translateY(-2px);box-shadow:0 4px 8px #667eea4d}.sb-el-loading,.sb-el-error{padding:2rem;text-align:center;color:#718096;font-size:1rem}.sb-el-error{color:#e53e3e}.sb-el-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center;background:linear-gradient(135deg,#f7fafc,#edf2f7);border-radius:8px}.sb-el-empty-icon{font-size:3rem;margin-bottom:1rem;opacity:.6}.sb-el-empty h3{font-size:1.25rem;color:#2d3748;margin:0 0 .5rem}.sb-el-empty p{color:#718096;margin:0 0 1.5rem}.sb-el-btn-primary{padding:.75rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.sb-el-btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.sb-el-list{display:flex;flex-direction:column;gap:.75rem}.sb-el-card{background:#fff;border:1px solid #e1e8ed;border-radius:8px;padding:1rem;transition:all .3s ease}.sb-el-card.inactive{opacity:.6;background:#f7fafc}.sb-el-card:hover{box-shadow:0 2px 8px #00000014}.sb-el-card-header{display:flex;justify-content:space-between;align-items:center}.sb-el-card-info{display:flex;align-items:center;gap:1rem;flex:1}.sb-el-user-id{font-size:1rem;font-weight:600;color:#2d3748}.sb-el-role-badge{padding:.25rem .75rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:12px;font-size:.75rem;font-weight:600}.sb-el-card-actions{display:flex;gap:.5rem}.sb-el-btn-icon{padding:.5rem;background:transparent;border:none;color:#718096;cursor:pointer;font-size:.9rem;transition:color .3s ease}.sb-el-btn-icon:hover{color:#667eea}.sb-el-card-details{margin-top:1rem;padding-top:1rem;border-top:1px solid #e1e8ed;display:flex;flex-direction:column;gap:1rem}.sb-el-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.sb-el-detail-item{display:flex;flex-direction:column;gap:.25rem}.sb-el-detail-label{font-size:.75rem;font-weight:600;color:#718096;text-transform:uppercase}.sb-el-detail-value{font-size:.95rem;color:#2d3748;font-weight:500}.sb-el-status-badge{padding:.2rem .5rem;border-radius:10px;font-size:.75rem;font-weight:600;display:inline-block}.sb-el-status-badge.active{background:linear-gradient(135deg,#48bb78,#38a169);color:#fff}.sb-el-status-badge.inactive{background:#e2e8f0;color:#718096}.sb-el-permissions{display:flex;flex-direction:column;gap:.5rem}.sb-el-permissions-header{display:flex;justify-content:space-between;align-items:center}.sb-el-permissions-label{font-size:.85rem;font-weight:600;color:#4a5568}.sb-el-btn-manage{padding:.4rem .75rem;background:#fff;color:#667eea;border:1px solid #667eea;border-radius:4px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .3s ease}.sb-el-btn-manage:hover{background:#667eea;color:#fff}.sb-el-permissions-list{display:flex;flex-wrap:wrap;gap:.5rem}.sb-el-permission-tag{padding:.3rem .6rem;background:#edf2f7;color:#4a5568;border-radius:12px;font-size:.75rem;font-weight:500}.sb-el-no-permissions{padding:.5rem;color:#718096;font-size:.85rem;font-style:italic}.sb-el-card-actions-footer{display:flex;gap:.75rem;margin-top:.5rem;padding-top:1rem;border-top:1px solid #e1e8ed}.sb-el-btn-secondary{padding:.5rem 1rem;background:#fff;color:#4a5568;border:2px solid #e1e8ed;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease}.sb-el-btn-secondary:hover{background:#f7fafc;border-color:#cbd5e0}.sb-el-btn-danger{padding:.5rem 1rem;background:#fff;color:#e53e3e;border:2px solid #e53e3e;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease}.sb-el-btn-danger:hover{background:#e53e3e;color:#fff}@media (max-width: 768px){.sb-el-header{flex-direction:column;align-items:stretch;gap:.75rem}.sb-el-btn-add{width:100%}.sb-el-card-info{flex-direction:column;align-items:flex-start;gap:.5rem}.sb-el-detail-grid{grid-template-columns:1fr}.sb-el-card-actions-footer{flex-direction:column}.sb-el-btn-secondary,.sb-el-btn-danger{width:100%}}.sb-ae-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.sb-ae-modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-width:600px;width:100%;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.sb-ae-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e1e8ed;flex-shrink:0}.sb-ae-title{font-size:1.5rem;font-weight:600;color:#1a202c;margin:0}.sb-ae-close{background:none;border:none;font-size:1.5rem;color:#718096;cursor:pointer;padding:.25rem;line-height:1;transition:color .3s ease}.sb-ae-close:hover{color:#2d3748}.sb-ae-form{display:flex;flex-direction:column;flex:1;min-height:0}.sb-ae-form-content{padding:1.5rem;padding-bottom:0;overflow-y:auto;overflow-x:hidden;flex:1;min-height:0}.sb-ae-error-banner{background:#fed7d7;color:#c53030;padding:1rem;border-radius:8px;margin-bottom:1.5rem;display:flex;align-items:center;gap:.75rem}.sb-ae-error-icon{font-size:1.25rem}.sb-ae-form-group{margin-bottom:1.5rem;max-width:100%}.sb-ae-form-content>.sb-ae-form-group:last-child{margin-bottom:1.5rem}.sb-ae-label{display:block;font-size:.95rem;font-weight:600;color:#2d3748;margin-bottom:.5rem}.sb-ae-label.required:after{content:" *";color:#e53e3e}.sb-ae-input{width:100%;padding:.75rem;border:2px solid #e1e8ed;border-radius:8px;font-size:1rem;color:#2d3748;transition:border-color .3s ease;box-sizing:border-box}.sb-ae-input:focus{outline:none;border-color:#667eea}.sb-ae-input.error{border-color:#e53e3e}.sb-ae-input:disabled{background-color:#f7fafc;cursor:not-allowed}.sb-ae-field-error{display:block;color:#e53e3e;font-size:.875rem;margin-top:.5rem}.sb-ae-field-hint{display:block;color:#718096;font-size:.875rem;margin-top:.5rem}.sb-ae-role-description{color:#4a5568;font-style:italic;background-color:#f7fafc;padding:.5rem;border-radius:6px;border-left:3px solid #667eea;margin-top:.5rem}.sb-ae-input-with-prefix{position:relative;display:flex;align-items:center}.sb-ae-input-prefix{position:absolute;left:.75rem;color:#718096;font-weight:600;pointer-events:none}.sb-ae-input-with-prefix .sb-ae-input{padding-left:2rem}.sb-ae-permissions{border:2px solid #e1e8ed;border-radius:8px;padding:1rem;max-height:300px;overflow-y:auto}.sb-ae-permission-category{margin-bottom:1rem}.sb-ae-permission-category:last-child{margin-bottom:0}.sb-ae-category-title{font-size:.9rem;font-weight:600;color:#4a5568;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px}.sb-ae-permission-list{display:flex;flex-direction:column;gap:.5rem}.sb-ae-permission-item{display:flex;align-items:flex-start;gap:.5rem;padding:.5rem;border-radius:6px;cursor:pointer;transition:background-color .3s ease}.sb-ae-permission-item.required{background-color:#f0f4ff;border:1px solid #c3dafe}.sb-ae-permission-item:hover{background-color:#f7fafc}.sb-ae-permission-item input[type=checkbox]{margin-top:.2rem;cursor:pointer}.sb-ae-permission-name{font-size:.9rem;color:#2d3748;font-weight:500;flex:1;display:flex;align-items:center;gap:.5rem}.sb-ae-required-badge{display:inline-block;background-color:#667eea;color:#fff;font-size:.7rem;padding:.125rem .5rem;border-radius:12px;font-weight:600;text-transform:uppercase}.sb-ae-permission-desc{display:block;font-size:.8rem;color:#718096;margin-top:.25rem}.sb-ae-no-permissions{padding:1rem;text-align:center;color:#718096;font-size:.9rem}.sb-ae-actions{display:flex;gap:1rem;justify-content:flex-end;padding:1.5rem;border-top:1px solid #e1e8ed;flex-shrink:0;background:#fff}.sb-ae-btn{padding:.75rem 2rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;border:none}.sb-ae-btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 2px 4px #667eea4d}.sb-ae-btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.sb-ae-btn-primary:active:not(:disabled){transform:translateY(0)}.sb-ae-btn-primary:disabled{opacity:.6;cursor:not-allowed}.sb-ae-btn-secondary{background:#fff;color:#4a5568;border:2px solid #e1e8ed}.sb-ae-btn-secondary:hover:not(:disabled){background:#f7fafc;border-color:#cbd5e0}.sb-ae-btn-secondary:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.sb-ae-overlay{padding:0}.sb-ae-modal{max-width:100%;max-height:100vh;border-radius:0}.sb-ae-form{padding:1rem}.sb-ae-actions{flex-direction:column-reverse}.sb-ae-btn{width:100%}}.sb-ee-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.sb-ee-modal{background-color:#fff;border-radius:8px;width:90%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 4px 20px #00000026}.sb-ee-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb}.sb-ee-title{font-size:1.25rem;font-weight:600;color:#1f2937;margin:0}.sb-ee-close{background:none;border:none;font-size:1.5rem;color:#6b7280;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.sb-ee-close:hover{background-color:#f3f4f6;color:#1f2937}.sb-ee-form{display:flex;flex-direction:column;flex:1;overflow:hidden}.sb-ee-form-content{padding:24px;overflow-y:auto;flex:1}.sb-ee-error-banner{background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:12px 16px;margin-bottom:20px;display:flex;align-items:center;gap:8px;color:#991b1b}.sb-ee-error-icon{font-size:1.125rem}.sb-ee-info-section{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;padding:16px;margin-bottom:20px}.sb-ee-info-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0}.sb-ee-info-item:not(:last-child){border-bottom:1px solid #e5e7eb}.sb-ee-info-label{font-weight:500;color:#6b7280;font-size:.875rem}.sb-ee-info-value{font-weight:600;color:#1f2937;font-size:.875rem}.sb-ee-form-group{margin-bottom:20px}.sb-ee-label{display:block;font-weight:500;color:#374151;margin-bottom:8px;font-size:.875rem}.sb-ee-label.required:after{content:" *";color:#ef4444}.sb-ee-input{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;transition:all .2s;box-sizing:border-box}.sb-ee-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.sb-ee-input.error{border-color:#ef4444}.sb-ee-input:disabled{background-color:#f3f4f6;cursor:not-allowed;opacity:.6}.sb-ee-input-with-prefix{display:flex;align-items:center;position:relative}.sb-ee-input-prefix{position:absolute;left:12px;color:#6b7280;font-weight:500;pointer-events:none}.sb-ee-input-with-prefix .sb-ee-input{padding-left:28px}.sb-ee-field-hint{display:block;font-size:.75rem;color:#6b7280;margin-top:6px}.sb-ee-field-error{display:block;font-size:.75rem;color:#ef4444;margin-top:6px}.sb-ee-actions{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #e5e7eb}.sb-ee-btn{padding:10px 20px;border-radius:6px;font-weight:500;font-size:.875rem;cursor:pointer;transition:all .2s;border:none}.sb-ee-btn:disabled{opacity:.5;cursor:not-allowed}.sb-ee-btn-secondary{background-color:#fff;color:#374151;border:1px solid #d1d5db}.sb-ee-btn-secondary:hover:not(:disabled){background-color:#f9fafb}.sb-ee-btn-primary{background-color:#3b82f6;color:#fff}.sb-ee-btn-primary:hover:not(:disabled){background-color:#2563eb}@media (max-width: 768px){.sb-ee-modal{width:95%;max-height:95vh}.sb-ee-header,.sb-ee-form-content,.sb-ee-actions{padding:16px}}.sb-pm-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.sb-pm-modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-width:700px;width:100%;max-height:90vh;display:flex;flex-direction:column}.sb-pm-header{display:flex;justify-content:space-between;align-items:flex-start;padding:1.5rem;border-bottom:1px solid #e1e8ed}.sb-pm-title{font-size:1.5rem;font-weight:600;color:#1a202c;margin:0 0 .5rem}.sb-pm-subtitle{font-size:.9rem;color:#718096;margin:0}.sb-pm-close{background:none;border:none;font-size:1.5rem;color:#718096;cursor:pointer;padding:.25rem;line-height:1;transition:color .3s ease}.sb-pm-close:hover{color:#2d3748}.sb-pm-content{flex:1;overflow-y:auto;padding:1.5rem}.sb-pm-success-banner{background:#c6f6d5;color:#22543d;padding:1rem;border-radius:8px;margin-bottom:1.5rem;display:flex;align-items:center;gap:.75rem;font-weight:500}.sb-pm-success-icon{font-size:1.25rem;font-weight:700}.sb-pm-error-banner{background:#fed7d7;color:#c53030;padding:1rem;border-radius:8px;margin-bottom:1.5rem;display:flex;align-items:center;gap:.75rem}.sb-pm-error-icon{font-size:1.25rem}.sb-pm-summary{display:flex;gap:1.5rem;padding:1rem;background:linear-gradient(135deg,#f7fafc,#edf2f7);border-radius:8px;margin-bottom:1.5rem}.sb-pm-summary-item{display:flex;flex-direction:column;gap:.25rem}.sb-pm-summary-item.changed{color:#667eea;font-weight:600}.sb-pm-summary-label{font-size:.75rem;color:#718096;text-transform:uppercase;font-weight:600}.sb-pm-summary-value{font-size:1.25rem;font-weight:600;color:#2d3748}.sb-pm-summary-item.changed .sb-pm-summary-value{color:#667eea}.sb-pm-permissions{display:flex;flex-direction:column;gap:1rem}.sb-pm-permission-category{border:1px solid #e1e8ed;border-radius:8px;overflow:hidden}.sb-pm-category-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:#f7fafc;border-bottom:1px solid #e1e8ed}.sb-pm-category-title{font-size:.9rem;font-weight:600;color:#4a5568;text-transform:uppercase;letter-spacing:.5px}.sb-pm-category-count{font-size:.85rem;color:#718096;font-weight:600}.sb-pm-permission-list{display:flex;flex-direction:column}.sb-pm-permission-item{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;border-bottom:1px solid #e1e8ed;cursor:pointer;transition:background-color .3s ease;position:relative}.sb-pm-permission-item:last-child{border-bottom:none}.sb-pm-permission-item:hover{background-color:#f7fafc}.sb-pm-permission-item.changed{background-color:#edf2f7}.sb-pm-permission-item input[type=checkbox]{margin-top:.2rem;cursor:pointer}.sb-pm-permission-info{flex:1;display:flex;flex-direction:column;gap:.25rem}.sb-pm-permission-name{font-size:.95rem;color:#2d3748;font-weight:500}.sb-pm-permission-desc{font-size:.8rem;color:#718096;line-height:1.4}.sb-pm-changed-badge{position:absolute;right:1rem;top:50%;transform:translateY(-50%);width:24px;height:24px;border-radius:50%;background:#667eea;color:#fff;display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:600}.sb-pm-no-permissions{padding:2rem;text-align:center;color:#718096;font-size:.9rem}.sb-pm-footer{display:flex;gap:1rem;padding:1.5rem;border-top:1px solid #e1e8ed;justify-content:flex-end}.sb-pm-btn{padding:.75rem 2rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;border:none}.sb-pm-btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 2px 4px #667eea4d}.sb-pm-btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.sb-pm-btn-primary:active:not(:disabled){transform:translateY(0)}.sb-pm-btn-primary:disabled{opacity:.6;cursor:not-allowed}.sb-pm-btn-secondary{background:#fff;color:#4a5568;border:2px solid #e1e8ed}.sb-pm-btn-secondary:hover:not(:disabled){background:#f7fafc;border-color:#cbd5e0}.sb-pm-btn-secondary:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.sb-pm-overlay{padding:0}.sb-pm-modal{max-width:100%;max-height:100vh;border-radius:0}.sb-pm-content{padding:1rem}.sb-pm-summary{flex-direction:column;gap:.75rem}.sb-pm-footer{flex-direction:column-reverse}.sb-pm-btn{width:100%}}.sb-confirm-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.sb-confirm-modal{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:480px;width:90%;max-height:90vh;overflow:hidden;animation:modalSlideIn .2s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.sb-confirm-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e5e7eb}.sb-confirm-title{margin:0;font-size:1.25rem;font-weight:600;color:#1f2937}.sb-confirm-close{background:none;border:none;font-size:1.5rem;color:#6b7280;cursor:pointer;padding:.25rem;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s}.sb-confirm-close:hover:not(:disabled){background:#f3f4f6;color:#111827}.sb-confirm-close:disabled{opacity:.5;cursor:not-allowed}.sb-confirm-content{padding:1.5rem}.sb-confirm-message{margin:0;font-size:1rem;line-height:1.6;color:#374151}.sb-confirm-actions{display:flex;gap:.75rem;padding:1.5rem;background:#f9fafb;border-top:1px solid #e5e7eb;justify-content:flex-end}.sb-confirm-btn{padding:.625rem 1.25rem;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s;border:none;min-width:100px}.sb-confirm-btn:disabled{opacity:.6;cursor:not-allowed}.sb-confirm-btn-secondary{background:#fff;color:#374151;border:1px solid #d1d5db}.sb-confirm-btn-secondary:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.sb-confirm-btn-primary{background:#6366f1;color:#fff}.sb-confirm-btn-primary:hover:not(:disabled){background:#4f46e5}.sb-confirm-btn-danger{background:#ef4444;color:#fff}.sb-confirm-btn-danger:hover:not(:disabled){background:#dc2626}@media (max-width: 640px){.sb-confirm-modal{max-width:95%}.sb-confirm-header,.sb-confirm-content,.sb-confirm-actions{padding:1rem}.sb-confirm-actions{flex-direction:column-reverse}.sb-confirm-btn{width:100%}}.sb-ed-page{display:flex;flex-direction:column;height:100%;background-color:#f5f7fa}.sb-ed-content{flex:1;padding:2rem;overflow-y:auto}.sb-ed-container{max-width:1200px;margin:0 auto}.sb-ed-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:2px solid #e1e8ed}.sb-ed-title{font-size:2rem;font-weight:600;color:#1a202c;margin:0 0 .75rem}.sb-ed-type-badge-large{padding:.5rem 1rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:20px;font-size:.9rem;font-weight:600}.sb-ed-header-actions{display:flex;gap:1rem}.sb-ed-btn-edit{padding:.75rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 4px #667eea4d}.sb-ed-btn-edit:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.sb-ed-btn-edit:active{transform:translateY(0)}.sb-ed-btn-back{padding:.75rem 1.5rem;background:#fff;color:#4a5568;border:2px solid #e1e8ed;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.sb-ed-btn-back:hover{background:#f7fafc;border-color:#cbd5e0}.sb-ed-tabs{display:flex;gap:.5rem;margin-bottom:2rem;border-bottom:2px solid #e1e8ed}.sb-ed-tab{padding:1rem 1.5rem;background:transparent;border:none;border-bottom:3px solid transparent;font-size:1rem;font-weight:600;color:#718096;cursor:pointer;transition:all .3s ease;margin-bottom:-2px}.sb-ed-tab:hover{color:#667eea}.sb-ed-tab.active{color:#667eea;border-bottom-color:#667eea}.sb-ed-body{display:flex;flex-direction:column;gap:1.5rem}.sb-ed-card{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #0000000d}.sb-ed-section-title{font-size:1.5rem;font-weight:600;color:#2d3748;margin:0 0 1.5rem;padding-bottom:1rem;border-bottom:1px solid #e1e8ed}.sb-ed-grid-primary{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid #e1e8ed}.sb-ed-grid-additional{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.sb-ed-detail-item{display:flex;flex-direction:column;gap:.5rem}.sb-ed-detail-label{font-size:.75rem;font-weight:600;color:#718096;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.25rem}.sb-ed-detail-value{font-size:1.1rem;color:#2d3748;font-weight:500;min-height:1.5rem;display:flex;align-items:center}.sb-ed-status-badge{padding:.25rem .75rem;border-radius:20px;font-size:.85rem;font-weight:600;display:inline-block}.sb-ed-status-badge.active{background:linear-gradient(135deg,#48bb78,#38a169);color:#fff}.sb-ed-status-badge.inactive{background:#e2e8f0;color:#718096}.sb-ed-coming-soon{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center;background:linear-gradient(135deg,#f7fafc,#edf2f7);border-radius:8px}.sb-ed-coming-soon-icon{font-size:3rem;margin-bottom:1rem;opacity:.6}.sb-ed-coming-soon p{font-size:1.1rem;color:#718096;margin:0}@media (max-width: 768px){.sb-ed-content{padding:1rem}.sb-ed-header{flex-direction:column;gap:1rem}.sb-ed-header-actions{flex-direction:column}.sb-ed-btn-edit,.sb-ed-btn-back{width:100%}.sb-ed-title{font-size:1.5rem}.sb-ed-card{padding:1.5rem}.sb-ed-grid-primary,.sb-ed-grid-additional{grid-template-columns:1fr;gap:1.5rem}.sb-ed-grid-primary{margin-bottom:1.5rem;padding-bottom:1.5rem}}@media (max-width: 480px){.sb-ed-card{padding:1rem}.sb-ed-title,.sb-ed-section-title{font-size:1.25rem}}.sb-ee-page{display:flex;flex-direction:column;height:100%;background-color:#f5f7fa}.sb-ee-content{flex:1;padding:2rem;overflow-y:auto}.sb-ee-container{max-width:800px;margin:0 auto}.sb-ee-header{text-align:center;margin-bottom:2rem}.sb-ee-title{font-size:2rem;font-weight:600;color:#1a202c;margin:0 0 .75rem}.sb-ee-subtitle{font-size:1rem;color:#718096;margin:0;line-height:1.5}.sb-ee-error{text-align:center;padding:2rem;color:#e53e3e}.sb-ee-form{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #0000000d}.sb-ee-error-banner{background:#fed7d7;color:#c53030;padding:1rem;border-radius:8px;margin-bottom:1.5rem;display:flex;align-items:center;gap:.75rem}.sb-ee-error-icon{font-size:1.25rem}.sb-ee-success-banner{background:#c6f6d5;color:#2f855a;padding:1rem;border-radius:8px;margin-bottom:1.5rem;display:flex;align-items:center;gap:.75rem}.sb-ee-success-icon{font-size:1.25rem}.sb-ee-form-group{margin-bottom:1.5rem}.sb-ee-label{display:block;font-size:.95rem;font-weight:600;color:#2d3748;margin-bottom:.5rem}.sb-ee-label.required:after{content:" *";color:#e53e3e}.sb-ee-input{width:100%;padding:.75rem;border:2px solid #e1e8ed;border-radius:8px;font-size:1rem;color:#2d3748;transition:border-color .3s ease}.sb-ee-input:focus{outline:none;border-color:#667eea}.sb-ee-input.error{border-color:#e53e3e}.sb-ee-input:disabled{background-color:#f7fafc;cursor:not-allowed}.sb-ee-field-error{display:block;color:#e53e3e;font-size:.875rem;margin-top:.5rem}.sb-ee-field-hint{display:block;color:#718096;font-size:.875rem;margin-top:.5rem}.sb-ee-actions{display:flex;gap:1rem;margin-top:2rem;justify-content:flex-end}.sb-ee-btn{padding:.75rem 2rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;border:none}.sb-ee-btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 2px 4px #667eea4d}.sb-ee-btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.sb-ee-btn-primary:active:not(:disabled){transform:translateY(0)}.sb-ee-btn-primary:disabled{opacity:.6;cursor:not-allowed}.sb-ee-btn-secondary{background:#fff;color:#4a5568;border:2px solid #e1e8ed}.sb-ee-btn-secondary:hover:not(:disabled){background:#f7fafc;border-color:#cbd5e0}.sb-ee-btn-secondary:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.sb-ee-content{padding:1rem}.sb-ee-form{padding:1.5rem}.sb-ee-title{font-size:1.5rem}.sb-ee-actions{flex-direction:column-reverse}.sb-ee-btn{width:100%}}.tc-widget-card{min-width:350px;max-width:500px}.tc-widget-active,.tc-widget-idle,.tc-widget-form{padding:8px}.tc-widget-timer{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;color:#fff}.tc-widget-timer-icon{font-size:32px;color:#fff;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.tc-widget-timer-display{font-family:Courier New,monospace;font-size:36px!important;font-weight:700!important;color:#fff!important;margin:0!important;letter-spacing:2px}.tc-widget-status-tag{font-size:12px;font-weight:600;padding:2px 12px;border-radius:12px}.tc-widget-info{display:flex;flex-direction:column;gap:2px;padding:8px;background:#f5f5f5;border-radius:6px}.tc-widget-idle{padding:12px}.tc-widget-form{padding:8px}@media (max-width: 576px){.tc-widget-card{min-width:100%}.tc-widget-timer-display{font-size:42px!important}}.tt-dashboard-page{min-height:100vh;background:#f0f2f5}.tt-dashboard-content{max-width:1400px;margin:0 auto;padding:24px}.tt-dashboard-header{margin-bottom:24px}.tt-dashboard-header h2{margin-bottom:4px}.tt-dashboard-container{display:flex;flex-direction:column;gap:16px}.tt-period-summary-card .ant-card-body{padding-bottom:32px}@media (max-width: 768px){.tt-dashboard-content{padding:16px}}.cte-page{min-height:100vh;background:#f0f2f5}.cte-content{max-width:800px;margin:0 auto;padding:24px}.cte-header{margin-bottom:24px}.cte-header h2{margin-bottom:4px}.cte-card{box-shadow:0 1px 2px #00000008}@media (max-width: 768px){.cte-content{padding:16px}}.ete-page{min-height:100vh;background:#f0f2f5}.ete-content{max-width:800px;margin:0 auto;padding:24px}.ete-header{margin-bottom:24px}.ete-header h2{margin-bottom:4px}.ete-card{box-shadow:0 1px 2px #00000008}@media (max-width: 768px){.ete-content{padding:16px}}.cm-page{min-height:100vh;background:#f0f2f5}.cm-content{max-width:1400px;margin:0 auto;padding:24px}.cm-header{margin-bottom:24px}.cm-header h2{margin-bottom:4px}@media (max-width: 768px){.cm-content{padding:16px}}.pm-page{min-height:100vh;background:#f0f2f5}.pm-content{max-width:1400px;margin:0 auto;padding:24px}.pm-header{margin-bottom:24px}.pm-header h2{margin-bottom:4px}@media (max-width: 768px){.pm-content{padding:16px}}.md-page{min-height:100vh;background-color:#f0f2f5}.md-content{padding:24px;max-width:1400px;margin:0 auto}.md-content .ant-card .ant-statistic{text-align:center}.md-content .ant-statistic-title{font-size:14px;color:#00000073}.md-content .ant-statistic-content{font-size:24px;font-weight:500}.md-content .ant-table{background:#fff}.md-content .ant-table-thead>tr>th{font-weight:600;background:#fafafa}.md-content .ant-table .ant-space-vertical{width:100%}@media (max-width: 768px){.md-content{padding:16px}.md-content .ant-statistic-content{font-size:20px}}.cmt-page{min-height:100vh;background-color:#f0f2f5}.cmt-content{padding:24px;max-width:800px;margin:0 auto}.cmt-deduction-preview{margin-bottom:24px;padding:12px 16px;background-color:#f6ffed;border:1px solid #b7eb8f;border-radius:4px}.cmt-deduction-preview .ant-typography{font-size:16px}.cmt-content .ant-form-item-label>label{font-weight:500}.cmt-content .ant-input,.cmt-content .ant-input-number,.cmt-content .ant-picker{font-size:14px}@media (max-width: 768px){.cmt-content{padding:16px}}.emt-page{min-height:100vh;background-color:#f0f2f5}.emt-content{padding:24px;max-width:800px;margin:0 auto}.emt-deduction-preview{margin-bottom:24px;padding:12px 16px;background-color:#f6ffed;border:1px solid #b7eb8f;border-radius:4px}.emt-deduction-preview .ant-typography{font-size:16px}.emt-content .ant-form-item-label>label{font-weight:500}.emt-content .ant-input,.emt-content .ant-input-number,.emt-content .ant-picker{font-size:14px}@media (max-width: 768px){.emt-content{padding:16px}}:root{--z-base: 0;--z-below: -1;--z-sticky: 10;--z-fixed: 20;--z-content: 100;--z-overlay: 110;--z-backdrop: 120;--z-dropdown: 200;--z-popover: 210;--z-tooltip: 220;--z-navbar: 300;--z-sidebar: 310;--z-tab-bar: 320;--z-modal-backdrop: 400;--z-modal: 410;--z-modal-header: 420;--z-notification: 500;--z-toast: 510;--z-alert: 520;--z-loading: 600;--z-error-boundary: 610;--z-debug: 700;--z-dev-tools: 800;--z-maximum: 999}:root{--primary-dark: #0f1419;--primary-blue: #1e3a8a;--accent-green: #10b981;--accent-red: #ef4444;--accent-gold: #f59e0b;--bg-primary: #ffffff;--bg-secondary: #f8fafc;--bg-tertiary: #e2e8f0;--bg-dark: #1e293b;--text-primary: #1e293b;--text-secondary: #64748b;--text-light: #94a3b8;--text-white: #ffffff;--hello-height: 56px;--navbar-height: 60px;--total-sticky-height: 116px}body{background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-primary) 100%);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;margin:0;color:var(--text-primary);scroll-behavior:smooth;-webkit-overflow-scrolling:touch}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:var(--total-sticky-height)}.main-content{position:relative;min-height:100vh;padding-top:var(--total-sticky-height)}@media (max-width: 768px){:root{--hello-height: 48px;--navbar-height: 52px;--total-sticky-height: 100px}}@media (max-width: 480px){:root{--hello-height: 44px;--navbar-height: 48px;--total-sticky-height: 92px}}
