:root{--primary-color:#e91e63;--primary-dark:#c2185b;--primary-light:#f06292;--secondary-color:#000;--background:#f5f5f5;--surface:#fff;--text-primary:#212121;--text-secondary:#757575;--border-color:#e0e0e0;--hover-bg:#fafafa;--shadow:#0000001a}body.dark-theme{--primary-color:#f06292;--primary-dark:#e91e63;--primary-light:#f48fb1;--secondary-color:#fff;--background:#0d1117;--surface:#161b22;--text-primary:#e6edf3;--text-secondary:#8b949e;--border-color:#30363d;--hover-bg:#21262d;--shadow:#00000080}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;background-color:var(--background);color:#212121;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;transition:background-color .3s ease,color .3s ease}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{min-height:100vh}input,select,textarea{background-color:#fff;background-color:var(--surface);border-color:#e0e0e0;border-color:var(--border-color);color:#212121;color:var(--text-primary)}input::placeholder,textarea::placeholder{color:#757575;color:var(--text-secondary);opacity:.7}table{background-color:#fff;background-color:var(--surface)}table,th{color:#212121;color:var(--text-primary)}th{background-color:#fafafa;background-color:var(--hover-bg)}td{border-color:#e0e0e0;border-color:var(--border-color)}button,td{color:#212121;color:var(--text-primary)}body.dark-theme input:focus,body.dark-theme select:focus,body.dark-theme textarea:focus{border-color:#e91e63;border-color:var(--primary-color);box-shadow:0 0 0 2px #f0629233;outline:none}.sidebar{background-color:var(--surface);box-shadow:2px 0 12px var(--shadow);color:var(--text-primary);display:flex;flex-direction:column;height:100vh;left:0;overflow:hidden;position:fixed;top:0;transition:width .3s ease;width:260px;z-index:100}.sidebar.collapsed{width:64px}.sidebar-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:center;min-height:60px;overflow:hidden;padding:20px}.sidebar.collapsed .sidebar-header{padding:12px}.logo-link{align-items:center;cursor:pointer;display:flex;justify-content:center;text-decoration:none;transition:opacity .2s ease}.logo-link:hover{opacity:.85}.sidebar-logo{height:auto;max-width:220px;object-fit:contain;transition:all .3s ease;width:100%}.sidebar-logo.mini{border-radius:4px;height:40px;max-width:40px;object-fit:cover;width:40px}.sidebar-nav{flex:1 1;overflow-y:auto;padding:16px 0}.menu-list{list-style:none;margin:0;padding:0}.menu-item{align-items:center;border-left:3px solid #0000;color:var(--text-secondary);display:flex;padding:14px 20px;text-decoration:none;transition:all .2s ease;white-space:nowrap}.menu-item:hover{background-color:var(--hover-bg);color:var(--text-primary)}.menu-item.active{background-color:#f062921f;border-left-color:var(--primary-color);color:var(--primary-color)}body.dark-theme .menu-item.active{background-color:#f0629226}.menu-icon{display:inline-block;font-size:20px;margin-right:12px;min-width:24px;text-align:center;width:24px}.sidebar.collapsed .menu-icon{margin-right:0}.menu-label{font-size:15px;font-weight:500;opacity:1;transition:opacity .2s ease}.sidebar.collapsed .menu-label{opacity:0;overflow:hidden;width:0}.sidebar.collapsed .menu-item{border-left-width:3px;justify-content:center;padding:14px 0}.sidebar-toggle{align-items:center;background:#0000;border:none;border-top:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;display:flex;justify-content:center;padding:14px;transition:all .2s ease}.sidebar-toggle:hover{background-color:var(--hover-bg);color:var(--text-primary)}@media (max-width:768px){.sidebar{transform:translateX(-100%);transition:transform .3s ease}.sidebar.open{transform:translateX(0)}}.header{align-items:center;background-color:var(--surface);border-bottom:1px solid var(--border-color);box-shadow:0 1px 4px var(--shadow);display:flex;height:64px;justify-content:space-between;padding:0 24px;position:-webkit-sticky;position:sticky;top:0;z-index:50}.header-left{flex:1 1}.page-title{color:var(--text-primary);font-size:20px;font-weight:600;margin:0}.header-right{gap:16px}.header-right,.user-menu{align-items:center;display:flex}.user-menu{border-radius:8px;cursor:pointer;gap:12px;padding:6px 12px;transition:background-color .2s ease}.user-menu:hover{background-color:var(--hover-bg)}.user-name{color:var(--text-primary);font-size:14px;font-weight:500}.user-avatar{background-color:var(--primary-color);border-radius:50%;color:var(--surface);font-size:14px;font-weight:600;height:36px;width:36px}.theme-toggle,.user-avatar{align-items:center;display:flex;justify-content:center}.theme-toggle{background:none;border:none;border-radius:8px;color:var(--text-primary);cursor:pointer;padding:8px;transition:all .2s ease}.theme-toggle:hover{background-color:var(--hover-bg)}.theme-toggle svg{transition:transform .3s ease}.theme-toggle:hover svg{transform:rotate(20deg)}.logout-button{align-items:center;background:none;border:none;border-radius:8px;color:var(--text-secondary);cursor:pointer;display:flex;justify-content:center;padding:8px;transition:all .2s ease}.logout-button:hover{background-color:var(--hover-bg);color:var(--primary-color)}@media (max-width:768px){.header{padding:0 16px}.page-title{font-size:18px}.user-name{display:none}}.layout{background-color:var(--background);display:flex;min-height:100vh}.main-content{display:flex;flex:1 1;flex-direction:column;margin-left:260px;max-width:100%;overflow-x:hidden;transition:margin-left .3s ease}.main-content.sidebar-collapsed{margin-left:64px}.content{flex:1 1;max-width:100%;min-width:0;overflow-x:hidden;overflow-y:auto;padding:24px}@media (max-width:768px){.main-content,.main-content.sidebar-collapsed{margin-left:0}}.login-container{align-items:center;background-color:var(--background);display:flex;justify-content:center;min-height:100vh;padding:20px}.login-card{background-color:var(--surface);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 4px 24px var(--shadow);max-width:420px;padding:40px;width:100%}.login-logo{margin-bottom:32px;text-align:center}.login-logo img{height:auto;max-width:200px}.login-form h2{color:var(--text-primary);font-size:22px;font-weight:600;margin-bottom:8px;text-align:center}.two-fa-message{color:var(--text-secondary);margin-bottom:20px}.login-error,.two-fa-message{font-size:14px;text-align:center}.login-error{background-color:#fdecea;border-radius:8px;color:#d32f2f;margin-bottom:16px;padding:10px 14px}body.dark-theme .login-error{background-color:#d32f2f26;color:#ef9a9a}.login-form .form-group{margin-bottom:18px}.login-form label{color:var(--text-primary);display:block;font-size:14px;font-weight:500;margin-bottom:6px}.login-form input{background-color:var(--surface);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:15px;padding:10px 14px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.login-form input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #e91e6326;outline:none}.code-input{font-size:24px!important;font-weight:600;letter-spacing:8px;text-align:center}.login-button{background-color:var(--primary-color);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;margin-top:8px;padding:12px;transition:background-color .2s ease,opacity .2s ease;width:100%}.login-button:hover:not(:disabled){background-color:var(--primary-dark)}.login-button:disabled{cursor:not-allowed;opacity:.6}.forgot-password-link{color:var(--primary-color);display:block;font-size:14px;margin-top:16px;text-align:center;text-decoration:none;transition:color .2s ease}.forgot-password-link:hover{color:var(--primary-dark);text-decoration:underline}.back-button{background:none;border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);cursor:pointer;font-size:14px;margin-top:12px;padding:10px;transition:all .2s ease;width:100%}.back-button:hover{border-color:var(--text-secondary);color:var(--text-primary)}@media (max-width:480px){.login-card{padding:24px}.login-logo img{max-width:160px}}.reset-container{align-items:center;background-color:var(--background);display:flex;justify-content:center;min-height:100vh;padding:20px}.reset-card{background-color:var(--surface);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 4px 24px var(--shadow);max-width:420px;padding:40px;width:100%}.reset-logo{margin-bottom:32px;text-align:center}.reset-logo img{height:auto;max-width:200px}.reset-form h2{color:var(--text-primary);font-size:22px;font-weight:600;margin-bottom:8px;text-align:center}.reset-description{color:var(--text-secondary);margin-bottom:20px}.reset-description,.reset-error{font-size:14px;text-align:center}.reset-error{background-color:#fdecea;border-radius:8px;color:#d32f2f;margin-bottom:16px;padding:10px 14px}body.dark-theme .reset-error{background-color:#d32f2f26;color:#ef9a9a}.reset-form .form-group{margin-bottom:18px}.reset-form label{color:var(--text-primary);display:block;font-size:14px;font-weight:500;margin-bottom:6px}.reset-form input{background-color:var(--surface);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:15px;padding:10px 14px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.reset-form input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #e91e6326;outline:none}.password-requirements{background-color:var(--hover-bg);border-radius:8px;margin-bottom:18px;padding:12px}.requirement{align-items:center;color:var(--text-secondary);display:flex;font-size:13px;gap:8px;padding:3px 0;transition:color .2s ease}.requirement.valid{color:#4caf50}body.dark-theme .requirement.valid{color:#81c784}.reset-button{background-color:var(--primary-color);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;margin-top:8px;padding:12px;transition:background-color .2s ease,opacity .2s ease;width:100%}.reset-button:hover:not(:disabled){background-color:var(--primary-dark)}.reset-button:disabled{cursor:not-allowed;opacity:.6}.back-to-login{color:var(--primary-color);display:block;font-size:14px;margin-top:16px;text-align:center;text-decoration:none;transition:color .2s ease}.back-to-login:hover{color:var(--primary-dark);text-decoration:underline}.success-message{padding:20px 0;text-align:center}.success-message svg{margin-bottom:16px}.success-message h2{color:var(--text-primary);font-size:22px;font-weight:600;margin-bottom:8px}.success-message p{color:var(--text-secondary);font-size:14px;line-height:1.5;margin-bottom:24px}.reset-button-link{background-color:var(--primary-color);border-radius:8px;color:#fff;display:inline-block;font-size:15px;font-weight:600;padding:12px 32px;text-decoration:none;transition:background-color .2s ease}.reset-button-link:hover{background-color:var(--primary-dark)}@media (max-width:480px){.reset-card{padding:24px}.reset-logo img{max-width:160px}}.dashboard{max-width:1400px}.dashboard h2{color:var(--text-primary);font-size:28px;font-weight:700;margin-bottom:24px}.dashboard-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:24px}.dashboard-card{background-color:var(--surface);border-left:4px solid var(--primary-color);border-radius:12px;box-shadow:0 2px 8px var(--shadow);padding:24px;transition:transform .2s ease,box-shadow .2s ease}.dashboard-card:hover{box-shadow:0 4px 12px #e91e6333;transform:translateY(-4px)}.dashboard-card h3{color:var(--text-secondary);font-size:14px;font-weight:500;letter-spacing:.5px;margin-bottom:12px;text-transform:uppercase}.dashboard-value{color:var(--primary-color);font-size:32px;font-weight:700;margin:0}@media (max-width:768px){.dashboard h2{font-size:24px}.dashboard-grid{grid-template-columns:1fr}.dashboard-value{font-size:28px}}.user-form{background:var(--surface);border-radius:8px;box-shadow:0 2px 8px var(--shadow);max-width:none;padding:24px;width:100%}.user-form h3{color:var(--text-primary);font-size:20px;font-weight:600;margin:0 0 8px}.user-form .form-subtitle{color:var(--text-secondary);font-size:14px;margin:0 0 24px}.user-form h4{border-bottom:2px solid var(--border-color);color:var(--text-primary);font-size:16px;font-weight:600;margin:24px 0 16px;padding-bottom:8px}.user-form h4:first-of-type{margin-top:0}.error-message{background-color:#ffebee;border-radius:4px;color:#c62828;font-size:14px;margin-bottom:16px;padding:12px}body.dark-theme .error-message{background-color:#ef444426;color:#fca5a5}.user-form .form-row{grid-gap:16px;display:grid!important;gap:16px;grid-template-columns:repeat(6,1fr)!important;margin-bottom:16px;width:100%}.user-form .form-group{display:flex;flex-direction:column;grid-column:span 2}.user-form .form-group.full-width{grid-column:1/-1}.user-form .form-group.span-1{grid-column:span 1!important}.user-form .form-group.span-2{grid-column:span 2!important}.user-form .form-group.span-3{grid-column:span 3!important}.user-form .form-row.four-columns{grid-template-columns:repeat(4,minmax(0,1fr))!important}.user-form .form-row.four-columns .form-group{grid-column:span 1!important;min-width:0}.user-form .form-row.four-columns .form-group input{min-width:0}.form-group label{color:var(--text-primary);font-size:14px;font-weight:500;margin-bottom:6px}.form-group input,.form-group select,.form-group textarea{background-color:var(--surface);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-family:inherit;font-size:14px;padding:10px 12px;transition:border-color .2s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary-color);outline:none}.form-group input:disabled,.form-group input[readonly],.form-group select:disabled,.form-group textarea:disabled,.form-group textarea[readonly]{background-color:var(--hover-bg);color:var(--text-secondary);cursor:not-allowed;opacity:.8}body.dark-theme .form-group input[type=date]::-webkit-calendar-picker-indicator,body.dark-theme .form-group input[type=datetime-local]::-webkit-calendar-picker-indicator{cursor:pointer;filter:invert(1)}.form-group textarea{min-height:80px;resize:vertical}.form-actions{border-top:1px solid var(--border-color);display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:24px}.btn-primary,.btn-secondary{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 24px;transition:all .2s ease}.btn-primary:hover:not(:disabled){background-color:var(--primary-dark)}.btn-primary:disabled{opacity:.6}.btn-secondary{border:1px solid var(--border-color);color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background-color:var(--hover-bg);opacity:.8}@media (max-width:900px){.user-form .form-row{grid-template-columns:repeat(6,1fr)!important}.user-form .form-row.four-columns{grid-template-columns:repeat(4,minmax(0,1fr))!important}}@media (max-width:768px){.user-form .form-row,.user-form .form-row.four-columns{grid-template-columns:repeat(2,1fr)!important}.user-form .form-group,.user-form .form-group.span-1,.user-form .form-group.span-2,.user-form .form-group.span-3{grid-column:span 1!important}}@media (max-width:480px){.user-form .form-row,.user-form .form-row.four-columns{grid-template-columns:1fr!important}}.modal-overlay{align-items:center;animation:fadeIn .2s ease;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{animation:slideUp .3s ease;background:#fff;border-radius:8px;box-shadow:0 4px 24px #00000026;max-width:500px;min-width:400px}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{border-bottom:1px solid #e0e0e0;border-radius:8px 8px 0 0;padding:20px 24px}.modal-header.danger{background-color:#ffebee;border-bottom-color:#ffcdd2}.modal-header.warning{background-color:#fff3e0;border-bottom-color:#ffe0b2}.modal-header.info{background-color:#e3f2fd;border-bottom-color:#bbdefb}.modal-header h3{color:var(--text-primary);font-size:18px;font-weight:600;margin:0}.modal-body{padding:24px}.modal-body p{color:var(--text-secondary);font-size:15px;line-height:1.6;margin:0}.modal-footer{border-top:1px solid #e0e0e0;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.modal-footer .btn-secondary{background-color:var(--hover-bg);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s ease}.modal-footer .btn-secondary:hover{background-color:#eee}.modal-footer .btn-danger{background-color:#d32f2f;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s ease}.modal-footer .btn-danger:hover{background-color:#c62828}.modal-footer .btn-warning{background-color:#f57c00;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s ease}.modal-footer .btn-warning:hover{background-color:#ef6c00}.modal-footer .btn-info{background-color:#1976d2;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s ease}.modal-footer .btn-info:hover{background-color:#1565c0}@media (max-width:768px){.modal-content{max-width:90%;min-width:300px}.modal-body,.modal-footer,.modal-header{padding:16px}}.action-btn{align-items:center;border:none;border-radius:4px;cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;gap:0;justify-content:center;min-height:28px;min-width:28px;padding:6px;transition:all .2s ease;white-space:nowrap}.action-btn:disabled{cursor:not-allowed;opacity:.5}.btn-icon{align-items:center;display:flex;flex-shrink:0;font-size:14px;line-height:1}.btn-text{display:none}.action-btn-detail{background-color:#00897b;color:#fff}.action-btn-detail:hover:not(:disabled){background-color:#00acc1}.action-btn-metrics{background-color:#7b1fa2;color:#fff}.action-btn-metrics:hover:not(:disabled){background-color:#8e24aa}.action-btn-edit{background-color:#1565c0;color:#fff}.action-btn-edit:hover:not(:disabled){background-color:#1976d2}.action-btn-delete{background-color:#c62828;color:#fff}.action-btn-delete:hover:not(:disabled){background-color:#d32f2f}.action-btn-primary{background-color:var(--primary-color);color:#fff}.action-btn-primary:hover:not(:disabled){background-color:var(--primary-dark)}body.dark-theme .action-btn-detail{background-color:#00acc1}body.dark-theme .action-btn-detail:hover:not(:disabled){background-color:#26c6da}body.dark-theme .action-btn-metrics{background-color:#9c27b0}body.dark-theme .action-btn-metrics:hover:not(:disabled){background-color:#ab47bc}body.dark-theme .action-btn-edit{background-color:#1976d2}body.dark-theme .action-btn-edit:hover:not(:disabled){background-color:#2196f3}body.dark-theme .action-btn-delete{background-color:#d32f2f}body.dark-theme .action-btn-delete:hover:not(:disabled){background-color:#f44336}@media (max-width:480px){.action-btn{min-height:40px;min-width:40px;padding:10px}.btn-icon{font-size:18px}}.users-page{max-width:1400px}.users-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.users-header h2{color:var(--text-primary);font-size:28px;font-weight:700;margin:0}.btn-clear-filters:hover{background-color:var(--border-color)}.users-content{background:var(--surface);border-radius:8px;box-shadow:0 2px 8px var(--shadow);overflow:hidden}.users-table{border-collapse:collapse;width:100%}.users-table thead{background-color:var(--hover-bg)}.users-table th{color:var(--text-secondary);font-size:13px;font-weight:600;letter-spacing:.5px;padding:14px 16px;text-align:left;text-transform:uppercase}.users-table td,.users-table th{border-bottom:1px solid var(--border-color)}.users-table td{color:var(--text-primary);font-size:14px;padding:16px}.users-table tbody tr:hover{background-color:var(--hover-bg)}.users-table tbody tr:last-child td{border-bottom:none}.metrics-panel{animation:slideIn .3s ease-out;background:var(--surface);box-shadow:-4px 0 16px var(--shadow);display:flex;flex-direction:column;height:100vh;position:fixed;right:0;top:0;width:400px;z-index:1000}@keyframes slideIn{0%{transform:translateX(100%)}to{transform:translateX(0)}}.metrics-panel-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:20px 24px}.metrics-panel-header h3{color:var(--text-primary);font-size:20px;font-weight:600;margin:0}.btn-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:24px;line-height:1;padding:4px 8px;transition:color .2s ease}.btn-close:hover{color:var(--text-primary)}.metrics-panel-content{flex:1 1;overflow-y:auto;padding:24px}.metrics-cards{display:flex;flex-direction:column;gap:20px}.metric-card{padding:20px}@media (max-width:768px){.users-header{align-items:flex-start;flex-direction:column;gap:16px}.tabs{overflow-x:auto;width:100%}.tab{white-space:nowrap}.filters{flex-direction:column}.filter-group{min-width:auto;width:100%}.btn-clear-filters{width:100%}.users-table{font-size:12px}.users-table td,.users-table th{padding:12px 8px}.metrics-panel{max-width:100%;width:100%}.metric-value{font-size:28px}}.note-form{background:var(--surface);border:2px solid var(--primary-color);border-radius:8px;margin-bottom:16px;padding:12px}.form-row{align-items:flex-end;display:flex;gap:12px}.form-group-inline{display:flex;flex:1 1;flex-direction:column;min-width:150px}.form-group-inline label{color:var(--text-primary);display:block;font-size:12px;font-weight:600;margin-bottom:4px;white-space:nowrap}.note-form .required{color:#c62828;margin-left:2px}.note-form .form-control{background-color:var(--background);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-family:inherit;font-size:13px;padding:8px;transition:all .2s ease;width:100%}.note-form .form-control:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px #e91e631a;outline:none}.note-form textarea.form-control{min-height:50px;resize:vertical}.note-form select.form-control{min-height:36px}.note-form .form-control::placeholder{color:var(--text-secondary);font-size:12px}.form-actions-inline{display:flex;flex-direction:column;flex-shrink:0;gap:6px}.btn-cancel{background-color:var(--hover-bg);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:all .2s ease;white-space:nowrap}.btn-cancel:hover{background-color:var(--border-color)}.btn-cancel:disabled{cursor:not-allowed;opacity:.5}.btn-submit{background-color:var(--primary-color);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:background-color .2s ease;white-space:nowrap}.btn-submit:hover{background-color:var(--primary-dark)}.btn-submit:disabled{cursor:not-allowed;opacity:.5}@media (max-width:1024px){.form-row{flex-wrap:wrap}.form-group-inline{min-width:200px}}@media (max-width:768px){.note-form{padding:12px}.form-row{align-items:stretch;flex-direction:column}.form-group-inline{width:100%}.form-actions-inline{flex-direction:row;width:100%}.btn-cancel,.btn-submit{flex:1 1}}.investor-notes{width:100%}.notes-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.notes-header h3{color:var(--text-primary);font-size:20px;font-weight:600;margin:0}.note-form-container{margin-bottom:24px}.empty-notes{background:var(--background);border:2px dashed var(--border-color);border-radius:8px;color:var(--text-secondary);padding:48px 24px;text-align:center}.empty-notes p{margin:8px 0}.notes-table-container{overflow-x:auto;width:100%}.notes-table{background:var(--background);border:1px solid var(--border-color);border-collapse:collapse;border-radius:8px;width:100%}.notes-table thead{background-color:var(--hover-bg)}.notes-table th{border-bottom:2px solid var(--border-color);color:var(--text-secondary);font-size:12px;font-weight:600;letter-spacing:.5px;padding:12px;text-align:left;text-transform:uppercase;white-space:nowrap}.notes-table td{border-bottom:1px solid var(--border-color);color:var(--text-primary);font-size:13px;padding:12px;vertical-align:top}.notes-table tbody tr:hover{background-color:var(--hover-bg)}.notes-table tbody tr:last-child td{border-bottom:none}.note-fecha{font-size:12px}.note-fecha,.note-responsable{white-space:nowrap}.note-categoria{border-radius:12px;font-size:12px;font-weight:600;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase}.categoria-blue{background-color:#e3f2fd;color:#1565c0}.categoria-green{background-color:#e8f5e9;color:#2e7d32}.categoria-purple{background-color:#f3e5f5;color:#7b1fa2}.categoria-orange{background-color:#fff3e0;color:#f57c00}.categoria-teal{background-color:#e0f2f1;color:#00897b}.categoria-indigo{background-color:#e8eaf6;color:#3f51b5}.categoria-red{background-color:#ffebee;color:#c62828}.categoria-yellow{background-color:#fffde7;color:#f9a825}.categoria-gray{background-color:#f5f5f5;color:#616161}body.dark-theme .categoria-blue{background-color:#1565c0;color:#e3f2fd}body.dark-theme .categoria-green{background-color:#2e7d32;color:#e8f5e9}body.dark-theme .categoria-purple{background-color:#7b1fa2;color:#f3e5f5}body.dark-theme .categoria-orange{background-color:#f57c00;color:#fff3e0}body.dark-theme .categoria-teal{background-color:#00897b;color:#e0f2f1}body.dark-theme .categoria-indigo{background-color:#3f51b5;color:#e8eaf6}body.dark-theme .categoria-red{background-color:#c62828;color:#ffebee}body.dark-theme .categoria-yellow{background-color:#f9a825;color:#fffde7}body.dark-theme .categoria-gray{background-color:#616161;color:#f5f5f5}.note-author{align-items:center;display:flex;gap:6px}.note-comentario-cell{word-wrap:break-word;max-width:400px;white-space:pre-wrap}.note-proximo-paso-cell{word-wrap:break-word;max-width:300px;white-space:pre-wrap}.note-actions-cell{white-space:nowrap}.note-actions{display:flex;gap:8px}@media (max-width:768px){.notes-header{align-items:flex-start;flex-direction:column;gap:12px}.notes-table{font-size:12px}.notes-table td,.notes-table th{padding:8px}.note-comentario-cell,.note-proximo-paso-cell{max-width:200px}}.investor-investments{width:100%}.investments-header{margin-bottom:16px}.investments-header h3{color:var(--text-primary);font-size:20px;font-weight:600;margin:0}.investments-table-container{overflow-x:auto;width:100%}.investments-table{background:var(--background);border:1px solid var(--border-color);border-collapse:collapse;border-radius:8px;width:100%}.investments-table thead{background-color:var(--hover-bg)}.investments-table th{border-bottom:2px solid var(--border-color);color:var(--text-secondary);font-size:12px;font-weight:600;letter-spacing:.5px;padding:12px;text-align:left;text-transform:uppercase;white-space:nowrap}.investments-table td{border-bottom:1px solid var(--border-color);color:var(--text-primary);font-size:13px;padding:12px;vertical-align:middle}.investments-table tbody tr:hover{background-color:var(--hover-bg)}.investments-table tbody tr:last-child td{border-bottom:none}.investment-id{color:var(--text-secondary);font-family:monospace;font-weight:600}.investments-table td.amount{font-weight:500;text-align:right}.investments-table td.percentage{color:var(--primary-color);font-weight:600;text-align:center}.investment-status{border-radius:12px;display:inline-block;font-size:11px;font-weight:600;padding:4px 10px;text-align:center;white-space:nowrap}.status-pdte-contrato{background-color:#fff3e0;color:#f57c00}.status-liquidado{background-color:#f5f5f5;color:#616161}.status-pdte-firma,.status-pdte-transferencia{background-color:#fff3e0;color:#f57c00}.status-rechazado{background-color:#ffebee;color:#c62828}.status-en-expansion{background-color:#e3f2fd;color:#1565c0}body.dark-theme .status-prospecto{background-color:#374151;color:#f3f4f6}body.dark-theme .status-pdte-contrato{background-color:#f57c00;color:#fff3e0}body.dark-theme .status-activo{background-color:#2e7d32;color:#e8f5e9}body.dark-theme .status-liquidado{background-color:#616161;color:#f5f5f5}body.dark-theme .status-pdte-firma,body.dark-theme .status-pdte-transferencia{background-color:#f57c00;color:#fff3e0}body.dark-theme .status-devuelto-principal{background-color:#854d0e;color:#fef9c3}body.dark-theme .status-rechazado{background-color:#c62828;color:#ffebee}body.dark-theme .status-en-expansion{background-color:#1565c0;color:#e3f2fd}.empty-investments{background:var(--background);border:2px dashed var(--border-color);border-radius:8px;color:var(--text-secondary);padding:48px 24px;text-align:center}.empty-investments p{margin:0}@media (max-width:1200px){.investments-table{font-size:12px}.investments-table td,.investments-table th{padding:10px 8px}}@media (max-width:768px){.investments-table{font-size:11px}.investments-table td,.investments-table th{padding:8px 6px}.investment-id{font-size:10px}}.investor-detail-page{margin:0 auto;max-width:1400px}.page-header{border-bottom:2px solid var(--border-color);justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.header-left,.page-header{align-items:center;display:flex}.header-left{gap:16px}.page-header h2{color:var(--text-primary);font-size:28px;font-weight:700;margin:0}.header-actions{display:flex;gap:12px}.page-content{display:flex;flex-direction:column;gap:32px}.detail-section{background:var(--surface);border-radius:8px;box-shadow:0 2px 8px var(--shadow);padding:24px}.detail-section h3{border-bottom:2px solid var(--primary-color);color:var(--text-primary);font-size:20px;font-weight:600;margin:0 0 20px;padding-bottom:12px}.info-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.info-item{display:flex;flex-direction:column;gap:6px}.info-label{color:var(--text-secondary);font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.info-value{color:var(--text-primary);font-size:15px;font-weight:500}.info-item .status-badge{align-self:flex-start;border-radius:12px;display:inline-block;font-size:12px;font-weight:600;padding:4px 12px;text-align:center}.status-prospecto{background-color:#fff3e0;color:#f57c00}.status-activo{background-color:#e8f5e9;color:#2e7d32}.status-histórico{background-color:#f5f5f5;color:#616161}.metrics-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.metric-card{background:var(--background);border:1px solid var(--border-color);border-radius:12px;padding:24px;transition:all .2s ease}.metric-card:hover{box-shadow:0 4px 12px var(--shadow);transform:translateY(-2px)}.metric-label{color:var(--text-secondary);font-size:13px;font-weight:600;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.metric-value{color:var(--text-primary);font-size:32px;font-weight:700;line-height:1.2;margin-bottom:8px}.metric-value.primary{color:var(--primary-color)}.metric-description{color:var(--text-secondary);font-size:13px;line-height:1.5}.notes-section{background:#0000;box-shadow:none;padding:0}.error,.loading{color:var(--text-secondary);font-size:16px;padding:48px;text-align:center}.error{color:#c62828}@media (max-width:768px){.page-header{align-items:flex-start;flex-direction:column;gap:16px}.header-left{flex-wrap:wrap;width:100%}.page-header h2{font-size:22px}.header-actions{width:100%}.info-grid,.metrics-grid{grid-template-columns:1fr}.metric-value{font-size:28px}.detail-section{padding:16px}}.phases-section{border:1px solid var(--border-color);border-radius:8px;margin-top:24px;overflow:hidden}.phases-header{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:12px 16px;-webkit-user-select:none;user-select:none}.phases-header,.phases-header:hover{background-color:var(--hover-bg)}.phases-header h4{align-items:center;border:none;display:flex;gap:8px;margin:0;padding:0}.expand-icon{display:inline-block;font-size:10px;transition:transform .2s ease}.expand-icon.expanded{transform:rotate(90deg)}.btn-add-phase{background-color:var(--primary-color);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;font-weight:500;padding:6px 12px;transition:background-color .2s ease}.btn-add-phase:hover{background-color:var(--primary-dark)}.phases-content{border-top:1px solid var(--border-color);padding:16px}.no-phases{color:var(--text-secondary);font-size:14px;margin:0;padding:24px;text-align:center}.phases-table{border-collapse:collapse;font-size:14px;width:100%}.phases-table td,.phases-table th{border-bottom:1px solid var(--border-color);padding:10px 12px;text-align:left}.phases-table th{color:var(--text-primary);font-weight:600}.phases-table tbody tr:hover,.phases-table th{background-color:var(--hover-bg)}.phases-table tbody tr:last-child td{border-bottom:none}.btn-action{background-color:var(--surface);border:1px solid var(--border-color);border-radius:4px;cursor:pointer;font-size:12px;margin-right:6px;padding:4px 10px;transition:all .2s ease}.btn-action:hover{background-color:var(--hover-bg)}.btn-action.btn-delete{background-color:#ef4444;border-color:#ef4444;color:#fff}.btn-action.btn-delete:hover{background-color:#dc2626;border-color:#dc2626}.phase-actions{display:flex;gap:8px;justify-content:flex-start}.phases-header .action-btn{padding:6px 12px}.phase-form{max-width:800px}.products-page{max-width:1400px}.products-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.products-header h2{color:var(--text-primary);font-size:28px;font-weight:700;margin:0}.filters-container{margin-bottom:24px}.filters{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.filter-group{flex:1 1;min-width:200px}.filter-input{border-radius:6px;font-family:inherit;font-size:14px;padding:10px 14px;transition:all .2s ease;width:100%}.filter-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #e91e631a}.filter-input::placeholder{color:var(--text-secondary)}.btn-clear-filters{background-color:var(--hover-bg);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s ease}.btn-clear-filters:hover{background-color:#eee}.products-content{background:var(--surface);border-radius:8px;box-shadow:0 2px 8px var(--shadow);overflow:hidden}.products-table{border-collapse:collapse;width:100%}.products-table thead{background-color:var(--hover-bg)}.products-table th{color:var(--text-secondary);font-size:13px;font-weight:600;letter-spacing:.5px;padding:14px 16px;text-align:left;text-transform:uppercase}.products-table td,.products-table th{border-bottom:1px solid var(--border-color)}.products-table td{color:var(--text-primary);font-size:14px;padding:16px}.products-table tbody tr:hover{background-color:var(--hover-bg)}.products-table tbody tr:last-child td{border-bottom:none}.products-table .id-cell{color:var(--primary-color);font-weight:600}.actions{gap:8px}.btn-delete,.btn-edit{border:none;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;padding:6px 12px;transition:all .2s ease}.btn-edit{background-color:#e3f2fd;color:#1976d2}.btn-edit:hover{background-color:#bbdefb}.btn-delete{background-color:#ffebee;color:#c62828}.btn-delete:hover{background-color:#ffcdd2}.form-container{padding:24px}.btn-primary{background-color:var(--primary-color);font-size:14px;padding:10px 24px;transition:background-color .2s ease}.btn-primary:hover{background-color:var(--primary-dark)}.status-badge{border-radius:12px;font-size:12px;padding:4px 12px;text-align:center}.status-en-captacion{background-color:#e3f2fd;color:#1565c0}.status-captado{background-color:#e8f5e9;color:#2e7d32}.status-en-devolucion{background-color:#fff3e0;color:#f57c00}.status-cerrado{background-color:var(--hover-bg);color:#616161}.status-activa{background-color:#e8f5e9;color:#2e7d32}.status-en-liquidacion{background-color:#fff3e0;color:#f57c00}.status-liquidada{background-color:var(--hover-bg);color:#616161}@media (max-width:768px){.products-header{align-items:flex-start;flex-direction:column;gap:16px}.tabs{overflow-x:auto;width:100%}.tab{white-space:nowrap}.filters{flex-direction:column}.filter-group{min-width:auto;width:100%}.btn-clear-filters{width:100%}.products-table{font-size:12px}.products-table td,.products-table th{padding:12px 8px}}.investor-autocomplete{position:relative;width:100%}.investor-autocomplete input{background-color:var(--surface);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-family:inherit;font-size:14px;padding:10px 14px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.investor-autocomplete input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #e91e631a;outline:none}.investor-dropdown{background-color:var(--surface);border:1px solid var(--border-color);border-radius:0 0 6px 6px;border-top:none;box-shadow:0 4px 8px var(--shadow);left:0;margin-top:-1px;max-height:250px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.investor-option{color:var(--text-primary);cursor:pointer;font-size:14px;padding:10px 14px;transition:background-color .15s ease}.investor-option:hover{background-color:var(--hover-bg)}.investor-option.selected{background-color:#e91e631a;color:var(--primary-color);font-weight:500}.investor-option.no-results{color:var(--text-secondary);cursor:default;font-style:italic}.investor-option.no-results:hover{background-color:initial}.investor-dropdown::-webkit-scrollbar{width:8px}.investor-dropdown::-webkit-scrollbar-track{background:var(--hover-bg)}.investor-dropdown::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.investor-dropdown::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.pdf-upload{display:flex;flex-direction:column;gap:.5rem}.pdf-upload-label{color:#374151;font-size:.875rem;font-weight:600}.pdf-upload-empty{align-items:center;display:flex;gap:.5rem}.pdf-upload-has-file{align-items:center;display:flex;gap:.75rem}.pdf-upload-file-badge{align-items:center;background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;display:inline-flex;font-size:.8rem;font-weight:500;gap:.35rem;padding:.3rem .65rem}.pdf-upload-file-badge .pdf-icon{font-size:1rem}.pdf-upload-actions{align-items:center;display:flex;gap:.4rem}.btn-pdf{align-items:center;border:none;border-radius:6px;cursor:pointer;display:inline-flex;font-size:.8rem;font-weight:500;gap:.35rem;padding:.4rem .75rem;transition:background-color .15s,box-shadow .15s;white-space:nowrap}.btn-pdf:hover{box-shadow:0 1px 3px #00000026}.btn-choose{background-color:#f3f4f6;border:1px dashed #9ca3af;border-radius:6px;color:#374151;font-weight:400;max-width:220px;overflow:hidden;text-overflow:ellipsis}.btn-choose:hover{background-color:#e5e7eb;border-color:#6b7280}.btn-upload{background-color:#16a34a;color:#fff}.btn-upload:hover{background-color:#15803d}.btn-view{background-color:#2563eb;color:#fff}.btn-view:hover{background-color:#1d4ed8}.btn-pdf:disabled{box-shadow:none;cursor:not-allowed;opacity:.6}@keyframes spin{to{transform:rotate(1turn)}}.spin{animation:spin 1s linear infinite}.pdf-upload-message{color:#6b7280;font-size:.8rem;font-style:italic}.pdf-upload-error{color:#ef4444;font-size:.8rem}.investment-sheets-page{max-width:1400px}.investment-sheets-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.investment-sheets-header h2{color:var(--text-primary);font-size:1.75rem;margin:0}.tabs{gap:.5rem;margin-bottom:1.5rem}.tab{font-size:1rem;padding:.75rem 1.5rem;transition:all .2s}.tab:hover{background-color:var(--hover-bg)}.tab.active{background-color:#2563eb1a;border-bottom-color:#2563eb;color:#2563eb}.filter-select{background:var(--surface);border:1px solid #d1d5db;border-radius:4px;font-size:.875rem;padding:.5rem}.filter-select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a;outline:none}.btn-clear-filters:hover{background-color:var(--hover-bg)}.investment-sheets-content{background:var(--surface);border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:1.5rem}.investment-sheets-table{border-collapse:collapse;width:100%}.investment-sheets-table thead{background-color:var(--hover-bg);border-bottom:2px solid var(--border-color)}.investment-sheets-table th{color:var(--text-secondary);font-size:.875rem;font-weight:600;padding:.75rem 1rem;text-align:left;white-space:nowrap}.investment-sheets-table td{border-bottom:1px solid var(--border-color);color:var(--text-primary);font-size:.875rem;padding:.75rem 1rem}.investment-sheets-table tbody tr:hover{background-color:var(--hover-bg)}.status-badge{border-radius:9999px;display:inline-block;font-size:.75rem;font-weight:600;padding:.25rem .75rem;text-transform:uppercase;white-space:nowrap}.status-prospecto{background-color:#f3f4f6;color:#374151}.status-pdte-contrato{background-color:#fef3c7;color:#92400e}.status-pdte-firma{background-color:#dbeafe;color:#1e40af}.status-pdte-transferencia{background-color:#fce7f3;color:#9f1239}.status-activo{background-color:#d1fae5;color:#065f46}.status-devuelto-principal{background-color:#fef9c3;color:#854d0e}.status-liquidado{background-color:#e0e7ff;color:#3730a3}.status-rechazado{background-color:#fee2e2;color:#991b1b}.movements-page{max-width:1400px}.movements-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.movements-header h2{color:var(--text-primary);font-size:1.75rem;margin:0}.filters-container{background:var(--surface);border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-bottom:1.5rem;padding:1.5rem}.filters{grid-gap:1rem;align-items:end;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.filter-group{display:flex;flex-direction:column}.filter-input{background-color:var(--surface);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-size:.875rem;padding:.5rem}.filter-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a;outline:none}.btn-clear-filters{background-color:var(--text-secondary);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:background-color .2s;white-space:nowrap}.btn-clear-filters:hover{background-color:#4b5563}.movements-content{background:var(--surface);border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:1.5rem}.movements-table{border-collapse:collapse;font-size:.875rem;width:100%}.movements-table thead{background-color:var(--hover-bg);border-bottom:2px solid var(--border-color)}.movements-table th{color:var(--text-secondary);font-size:.875rem;font-weight:600;padding:.75rem .5rem;text-align:left;white-space:nowrap}.movements-table td{border-bottom:1px solid var(--border-color);color:var(--text-primary);font-size:.875rem;padding:.75rem .5rem}.movements-table tbody tr:hover{background-color:var(--hover-bg)}.id-cell{color:var(--primary-color);font-weight:600}.currency-cell,.id-cell{font-family:Courier New,monospace;white-space:nowrap}.currency-cell{text-align:right}.currency-cell.positive{color:#10b981;font-weight:500}.currency-cell.negative{color:#ef4444;font-weight:500}.currency-cell.bold{font-size:.9rem;font-weight:700}.tipo-badge{background-color:#eff6ff;border-radius:4px;color:#1e40af;display:inline-block;font-size:.75rem;font-weight:500;padding:.25rem .75rem;white-space:nowrap}.actions{display:flex;gap:.5rem;justify-content:flex-end}.btn-primary{background-color:#2563eb;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:.625rem 1.25rem;transition:background-color .2s}.btn-primary:hover{background-color:#1d4ed8}.btn-primary:disabled{background-color:#9ca3af;cursor:not-allowed}.btn-secondary{background-color:var(--hover-bg);border:1px solid #d1d5db;border-radius:6px;color:var(--text-secondary);cursor:pointer;font-weight:500;padding:.625rem 1.25rem;transition:all .2s}.btn-secondary:hover{background-color:#e5e7eb}.btn-edit{background-color:#3b82f6;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.875rem;padding:.375rem .75rem;transition:background-color .2s}.btn-edit:hover{background-color:#2563eb}.btn-delete{background-color:#ef4444;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.875rem;padding:.375rem .75rem;transition:background-color .2s}.btn-delete:hover{background-color:#dc2626}.empty-state,.loading{font-size:1.125rem;padding:3rem}.empty-state{color:#9ca3af}.form-container{padding:1rem}.amortization-page{display:flex;flex-direction:column;max-width:100%;overflow-x:hidden;width:100%}.amortization-header{align-items:center;display:flex;flex-shrink:0;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:24px}.amortization-header h2{color:var(--text-primary);font-size:28px;font-weight:700;margin:0}.amortization-controls{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.product-selector{background-color:var(--surface);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);cursor:pointer;font-family:inherit;font-size:14px;min-width:250px;padding:10px 14px}.product-selector:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #e91e631a;outline:none}.btn-export{background-color:#2e7d32;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:background-color .2s ease;white-space:nowrap}.btn-export:hover{background-color:#1b5e20}.btn-export:disabled{background-color:#9e9e9e;cursor:not-allowed}.tabs{border-bottom:2px solid var(--border-color);display:flex;flex-shrink:0;gap:8px;margin-bottom:16px}.tab{background:none;border:none;border-bottom:3px solid #0000;color:var(--text-secondary);cursor:pointer;font-size:15px;font-weight:500;margin-bottom:-2px;padding:12px 24px;transition:all .2s ease}.tab:hover{color:var(--text-primary)}.tab.active{border-bottom-color:var(--primary-color);color:var(--primary-color)}.data-tabs{border-bottom:1px solid var(--border-color);flex-shrink:0;margin-bottom:20px;margin-top:-8px}.data-tabs .tab{font-size:14px;padding:10px 20px}.amortization-content{background:var(--surface);border-radius:8px;box-shadow:0 2px 8px var(--shadow);overflow-x:hidden;padding:16px}.phase-section{margin-bottom:24px;max-width:100%;overflow:hidden;width:100%}.phase-table-wrapper{background:var(--surface);display:block;max-width:100%;overflow-x:auto;overflow-y:visible;width:100%}.grand-total-section{margin-top:12px}.amortization-table{border-collapse:collapse;min-width:100%;width:-webkit-max-content;width:max-content}.amortization-table td,.amortization-table th{border-bottom:1px solid var(--border-color);font-size:13px;padding:10px 12px;white-space:nowrap}.amortization-table th{background-color:var(--hover-bg);color:var(--text-secondary);font-size:11px;font-weight:600;letter-spacing:.3px;position:-webkit-sticky;position:sticky;text-align:left;text-transform:uppercase;top:0;z-index:2}.amortization-table td{background-color:var(--surface);color:var(--text-primary)}.amortization-table td:first-child,.amortization-table th:first-child{left:0;position:-webkit-sticky;position:sticky;z-index:3}.amortization-table thead th:first-child{background-color:var(--hover-bg);z-index:4}.amortization-table tbody tr.investor-row td:first-child{background-color:var(--surface)}.amortization-table td:nth-child(2),.amortization-table th:nth-child(2){left:40px;position:-webkit-sticky;position:sticky;z-index:3}.amortization-table thead th:nth-child(2){background-color:var(--hover-bg);z-index:4}.amortization-table tbody tr.investor-row td:nth-child(2){background-color:var(--surface)}.amortization-table td:nth-child(3),.amortization-table th:nth-child(3){left:220px;position:-webkit-sticky;position:sticky;z-index:3}.amortization-table thead th:nth-child(3){background-color:var(--hover-bg);z-index:4}.amortization-table tbody tr.investor-row td:nth-child(3){background-color:var(--surface)}.amortization-table .phase-header-row td:first-child,.amortization-table .phase-header-row td:nth-child(2),.amortization-table .phase-header-row td:nth-child(3){background-color:var(--primary-color)!important}.amortization-table .subtotal-row td:first-child,.amortization-table .subtotal-row td:nth-child(2),.amortization-table .subtotal-row td:nth-child(3){background-color:#e3f2fd!important}.amortization-table .grand-total-row td:first-child,.amortization-table .grand-total-row td:nth-child(2),.amortization-table .grand-total-row td:nth-child(3){background-color:#fff3e0!important}.amortization-table .col-num{text-align:center;width:40px}.amortization-table .col-name{max-width:180px;min-width:180px;width:180px}.amortization-table .col-currency,.amortization-table .col-date,.amortization-table .col-percent,.amortization-table .col-period{text-align:right}.amortization-table .col-currency{min-width:100px}.amortization-table .col-percent{min-width:80px}.amortization-table .col-date{min-width:100px}.amortization-table .col-period{min-width:80px}.phase-header-row td{background-color:var(--primary-color)!important;border-bottom:2px solid var(--primary-color);color:#fff;font-size:14px;font-weight:700;padding:12px}.phase-header-row td.phase-header-text{left:0;position:-webkit-sticky;position:sticky;z-index:5}.amortization-table tbody tr.investor-row:hover td,.amortization-table tbody tr.investor-row:hover td:first-child,.amortization-table tbody tr.investor-row:hover td:nth-child(2),.amortization-table tbody tr.investor-row:hover td:nth-child(3){background-color:var(--hover-bg)}.subtotal-row td{background-color:#e3f2fd!important;border-bottom:2px solid #bbdefb;color:#1565c0;font-weight:700}.grand-total-row td{background-color:#fff3e0!important;border-bottom:none;border-top:3px solid #ffb74d;color:#e65100;font-size:14px;font-weight:700}.amortization-table .col-name:after,.amortization-table .col-num:after,.amortization-table td:nth-child(3):after,.amortization-table th:nth-child(3):after{background:linear-gradient(90deg,#00000014,#0000);bottom:0;content:"";pointer-events:none;position:absolute;right:0;top:0;width:1px}.empty-state,.loading{color:var(--text-secondary);font-size:16px;padding:48px;text-align:center}@media (max-width:768px){.amortization-header{align-items:flex-start;flex-direction:column}.amortization-controls{flex-direction:column;width:100%}.product-selector{min-width:auto;width:100%}.btn-export{width:100%}.data-tabs,.tabs{overflow-x:auto;width:100%}.tab{white-space:nowrap}}.App{min-height:100vh}
/*# sourceMappingURL=main.c09b2877.css.map*/