html,body,#root{margin:0;padding:0;height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--background: #000;--foreground: #fff;--accents-1: #111;--accents-2: #333;--accents-3: #444;--accents-4: #666;--accents-5: #888;--accents-6: #999;--accents-7: #eaeaea;--accents-8: #fafafa;--geist-success: #0070f3;--geist-error: #ee0000;--geist-warning: #f5a623;--success: #22c55e;--error: #ef4444;--border-radius: 8px;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif}[data-theme=light]{--background: #fff;--foreground: #000;--accents-1: #fafafa;--accents-2: #eaeaea;--accents-3: #d4d4d4;--accents-4: #999;--accents-5: #666;--accents-6: #444;--accents-7: #333;--accents-8: #111}*{box-sizing:border-box}*::selection{background:var(--accents-3)!important;color:var(--foreground)!important}*::-moz-selection{background:var(--accents-3)!important;color:var(--foreground)!important}html,body,#root{height:100%;margin:0;padding:0;overflow:hidden}body{font-family:var(--font-sans);background:var(--background);color:var(--foreground)}.app{height:100vh;display:flex;flex-direction:column;overflow:hidden}.app-header{flex-shrink:0;background:var(--accents-1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--accents-2);z-index:100}.header-content{padding:16px 24px;display:flex;justify-content:space-between;align-items:center;gap:16px}.logo{display:flex;align-items:center;gap:12px}.logo h1{font-size:1.25rem;font-weight:600;margin:0}.header-metrics{display:flex;flex-wrap:wrap;gap:16px 24px;align-items:center}.header-metric{display:flex;flex-direction:column;align-items:flex-end}.header-metric .label{font-size:.75rem;color:var(--accents-5);text-transform:uppercase;letter-spacing:.05em}.header-metric .value{font-size:1.125rem;font-weight:600;font-variant-numeric:tabular-nums}.header-metric.positive .value{color:var(--success)}.header-metric.negative .value{color:var(--error)}.export-dropdown{position:relative}.export-button{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--accents-2);border:1px solid var(--accents-3);border-radius:6px;color:var(--accents-6);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s}.export-button:hover{background:var(--accents-3);border-color:var(--accents-4);color:var(--foreground)}.export-menu{position:absolute;top:100%;right:0;margin-top:8px;background:var(--accents-1);border:1px solid var(--accents-3);border-radius:8px;overflow:hidden;min-width:160px;z-index:200;box-shadow:0 8px 30px #00000080}.export-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:12px 16px;background:transparent;border:none;color:var(--foreground);font-size:.875rem;cursor:pointer;transition:background .15s;text-align:left}.export-menu-item:hover{background:var(--accents-2)}.export-menu-item:not(:last-child){border-bottom:1px solid var(--accents-2)}.app-main{flex:1;overflow:hidden}.horizontal-scroll{display:flex;height:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.resize-handle{flex-shrink:0;width:6px;height:100%;background:var(--accents-2);cursor:col-resize;transition:background .15s;position:relative}.resize-handle:hover{background:var(--accents-4)}.resize-handle:active{background:var(--geist-success)}.resize-handle:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:2px;height:40px;background:var(--accents-4);border-radius:1px}.resize-handle:hover:before{background:var(--accents-6)}.horizontal-scroll::-webkit-scrollbar{height:8px}.horizontal-scroll::-webkit-scrollbar-track{background:var(--accents-1)}.horizontal-scroll::-webkit-scrollbar-thumb{background:var(--accents-3);border-radius:4px}.horizontal-scroll::-webkit-scrollbar-thumb:hover{background:var(--accents-4)}.panel{flex-shrink:0;height:100%;display:flex;flex-direction:column;min-width:300px}.panel:nth-child(1),.panel:nth-child(3){min-width:440px}.panel:nth-child(5){min-width:720px}.panel-title{flex-shrink:0;margin:0;padding:16px 24px;font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--accents-6);background:var(--accents-1);border-bottom:1px solid var(--accents-2)}.panel-content{flex:1;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:24px}.panel-content::-webkit-scrollbar{width:6px}.panel-content::-webkit-scrollbar-track{background:transparent}.panel-content::-webkit-scrollbar-thumb{background:var(--accents-3);border-radius:3px}.card{background:var(--accents-1);border:1px solid var(--accents-2);border-radius:var(--border-radius);overflow:visible;flex-shrink:0}.card-header{padding:16px 20px;border-bottom:1px solid var(--accents-2);display:flex;justify-content:space-between;align-items:center}.card-header.collapsible{cursor:pointer}.card-header.collapsible:hover{background:var(--accents-2)}.card-header h3{margin:0;font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--accents-6)}.card-header-content{display:flex;align-items:center;gap:8px;margin-left:auto}.collapse-icon{font-size:1.25rem;color:var(--accents-5)}.card-content{padding:20px;overflow:hidden}.card-content h4{margin:24px 0 12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--accents-5)}.card-content h4:first-child{margin-top:0}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.input-field{display:flex;flex-direction:column;gap:6px}.input-field label{font-size:.75rem;color:var(--accents-5)}.input-wrapper{display:flex;align-items:center;background:var(--background);border:1px solid var(--accents-3);border-radius:6px;overflow:hidden;transition:border-color .15s}.input-wrapper:focus-within{border-color:var(--foreground)}.input-wrapper input{flex:1;padding:10px 12px;background:transparent;border:none;color:var(--foreground);font-size:.875rem;font-variant-numeric:tabular-nums;outline:none;min-width:0}.input-wrapper input::-webkit-outer-spin-button,.input-wrapper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.input-wrapper input[type=number]{-moz-appearance:textfield}.input-wrapper .suffix{padding:10px 12px;background:var(--accents-2);color:var(--accents-5);font-size:.875rem;border-left:1px solid var(--accents-3)}.input-wrapper.has-error{border-color:var(--error)}.input-wrapper.has-error:focus-within{border-color:var(--error)}.input-wrapper.has-warning{border-color:var(--geist-warning)}.input-wrapper.has-warning:focus-within{border-color:var(--geist-warning)}.input-error{display:block;font-size:.75rem;color:var(--error);margin-top:4px}.input-warning{display:block;font-size:.75rem;color:var(--geist-warning);margin-top:4px}.field-error label{color:var(--error)}.field-warning label{color:var(--geist-warning)}.display-field{display:flex;flex-direction:column;gap:6px}.display-field label{font-size:.75rem;color:var(--accents-5)}.display-field .value{padding:10px 12px;background:var(--accents-2);border-radius:6px;font-size:.875rem;font-variant-numeric:tabular-nums;color:var(--accents-7)}.display-field.positive .value{color:var(--success)}.display-field.negative .value{color:var(--error)}.summary-row{display:flex;flex-wrap:wrap;gap:16px;margin-top:16px;padding-top:16px;border-top:1px solid var(--accents-2)}.summary-row:first-child{margin-top:0;padding-top:0;border-top:none}.summary-row>*{flex:1 1 140px;min-width:140px}.summary-row.highlight{background:var(--accents-2);margin:16px -20px -20px;padding:16px 20px;border-top:none;border-radius:0 0 var(--border-radius) var(--border-radius)}.loan-card{background:var(--background);border:1px solid var(--accents-3);border-radius:6px;padding:16px;margin-top:16px}.loan-card:first-of-type{margin-top:0}.loan-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.loan-name-input{flex:1;min-width:0;background:transparent;border:none;color:var(--foreground);font-size:.875rem;font-weight:600;outline:none;padding:4px 0}.loan-name-input:focus{border-bottom:1px solid var(--accents-3)}.icon-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:1px solid var(--accents-3);border-radius:6px;color:var(--accents-5);cursor:pointer;transition:all .15s}.icon-button:hover{background:var(--accents-2);color:var(--foreground)}.icon-button.danger:hover{background:var(--error);border-color:var(--error);color:var(--foreground)}.loan-header-actions{display:flex;align-items:center;gap:8px}.pill-toggle{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:20px;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:1px solid var(--accents-3);background:var(--accents-1);color:var(--accents-5);-webkit-user-select:none;user-select:none}.pill-toggle:hover{border-color:var(--accents-4);background:var(--accents-2)}.pill-toggle.active{background:#22c55e26;border-color:#22c55e4d;color:var(--success)}.pill-toggle.active:hover{background:#22c55e33;border-color:#22c55e66}.pill-toggle input{display:none}.pill-toggle.disabled{cursor:default;opacity:.6}.pill-toggle-icon{display:flex;align-items:center;justify-content:center;width:14px;height:14px}.chart-toggle-container{display:flex;justify-content:flex-start;margin-bottom:12px}.pill-toggle-group{display:inline-flex;gap:4px;padding:4px;background:var(--accents-1);border-radius:24px;border:1px solid var(--accents-3)}.pill-toggle-group .pill-toggle{border:none;background:transparent;padding:6px 14px}.pill-toggle-group .pill-toggle:hover{background:var(--accents-2)}.pill-toggle-group .pill-toggle.active{background:var(--foreground);color:var(--background)}.pill-toggle-group .pill-toggle.active:hover{background:var(--foreground)}.pill-toggle.details-toggle{display:flex;align-items:center;gap:4px}.pill-toggle.details-toggle .chevron{display:inline-flex;align-items:center;justify-content:center;font-size:1.25rem;margin-left:4px;line-height:1;transform:rotate(90deg)}.pill-toggle.details-toggle .chevron.expanded{transform:rotate(-90deg)}.add-loan-button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px;margin-top:16px;background:transparent;border:1px dashed var(--accents-3);border-radius:6px;color:var(--accents-5);font-size:.875rem;cursor:pointer;transition:all .15s;box-sizing:border-box}.add-loan-button:hover{background:var(--accents-2);border-color:var(--accents-4);color:var(--foreground)}.financing-options{margin-top:16px}.metrics-section{display:flex;flex-direction:column;gap:24px}.metrics-row{display:grid;grid-template-columns:minmax(320px,1fr) minmax(320px,1fr);gap:24px}@media(max-width:720px){.metrics-row{grid-template-columns:1fr}}.metrics-grid{display:grid;grid-template-columns:1fr;gap:16px}.metric-card{display:flex;align-items:flex-start;gap:16px;padding:16px;background:var(--background);border:1px solid var(--accents-3);border-radius:6px}.metric-card.positive{border-color:var(--success);background:#22c55e1a}.metric-card.negative{border-color:var(--error);background:#ef44441a}.metric-icon{color:var(--accents-5)}.metric-card.positive .metric-icon{color:var(--success)}.metric-card.negative .metric-icon{color:var(--error)}.metric-content{display:flex;flex-direction:column;gap:4px}.metric-label{font-size:.75rem;color:var(--accents-5);text-transform:uppercase;letter-spacing:.05em}.metric-value{font-size:1.125rem;font-weight:600;font-variant-numeric:tabular-nums}.metric-detail{font-size:.75rem;color:var(--accents-5);margin-top:4px;line-height:1.4}.cashflow-table{display:flex;flex-direction:column}.cashflow-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--accents-2);font-size:.875rem}.cashflow-row:last-child{border-bottom:none}.cashflow-row .value{font-variant-numeric:tabular-nums;font-weight:500}.cashflow-row .value.positive{color:var(--success)}.cashflow-row .value.negative{color:var(--error)}.cashflow-row.subtotal{border-top:1px solid var(--accents-3);margin-top:4px;padding-top:14px;font-weight:500}.cashflow-row.total{background:var(--accents-2);margin:8px -20px -20px;padding:14px 20px;font-weight:600}.charts-section{display:flex;flex-direction:column;gap:24px}.chart-container{height:300px;width:100%}.table-container{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:.75rem}.data-table th,.data-table td{padding:8px 12px;text-align:right;white-space:nowrap}.data-table th{background:var(--accents-2);font-weight:600;color:var(--accents-6);text-transform:uppercase;letter-spacing:.03em;position:sticky;top:0}.data-table th:first-child,.data-table td:first-child{text-align:left;position:sticky;left:0;background:var(--accents-1)}.data-table th:first-child{background:var(--accents-2)}.data-table tr:nth-child(2n){background:#ffffff05}.data-table tr:hover{background:#ffffff0d}.data-table td.positive{color:var(--success)}.data-table td.negative{color:var(--error)}.home-screen{position:relative;min-height:100vh;display:flex;flex-direction:column;background:var(--background)}.drop-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;pointer-events:none}.drop-overlay-content{display:flex;flex-direction:column;align-items:center;gap:16px;padding:48px 64px;background:var(--accents-1);border:2px dashed var(--accents-5);border-radius:16px;color:var(--foreground);font-size:1.25rem;font-weight:500}.home-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid var(--accents-2);background:var(--accents-1)}.home-logo{display:flex;align-items:center;gap:12px}.home-logo h1{font-size:1.25rem;font-weight:600;margin:0}.home-header-actions{display:flex;align-items:center;gap:8px}.export-all-button{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 12px;background:var(--accents-2);border:1px solid var(--accents-3);border-radius:6px;color:var(--foreground);font-size:.8rem;font-weight:500;cursor:pointer;transition:all .15s}.export-all-button:hover{background:var(--accents-3);border-color:var(--accents-4)}.home-content{flex:1;padding:32px 24px;max-width:1400px;margin:0 auto;width:100%}.scenarios-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}.add-scenario-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;min-height:220px;background:transparent;border:2px dashed var(--accents-3);border-radius:var(--border-radius);color:var(--accents-5);font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}.add-scenario-card:hover{border-color:var(--geist-success);color:var(--geist-success);background:#0070f30d}.add-scenario-card .add-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:var(--accents-2);transition:all .2s ease}.add-scenario-card:hover .add-icon{background:var(--geist-success);color:#fff}.scenario-card{display:flex;flex-direction:column;background:var(--accents-1);border:1px solid var(--accents-2);border-radius:var(--border-radius);cursor:pointer;transition:all .2s ease;overflow:hidden}.scenario-card:hover{border-color:var(--accents-4);transform:translateY(-2px);box-shadow:0 8px 24px #0000004d}.scenario-card-header{display:flex;align-items:center;justify-content:space-between;padding:16px;background:var(--accents-2);position:relative}.scenario-icon{color:var(--accents-5)}.scenario-menu-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:6px;color:var(--accents-5);cursor:pointer;transition:all .15s}.scenario-menu-button:hover{background:var(--accents-3);color:var(--foreground)}.scenario-menu{position:absolute;top:48px;right:16px;background:var(--background);border:1px solid var(--accents-3);border-radius:8px;overflow:hidden;min-width:150px;z-index:100;box-shadow:0 8px 30px #00000080}.scenario-menu button{display:flex;align-items:center;gap:8px;width:100%;padding:12px 16px;background:transparent;border:none;color:var(--foreground);font-size:.875rem;cursor:pointer;text-align:left;transition:background .15s}.scenario-menu button:hover{background:var(--accents-2)}.scenario-menu button.danger{color:var(--error)}.scenario-menu button.danger:hover{background:#ef44441a}.scenario-card-content{flex:1;padding:20px}.scenario-name{margin:0 0 8px;font-size:1.125rem;font-weight:600}.scenario-name-input{width:100%;padding:8px 12px;margin-bottom:8px;background:var(--background);border:1px solid var(--accents-3);border-radius:6px;color:var(--foreground);font-size:1.125rem;font-weight:600;outline:none}.scenario-name-input:focus{border-color:var(--geist-success)}.scenario-address{margin:0 0 16px;font-size:.875rem;color:var(--accents-5)}.scenario-metrics{display:flex;flex-direction:column;gap:8px}.scenario-metric{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--accents-2)}.scenario-metric:last-child{border-bottom:none}.scenario-metric .label{font-size:.75rem;color:var(--accents-5);text-transform:uppercase;letter-spacing:.05em}.scenario-metric .value{font-size:.875rem;font-weight:600;font-variant-numeric:tabular-nums}.scenario-metric .value.positive{color:var(--success)}.scenario-metric .value.negative{color:var(--error)}.scenario-card-footer{padding:12px 20px;background:var(--accents-2);border-top:1px solid var(--accents-2)}.scenario-date{font-size:.75rem;color:var(--accents-5)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 24px;text-align:center;color:var(--accents-5)}.empty-state h2{margin:24px 0 12px;font-size:1.25rem;font-weight:600;color:var(--accents-6)}.empty-state p{margin:0;max-width:400px}.loading{display:flex;align-items:center;justify-content:center;min-height:100vh}.loading-spinner{color:var(--accents-5);font-size:1rem}.header-left{display:flex;align-items:center;gap:16px}.back-button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--accents-2);border:1px solid var(--accents-3);border-radius:8px;color:var(--accents-6);cursor:pointer;transition:all .15s}.back-button:hover{background:var(--accents-3);color:var(--foreground)}.header-title-editable{display:flex;align-items:center;gap:8px;cursor:pointer;padding:4px 8px;margin:-4px -8px;border-radius:6px;transition:background .15s}.header-title-editable:hover{background:var(--accents-2)}.header-title-editable .edit-icon{opacity:0;transition:opacity .15s;color:var(--accents-5)}.header-title-editable:hover .edit-icon{opacity:1}.header-name-input{font-size:1.25rem;font-weight:600;background:var(--accents-2);border:1px solid var(--accents-4);border-radius:6px;color:var(--foreground);padding:4px 12px;outline:none;min-width:200px}.header-name-input:focus{border-color:var(--geist-success)}.theme-toggle{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--accents-2);border:1px solid var(--accents-3);border-radius:6px;color:var(--accents-6);cursor:pointer;transition:all .15s;flex-shrink:0}.theme-toggle:hover{background:var(--accents-3);color:var(--foreground)}@media(max-width:768px){.header-content{flex-direction:column;align-items:flex-start}.header-metrics{width:100%;justify-content:space-between}.header-metric{align-items:flex-start}.panel,.panel-wide{width:100vw}}
