:root{--navy: #1A2E2A;--sage: #1B6B5A;--teal: #2A9D8F;--gold: #9C7A38;--mint: #F5F9F8;--mist: #E0EBE8;--white: #FFFFFF;--light-gray: #F3F4F6;--medium-gray: #6B7280;--dark-gray: #374151;--hot-red: #DC2626;--warm-yellow: #D97706;--cold-blue: #3B82F6;--success-green: #047857;--money-green: #047857;--ui-success: #1e7e34;--amber-fg: #854d0e}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:var(--light-gray);color:var(--navy);line-height:1.6}.container{max-width:1400px;margin:0 auto;padding:20px}header{background:var(--brand-header-bg, var(--navy));color:var(--white);padding:35px 0;margin-bottom:30px}header h1{font-size:1.8rem;display:flex;align-items:center;gap:10px}header h1 span.key{color:var(--sage)}.subtitle{color:var(--sage);font-size:.9rem;margin-top:5px}.brand-logo--header{max-height:80px;max-width:460px;width:auto;height:auto;display:block;object-fit:contain}.brand-logo--report-preview{max-height:76px;max-width:210px;width:auto;height:auto;display:block;object-fit:contain}.brand-logo--legacy-jpeg{mix-blend-mode:lighten;clip-path:inset(2px)}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}.summary-card{background:var(--white);border-radius:12px;padding:20px;box-shadow:0 2px 8px #00000014;text-align:center}.summary-card.hot{border-top:4px solid var(--hot-red)}.summary-card.warm{border-top:4px solid var(--warm-yellow)}.summary-card.cold{border-top:4px solid var(--cold-blue)}.summary-card.total{border-top:4px solid var(--navy)}.summary-card .count{font-size:2.5rem;font-weight:700;margin:10px 0}.summary-card.hot .count{color:var(--hot-red)}.summary-card.warm .count{color:var(--warm-yellow)}.summary-card.cold .count{color:var(--cold-blue)}.summary-card .label{color:var(--medium-gray);font-size:.9rem}.summary-card .balance{font-size:1.1rem;font-weight:600;margin-top:10px}.settings-panel{background:var(--white);border-radius:12px;padding:20px;margin-bottom:30px;box-shadow:0 2px 8px #00000014}.settings-panel h2{font-size:1.2rem;margin-bottom:15px;color:var(--navy)}.rate-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px}.rate-input label{display:block;font-size:.85rem;color:var(--medium-gray);margin-bottom:5px}.rate-input input{width:100%;padding:10px;border:1px solid #ddd;border-radius:6px;font-size:1rem}.rate-input input:focus{outline:none;border-color:var(--sage);box-shadow:0 0 0 3px #9cb8a633}.upload-section{background:var(--white);border-radius:12px;padding:30px;margin-bottom:30px;text-align:center;border:2px dashed var(--sage);box-shadow:0 2px 8px #00000014}.upload-section.dragover{background:#9cb8a61a;border-color:var(--navy)}.upload-btn{background:var(--navy);color:var(--white);padding:12px 30px;border:none;border-radius:8px;font-size:1rem;cursor:pointer;transition:background .3s}.upload-btn:hover{background:#2a4a40}.opportunities-section{background:var(--white);border-radius:12px;padding:20px;box-shadow:0 2px 8px #00000014}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:10px}.section-header h2{font-size:1.3rem;cursor:pointer;display:flex;align-items:center;gap:8px;user-select:none}.section-header h2:hover{color:var(--sage)}.collapse-icon{transition:transform .3s ease;font-size:.8em}.collapse-icon.collapsed{transform:rotate(-90deg)}.collapsible-content{overflow:hidden;transition:max-height .3s ease,opacity .3s ease;max-height:5000px;opacity:1}.collapsible-content.collapsed{max-height:0;opacity:0}.pagination{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:20px;flex-wrap:wrap}.pagination-btn{padding:8px 14px;border:1px solid var(--light-gray);border-radius:6px;background:var(--white);cursor:pointer;font-size:.9rem;transition:all .2s}.pagination-btn:hover:not(:disabled){background:var(--navy);color:var(--white);border-color:var(--navy)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-btn.active{background:var(--navy);color:var(--white);border-color:var(--navy)}.pagination-info{color:var(--medium-gray);font-size:.85rem;margin:0 10px}.search-container{margin-bottom:15px}.search-box{display:flex;align-items:center;background:var(--white);border:1px solid #ddd;border-radius:8px;padding:8px 12px;max-width:350px;transition:border-color .2s,box-shadow .2s}.search-box:focus-within{border-color:var(--sage);box-shadow:0 0 0 3px #9cb8a633}.search-icon{margin-right:8px;font-size:1rem}.search-box input{border:none;outline:none;flex:1;font-size:.9rem;background:transparent}.search-box input::placeholder{color:var(--medium-gray)}.search-clear{background:none;border:none;cursor:pointer;color:var(--medium-gray);font-size:1rem;padding:0 4px;line-height:1}.search-clear:hover{color:var(--navy)}.filter-tabs{display:flex;gap:10px;flex-wrap:wrap}.filter-tab{padding:8px 16px;border:none;border-radius:20px;cursor:pointer;font-size:.9rem;background:var(--light-gray);color:var(--navy);transition:all .3s}.filter-tab.active{background:var(--navy);color:var(--white)}.table-container{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.9rem}th{background:var(--navy);color:var(--white);padding:12px 15px;text-align:left;font-weight:600;position:sticky;top:0}td{padding:12px 15px;border-bottom:1px solid #eee}tr:hover{background:#9cb8a61a}#opportunities-body tr{cursor:pointer;transition:background-color .2s ease}#opportunities-body tr:hover{background:#9cb8a633}.status-badge{padding:4px 12px;border-radius:20px;font-size:.8rem;font-weight:600;color:var(--white)}.status-badge.hot{background:var(--hot-red)}.status-badge.warm{background:var(--warm-yellow)}.status-badge.cold{background:var(--cold-blue)}.money{font-family:SF Mono,Monaco,monospace}.positive{color:var(--success-green)}.negative{color:var(--hot-red)}.action-btn{background:var(--sage);color:#fff;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:.8rem;margin-right:4px}.action-btn:hover{background:var(--navy);color:var(--white)}.detail-tab.active{color:var(--navy)!important;border-bottom-color:var(--navy)!important}.detail-tab:hover:not(.active){color:var(--navy);background:#f5f5f5}#modal-penalty-body .penalty-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}@media(max-width:900px){#modal-penalty-body .penalty-form-grid{grid-template-columns:1fr}}th.sortable{cursor:pointer;user-select:none;position:relative;padding-right:25px}th.sortable:hover{background:#1a3f35}th.sortable:after{content:"\21c5";position:absolute;right:8px;opacity:.5;font-size:.75rem}th.sortable.asc:after{content:"\2191";opacity:1}th.sortable.desc:after{content:"\2193";opacity:1}.export-btns{display:flex;gap:10px;margin-top:20px}.export-btn{padding:10px 20px;border:none;border-radius:6px;cursor:pointer;font-size:.9rem}.export-btn.primary{background:var(--navy);color:var(--white)}.export-btn.secondary{background:var(--light-gray);color:var(--navy)}.modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;justify-content:center;align-items:center;z-index:2000;padding:20px}.modal.active{display:flex}.modal-overlay{position:absolute;top:0;left:0;width:100%;height:100%;cursor:pointer}.modal-content{background:var(--white);border-radius:12px;padding:30px;max-width:1000px;width:100%;max-height:90vh;overflow-y:auto;position:relative;z-index:1}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;padding-bottom:15px;border-bottom:2px solid var(--sage)}.modal-header h2{font-size:1.5rem;color:var(--navy)}.close-btn{background:none;border:none;font-size:2rem;cursor:pointer;color:var(--medium-gray);transition:color .3s}.close-btn:hover{color:var(--navy)}.penalty-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.form-section{background:var(--light-gray);padding:20px;border-radius:8px}.form-section h3{font-size:1.1rem;margin-bottom:15px;color:var(--navy)}.form-group{margin-bottom:15px}.form-group label{display:block;font-size:.9rem;color:var(--medium-gray);margin-bottom:5px;font-weight:600}.form-group input,.form-group select{width:100%;padding:10px;border:1px solid #ddd;border-radius:6px;font-size:.95rem}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--sage);box-shadow:0 0 0 3px #9cb8a633}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.auto-calc-warning{background:#d977061a;border:1px solid var(--warm-yellow);color:#92400e;padding:8px 12px;border-radius:6px;font-size:.8rem;margin-top:10px;display:none}.auto-calc-warning.show{display:block}.date-picker-wrapper{position:relative}.date-input{width:100%;padding:10px 40px 10px 10px;border:1px solid #ddd;border-radius:6px;font-size:.95rem;cursor:pointer;background:#fff url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="%23666" viewBox="0 0 16 16"><path d="M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM1 4v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4H1z"/></svg>') no-repeat right 12px center}.date-input:focus{outline:none;border-color:var(--sage);box-shadow:0 0 0 3px #9cb8a633}.calendar-popup{position:absolute;top:100%;left:0;z-index:1000;background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 4px 20px #00000026;padding:15px;display:none;width:340px;margin-top:5px}.calendar-popup.show{display:block}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding:0 5px}.calendar-nav{background:none;border:none;cursor:pointer;padding:6px 10px;font-size:16px;color:#666;border-radius:4px}.calendar-nav:hover{background:#f5f5f5;color:#333}.calendar-selects{display:flex;gap:10px;align-items:center}.calendar-select{padding:5px 8px;font-size:14px;font-weight:600;border:1px solid #ddd;border-radius:4px;background:#fff;cursor:pointer;color:#333}.calendar-select.month-select{min-width:130px}.calendar-select:focus{outline:none;border-color:var(--sage)}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-size:12px;font-weight:600;color:#888;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid #eee}.calendar-weekdays span{padding:4px 0}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(6,1fr);gap:2px;min-height:170px}.calendar-day{padding:6px 4px;text-align:center;cursor:pointer;font-size:15px;color:#333;border-radius:4px;transition:all .2s;display:flex;align-items:center;justify-content:center}.calendar-day:hover{background:#f0f0f0}.calendar-day.other-month{color:#ccc}.calendar-day.today{background:#f0f0e8;border:1px solid #ddd}.calendar-day.selected{background:var(--sage);color:#fff;font-weight:600}.calendar-day.selected:hover{background:#8ab098}.btn-container{display:flex;gap:10px;margin-top:15px}.btn{flex:1;padding:12px 20px;background:var(--sage);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .3s}.btn:hover{background:var(--navy);color:var(--white)}.btn-reset{flex:0 0 auto;padding:12px 16px;background:transparent;color:var(--navy);border:1px solid var(--light-gray);font-size:.85rem;font-weight:500}.btn-reset:hover{background:var(--light-gray);color:var(--navy)}.btn-outline{background:transparent;color:var(--navy);border:1.5px solid var(--sage);font-size:.85rem;padding:9px 14px}.btn-outline:hover{background:var(--sage);color:#fff}.btn-sm{padding:9px 14px;font-size:.85rem}.btn-navy{background:var(--navy)}.btn-navy:hover{background:#0f1f2e;color:#fff}.btn-divider{border-top:1px solid #e5e7eb;margin-top:12px;padding-top:12px}.penalty-box{background:linear-gradient(135deg,var(--navy) 0%,#16213e 100%);color:var(--white);padding:20px;border-radius:8px;text-align:center;margin:15px 0}.penalty-amount{font-size:2.5rem;font-weight:700;color:var(--sage);margin:10px 0}.penalty-label{font-size:.9rem;color:#aaa;margin-top:10px}.results-table{width:100%;border-collapse:collapse;font-size:.95rem;margin-top:15px}.results-table td{padding:10px 0;border-bottom:1px solid #eee}.results-table td:first-child{color:var(--medium-gray)}.results-table td:last-child{text-align:right;font-weight:600}.disclaimer{background:#f0f0f0;border-left:4px solid var(--warm-yellow);padding:12px;border-radius:6px;margin-top:15px;font-size:.85rem;color:var(--medium-gray)}.detail-modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;justify-content:center;align-items:center;z-index:1000}.detail-modal.active{display:flex}#theme-selector-modal{background:none;pointer-events:none;justify-content:flex-end;align-items:stretch}#theme-selector-modal .detail-modal-content{pointer-events:auto;max-width:620px;width:620px;height:100vh;max-height:100vh;border-radius:0;padding:28px;box-shadow:-4px 0 24px #00000026;transform:translate(100%);transition:transform .3s ease;box-sizing:border-box}#theme-selector-modal.active .detail-modal-content{transform:translate(0)}.detail-modal-content{background:var(--white);border-radius:12px;padding:35px;max-width:1150px;width:95%;max-height:92vh;overflow-y:auto;overflow-x:hidden;box-sizing:border-box}.detail-tab-content{max-width:100%;overflow-x:hidden}.current-mortgage-header{background:var(--light-gray);border-radius:8px;padding:15px 20px;margin-bottom:20px}.current-mortgage-header h4{font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;color:var(--medium-gray);margin-bottom:10px}.mortgage-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.mortgage-summary-item .label{font-size:.75rem;color:var(--medium-gray)}.mortgage-summary-item .value{font-size:1.2rem;font-weight:700;color:var(--navy)}.options-container{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:20px 0}.option-card{border:2px solid var(--light-gray);border-radius:10px;padding:18px;position:relative;transition:all .2s}.option-card:hover{border-color:var(--sage);box-shadow:0 4px 12px #0000001a}.option-card.rate-advantage{border-left:4px solid var(--navy)}.option-card.wealth-accelerator{border-left:4px solid var(--sage)}.option-card.max-cashflow{border-left:4px solid #e67e22}.option-card h5{font-size:.85rem;font-weight:700;color:var(--navy);margin-bottom:4px}.option-card .subtitle{font-size:.7rem;color:var(--medium-gray);margin-bottom:12px}.option-card .option-row{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--light-gray)}.option-card .option-row:last-child{border-bottom:none}.option-card .option-label{font-size:.8rem;color:var(--medium-gray)}.option-card .option-value{font-size:.9rem;font-weight:600;color:var(--navy)}.option-card .highlight-value{color:var(--sage);font-weight:700}.option-card .highlight-value.orange{color:#e67e22}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:15px}.detail-item{padding:10px;background:var(--light-gray);border-radius:6px}.detail-item .label{font-size:.75rem;color:var(--medium-gray)}.detail-item .value{font-size:1rem;font-weight:600}.future-opportunities{margin-top:20px;background:linear-gradient(135deg,#f0f7f4,#e8f4fc);border-radius:12px;padding:20px;border:1px solid var(--sage)}.future-opportunities h4{color:var(--navy);font-size:1rem;margin-bottom:15px;display:flex;align-items:center;gap:8px}.opportunity-timeline{position:relative;padding-left:25px}.opportunity-timeline:before{content:"";position:absolute;left:8px;top:5px;bottom:5px;width:2px;background:linear-gradient(to bottom,var(--sage),var(--navy));border-radius:2px}.timeline-item{position:relative;margin-bottom:15px;padding:12px 15px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d}.timeline-item:before{content:"";position:absolute;left:-21px;top:50%;transform:translateY(-50%);width:10px;height:10px;border-radius:50%;background:var(--sage);border:2px solid white}.timeline-item.soon:before{background:#e74c3c}.timeline-item.medium:before{background:#f39c12}.timeline-item.later:before{background:var(--sage)}.timeline-item .timing{font-size:.75rem;color:var(--medium-gray);text-transform:uppercase;letter-spacing:1px;margin-bottom:4px}.timeline-item .event{font-weight:600;color:var(--navy);font-size:.9rem;margin-bottom:4px}.timeline-item .impact{font-size:.8rem;color:var(--dark-gray)}.timeline-item .impact strong{color:var(--success-green)}.rate-scenarios{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px}.rate-scenario{background:#fff;padding:10px;border-radius:6px;text-align:center;border-left:3px solid var(--sage)}.rate-scenario .drop{font-size:.8rem;color:var(--medium-gray)}.rate-scenario .savings{font-size:1rem;font-weight:700;color:var(--success-green)}.no-future-opportunities{text-align:center;padding:15px;color:var(--medium-gray);font-style:italic}.ird-transition-section{margin-top:20px;background:linear-gradient(135deg,#fff8e6,#fff3d1);border-radius:12px;padding:20px;border:1px solid #e6c84a}.ird-transition-section h4{color:var(--navy);font-size:1rem;margin-bottom:5px;display:flex;align-items:center;gap:8px}.ird-transition-section .section-subtitle{font-size:.85rem;color:var(--medium-gray);margin-bottom:15px}.ird-transition-date{background:#fff;border-radius:8px;padding:15px;margin-bottom:15px;display:flex;justify-content:space-between;align-items:center;border-left:4px solid #e6a800}.ird-transition-date .date-info{display:flex;flex-direction:column}.ird-transition-date .date-label{font-size:.8rem;color:var(--medium-gray)}.ird-transition-date .date-value{font-size:1.1rem;font-weight:700;color:var(--navy)}.ird-transition-date .months-away{font-size:.85rem;color:var(--medium-gray)}.ird-penalty-comparison{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;margin-bottom:15px}.penalty-box{background:#fff;border-radius:8px;padding:12px;text-align:center}.penalty-box.current{border:1px solid #dc3545}.penalty-box.projected{border:1px solid var(--success-green)}.penalty-box .label{font-size:.75rem;color:var(--medium-gray)}.penalty-box .value{font-size:1.2rem;font-weight:700}.penalty-box.current .value{color:#dc3545}.penalty-box.projected .value{color:var(--success-green)}.penalty-arrow{font-size:1.5rem;color:var(--success-green)}.ird-rate-scenarios{margin-top:15px}.ird-rate-scenarios .scenarios-title{font-size:.85rem;font-weight:600;color:var(--navy);margin-bottom:10px}.ird-scenario-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.ird-scenario{background:#fff;border-radius:8px;padding:12px;text-align:center}.ird-scenario.rate-drop{border-left:3px solid var(--success-green)}.ird-scenario.rate-same{border-left:3px solid #6c757d}.ird-scenario.rate-increase{border-left:3px solid #e6a800}.ird-scenario .scenario-label{font-size:.75rem;color:var(--medium-gray);margin-bottom:5px}.ird-scenario .scenario-rate{font-size:.9rem;font-weight:600;color:var(--navy)}.ird-scenario .scenario-savings{font-size:1rem;font-weight:700;color:var(--success-green);margin-top:5px}.ird-scenario .scenario-breakeven{font-size:.7rem;color:var(--medium-gray)}.ird-custom-rate{margin-top:15px;padding-top:15px;border-top:1px solid #e6c84a}.ird-custom-rate label{font-size:.85rem;color:var(--navy);font-weight:600}.ird-custom-rate-input{display:flex;gap:10px;margin-top:8px;align-items:center}.ird-custom-rate-input input{width:100px;padding:8px 12px;border:1px solid var(--light-gray);border-radius:6px;font-size:.9rem}.ird-custom-rate-input button{padding:8px 16px;background:var(--navy);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.85rem}.ird-custom-rate-result{margin-top:10px;padding:10px;background:#fff;border-radius:6px;font-size:.9rem}.ird-client-message{margin-top:15px;padding:15px;background:#fff;border-radius:8px;border-left:4px solid var(--sage)}.ird-client-message .message-title{font-size:.85rem;font-weight:600;color:var(--navy);margin-bottom:8px}.ird-client-message .message-content{font-size:.85rem;color:#555;line-height:1.5}.future-opp-badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:.7rem;font-weight:600;background:#e8f5e9;color:#2e7d32;margin:1px 2px}.future-opp-badge.soon{background:#ffebee;color:#c62828}.future-opp-badge.medium{background:#fff3e0;color:#ef6c00}.future-opp-badge.ird-opportunity{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);color:#2e7d32;border:1px solid #81c784;font-weight:700}.future-opp-badge.ird-opportunity.soon{background:linear-gradient(135deg,#ffebee,#ffcdd2);color:#c62828;border:1px solid #ef9a9a}.future-opp-badge.ird-opportunity.medium{background:linear-gradient(135deg,#fff3e0,#ffe0b2);color:#ef6c00;border:1px solid #ffcc80}.email-section{margin-top:20px;border-top:1px solid var(--light-gray);padding-top:15px}.email-section h4{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;color:var(--navy);font-size:.9rem}.email-template{background:#f8f9fa;border:1px solid var(--light-gray);border-radius:8px;padding:15px;font-size:.85rem;line-height:1.6;white-space:pre-wrap;max-height:400px;overflow-y:auto;box-sizing:border-box;outline:none}.email-template:focus{border-color:var(--sage);box-shadow:0 0 0 2px #6b8e2326}.email-expand-modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;justify-content:center;align-items:center;z-index:2000}.email-expand-modal.active{display:flex}.email-expand-content{background:var(--white);border-radius:12px;padding:25px;width:90%;max-width:800px;max-height:85vh;display:flex;flex-direction:column}.email-expand-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:15px;border-bottom:1px solid var(--light-gray)}.email-expand-header h3{color:var(--navy);font-size:1.1rem;margin:0}.email-expand-body{background:#f8f9fa;border:1px solid var(--light-gray);border-radius:8px;padding:20px;font-size:.9rem;line-height:1.7;white-space:pre-wrap;overflow-y:auto;flex:1}.email-expand-actions{display:flex;gap:10px;margin-top:15px;justify-content:flex-end}.expand-btn{padding:6px 12px;background:transparent;border:1px solid var(--navy);color:var(--navy);border-radius:6px;cursor:pointer;font-size:.8rem;transition:all .2s}.expand-btn:hover{background:var(--navy);color:#fff}.copy-btn{padding:6px 14px;background:var(--navy);color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:.8rem;transition:background .2s}.copy-btn:hover{background:var(--sage)}.copy-btn.copied{background:#27ae60}.email-tabs{display:flex;gap:0;margin-bottom:15px;border-radius:8px;overflow:hidden;border:1px solid var(--navy)}.email-tab{flex:1;padding:10px 16px;background:var(--white);color:var(--navy);border:none;cursor:pointer;font-size:.85rem;font-weight:500;transition:all .2s}.email-tab:first-child{border-right:1px solid var(--navy)}.email-tab:hover:not(.active){background:var(--light-gray)}.email-tab.active{background:var(--navy);color:var(--white)}.email-tab-content{display:none}.email-tab-content.active{display:block}@media(max-width:900px){.options-container{grid-template-columns:1fr}.mortgage-summary{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.summary-grid{grid-template-columns:repeat(2,1fr)}.rate-grid,.detail-grid,.penalty-form-grid,.form-row,.mortgage-summary{grid-template-columns:1fr}}#logo-drag-drop-zone:hover{background:#f0f0f0}#navy-preview,#sage-preview{transition:all .2s}.mdmt-toast{position:fixed;bottom:20px;right:20px;padding:14px 22px;border-radius:8px;font-size:.85rem;font-weight:600;box-shadow:0 4px 16px #0000002e;z-index:100000;opacity:0;transform:translateY(10px);transition:opacity .3s,transform .3s;pointer-events:none;max-width:420px;line-height:1.4}.mdmt-toast.show{opacity:1;transform:translateY(0);pointer-events:none}.mdmt-toast.toast-success{background:var(--ui-success);color:#fff}.mdmt-toast.toast-error{background:#dc3545;color:#fff}.mdmt-toast.toast-warning{background:#f0ad4e;color:#333}.mdmt-toast.toast-info{background:var(--navy, #1A2E2A);color:#fff}#theme-library-container{min-height:120px}@keyframes splash-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}@keyframes splash-fade{0%{opacity:1}85%{opacity:1}to{opacity:0}}@media(max-width:1024px){.summary-card{flex:1 1 calc(50% - 8px);min-width:250px}.section-title{font-size:1.3rem}body{font-size:14px}button{font-size:.9rem;padding:10px 16px}#opportunities-table{font-size:.9rem}#opportunities-table th,#opportunities-table td{padding:8px 4px}}@media(max-width:768px){.summary-card{flex:1 1 100%}.section-title{font-size:1.1rem}body{font-size:13px}button{font-size:.85rem;padding:8px 12px;width:100%}header{flex-direction:column;align-items:flex-start}#header-title{margin-bottom:12px}#filter-tabs{width:100%;flex-wrap:wrap}#filter-tabs button{flex:1 1 auto;margin:4px 2px;min-width:80px}#opportunities-table{font-size:.85rem;overflow-x:auto;display:block;width:100%}#opportunities-table thead,#opportunities-table tbody,#opportunities-table th,#opportunities-table td,#opportunities-table tr{display:block}#opportunities-table th{position:absolute;top:-9999px;left:-9999px}#opportunities-table tr{border:1px solid var(--light-gray);margin-bottom:12px}#opportunities-table td{position:relative;padding:8px;text-align:right}#opportunities-table td:before{content:attr(data-label);position:absolute;left:8px;font-weight:600;color:var(--navy);text-align:left}.settings-menu{right:16px;left:auto}}@media print{*{background:#fff!important;color:#000!important;box-shadow:none!important;text-shadow:none!important;margin:0!important;padding:0!important}header,#settings-btn,.settings-menu,#license-gate,#splash-screen,#upload-section,#filter-tabs,.filter-section,#pdf-preview-container{display:none!important}body{font-family:Arial,sans-serif;font-size:11px;line-height:1.4;color:#000}.page-container{max-width:100%;margin:0;padding:20px}.section-title{font-size:14px;font-weight:700;color:#000;margin-top:12px;margin-bottom:8px;page-break-after:avoid;border-bottom:2px solid black;padding-bottom:4px}#opportunities-table{width:100%;border-collapse:collapse;font-size:10px;page-break-inside:avoid}#opportunities-table thead{display:table-header-group}#opportunities-table tbody{display:table-row-group}#opportunities-table th,#opportunities-table td{border:1px solid black;padding:4px 6px;text-align:left}#opportunities-table th{background:#fff;color:#000;font-weight:700;text-align:left}#opportunities-table tr{page-break-inside:avoid}.summary-card{break-inside:avoid;page-break-inside:avoid;border:1px solid black;padding:8px;margin:4px 0}.card-value{font-size:12px;font-weight:700;color:#000}.card-label{font-size:10px;color:#000}button,input,select,textarea{display:none!important}a{text-decoration:none;color:#000}@page{margin:.5in;size:letter}}.mdmt-sheet-option:hover{border-color:var(--sage)!important}#audit-log-modal>.logs-modal-inner{height:min(936px,calc(100vh - 80px));max-height:none;display:flex;flex-direction:column;overflow:hidden}#audit-log-modal>.logs-modal-inner>h2,#audit-log-modal>.logs-modal-inner>div:has(>#logs-tab-audit-btn){flex:0 0 auto}#audit-log-modal>.logs-modal-inner>div:first-of-type{flex:0 0 auto}#logs-panel-audit,#logs-panel-errors{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden}#logs-panel-audit>div:has(>#audit-date){position:sticky;top:0;background:#fff;z-index:2;margin:0 0 14px}#logs-panel-errors>div:has(>#error-filter-type){position:sticky;top:0;background:#fff;z-index:2;margin:0 0 14px}#audit-pagination{position:sticky;bottom:0;background:#fff;border-top:1px solid #e5e7eb;margin:8px 0 0;padding:10px 0;z-index:2}html.modal-open,body.modal-open{overflow:hidden;scrollbar-gutter:stable}body.modal-open{position:fixed;inset:0;width:100%}
