:root{--bg-page:#f5f5f5;--bg-surface:#fff;--bg-surface-alt:#f8f9fa;--bg-surface-sunken:#f3f4f6;--text-primary:#1a1a1a;--text-secondary:#495057;--text-muted:#6c757d;--text-on-brand:#fff;--border:#e1e1e1;--border-strong:#cbd2d9;--brand:#88b343;--brand-hover:#6d8f35;--brand-bg:#f0f7e6;--brand-bg-hover:#e5f0d8;--brand-text:#4a7a23;--link:#007bff;--link-hover:#0056b3;--success:#28a745;--success-bg:#d4edda;--success-text:#155724;--danger:#dc3545;--danger-hover:#c82333;--danger-bg:#f8d7da;--danger-text:#721c24;--warning:#ffc107;--warning-bg:#fff3cd;--warning-text:#856404;--info:#3498db;--info-hover:#2980b9;--info-bg:#d1ecf1;--info-text:#0c5460;--warning-hover:#d68910;--neutral-btn:#6c757d;--neutral-btn-hover:#5a6268;--shadow:#0000001a;--shadow-strong:#00000026;--overlay:#00000080;--partner:var(--brand);color-scheme:light}[data-theme=dark]{--bg-page:#101215;--bg-surface:#1a1c21;--bg-surface-alt:#22252b;--bg-surface-sunken:#16181c;--text-primary:#f2f3f5;--text-secondary:#c3c6cc;--text-muted:#8a8f98;--text-on-brand:#0d1a04;--border:#2d3138;--border-strong:#3d424b;--brand:#9bcf52;--brand-hover:#aedb69;--brand-bg:#26311a;--brand-bg-hover:#2f3d21;--brand-text:#b6e078;--link:#5aa2ff;--link-hover:#7fb6ff;--success:#3ecf6a;--success-bg:#16321f;--success-text:#7be39a;--danger:#f2555a;--danger-hover:#f77a7e;--danger-bg:#3a1a1c;--danger-text:#ff9a9d;--warning:#f0b429;--warning-bg:#3a2f0f;--warning-text:#f3cd6b;--info:#4fb3e8;--info-hover:#6cc0ec;--info-bg:#12313f;--info-text:#8ed3f5;--warning-hover:#f5c04f;--neutral-btn:#4b5158;--neutral-btn-hover:#5c6269;--shadow:#0006;--shadow-strong:#0000008c;--overlay:#000000b3;color-scheme:dark}body{background-color:#f5f5f5;color:#1a1a1a}select optgroup,select option{background-color:#fff;background-color:var(--bg-surface);color:#1a1a1a;color:var(--text-primary)}.ln-loans{margin:0;max-width:none;padding:24px;width:100%}.ln-loans-header{align-items:flex-end;border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:24px;padding-bottom:18px}.ln-loans-header h1{color:var(--text-primary);font-family:IBM Plex Sans,sans-serif;font-size:24px;font-weight:600;letter-spacing:-.01em;margin:0}.ln-loans-stats{align-items:center;display:flex;flex-wrap:wrap;gap:20px}.ln-stat{align-items:baseline;color:var(--text-muted);display:flex;font-size:10.5px;gap:6px;letter-spacing:.09em;text-transform:uppercase}.ln-stat,.ln-stat strong{font-family:IBM Plex Mono,ui-monospace,monospace}.ln-stat strong{color:var(--brand);font-size:15px;letter-spacing:0;text-transform:none}.ln-filters-container{background:var(--bg-surface);border:1px solid var(--border);border-radius:2px;margin-bottom:20px;padding:20px}.ln-filters-wrapper{display:flex;flex-direction:column;gap:18px}.ln-filters{grid-gap:18px;align-items:end;display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.ln-filters-row-1{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.ln-filters-row-2{align-items:end;grid-template-columns:200px 200px 150px 150px 150px auto}@media (max-width:768px){.ln-filters-row-1,.ln-filters-row-2{grid-template-columns:1fr}.ln-filter-actions{justify-content:flex-start;width:100%}}.ln-filter-group{display:flex;flex-direction:column;gap:7px}.ln-filter-group-small{flex:0 1 150px;max-width:150px}.ln-filter-group label{color:var(--text-muted);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:10.5px;font-weight:500;letter-spacing:.1em;text-transform:uppercase}.ln-filter-group input,.ln-filter-group select{background:#0000;border:none;border-bottom:1px solid var(--border);border-radius:0;color:var(--text-primary);font-family:IBM Plex Sans,sans-serif;font-size:13.5px;padding:8px 2px;transition:border-color .2s ease,box-shadow .2s ease}.ln-filter-group select{cursor:pointer;padding:8px 4px}.ln-filter-group input:focus,.ln-filter-group select:focus{border-bottom-color:var(--brand);box-shadow:0 1px 0 0 var(--brand);outline:none}.ln-filter-group input[type=checkbox]{accent-color:var(--brand);border:none;height:15px;margin-right:4px;vertical-align:middle;width:15px}.ln-filter-group label:has(input[type=checkbox]){align-items:center;color:var(--text-primary);display:inline-flex;font-family:IBM Plex Sans,sans-serif;font-size:13.5px;font-weight:400;letter-spacing:normal;padding-bottom:9px;text-transform:none}.ln-filter-actions{align-items:end;display:flex;gap:10px}.ln-btn{align-items:center;border:1px solid #0000;border-radius:2px;cursor:pointer;display:inline-flex;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11.5px;font-weight:600;gap:7px;justify-content:center;letter-spacing:.08em;padding:9px 18px;text-decoration:none;text-transform:uppercase;transition:border-color .2s ease,color .2s ease,background-color .2s ease,transform .2s ease}.ln-btn svg{flex-shrink:0}.ln-btn-primary{background:var(--brand);border-color:var(--brand);color:var(--text-on-brand)}.ln-btn-primary:hover:not(:disabled){background:var(--brand-hover);border-color:var(--brand-hover)}.ln-btn-primary:disabled{cursor:not-allowed;opacity:.55}.ln-btn-secondary{background:#0000;border-color:var(--border);color:var(--text-secondary)}.ln-btn-secondary:hover:not(:disabled){border-color:var(--brand);color:var(--brand)}.ln-btn-secondary:disabled{cursor:not-allowed;opacity:.5}.ln-btn-danger{background:#0000;border-color:var(--danger);color:var(--danger)}.ln-btn-danger:hover:not(:disabled){background:var(--danger);color:var(--text-on-brand)}.ln-btn-danger:disabled{cursor:not-allowed;opacity:.5}.ln-spin-icon{animation:ln-loans-spin .8s linear infinite}@keyframes ln-loans-spin{to{transform:rotate(1turn)}}.ln-loans-table-container{background:var(--bg-surface);border:1px solid var(--border);border-radius:2px;overflow:hidden}.ln-loans-table{border-collapse:collapse;width:100%}.ln-loans-table th{background:var(--bg-surface-alt);border-bottom:1px solid var(--border);color:var(--text-muted);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:10.5px;font-weight:600;letter-spacing:.09em;padding:12px;text-align:left;text-transform:uppercase;white-space:nowrap}.ln-loans-table td{border-bottom:1px solid var(--border);color:var(--text-primary);font-family:IBM Plex Sans,sans-serif;font-size:13.5px;padding:13px 12px;vertical-align:middle}.ln-loans-table input[type=checkbox]{accent-color:var(--brand);cursor:pointer;height:15px;width:15px}.ln-loan-row:hover{background:var(--bg-surface-alt)}.ln-loan-row.ln-clickable{cursor:pointer;transition:background-color .2s ease}.ln-loan-row.ln-clickable:hover{background:var(--bg-surface-alt)}.ln-loan-id{font-feature-settings:"tnum";color:var(--text-secondary);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11.5px;font-variant-numeric:tabular-nums}.ln-client-info{display:flex;flex-direction:column;gap:2px}.ln-client-name{color:var(--text-primary);font-family:IBM Plex Sans,sans-serif;font-weight:600}.ln-client-email,.ln-loan-email{color:var(--text-muted);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11px}.ln-loan-amount{font-feature-settings:"tnum";color:var(--success);font-family:IBM Plex Mono,ui-monospace,monospace;font-variant-numeric:tabular-nums;font-weight:600}.ln-status{align-items:center;border:1px solid #0000;border-radius:3px;display:inline-flex;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:10px;font-weight:600;letter-spacing:.07em;padding:3px 8px;text-transform:uppercase;white-space:nowrap}.ln-status-active{background:var(--info-bg);border-color:var(--info);color:var(--info-text)}.ln-status-pending{background:var(--warning-bg);border-color:var(--warning);color:var(--warning-text)}.ln-status-approved{background:var(--success-bg);border-color:var(--success);color:var(--success-text)}.ln-status-rejected{background:var(--danger-bg);border-color:var(--danger);color:var(--danger-text)}.ln-status-disbursed{background:var(--info-bg);border-color:var(--info);color:var(--info-text)}.ln-status-paid{background:var(--success-bg);border-color:var(--success);color:var(--success-text)}.ln-status-cancelled{background:var(--danger-bg);border-color:var(--danger);color:var(--danger-text)}.ln-status-default{background:var(--bg-surface-alt);border-color:var(--border);color:var(--text-secondary)}.ln-manual-review{border:1px solid #0000;border-radius:3px;display:inline-flex;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:10px;font-weight:600;letter-spacing:.06em;padding:2px 7px;text-transform:uppercase}.ln-manual-review.ln-yes{background:var(--warning-bg);border-color:var(--warning);color:var(--warning-text)}.ln-manual-review.ln-no{background:var(--success-bg);border-color:var(--success);color:var(--success-text)}.ln-days-overdue{color:var(--danger);font-weight:600}.ln-days-overdue,.ln-whatsapp-link{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11.5px}.ln-whatsapp-link{align-items:center;color:var(--success);display:inline-flex;gap:5px;text-decoration:none;transition:color .2s ease}.ln-whatsapp-link:hover{color:var(--success);text-decoration:underline}.ln-btn-view-details{background:#0000;border:1px solid var(--info);color:var(--info);font-size:10.5px;padding:6px 12px}.ln-btn-view-details:hover{background:var(--info-bg)}.ln-no-data{color:var(--text-muted);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11.5px;letter-spacing:.06em;padding:48px;text-align:center;text-transform:uppercase}.ln-pagination{align-items:center;display:flex;gap:16px;justify-content:center;margin-top:20px;padding:16px}.ln-btn-pagination{background:#0000;border:1px solid var(--border);color:var(--text-secondary);padding:8px 16px}.ln-btn-pagination:hover:not(:disabled){border-color:var(--brand);color:var(--brand)}.ln-btn-pagination:disabled{background:#0000;border-color:var(--border);color:var(--text-muted);cursor:not-allowed;opacity:.45}.ln-pagination-info{color:var(--text-muted);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11.5px;letter-spacing:.05em}.ln-error,.ln-loading{align-items:center;display:flex;flex-direction:column;gap:6px;justify-content:center;padding:70px 20px;text-align:center}.ln-loading p{color:var(--text-muted);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:12px;letter-spacing:.05em;margin-top:6px}.ln-spinner-icon{animation:ln-loans-spin .8s linear infinite;color:var(--brand)}.ln-error p{color:var(--danger);font-size:14px;gap:8px;margin:0 0 16px}.ln-error p,.ln-select-all-banner{align-items:center;display:flex;font-family:IBM Plex Sans,sans-serif}.ln-select-all-banner{background:var(--info-bg);border:1px solid var(--info);border-radius:2px;color:var(--info-text);flex-wrap:wrap;font-size:13.5px;gap:12px;justify-content:space-between;margin-bottom:16px;padding:12px 16px}.ln-btn-link{background:none;border:none;color:var(--info-text);cursor:pointer;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11px;letter-spacing:.06em;padding:0;text-decoration:underline;text-transform:uppercase;transition:color .2s ease}.ln-btn-link:hover{color:var(--link-hover)}.ln-modal-overlay{align-items:center;background:var(--overlay);bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.ln-modal-content{animation:ln-modal-in .25s ease both;background:var(--bg-surface);border:1px solid var(--border);border-radius:2px;box-shadow:0 30px 70px -20px var(--shadow-strong);max-height:90vh;max-width:600px;overflow-y:auto;width:90%}@keyframes ln-modal-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.ln-modal-header{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:20px 22px}.ln-modal-header h2{color:var(--text-primary);font-family:IBM Plex Sans,sans-serif;font-size:17px;font-weight:600;margin:0}.ln-modal-close{align-items:center;background:none;border:none;color:var(--text-muted);cursor:pointer;display:flex;height:28px;justify-content:center;padding:0;transition:color .2s ease;width:28px}.ln-modal-close:hover{color:var(--danger)}.ln-modal-body{padding:22px}.ln-modal-footer{border-top:1px solid var(--border);display:flex;gap:10px;justify-content:flex-end;padding:18px 22px}.ln-form-group{margin-bottom:20px}.ln-form-group:last-child{margin-bottom:0}.ln-form-group label{color:var(--text-muted);display:block;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:10.5px;font-weight:600;letter-spacing:.08em;margin-bottom:8px;text-transform:uppercase}.ln-form-group input,.ln-form-group textarea{background:var(--bg-surface);border:1px solid var(--border);border-radius:2px;box-sizing:border-box;color:var(--text-primary);font-family:IBM Plex Sans,sans-serif;font-size:13.5px;padding:10px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.ln-form-group input:focus,.ln-form-group textarea:focus{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand);outline:none}.ln-form-group textarea{min-height:100px;resize:vertical}.ln-form-group-row{display:flex;gap:12px;margin-bottom:20px}.ln-form-group-row .ln-form-group{flex:1 1;margin-bottom:0}.ln-invoice-card{border:1px solid var(--border);border-radius:2px;margin-bottom:12px;padding:14px}.ln-invoice-card:last-child{margin-bottom:0}.ln-invoice-card-header{align-items:center;display:flex;gap:10px;justify-content:space-between;margin-bottom:8px}.ln-invoice-amount{color:var(--text-primary);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:16px;font-weight:600}.ln-invoice-meta{color:var(--text-muted);font-family:IBM Plex Sans,sans-serif;font-size:11.5px;line-height:1.6;margin-bottom:10px}.ln-invoice-line{background:var(--bg-surface-sunken);border-radius:2px;color:var(--text-secondary);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11px;margin-bottom:10px;padding:7px 9px;word-break:break-all}.ln-invoice-actions{display:flex;flex-wrap:wrap;gap:8px}.ln-invoice-empty{color:var(--text-muted);font-family:IBM Plex Sans,sans-serif;font-size:13px;padding:24px 0;text-align:center}.ln-installment-card{border:1px solid var(--border);border-radius:2px;margin-bottom:12px;padding:14px}.ln-installment-card:last-child{margin-bottom:0}.ln-installment-header{align-items:center;display:flex;gap:10px;justify-content:space-between;margin-bottom:6px}.ln-installment-title{color:var(--text-primary);font-family:IBM Plex Sans,sans-serif;font-size:13px;font-weight:600}.ln-installment-title strong{font-family:IBM Plex Mono,ui-monospace,monospace;font-weight:600}.ln-installment-meta{color:var(--text-muted);font-family:IBM Plex Sans,sans-serif;font-size:11.5px;line-height:1.6;margin-bottom:10px}.ln-installment-invoices{border-left:2px solid var(--border);margin-top:12px;padding-left:12px}.ln-copy-field{align-items:stretch;display:flex;gap:8px}.ln-copy-field input{flex:1 1;min-width:0}.ln-copy-field input.ln-copy-mono{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:12px;letter-spacing:.01em}.ln-copy-field .ln-btn{flex-shrink:0;white-space:nowrap}.ln-form-value{color:var(--text-primary);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:19px;font-weight:600}.ln-form-hint{color:var(--text-muted)}.ln-form-error,.ln-form-hint{display:block;font-family:IBM Plex Sans,sans-serif;font-size:11.5px;line-height:1.5;margin-top:6px}.ln-form-error{color:var(--danger)}.ln-help-text{color:var(--text-muted);display:block;font-family:IBM Plex Sans,sans-serif;font-size:11.5px;margin-top:6px}.ln-help-text code{background:var(--bg-surface-sunken);border-radius:2px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:10.5px;padding:2px 5px}.ln-campaign-preview{background:var(--bg-surface-alt);border:1px solid var(--border);border-radius:2px;margin-top:20px;padding:14px}.ln-campaign-preview strong{color:var(--text-muted);display:block;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:10.5px;font-weight:600;letter-spacing:.08em;margin-bottom:8px;text-transform:uppercase}.ln-preview-box{word-wrap:break-word;background:var(--bg-surface);border:1px solid var(--border);border-radius:2px;color:var(--text-primary);font-family:IBM Plex Sans,sans-serif;font-size:13.5px;padding:12px;white-space:pre-wrap}.ln-status-dropdown-container{position:relative}.ln-status-dropdown-trigger{align-items:center;background:var(--bg-surface);border:1px solid var(--border);border-radius:2px;color:var(--text-primary);cursor:pointer;display:flex;font-family:IBM Plex Sans,sans-serif;font-size:13.5px;gap:8px;justify-content:space-between;padding:8px 10px;transition:border-color .2s ease}.ln-status-dropdown-trigger:hover{border-color:var(--border-strong)}.ln-status-dropdown-trigger svg{color:var(--text-muted);flex-shrink:0;transition:transform .2s ease}.ln-status-dropdown-trigger.ln-open svg{transform:rotate(180deg)}.ln-status-dropdown-menu{animation:ln-modal-in .15s ease both;background:var(--bg-surface);border:1px solid var(--border);border-radius:2px;box-shadow:0 16px 34px -12px var(--shadow-strong);left:0;padding:6px;position:absolute;right:0;top:calc(100% + 4px);z-index:1000}.ln-status-dropdown-option{align-items:center;border-radius:2px;color:var(--text-primary);cursor:pointer;display:flex;font-family:IBM Plex Sans,sans-serif;font-size:13px;gap:8px;padding:7px 6px;transition:background-color .15s ease;-webkit-user-select:none;user-select:none}.ln-status-dropdown-option:hover{background:var(--bg-surface-alt)}.ln-status-dropdown-option input[type=checkbox]{accent-color:var(--brand);cursor:pointer}.ln-status-dropdown-option span{text-transform:capitalize}@keyframes ln-loan-row-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.ln-loans-table tbody tr:nth-child(-n+10){animation:ln-loan-row-in .35s ease both}.ln-loans-table tbody tr:first-child{animation-delay:0s}.ln-loans-table tbody tr:nth-child(2){animation-delay:.02s}.ln-loans-table tbody tr:nth-child(3){animation-delay:.04s}.ln-loans-table tbody tr:nth-child(4){animation-delay:.06s}.ln-loans-table tbody tr:nth-child(5){animation-delay:.08s}.ln-loans-table tbody tr:nth-child(6){animation-delay:.1s}.ln-loans-table tbody tr:nth-child(7){animation-delay:.12s}.ln-loans-table tbody tr:nth-child(8){animation-delay:.14s}.ln-loans-table tbody tr:nth-child(9){animation-delay:.16s}.ln-loans-table tbody tr:nth-child(10){animation-delay:.18s}@media (prefers-reduced-motion:reduce){.ln-loans-table tbody tr,.ln-modal-content,.ln-spin-icon,.ln-spinner-icon,.ln-status-dropdown-menu{animation:none}}@media (max-width:1200px){.ln-loans-table td:nth-child(7),.ln-loans-table td:nth-child(8),.ln-loans-table th:nth-child(7),.ln-loans-table th:nth-child(8){display:none}}@media (max-width:768px){.ln-loans{padding:16px}.ln-loans-header{align-items:stretch;flex-direction:column;gap:15px}.ln-filters{grid-template-columns:1fr}.ln-filter-actions{justify-content:stretch}.ln-filter-actions .ln-btn{flex:1 1}.ln-loans-table-container{overflow-x:auto}.ln-loans-table{min-width:800px}.ln-loans-table td:nth-child(10),.ln-loans-table td:nth-child(4),.ln-loans-table td:nth-child(9),.ln-loans-table th:nth-child(10),.ln-loans-table th:nth-child(4),.ln-loans-table th:nth-child(9){display:none}.ln-pagination{flex-direction:column;gap:10px}}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-page);color:var(--text-primary);font-family:IBM Plex Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;margin:0}.app-loading{background:var(--bg-page);min-height:100vh}.app-empty{background:var(--bg-surface);border:1px solid var(--border);border-left:3px solid var(--partner);max-width:560px;padding:32px}.app-empty h1{font-size:18px;margin:0 0 8px}.app-empty p{color:var(--text-secondary);line-height:1.5;margin:0}.pp-nowrap{white-space:nowrap}.pp-filter-narrow{max-width:320px}.login-screen{align-items:center;background:var(--bg-page);display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:40px 20px;position:relative}.login-screen:before{background-image:linear-gradient(var(--border) 1px,#0000 1px),linear-gradient(90deg,var(--border) 1px,#0000 1px);background-size:44px 44px;content:"";inset:0;mask-image:radial-gradient(ellipse 70% 60% at 50% 45%,#000 0,#0000 75%);-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 45%,#000 0,#0000 75%);opacity:.35;position:absolute}.login-screen:after{background:radial-gradient(circle,var(--brand) 0,#0000 68%);content:"";filter:blur(10px);height:640px;left:50%;opacity:.14;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);width:640px}.login-panel{animation:login-panel-in .65s cubic-bezier(.16,1,.3,1) both;background:var(--bg-surface);border:1px solid var(--border);box-shadow:0 40px 90px -30px var(--shadow-strong);max-width:436px;padding:44px 36px 32px;position:relative;width:100%;z-index:1}.login-panel:before{animation:login-sweep 3.4s ease-in-out infinite;background:linear-gradient(90deg,#0000 0,var(--brand) 45%,var(--brand) 55%,#0000 100%);background-size:220% 100%;content:"";height:2px;left:-1px;position:absolute;right:-1px;top:-1px}@keyframes login-panel-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes login-sweep{0%{background-position:140% 0}to{background-position:-40% 0}}.login-corner{border-color:var(--border-strong);height:16px;pointer-events:none;position:absolute;width:16px}.login-corner-tl{border-left:1px solid;border-top:1px solid;left:-1px;top:-1px}.login-corner-tr{border-right:1px solid;border-top:1px solid;right:-1px;top:-1px}.login-corner-bl{border-left:1px solid;left:-1px}.login-corner-bl,.login-corner-br{border-bottom:1px solid;bottom:-1px}.login-corner-br{border-right:1px solid;right:-1px}.login-eyebrow{align-items:center;color:var(--text-muted);display:flex;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11px;font-weight:500;gap:8px;letter-spacing:.18em;margin-bottom:22px;text-transform:uppercase}.login-eyebrow-dot{animation:login-pulse 2s ease-in-out infinite;background:var(--brand);border-radius:50%;box-shadow:0 0 0 3px var(--brand-bg);flex-shrink:0;height:6px;width:6px}@keyframes login-pulse{0%,to{opacity:1}50%{opacity:.35}}.login-header{margin-bottom:28px}.login-title{color:var(--text-primary);display:flex;flex-direction:column;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:26px;font-weight:600;letter-spacing:-.01em;margin:0 0 10px}.login-title-accent{color:var(--brand)}.login-title-sub{color:var(--text-muted);font-size:13px;font-weight:400;letter-spacing:.02em;margin-top:2px}.login-subtitle,.login-title-sub{font-family:IBM Plex Sans,sans-serif}.login-subtitle{color:var(--text-secondary);font-size:14px;margin:0}.login-error{align-items:center;animation:login-panel-in .3s ease both;background:var(--danger-bg);border-left:3px solid var(--danger);color:var(--danger-text);display:flex;font-family:IBM Plex Sans,sans-serif;font-size:13px;gap:10px;margin-bottom:20px;padding:12px 14px}.login-error svg{flex-shrink:0}.login-form{display:flex;flex-direction:column}.login-field{margin-bottom:22px}.login-field-label{align-items:baseline;color:var(--text-muted);display:flex;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11px;font-weight:500;gap:8px;letter-spacing:.14em;margin-bottom:9px;text-transform:uppercase}.login-field-index{color:var(--brand)}.login-input{background:#0000;border:none;border-bottom:1px solid var(--border);border-radius:0;color:var(--text-primary);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:15px;padding:10px 2px;transition:border-color .25s ease,box-shadow .25s ease;width:100%}.login-input::placeholder{color:var(--text-muted);opacity:.7}.login-input:focus{border-bottom:1px solid var(--brand);box-shadow:0 1px 0 0 var(--brand);outline:none}.login-input:disabled{opacity:.55}.login-cta{align-items:center;background:var(--brand);border:none;color:var(--text-on-brand);cursor:pointer;display:flex;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:13px;font-weight:600;gap:9px;justify-content:center;letter-spacing:.1em;margin-top:6px;overflow:hidden;padding:15px 20px;position:relative;text-transform:uppercase;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease}.login-cta:before{background:linear-gradient(115deg,#0000,#ffffff47 50%,#0000);content:"";height:100%;left:-60%;position:absolute;top:0;transform:skewX(-18deg);transition:left .55s ease;width:40%}.login-cta:hover:not(:disabled):before{left:130%}.login-cta:hover:not(:disabled){box-shadow:0 10px 24px -8px var(--brand);transform:translateY(-1px)}.login-cta:disabled{cursor:not-allowed;opacity:.55}.login-cta-spinner{animation:login-spin .8s linear infinite}@keyframes login-spin{to{transform:rotate(1turn)}}.login-back{align-items:center;background:#0000;border:none;color:var(--text-muted);cursor:pointer;display:flex;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:12px;font-weight:500;gap:8px;justify-content:center;letter-spacing:.1em;padding:10px;text-transform:uppercase;transition:color .2s ease;width:100%}.login-back:hover:not(:disabled){color:var(--brand)}.login-back:disabled{cursor:not-allowed;opacity:.5}.login-reset-sent{align-items:center;display:flex;flex-direction:column;gap:16px;text-align:center}.login-reset-sent svg{color:var(--brand)}.login-reset-sent p{color:var(--text-secondary);font-size:13px;line-height:1.6;margin:0}.login-handoff{grid-column-gap:18px;align-items:center;animation:login-panel-in .45s cubic-bezier(.16,1,.3,1) both;background:var(--bg-surface-alt);border:1px solid var(--border-strong);column-gap:18px;display:grid;grid-template-columns:auto 1fr;overflow:hidden;padding:18px 18px 22px 22px;position:relative}.login-handoff-rail{animation:login-rail-in .5s cubic-bezier(.16,1,.3,1) .1s both;background:var(--partner);bottom:0;left:0;position:absolute;top:0;transform-origin:top;width:4px}@keyframes login-rail-in{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.login-handoff-mark{align-items:center;background:#fff;border:1px solid var(--partner);display:flex;height:64px;justify-content:center;width:64px}.login-handoff-mark img{max-height:80%;max-width:90%;object-fit:contain}.login-handoff-initial{color:#1a1a1a;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:26px;font-weight:600}.login-handoff-text{display:flex;flex-direction:column;gap:4px;min-width:0}.login-handoff-label{color:var(--text-muted);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase}.login-handoff-name{color:var(--text-primary);font-family:IBM Plex Sans,sans-serif;font-size:24px;font-weight:600;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.login-handoff-email{color:var(--text-secondary);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:12px}.login-handoff-progress{animation:login-progress 1.1s ease-in-out both;background:var(--partner);bottom:0;height:2px;left:0;position:absolute;right:0;transform-origin:left}@keyframes login-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.login-footer{border-top:1px solid var(--border);color:var(--text-muted);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:10px;letter-spacing:.12em;margin-top:28px;opacity:.7;padding-top:18px;text-align:center}@media (prefers-reduced-motion:reduce){.login-cta-spinner,.login-error,.login-eyebrow-dot,.login-handoff,.login-handoff-progress,.login-handoff-rail,.login-panel,.login-panel:before{animation:none}}@media (max-width:480px){.login-panel{padding:34px 22px 26px}.login-corner{display:none}.login-title{font-size:22px}}.shell{border-top:3px solid var(--partner);display:flex;flex-direction:column;height:100vh}.shell-header{align-items:center;background:var(--bg-surface);border-bottom:1px solid var(--border);display:flex;flex-shrink:0;gap:16px;height:64px;justify-content:space-between;padding:0 24px}.shell-header-left{align-items:center;display:flex;gap:22px;min-width:0}.shell-logo{color:var(--text-muted);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:15px;font-weight:600;letter-spacing:-.01em}.shell-logo-accent{color:var(--brand)}.shell-partner{align-items:center;border-left:1px solid var(--border);display:flex;gap:12px;min-width:0;padding-left:22px}.shell-partner-mark{align-items:center;background:#fff;border:1px solid var(--partner);display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.shell-partner-mark img{max-height:80%;max-width:90%;object-fit:contain}.shell-partner-initial{color:#1a1a1a;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:17px;font-weight:600}.shell-partner-text{display:flex;flex-direction:column;min-width:0}.shell-partner-name{color:var(--text-primary);font-family:IBM Plex Sans,sans-serif;font-size:17px;font-weight:600;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shell-partner-caption{color:var(--text-muted);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:10.5px;letter-spacing:.08em}.shell-header-right{align-items:center;display:flex;flex-shrink:0;gap:10px}.shell-user{align-items:flex-end;display:flex;flex-direction:column;gap:2px;margin-right:6px}.shell-user-name{color:var(--text-primary);font-family:IBM Plex Sans,sans-serif;font-size:13.5px;font-weight:600}.shell-user-email{color:var(--text-muted);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11px}.shell-icon-button{align-items:center;background:#0000;border:1px solid var(--border);border-radius:3px;color:var(--text-secondary);cursor:pointer;display:flex;height:32px;justify-content:center;transition:border-color .2s ease,color .2s ease;width:32px}.shell-icon-button:hover{border-color:var(--border-strong);color:var(--brand)}.shell-logout{align-items:center;background:#0000;border:1px solid var(--border);border-radius:3px;color:var(--text-secondary);cursor:pointer;display:flex;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11.5px;font-weight:500;gap:7px;letter-spacing:.06em;padding:8px 14px;text-transform:uppercase;transition:border-color .2s ease,color .2s ease,background-color .2s ease}.shell-logout:hover{background-color:var(--danger-bg);border-color:var(--danger);color:var(--danger)}.shell-icon-button:focus-visible,.shell-logout:focus-visible,.shell-nav-item:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.shell-body{display:flex;flex:1 1;overflow:hidden}.shell-nav{background:var(--bg-surface);border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;gap:2px;padding:16px 10px;width:230px}.shell-nav-item{align-items:center;border-radius:3px;color:var(--text-secondary);display:flex;font-family:IBM Plex Sans,sans-serif;font-size:13.5px;gap:12px;padding:10px 14px;position:relative;text-decoration:none;transition:background-color .2s ease,color .2s ease}.shell-nav-item:hover{background-color:var(--bg-surface-alt);color:var(--text-primary)}.shell-nav-item.active{background-color:var(--brand-bg);color:var(--brand-text);font-weight:600}.shell-nav-item.active:before{background:var(--brand);bottom:6px;content:"";left:-10px;position:absolute;top:6px;width:3px}.shell-main{background-color:var(--bg-surface-alt);flex:1 1;min-width:0;overflow-y:auto;padding:24px}@media (max-width:760px){.shell{height:auto;min-height:100vh}.shell-header{padding:0 16px}.shell-logo,.shell-user{display:none}.shell-partner{border-left:none;padding-left:0}.shell-body{flex-direction:column;overflow:visible}.shell-nav{border-bottom:1px solid var(--border);border-right:none;flex-direction:row;overflow-x:auto;padding:8px 12px;width:auto}.shell-nav-item{padding:8px 12px;white-space:nowrap}.shell-nav-item.active:before{bottom:-8px;height:2px;left:8px;right:8px;top:auto;width:auto}.shell-main{overflow:visible;padding:16px}}.import-modal{max-width:620px}.import-text{color:var(--text-secondary);font-size:14px;line-height:1.55;margin:0 0 16px}.import-columns{background:var(--bg-surface-alt);border-left:3px solid var(--partner);display:flex;flex-direction:column;gap:6px;margin-bottom:14px;padding:12px 14px}.import-columns-title{color:var(--text-muted);font-size:11px;letter-spacing:.14em;text-transform:uppercase}.import-columns code,.import-columns-title{font-family:IBM Plex Mono,ui-monospace,monospace}.import-columns code{color:var(--text-primary);font-size:12.5px;line-height:1.6;word-break:break-word}.import-drop{align-items:center;border:1px dashed var(--border-strong);color:var(--text-secondary);cursor:pointer;display:flex;flex-direction:column;gap:6px;margin-top:18px;padding:26px 16px;position:relative;text-align:center;transition:border-color .2s ease,background-color .2s ease}.import-drop:focus-within,.import-drop:hover{background:var(--brand-bg);border-color:var(--brand)}.import-drop input{cursor:pointer;inset:0;opacity:0;position:absolute}.import-drop-title{color:var(--text-primary);font-family:IBM Plex Sans,sans-serif;font-size:14px;font-weight:600}.import-drop-hint{color:var(--text-muted);font-size:12px}.import-inline-error{color:var(--danger-text);font-size:12.5px;margin:8px 0 0}.import-status{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;gap:10px;padding:24px 0}.import-status p{font-size:14px;margin:0}.import-result{background:var(--bg-surface-alt);border-left:3px solid var(--border-strong);color:var(--text-secondary);display:flex;gap:12px;padding:14px 16px}.import-result svg{flex-shrink:0;margin-top:1px}.import-result strong{color:var(--text-primary);display:block;font-size:14px}.import-result p{font-size:13.5px;line-height:1.5;margin:4px 0 0}.import-result-good{background:var(--success-bg);border-left-color:var(--success);color:var(--success-text)}.import-result-bad{background:var(--danger-bg);border-left-color:var(--danger);color:var(--danger-text)}.import-errors{border:1px solid var(--border);list-style:none;margin:12px 0 0;max-height:260px;overflow-y:auto;padding:0}.import-errors li{grid-gap:12px;border-bottom:1px solid var(--border);color:var(--text-secondary);display:grid;font-size:13px;gap:12px;grid-template-columns:84px 1fr;padding:8px 12px}.import-errors li:last-child{border-bottom:none}.import-errors-line{color:var(--text-muted);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:12px}.import-list{border:1px solid var(--border);list-style:none;margin:12px 0 0;max-height:220px;overflow-y:auto;padding:0}.import-list li{grid-gap:12px;border-bottom:1px solid var(--border);color:var(--text-secondary);display:grid;font-size:13px;gap:12px;grid-template-columns:160px 1fr;padding:8px 12px}.import-list li:last-child{border-bottom:none}.import-list-doc{color:var(--text-muted);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:12px}.import-columns .import-columns-title+code+.import-columns-title{margin-top:6px}.import-subtitle{color:var(--danger-text);font-size:13.5px;line-height:1.5;margin:16px 0 0}