:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.db-sync-modal{background:#fff;border-radius:8px;width:90%;max-width:800px;max-height:85vh;overflow:hidden;display:flex;flex-direction:column}.sync-message{padding:12px 20px;font-size:14px}.sync-message.success{background:#d4edda;color:#155724}.sync-message.error{background:#f8d7da;color:#721c24}.sync-message.info{background:#cce5ff;color:#004085}.sync-loading{padding:60px;text-align:center;color:#666;font-size:15px}.sync-summary{display:flex;justify-content:center;gap:32px;padding:16px 20px;background:#f8f9fa;border-bottom:1px solid #e0e0e0}.summary-item{display:flex;flex-direction:column;align-items:center;gap:4px}.summary-count{font-size:24px;font-weight:600}.summary-count.changed{color:#fd7e14}.summary-count.synced{color:#28a745}.summary-count.server-only{color:#6c757d}.summary-label{font-size:12px;color:#666}.sync-actions-top{display:flex;align-items:center;gap:12px;padding:12px 20px;border-bottom:1px solid #e9ecef}.btn-select-all,.btn-deselect-all{padding:6px 12px;font-size:13px;border:1px solid #ddd;border-radius:4px;background:#fff;cursor:pointer;transition:all .2s}.btn-select-all:hover,.btn-deselect-all:hover{background:#f8f9fa;border-color:#ccc}.backup-checkbox{margin-left:auto;display:flex;align-items:center;gap:6px;font-size:13px;color:#666;cursor:pointer}.backup-checkbox input{cursor:pointer}.sync-list{flex:1;overflow-y:auto;padding:12px 20px;min-height:200px}.no-diffs{text-align:center;color:#666;padding:40px}.diff-item{display:flex;padding:12px;margin-bottom:8px;border-radius:6px;border:1px solid #e9ecef;background:#f8f9fa;transition:all .2s}.diff-item.selected{border-color:#2196f3;background:#e3f2fd}.diff-item.diff-added{border-left:4px solid #28a745}.diff-item.diff-modified{border-left:4px solid #fd7e14}.diff-item.diff-deleted{border-left:4px solid #6c757d;opacity:.7}.diff-item.diff-unchanged{border-left:4px solid #28a745;opacity:.6}.diff-checkbox{display:flex;align-items:flex-start;padding-top:2px;width:28px;flex-shrink:0}.diff-checkbox input{width:18px;height:18px;cursor:pointer}.diff-content{flex:1;min-width:0}.diff-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.diff-client-name{font-size:15px;font-weight:600;color:#333}.diff-type-badge{font-size:11px;padding:3px 8px;border-radius:12px;font-weight:500}.diff-type-badge.diff-added{background:#d4edda;color:#155724}.diff-type-badge.diff-modified{background:#fff3cd;color:#856404}.diff-type-badge.diff-deleted{background:#e2e3e5;color:#383d41}.diff-type-badge.diff-unchanged{background:#d4edda;color:#155724}.diff-client-id{font-size:12px;color:#888;margin-bottom:6px}.diff-changes{margin:8px 0;padding:8px;background:#fff;border-radius:4px;border:1px solid #e9ecef}.change-item{font-size:13px;color:#555;margin-bottom:4px;display:flex;gap:6px}.change-item:last-child{margin-bottom:0}.change-bullet{color:#fd7e14}.diff-timestamps{display:flex;gap:16px;font-size:11px;color:#888;margin-top:6px}.timestamp.local{color:#2196f3}.timestamp.server{color:#28a745}.sync-actions-bottom{display:flex;justify-content:flex-end;gap:12px;padding:16px 20px;border-top:1px solid #e0e0e0;background:#f8f9fa}.btn-refresh{padding:10px 20px;background:#fff;color:#666;border:1px solid #ddd;border-radius:4px;font-size:14px;cursor:pointer;transition:all .2s}.btn-refresh:hover:not(:disabled){background:#f8f9fa;border-color:#ccc}.btn-refresh:disabled{opacity:.6;cursor:not-allowed}.btn-merge{padding:10px 24px;background:#2196f3;color:#fff;border:none;border-radius:4px;font-size:14px;cursor:pointer;transition:background .2s}.btn-merge:hover:not(:disabled){background:#1976d2}.btn-merge:disabled{background:#90caf9;cursor:not-allowed}.ai-diagnosis-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.ai-diagnosis-modal{background:linear-gradient(135deg,#1a1a2e,#16213e);border-radius:16px;width:95%;max-width:950px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 25px 80px #00000080,0 0 40px #e7c4651a}.ai-diagnosis-header{display:flex;justify-content:space-between;align-items:center;padding:1.2rem 1.5rem;background:linear-gradient(135deg,#e7c465,#d4a84b);color:#1a1a2e}.ai-diagnosis-header h2{margin:0;font-size:1.5rem;font-weight:700;text-shadow:0 1px 2px rgba(255,255,255,.3)}.header-actions{display:flex;align-items:center;gap:.5rem}.header-left-controls{display:flex;align-items:center;gap:.5rem;margin-right:auto}.header-period-selector{display:flex;align-items:center;gap:6px;background:#ffffffe6;padding:4px 10px;border-radius:8px}.header-period-selector .period-label{font-size:12px;font-weight:600;color:#1a1a2e;white-space:nowrap}.header-period-selector .header-year-select{padding:4px 8px;border:1px solid #ccc;border-radius:6px;font-size:12px;background:#fff;color:#1a1a2e;cursor:pointer;min-width:75px}.header-period-selector .header-year-select option{color:#1a1a2e;background:#fff}.header-period-selector .header-year-select:hover{border-color:#999}.header-period-selector .header-year-select:focus{outline:none;border-color:#e7c465}.header-period-selector .period-separator{color:#1a1a2e;font-size:12px}.header-period-selector .period-reset-btn{padding:4px 10px;border:none;border-radius:6px;font-size:11px;font-weight:600;cursor:pointer;background:#1a1a2e;color:#e7c465;transition:all .2s ease}.header-period-selector .period-reset-btn:hover{background:#0f0f1a;transform:translateY(-1px)}.edit-btn,.print-btn{background:#1a1a2ecc;border:none;color:#e7c465;padding:.5rem 1.2rem;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .3s}.edit-btn:hover,.print-btn:hover{background:#1a1a2e;transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.edit-btn.editing{background:#fff;color:#1a1a2e}.ai-diagnosis-close{background:#1a1a2e99;border:none;color:#1a1a2e;font-size:1.5rem;width:40px;height:40px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s;margin-left:.5rem}.ai-diagnosis-close:hover{background:#1a1a2e;color:#e7c465;transform:rotate(90deg)}.ai-diagnosis-content{flex:1;overflow-y:auto;padding:1.5rem;background:linear-gradient(180deg,#1a1a2e,#0f0f1a)}.report-container{background:linear-gradient(145deg,#fff,#f8f9fc);border-radius:16px;box-shadow:0 10px 40px #0003,inset 0 1px #fffc;overflow:hidden}.sheet{padding:32px 36px;position:relative;color:#1d2647}.sheet header{background:linear-gradient(135deg,#1d2647,#2a3a5c);margin:-32px -36px 24px;padding:28px 36px;display:flex;justify-content:space-between;align-items:center;position:relative;overflow:hidden}.sheet header:before{content:"";position:absolute;top:0;right:0;width:200px;height:100%;background:linear-gradient(135deg,transparent 0%,rgba(231,196,101,.1) 100%)}.sheet header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#e7c465,#f0d88a,#e7c465)}.sheet .title{font-size:22px;font-weight:700;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.2)}.sheet .sub{font-size:13px;color:#ffffffb3;margin-top:6px}.sheet .investor{font-size:15px;color:#1d2647;background:linear-gradient(135deg,#e7c465,#f0d88a);padding:10px 20px;border-radius:30px;font-weight:700;box-shadow:0 4px 15px #e7c46566;position:relative;z-index:1}.sheet h2{color:#1d2647;margin:28px 0 16px;font-size:17px;font-weight:700;display:flex;align-items:center;gap:10px}.sheet h2:before{content:"";width:4px;height:20px;background:linear-gradient(180deg,#e7c465,#d4a84b);border-radius:2px}.sheet h3{margin:10px 0 8px;font-size:15px;color:#1d2647;font-weight:700}.sheet table{width:100%;border-collapse:separate;border-spacing:0;margin-top:12px;border-radius:12px;overflow:hidden;box-shadow:0 4px 20px #00000014}.sheet th,.sheet td{padding:14px 16px;font-size:14px;text-align:left;border-bottom:1px solid #e6e9f2}.sheet th{background:linear-gradient(135deg,#1d2647,#2a3a5c);color:#fff;font-weight:600;text-transform:uppercase;font-size:12px;letter-spacing:.5px}.sheet td{background:#fff;color:#333}.sheet tbody tr:hover td{background:#f8f9fc}.sheet tbody tr:last-child td{border-bottom:none}.sheet strong{color:#1d2647;font-weight:700}.sheet .key{color:#e7c465;font-weight:800;text-shadow:0 0 20px rgba(231,196,101,.3)}.sheet .big{font-weight:800;font-size:20px;color:#1d2647;background:linear-gradient(135deg,#e7c465,#d4a84b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.efficiency-summary{margin-top:16px;padding:20px 24px;background:linear-gradient(135deg,#1d2647,#2a3a5c);border-radius:12px;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;color:#fff;box-shadow:0 4px 20px #1d26474d}.efficiency-summary strong{color:#fff}.efficiency-summary .key{font-size:24px;color:#e7c465;text-shadow:0 0 20px rgba(231,196,101,.5)}.efficiency-summary .big{font-size:24px;background:linear-gradient(135deg,#e7c465,#f0d88a);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.efficiency-summary .separator{color:#fff6;margin:0 8px;font-size:20px}.tax-savings-section{margin-top:12px}.tax-description{font-size:14px;color:#444;margin-bottom:16px;line-height:1.7}.tax-comparison{margin-top:16px;padding:12px 16px;background:linear-gradient(135deg,#f0f0f5,#e8e8f0);border-radius:8px;border-left:4px solid #888}.tax-comparison p{margin:0;font-size:14px;color:#444}.normal-rate{font-size:16px;font-weight:700;color:#666;margin-left:8px}.tax-summary{margin-top:16px;padding:16px 20px;background:linear-gradient(135deg,#e8f5e9,#f1f8e9);border-radius:8px;border-left:4px solid #4caf50}.tax-summary p{margin:0;font-size:14px;color:#2e7d32;font-weight:500;line-height:1.7}.note{background:linear-gradient(135deg,#fff8e6,#fffdf5);border-left:5px solid #E7C465;padding:20px 24px;border-radius:0 12px 12px 0;margin-top:24px;box-shadow:0 4px 20px #e7c46526;position:relative;overflow:hidden}.note:before{content:"";position:absolute;top:0;right:0;width:100px;height:100px;background:radial-gradient(circle,rgba(231,196,101,.1) 0%,transparent 70%)}.conclusion-rating{font-size:28px;margin-bottom:12px;letter-spacing:4px}.note p{margin:8px 0;font-size:15px;line-height:1.7;color:#444}.note strong{color:#1d2647}.note .recommendation{margin-top:12px;font-size:16px;color:#1d2647;background:linear-gradient(135deg,#e7c465,#d4a84b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.sheet footer{margin-top:24px;padding-top:12px;border-top:1px solid #e6e9f2;font-size:11px;color:#888;display:flex;justify-content:space-between;align-items:center}.sheet footer:before{content:"Towa Corporation";font-size:10px;color:#aaa;letter-spacing:1px}.editable-input{width:100%;padding:8px 12px;border:2px solid #E7C465;border-radius:8px;font-size:inherit;font-family:inherit;background:#fffef5;color:#1d2647;transition:box-shadow .3s}.editable-input:focus{outline:none;box-shadow:0 0 0 4px #e7c46533}.editable-number{width:150px;color:#1d2647}.editable-textarea{width:100%;min-height:80px;padding:12px;border:2px solid #E7C465;border-radius:8px;font-size:14px;font-family:inherit;resize:vertical;background:#fffef5;color:#1d2647;margin:6px 0;transition:box-shadow .3s}.editable-textarea:focus{outline:none;box-shadow:0 0 0 4px #e7c46533}.ai-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:400px;color:#e7c465}.ai-loading-spinner{width:60px;height:60px;border:4px solid rgba(231,196,101,.2);border-top-color:#e7c465;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1.5rem}.ai-loading p{font-size:1.1rem;font-weight:500}.ai-error{padding:3rem;background:linear-gradient(135deg,#ff6b6b,#ee5a5a);border-radius:12px;text-align:center;color:#fff}.ai-error p:first-child{font-size:1.2rem;font-weight:600;margin-bottom:.5rem}.ai-error .error-detail{font-size:.9rem;opacity:.9}.ai-result{background:#1d2647;border-radius:12px;padding:2rem;color:#fff}.ai-result-text{line-height:1.9}.ai-result-text p{margin:0 0 .75rem}.ai-usage-footer{display:flex;align-items:center;justify-content:flex-end;gap:1.5rem;padding:1rem 1.5rem;background:linear-gradient(135deg,#1a1a2e,#16213e);border-top:1px solid rgba(231,196,101,.2);font-size:.85rem;color:#fff9}.ai-usage-cost{font-weight:600;color:#e7c465}.ai-mode-badge{background:linear-gradient(135deg,#e7c465,#d4a84b);color:#1a1a2e;padding:.3rem 1rem;border-radius:20px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.tab-buttons{display:flex;gap:4px;background:#1a1a2e99;padding:4px;border-radius:10px}.tab-btn{background:transparent;border:none;color:#ffffffb3;padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-size:.85rem;font-weight:600;transition:all .3s}.tab-btn:hover:not(:disabled){background:#e7c46533;color:#e7c465}.tab-btn.active{background:#e7c465;color:#1a1a2e}.tab-btn:disabled{opacity:.4;cursor:not-allowed}.tab-content{display:none}.tab-content.active{display:block}.chart-content-wrapper{background:#fff;border-radius:20px;padding:28px;border:1px solid #ccc;position:relative;overflow:hidden}.chart-content-wrapper:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#00b894,#00d4aa)}.investment-effect-hero{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:24px 32px;margin-bottom:24px;background:#fff;border-radius:16px;border:1px solid #ccc}.hero-main{text-align:center}.hero-label{font-size:.9rem;color:#666;font-weight:600;letter-spacing:1px;text-transform:uppercase;margin-bottom:8px}.hero-value{font-size:2.8rem;font-weight:800}.hero-value.positive{color:#00d4aa}.hero-value.negative{color:#f5576c}.hero-details{display:flex;align-items:center;gap:20px}.hero-detail-item{display:flex;flex-direction:column;align-items:center;gap:4px}.detail-label{font-size:.75rem;color:#666;font-weight:500}.detail-value{font-size:1.3rem;font-weight:700}.detail-value.with-property{color:#00d4aa}.detail-value.without-property{color:#9e9e9e}.hero-detail-separator{font-size:1rem;color:#999;font-weight:600}.pie-charts-row{display:flex;gap:20px;margin-top:16px}.pie-charts-row .pie-chart-section{flex:1}.pie-chart-section{background:#fff;border-radius:12px;padding:12px;border:1px solid #ccc}.pie-chart-title{font-size:.85rem;font-weight:700;color:#1d2647;text-align:center;margin-bottom:8px;padding-bottom:8px;border-bottom:2px solid #e8ecf0}.pie-chart-container{display:flex;justify-content:center;align-items:center}.pie-legend{display:flex;flex-direction:column;gap:6px;margin-top:8px}.pie-legend-item{display:flex;align-items:center;gap:8px;font-size:.75rem}.pie-legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.pie-legend-label{flex:1;color:#555;font-weight:500}.pie-legend-value{font-weight:700;color:#1d2647}.pie-no-data{text-align:center;color:#999;font-size:.85rem;padding:40px 0}.chart-summary-cards{display:none}.chart-area{display:flex;justify-content:center;align-items:center;background:#fff;border-radius:16px;padding:16px;min-height:360px;border:1px solid #ccc}.chart-legend-custom{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:12px;padding:10px 16px;background:#fff;border-radius:10px;border:1px solid #ccc}.legend-item{display:flex;align-items:center;gap:6px;font-size:.8rem;color:#444;font-weight:500;padding:6px 10px;background:#fff;border-radius:6px;box-shadow:0 2px 8px #0000000f;transition:transform .2s}.legend-item:hover{transform:scale(1.02)}.legend-bar{width:24px;height:16px;border-radius:4px;box-shadow:0 2px 6px #00000026}.legend-bar.net-assets{background:linear-gradient(180deg,#00d4aa,#00a085)}.legend-line{width:28px;height:4px;border-radius:2px;box-shadow:0 2px 6px #00000026}.legend-line.with-property{background:linear-gradient(90deg,#00b894,#00d4aa)}.legend-line.total-assets{background:linear-gradient(90deg,#667eea,#764ba2)}.legend-line.total-liabilities{background:linear-gradient(90deg,#f093fb,#f5576c)}.legend-line.annual-balance{background:repeating-linear-gradient(90deg,#ec407a 0px,#ec407a 6px,transparent 6px,transparent 12px)}.legend-line.without-property{background:repeating-linear-gradient(90deg,#9e9e9e 0px,#9e9e9e 6px,transparent 6px,transparent 12px)}.legend-area{width:24px;height:16px;border-radius:4px}.legend-area.investment-effect{background:linear-gradient(180deg,#00d4aa99,#00d4aa1a);border:2px solid #00d4aa}.legend-item.highlight{background:linear-gradient(135deg,#e8fff8,#d4fff0);border:1px solid #00d4aa}@media(max-width:768px){.ai-diagnosis-modal{width:98%;max-height:95vh}.cols{flex-direction:column}.sheet{padding:20px}.sheet header{flex-direction:column;align-items:flex-start;gap:12px;margin:-20px -20px 20px;padding:20px}.efficiency-summary{flex-direction:column;text-align:center}.ai-usage-footer{flex-wrap:wrap;gap:.75rem;justify-content:center}}.mini-summary-line{display:flex;align-items:center;gap:8px;padding:6px 12px;background:#f8f9fa;border-radius:6px;margin-bottom:10px;font-size:.75rem}.mini-summary-line .mini-label{color:#666;font-weight:500}.mini-summary-line .mini-value{font-weight:700}.mini-summary-line .mini-value.positive{color:#00d4aa}.mini-summary-line .mini-value.negative{color:#f5576c}.mini-summary-line .mini-separator{color:#ddd;margin:0 4px}.mini-summary-line .mini-dot{width:6px;height:6px;border-radius:50%;margin-left:8px}.mini-summary-line .mini-dot.with{background:#00d4aa}.mini-summary-line .mini-dot.without{background:#9e9e9e}.mini-summary-line .mini-text{color:#555}.mini-summary-line .mini-text.muted{color:#999}.chart-area.compact{min-height:280px;padding:12px}.ai-investment-analysis{background:linear-gradient(135deg,#fff,#f8fafc);border-radius:16px;padding:20px;margin-top:20px;border:1px solid #e0e6ed;box-shadow:0 4px 20px #00000014}.analysis-header{display:flex;align-items:center;gap:10px;margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid #e7c465}.analysis-header .analysis-icon{font-size:1.3rem}.analysis-header h3{font-size:1.1rem;font-weight:700;color:#1d2647;margin:0}.ai-score-section{display:flex;gap:24px;padding:16px 20px;background:linear-gradient(135deg,#1d2647,#2a3a5c);border-radius:12px;margin-bottom:16px;align-items:center}.score-main{text-align:center;padding-right:24px;border-right:1px solid rgba(255,255,255,.2)}.score-label{font-size:.7rem;color:#ffffffb3;margin-bottom:4px;text-transform:uppercase;letter-spacing:1px}.score-stars{font-size:1.2rem;color:#e7c465;margin-bottom:2px;letter-spacing:2px}.score-number{font-size:2rem;font-weight:800;color:#00d4aa;line-height:1}.score-number .score-max{font-size:.9rem;color:#ffffff80;font-weight:500}.score-breakdown{flex:1;display:flex;flex-direction:column;gap:6px}.score-item{display:flex;align-items:center;gap:8px}.score-item-label{font-size:.7rem;color:#fffc;width:55px;flex-shrink:0}.score-item-bar{flex:1;height:6px;background:#ffffff26;border-radius:3px;overflow:hidden}.score-item-bar .bar-fill{display:block;height:100%;background:linear-gradient(90deg,#00d4aa,#00b894);border-radius:3px;transition:width .5s ease}.score-item-value{font-size:.7rem;font-weight:700;color:#00d4aa;width:24px;text-align:right}.ai-evaluation{display:flex;gap:14px;padding:16px;background:linear-gradient(135deg,#1d2647,#2a3a5c);border-radius:12px;margin-bottom:16px}.ai-avatar{width:40px;height:40px;background:linear-gradient(135deg,#e7c465,#d4a84b);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:800;color:#1d2647;flex-shrink:0}.ai-message{flex:1}.ai-message .ai-greeting{font-size:.8rem;color:#ffffffb3;margin:0 0 6px}.ai-message .ai-main-message{font-size:.9rem;color:#fff;line-height:1.6;margin:0}.ai-message .ai-main-message strong{color:#e7c465}.ai-message .highlight-effect{font-size:1.1rem;color:#00d4aa}.risk-analysis-section{margin-bottom:16px}.section-title{font-size:.9rem;font-weight:700;color:#1d2647;margin:0 0 12px;padding-left:10px;border-left:3px solid #e7c465}.risk-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.risk-item{padding:12px;background:#fff;border-radius:10px;border:1px solid #e8ecf0}.risk-item.safe{border-left:3px solid #28a745}.risk-item.info{border-left:3px solid #ffc107}.risk-header{display:flex;align-items:center;gap:6px;margin-bottom:6px}.risk-icon{font-size:.75rem}.risk-name{font-size:.8rem;font-weight:700;color:#1d2647;flex:1}.risk-badge{font-size:.65rem;font-weight:600;padding:2px 6px;border-radius:10px}.risk-badge.safe{background:#d4edda;color:#28a745}.risk-badge.info{background:#fff3cd;color:#856404}.risk-detail{font-size:.7rem;color:#666;line-height:1.5;margin:0}.ai-advice-section{margin-bottom:16px}.advice-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.advice-card{display:flex;gap:10px;padding:12px;background:#fff;border-radius:10px;border:1px solid #e8ecf0}.advice-icon{font-size:1.2rem;flex-shrink:0}.advice-content h5{font-size:.8rem;font-weight:700;color:#1d2647;margin:0 0 4px}.advice-content p{font-size:.75rem;color:#555;line-height:1.5;margin:0}.ai-conclusion{display:flex;gap:12px;padding:16px;background:linear-gradient(135deg,#e8f5e9,#f1f8e9);border-radius:12px;border:1px solid #c8e6c9}.conclusion-icon{font-size:1.5rem;flex-shrink:0}.conclusion-content h4{font-size:.9rem;font-weight:700;color:#2e7d32;margin:0 0 6px}.conclusion-content p{font-size:.85rem;color:#2e7d32;line-height:1.6;margin:0}.conclusion-content .highlight{font-size:1rem;color:#00b894;font-weight:700}@media(max-width:900px){.risk-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.compact-summary-bar{flex-wrap:wrap;gap:12px}.risk-grid,.advice-cards{grid-template-columns:1fr}}@media print{.sheet{width:100%;padding:0;box-shadow:none}.sheet header{background:#1d2647!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.col:hover{transform:none;box-shadow:0 4px 15px #0000000d}.ai-investment-analysis{page-break-inside:avoid;-webkit-print-color-adjust:exact;print-color-adjust:exact}.analysis-item:hover{transform:none;box-shadow:none}}.chart-modal-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.chart-modal{background:linear-gradient(135deg,#1a1a2e,#16213e);border-radius:16px;width:95%;max-width:1050px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 25px 80px #00000080,0 0 40px #e7c4651a}.chart-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.2rem 1.5rem;background:linear-gradient(135deg,#4caf50,#45a049);color:#fff}.chart-modal-header h2{margin:0;font-size:1.5rem;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.2)}.chart-modal-header .header-actions{display:flex;align-items:center;gap:.5rem}.chart-modal-header .print-btn{background:#fff3;border:none;color:#fff;padding:.5rem 1.2rem;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .3s}.chart-modal-header .print-btn:hover{background:#ffffff4d;transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.chart-modal-close{background:#fff3;border:none;color:#fff;font-size:1.5rem;width:40px;height:40px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s;margin-left:.5rem}.chart-modal-close:hover{background:#ffffff4d;transform:rotate(90deg)}.chart-modal-content{flex:1;overflow-y:auto;padding:1.5rem;background:linear-gradient(180deg,#1a1a2e,#0f0f1a)}.chart-modal-content .chart-content-wrapper{background:#fff;border-radius:20px;padding:28px;border:1px solid #ccc;position:relative;overflow:hidden}.chart-modal-content .chart-content-wrapper:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#667eea,#764ba2,#f5576c,#00d4aa)}.chart-modal-content .chart-period-selector{display:flex;align-items:center;gap:16px;margin-bottom:20px;padding:14px 20px;background:linear-gradient(135deg,#f8fafc,#e8ecf0);border-radius:12px;border:1px solid #e0e4e8}.chart-modal-content .period-label{font-size:.9rem;font-weight:600;color:#1d2647}.chart-modal-content .period-controls{display:flex;align-items:center;gap:10px}.chart-modal-content .year-select{padding:8px 12px;font-size:.9rem;font-weight:500;color:#1d2647;background:#fff;border:2px solid #d0d5dd;border-radius:8px;cursor:pointer;transition:all .2s;min-width:100px}.chart-modal-content .year-select:hover{border-color:#00d4aa}.chart-modal-content .year-select:focus{outline:none;border-color:#00d4aa;box-shadow:0 0 0 3px #00d4aa33}.chart-modal-content .period-separator{font-size:1rem;font-weight:600;color:#666}.chart-modal-content .period-reset-btn{padding:8px 16px;font-size:.85rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;cursor:pointer;transition:all .2s;margin-left:8px}.chart-modal-content .period-reset-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.chart-modal-content .investment-effect-hero{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:24px 32px;margin-bottom:24px;background:#fff;border-radius:16px;border:1px solid #ccc}.chart-modal-content .hero-main{text-align:center}.chart-modal-content .hero-label{font-size:.9rem;color:#666;font-weight:600;letter-spacing:1px;text-transform:uppercase;margin-bottom:8px}.chart-modal-content .hero-value{font-size:2.8rem;font-weight:800}.chart-modal-content .hero-value.positive{color:#00d4aa}.chart-modal-content .hero-value.negative{color:#f5576c}.chart-modal-content .hero-details{display:flex;align-items:center;gap:20px}.chart-modal-content .hero-detail-item{display:flex;flex-direction:column;align-items:center;gap:4px}.chart-modal-content .detail-label{font-size:.75rem;color:#666;font-weight:500}.chart-modal-content .detail-value{font-size:1.3rem;font-weight:700}.chart-modal-content .detail-value.with-property{color:#00d4aa}.chart-modal-content .detail-value.without-property{color:#9e9e9e}.chart-modal-content .hero-detail-separator{font-size:1rem;color:#999;font-weight:600}.chart-modal-content .pie-charts-row{display:flex;gap:20px;margin-top:16px}.chart-modal-content .pie-charts-row .pie-chart-section{flex:1}.chart-modal-content .chart-area{display:flex;justify-content:center;align-items:center;background:#fff;border-radius:16px;padding:16px;min-height:360px;border:1px solid #ccc}.chart-modal-content .pie-chart-section{background:#fff;border-radius:12px;padding:12px;border:1px solid #ccc}.chart-modal-content .pie-chart-title{font-size:.85rem;font-weight:700;color:#1d2647;text-align:center;margin-bottom:8px;padding-bottom:8px;border-bottom:2px solid #e8ecf0}.chart-modal-content .pie-chart-container{display:flex;justify-content:center;align-items:center}.chart-modal-content .pie-legend{display:flex;flex-direction:column;gap:6px;margin-top:8px}.chart-modal-content .pie-legend-item{display:flex;align-items:center;gap:8px;font-size:.75rem}.chart-modal-content .pie-legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.chart-modal-content .pie-legend-label{flex:1;color:#555;font-weight:500}.chart-modal-content .pie-legend-value{font-weight:700;color:#1d2647}.chart-modal-content .pie-no-data{text-align:center;color:#999;font-size:.85rem;padding:40px 0}.chart-no-data{display:flex;align-items:center;justify-content:center;height:400px;color:#888;font-size:1.1rem}.chart-modal-content .chart-legend-custom{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:12px;padding:10px 16px;background:#fff;border-radius:10px;border:1px solid #ccc}.chart-modal-content .legend-item{display:flex;align-items:center;gap:6px;font-size:.8rem;color:#444;font-weight:500;padding:6px 10px;background:#fff;border-radius:6px;box-shadow:0 2px 8px #0000000f;transition:transform .2s}.chart-modal-content .legend-item:hover{transform:scale(1.02)}.chart-modal-content .legend-bar{width:24px;height:16px;border-radius:4px;box-shadow:0 2px 6px #00000026}.chart-modal-content .legend-bar.net-assets{background:linear-gradient(180deg,#00d4aa,#00a085)}.chart-modal-content .legend-line{width:28px;height:4px;border-radius:2px;box-shadow:0 2px 6px #00000026}.chart-modal-content .legend-line.total-assets{background:linear-gradient(90deg,#667eea,#764ba2)}.chart-modal-content .legend-line.total-liabilities{background:linear-gradient(90deg,#f093fb,#f5576c)}.chart-modal-content .legend-line.annual-balance{background:repeating-linear-gradient(90deg,#ec407a 0px,#ec407a 6px,transparent 6px,transparent 12px)}.chart-modal-content .legend-line.without-property{background:repeating-linear-gradient(90deg,#9e9e9e 0px,#9e9e9e 4px,transparent 4px,transparent 8px)}.chart-modal-content .legend-line.with-property{background:linear-gradient(90deg,#00d4aa,#00b894)}.chart-modal-content .legend-area{width:24px;height:16px;border-radius:4px;box-shadow:0 2px 6px #00000026}.chart-modal-content .legend-area.investment-effect{background:linear-gradient(180deg,#00d4aa80,#00d4aa26);border:2px solid #00d4aa}.chart-custom-tooltip{background:linear-gradient(135deg,#1d2647,#2a3a5c);border-radius:12px;padding:0;box-shadow:0 10px 40px #0000004d;min-width:200px;overflow:hidden}.chart-custom-tooltip .tooltip-header{background:linear-gradient(135deg,#00d4aa,#00b894);padding:10px 14px;display:flex;align-items:baseline;gap:6px}.chart-custom-tooltip .tooltip-year{font-size:1.1rem;font-weight:700;color:#fff}.chart-custom-tooltip .tooltip-age{font-size:.85rem;color:#fffc}.chart-custom-tooltip .tooltip-body{padding:12px 14px}.chart-custom-tooltip .tooltip-row{display:flex;align-items:center;gap:8px;padding:6px 0}.chart-custom-tooltip .tooltip-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.chart-custom-tooltip .tooltip-label{font-size:.85rem;color:#ffffffb3;flex:1}.chart-custom-tooltip .tooltip-value{font-size:.95rem;font-weight:700;color:#fff}.chart-custom-tooltip .tooltip-divider{height:1px;background:#ffffff26;margin:8px 0}.chart-custom-tooltip .tooltip-row.effect{padding-top:4px}.chart-custom-tooltip .tooltip-row.effect .tooltip-label{font-weight:600;color:#ffffffe6}.chart-custom-tooltip .tooltip-row.effect.positive .tooltip-value{color:#00d4aa;font-size:1.1rem}.chart-custom-tooltip .tooltip-row.effect.negative .tooltip-value{color:#f5576c;font-size:1.1rem}@media(max-width:768px){.chart-modal{width:98%;max-height:95vh}.chart-area{min-height:350px;padding:10px}.chart-legend-custom{gap:12px}}.import-wizard-overlay{position:fixed;inset:0;background:#0009;z-index:2000;display:flex;align-items:flex-start;justify-content:center;padding:2rem 1rem 1rem}.import-wizard{background:#fff;border-radius:12px;width:100%;max-width:1050px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.wizard-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid #e0e0e0;flex-shrink:0}.wizard-header h2{margin:0;font-size:1.3rem;color:#2c3e50}.wizard-close{background:none;border:none;font-size:1.8rem;color:#95a5a6;cursor:pointer;padding:0;line-height:1}.wizard-close:hover{color:#e74c3c}.wizard-client-id{font-size:.85rem;color:#7f8c8d;margin-left:auto;margin-right:1rem}.wizard-tabs{display:flex;border-bottom:2px solid #e0e0e0;padding:0 1.5rem;flex-shrink:0;overflow-x:auto}.wizard-tab{padding:.75rem 1.25rem;cursor:pointer;border:none;border-bottom:3px solid transparent;background:none;font-size:.85rem;color:#7f8c8d;white-space:nowrap;transition:all .2s;margin-bottom:-2px}.wizard-tab.active{color:#3498db;border-bottom-color:#3498db;font-weight:600}.wizard-tab:hover:not(.active){color:#2c3e50;background:#f8f9fa}.wizard-content{flex:1;overflow-y:auto;padding:1.5rem;min-height:0}.wizard-content input[type=text],.wizard-content input[type=number],.wizard-content select{background:#fff;color:#2c3e50}.wizard-step-content h3{margin:0 0 .5rem;font-size:1.15rem;color:#2c3e50}.step-description{color:#7f8c8d;font-size:.9rem;margin:0 0 1.25rem}.wizard-drop-zone{border:2px dashed #bdc3c7;border-radius:8px;padding:2.5rem 2rem;text-align:center;cursor:pointer;transition:all .3s;background:#f8f9fa;display:flex;flex-direction:column;align-items:center;gap:.5rem;color:#7f8c8d}.wizard-drop-zone:hover,.wizard-drop-zone.drag-over{border-color:#3498db;background:#e8f4fc;color:#3498db}.drop-icon{font-size:2rem}.drop-sub{font-size:.8rem;color:#95a5a6}.excel-entries{margin-top:1.25rem;display:flex;flex-direction:column;gap:1rem}.excel-entry{border:1px solid #e0e0e0;border-radius:8px;padding:1rem;background:#fafafa;color:#2c3e50;transition:border-color .2s}.excel-entry.done{border-color:#27ae60;background:#f0faf4}.excel-entry.error{border-color:#e74c3c;background:#fef5f5}.excel-entry-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.excel-file-name{font-weight:600;color:#2c3e50;font-size:.95rem}.btn-remove-entry{background:none;border:none;color:#95a5a6;font-size:1.3rem;cursor:pointer;padding:0 .3rem;line-height:1}.btn-remove-entry:hover{color:#e74c3c}.entry-status{font-size:.85rem;padding:.4rem .6rem;border-radius:4px;margin-bottom:.5rem}.entry-status.parsing{background:#e8f4fc;color:#3498db}.entry-status.error{background:#fdecea;color:#c0392b}.entry-sheet-select,.entry-year-offset{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.85rem}.entry-sheet-select label,.entry-year-offset label{color:#495057;white-space:nowrap;min-width:120px}.entry-sheet-select select,.entry-year-offset select{padding:.3rem .5rem;border:1px solid #ced4da;border-radius:4px;font-size:.85rem;background:#fff;color:#2c3e50}.excel-preview{margin-top:.75rem}.preview-table{width:100%;border-collapse:collapse;font-size:.8rem}.preview-table th,.preview-table td{padding:.35rem .5rem;text-align:right;border:1px solid #e0e0e0;color:#2c3e50}.preview-table th{background:#34495e;color:#fff!important;font-weight:500;font-size:.75rem}.preview-table td.row-label{text-align:left;font-weight:500;background:#f8f9fa;color:#2c3e50;white-space:nowrap}.preview-extra{margin-top:.5rem;display:flex;gap:1rem;flex-wrap:wrap;font-size:.8rem;color:#495057}.pdf-page-options{margin-bottom:1rem;padding:.75rem 1rem;background:#f8f9fa;border-radius:6px;border:1px solid #e0e0e0}.page-option-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;flex-wrap:wrap}.page-option-row label{font-size:.85rem;color:#5a6268;min-width:180px}.page-option-input{width:80px;padding:.35rem .5rem;border:1px solid #ced4da;border-radius:4px;font-size:.85rem;text-align:center}.page-option-input:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 2px #3498db33}.page-separator{color:#6c757d;font-size:.85rem}.page-option-hint{margin:.25rem 0 0;font-size:.75rem;color:#95a5a6}.pdf-uploading{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:3rem 2rem;background:#f8f9fa;border-radius:8px}.spinner{width:40px;height:40px;border:4px solid #e0e0e0;border-top-color:#3498db;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.upload-hint{font-size:.8rem;color:#95a5a6}.wizard-error{background:#fdecea;color:#c0392b;padding:.75rem 1rem;border-radius:6px;margin-top:1rem;font-size:.9rem}.pdf-result-summary{background:#f0faf4;border:1px solid #27ae60;border-radius:8px;padding:1.25rem}.result-badge{display:inline-block;padding:.3rem .8rem;border-radius:4px;font-size:.85rem;font-weight:600;margin-bottom:.75rem}.result-badge.success{background:#27ae60;color:#fff}.result-item{display:flex;justify-content:space-between;padding:.4rem 0;font-size:.9rem;border-bottom:1px solid rgba(39,174,96,.15)}.result-label{color:#2c3e50;font-weight:500}.result-value{color:#27ae60}.result-warnings{margin-top:.75rem}.result-warning{font-size:.8rem;color:#e67e22;padding:.25rem 0}.btn-reupload{margin-top:1rem;padding:.4rem .8rem;font-size:.85rem;background:#95a5a6;color:#fff;border:none;border-radius:4px;cursor:pointer}.btn-reupload:hover{background:#7f8c8d}.tax-data-panel{border:1px solid #e0e0e0;border-radius:8px;overflow:hidden}.tax-panel-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:#34495e;color:#fff}.tax-panel-header h4{margin:0;font-size:.95rem}.tax-panel-actions{display:flex;align-items:center;gap:.75rem}.modified-count{font-size:.8rem;background:#fff3;padding:.2rem .5rem;border-radius:3px}.btn-reset-all{padding:.25rem .6rem;font-size:.75rem;background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:3px;cursor:pointer}.btn-reset-all:hover{background:#ffffff4d}.tax-extraction-info{padding:.5rem 1rem;background:#ecf0f1;font-size:.75rem;color:#7f8c8d}.tax-field-list{max-height:400px;overflow-y:auto}.tax-field-row{display:flex;align-items:center;padding:.6rem 1rem;border-bottom:1px solid #f0f0f0;transition:background .2s}.tax-field-row:hover{background:#f8f9fa}.tax-field-row.modified{background:#fffbe6}.tax-field-row.low-confidence{background:#fff3e6}.tax-field-label{flex:1;min-width:0}.field-name{font-size:.85rem;color:#2c3e50;font-weight:500}.field-desc{display:block;font-size:.7rem;color:#95a5a6;margin-top:.15rem}.tax-field-value{display:flex;align-items:center;gap:.5rem;min-width:200px;justify-content:flex-end}.tax-field-display{cursor:pointer;padding:.25rem .5rem;border-radius:4px;font-size:.9rem;color:#2c3e50;transition:background .2s}.tax-field-display:hover{background:#e8f4fc}.currency{font-size:.75rem;color:#7f8c8d;margin-left:.15rem}.tax-field-input{width:140px;padding:.3rem .5rem;border:2px solid #3498db;border-radius:4px;font-size:.9rem;text-align:right;outline:none}.original-value{font-size:.7rem;color:#95a5a6;white-space:nowrap}.tax-field-status{display:flex;align-items:center;gap:.4rem;min-width:80px;justify-content:flex-end}.confidence-badge{font-size:.7rem;padding:.15rem .4rem;border-radius:3px}.confidence-badge.high{background:#e8f8f5;color:#27ae60}.confidence-badge.low{background:#fef5e7;color:#e67e22}.modified-badge{font-size:.65rem;padding:.1rem .35rem;background:#3498db;color:#fff;border-radius:3px}.source-icon-btn{background:none;border:none;cursor:pointer;font-size:.85rem;padding:.1rem .2rem;opacity:.5;transition:opacity .2s;flex-shrink:0}.source-icon-btn:hover,.source-icon-btn.active{opacity:1}.source-icon-btn.estimated{opacity:.35}.source-icon-btn.estimated:hover{opacity:.8}.source-tooltip{position:fixed;z-index:10000;background:#1a1a2e;border:1px solid #3d4f6f;border-radius:10px;padding:14px;box-shadow:0 8px 32px #0009;max-width:420px;min-width:220px;color:#e8e8e8;font-size:13px}.source-tooltip .st-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-weight:600;color:#00d9ff;font-size:12px}.source-tooltip .st-close{cursor:pointer;font-size:16px;color:#6b7a94;line-height:1}.source-tooltip .st-close:hover{color:#ff6b6b}.source-tooltip .st-meta{margin-bottom:8px;font-size:11px;color:#8892a6;line-height:1.6}.source-tooltip .st-azure{color:#00d9ff}.source-tooltip .st-raw{color:#e8e8e8}.source-tooltip .st-estimated{color:orange;font-size:10px}.source-tooltip .st-crop{text-align:center;min-height:40px;background:#ffffff08;border-radius:6px;padding:8px}.source-tooltip .st-crop img{max-width:100%;border-radius:4px;border:1px solid #3d4f6f}.source-tooltip .st-loading{color:#6b7a94;font-size:12px;padding:12px}.source-tooltip .st-error{color:#ff6b6b;font-size:12px;padding:12px}.depreciation-panel-empty{text-align:center;padding:2rem;color:#7f8c8d;background:#f8f9fa;border-radius:8px;line-height:1.6}.dep-asset-list{border:1px solid #e0e0e0;border-radius:8px;overflow:hidden}.dep-asset-list-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:#34495e;color:#fff}.dep-asset-list-header h4{margin:0;font-size:.95rem}.dep-asset-list-actions{display:flex;gap:.4rem}.dep-asset-list-actions button{padding:.25rem .5rem;font-size:.75rem;border:none;border-radius:3px;cursor:pointer;color:#fff}.dep-asset-list-actions .btn-select-all{background:#27ae60}.dep-asset-list-actions .btn-select-none{background:#95a5a6}.dep-asset-list-actions .btn-toggle-details{background:#fff3;border:1px solid rgba(255,255,255,.3)}.dep-checkbox-list{max-height:250px;overflow-y:auto}.dep-checkbox-item{border-bottom:1px solid #f0f0f0}.dep-checkbox-item:last-child{border-bottom:none}.dep-checkbox-label{display:flex;align-items:center;gap:.75rem;padding:.65rem 1rem;cursor:pointer;transition:background .2s}.dep-checkbox-label:hover{background:#f8f9fa}.dep-checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#3498db}.dep-asset-name{font-weight:500;color:#2c3e50;flex:0 0 auto;min-width:120px}.dep-asset-balance{color:#7f8c8d;font-size:.85rem;flex:1;text-align:right}.dep-asset-details{display:flex;gap:1rem;flex-wrap:wrap;padding:.4rem 1rem .6rem 3rem;font-size:.75rem;color:#7f8c8d;background:#f8f9fa}.dep-asset-summary{display:flex;justify-content:space-between;padding:.65rem 1rem;background:#ecf0f1;font-size:.85rem;color:#2c3e50}.dep-simulation-result{margin-top:1.25rem}.dep-simulation-result h4{margin:0 0 .75rem;font-size:.95rem;color:#2c3e50}.dep-table-wrapper{border:1px solid #e0e0e0;border-radius:8px;overflow:auto;max-height:250px}.dep-result-table{width:100%;border-collapse:collapse;font-size:.85rem}.dep-result-table th,.dep-result-table td{padding:.5rem .8rem;border-bottom:1px solid #e0e0e0;color:#2c3e50}.dep-result-table th{background:#34495e;color:#fff!important;font-weight:500;position:sticky;top:0}.dep-year-col{text-align:left}.dep-balance-col{text-align:right}.dep-result-table .zero-row{color:#e74c3c}.wizard-form-section{margin-bottom:1.25rem}.wizard-form-group{display:flex;align-items:center;gap:.5rem;margin-bottom:.6rem;flex-wrap:wrap}.wizard-form-group label{font-size:.85rem;color:#495057;min-width:200px;flex-shrink:0}.wizard-form-group input[type=text],.wizard-form-group input[type=number]{padding:.35rem .5rem;border:1px solid #ced4da;border-radius:4px;font-size:.85rem;color:#2c3e50;background:#fff;width:180px}.wizard-form-group input:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 2px #3498db33}.wizard-form-group input:disabled{background-color:#f0f0f0;color:#999;cursor:not-allowed}.wizard-form-group .reset-button-group{margin-top:.5rem}.wizard-family-member{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;border-bottom:1px solid #f0f0f0;flex-wrap:wrap}.wizard-family-member:last-child{border-bottom:none}.wizard-property-list{display:flex;flex-direction:column;gap:.5rem}.wizard-property-item{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;background:#f8f9fa;border:1px solid #e0e0e0;border-radius:6px}.wizard-property-item .property-name-input{flex:1;padding:.35rem .5rem;border:1px solid #ced4da;border-radius:4px;font-size:.85rem;color:#2c3e50}.property-source{font-size:.7rem;color:#95a5a6;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wizard-form-section .ai-buttons-container{margin-bottom:.75rem}.wizard-form-section .btn-ai-calculate{padding:.4rem .8rem;font-size:.8rem;border:none;border-radius:4px;cursor:pointer;transition:all .2s}.wizard-form-section .btn-ai-claude{background:linear-gradient(135deg,#9b59b6,#8e44ad);color:#fff}.wizard-form-section .btn-ai-claude:hover{background:linear-gradient(135deg,#8e44ad,#7d3c98)}.wizard-step-content .btn-add{padding:.4rem .8rem;font-size:.8rem;background:#ecf0f1;color:#2c3e50;border:1px solid #ced4da;border-radius:4px;cursor:pointer;margin-top:.5rem}.wizard-step-content .btn-add:hover{background:#dce1e3}.wizard-step-content .btn-remove{padding:.3rem .6rem;font-size:.75rem;background:none;color:#e74c3c;border:1px solid #e74c3c;border-radius:4px;cursor:pointer}.wizard-step-content .btn-remove:hover{background:#fdecea}.wizard-step-content .btn-order{padding:.15rem .3rem;font-size:.65rem;background:#ecf0f1;color:#7f8c8d;border:1px solid #ddd;border-radius:3px;cursor:pointer;line-height:1}.wizard-step-content .btn-order:hover:not(:disabled){background:#dce1e3}.wizard-step-content .btn-order:disabled{opacity:.3;cursor:not-allowed}.wizard-step-content .family-order-buttons{display:flex;flex-direction:column;gap:2px}.wizard-step-content .checkbox-label{display:flex;align-items:center;gap:.3rem;font-size:.8rem;color:#495057;cursor:pointer}.wizard-step-content .btn-reset-income{padding:.35rem .7rem;font-size:.8rem;background:#ecf0f1;color:#7f8c8d;border:1px solid #ced4da;border-radius:4px;cursor:pointer}.wizard-step-content .btn-reset-income:hover{background:#dce1e3}.wizard-inheritance-tab .section-header{display:none}.wizard-inheritance-tab .form-section{display:block!important}.wizard-inheritance-tab .form-group{display:flex;align-items:center;gap:.5rem;margin-bottom:.6rem;flex-wrap:wrap}.wizard-inheritance-tab .form-group label{font-size:.85rem;color:#495057;min-width:200px;flex-shrink:0}.wizard-inheritance-tab .subsection-header{font-size:1rem;color:#2c3e50;margin:1rem 0 .5rem;padding-bottom:.3rem;border-bottom:1px solid #e0e0e0}.btn-wizard-close{padding:.5rem 1.5rem;font-size:.9rem;border:none;border-radius:6px;cursor:pointer;transition:all .2s;background:#3498db;color:#fff;font-weight:500}.btn-wizard-close:hover{background:#2980b9}.wizard-footer{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-top:1px solid #e0e0e0;flex-shrink:0}.wizard-footer-left,.wizard-footer-right{display:flex;gap:.75rem}.btn-wizard-back,.btn-wizard-cancel,.btn-wizard-next,.btn-wizard-complete{padding:.5rem 1.25rem;font-size:.9rem;border:none;border-radius:6px;cursor:pointer;transition:all .2s}.btn-wizard-back{background:#ecf0f1;color:#2c3e50}.btn-wizard-back:hover{background:#dce1e3}.btn-wizard-cancel{background:none;color:#95a5a6;border:1px solid #ddd}.btn-wizard-cancel:hover{background:#f8f9fa;color:#7f8c8d}.btn-wizard-next{background:#3498db;color:#fff}.btn-wizard-next:hover:not(:disabled){background:#2980b9}.btn-wizard-next:disabled{background:#bdc3c7;cursor:not-allowed}.btn-wizard-complete{background:#27ae60;color:#fff;font-weight:600}.btn-wizard-complete:hover{background:#229954}.wizard-content::-webkit-scrollbar,.tax-field-list::-webkit-scrollbar,.dep-checkbox-list::-webkit-scrollbar,.dep-table-wrapper::-webkit-scrollbar{width:8px;height:8px}.wizard-content::-webkit-scrollbar-track,.tax-field-list::-webkit-scrollbar-track,.dep-checkbox-list::-webkit-scrollbar-track,.dep-table-wrapper::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.wizard-content::-webkit-scrollbar-thumb,.tax-field-list::-webkit-scrollbar-thumb,.dep-checkbox-list::-webkit-scrollbar-thumb,.dep-table-wrapper::-webkit-scrollbar-thumb{background:#bdc3c7;border-radius:4px}.wizard-content::-webkit-scrollbar-thumb:hover,.tax-field-list::-webkit-scrollbar-thumb:hover,.dep-checkbox-list::-webkit-scrollbar-thumb:hover,.dep-table-wrapper::-webkit-scrollbar-thumb:hover{background:#95a5a6}.app{min-height:100vh;background-color:#f5f5f5}.app-header{position:fixed;top:0;left:0;right:0;z-index:1000;background-color:#2c3e50;color:#fff;padding:.5rem 1rem;display:flex;flex-direction:column;gap:.3rem;box-shadow:0 2px 4px #0000001a}.app-header h1{margin:0;font-size:1.4rem}.header-row-top{display:flex;align-items:center;gap:1rem;justify-content:space-between}.header-left-top{display:flex;gap:.5rem}.header-app-nav{display:flex;gap:.5rem;margin-left:auto}.header-app-nav .btn-app-nav{padding:.3rem .7rem;font-size:.8rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:4px;cursor:pointer;transition:all .2s;white-space:nowrap}.header-app-nav .btn-app-nav:hover{transform:translateY(-1px);box-shadow:0 2px 8px #667eea66}.header-app-nav .btn-import-wizard{background:linear-gradient(135deg,#27ae60,#2ecc71)}.header-app-nav .btn-import-wizard:hover{box-shadow:0 2px 8px #27ae6066}.header-app-nav .btn-calc-guide{background:transparent;border:1px solid rgba(102,126,234,.4);color:#8ea4f0;font-size:.75rem}.header-app-nav .btn-calc-guide:hover{background:#667eea26;border-color:#667eeab3;box-shadow:0 2px 8px #667eea33}.header-row-bottom{display:flex;gap:.5rem;justify-content:flex-end}.btn-small{padding:.3rem .8rem!important;font-size:.85rem!important}.btn-save,.btn-clear,.btn-toggle-input{padding:.6rem 1.5rem;border:none;border-radius:4px;cursor:pointer;font-size:1rem;font-weight:500;transition:background-color .3s}.btn-save{background-color:#27ae60;color:#fff}.btn-save:hover{background-color:#229954}.btn-clear{background-color:#e74c3c;color:#fff}.btn-clear:hover{background-color:#c0392b}.btn-toggle-input{background-color:#3498db;color:#fff}.btn-toggle-input:hover{background-color:#2980b9}.btn-autosave{padding:.6rem 1.5rem;border:none;border-radius:4px;cursor:pointer;font-size:1rem;font-weight:500;transition:all .3s}.btn-autosave.on{background-color:#27ae60;color:#fff}.btn-autosave.on:hover{background-color:#229954}.btn-autosave.off{background-color:#95a5a6;color:#fff}.btn-autosave.off:hover{background-color:#7f8c8d}.header-separator{color:#7f8c8d;margin:0 .2rem}.storage-mode-badge{padding:.2rem .6rem;border-radius:4px;font-size:.75rem;font-weight:500}.storage-mode-badge.local{background:#3498db;color:#fff}.storage-mode-badge.server,.btn-sync{background:#27ae60;color:#fff}.btn-sync:hover{background:#229954}.btn-sync.pending{background:#e67e22;animation:pulse 2s infinite}.btn-settings{background:#34495e;color:#fff}.btn-settings:hover{background:#2c3e50}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000}.ai-buttons-container{display:flex;gap:1rem;margin-bottom:1.5rem;padding:1rem;background-color:#3498db0d;border-radius:8px;border:2px dashed #3498db}.btn-ai-calculate{flex:1;padding:.8rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s;box-shadow:0 4px 6px #0000001a}.btn-ai-calculate:hover{transform:translateY(-2px);box-shadow:0 6px 12px #00000026}.btn-ai-calculate:active{transform:translateY(0);box-shadow:0 2px 4px #0000001a}.btn-ai-claude{background:linear-gradient(135deg,#f093fb,#f5576c)}.app-content{max-width:100%;margin:0 auto;padding:2rem;padding-top:calc(80px + 2rem);display:grid;grid-template-columns:minmax(300px,400px) 1fr;gap:2rem;transition:grid-template-columns .3s ease;height:calc(100vh - 80px);overflow:hidden}.app-content.full-width{grid-template-columns:1fr}.input-section{animation:slideInLeft .3s ease-out;overflow-y:auto;overflow-x:hidden;max-height:calc(100vh - 80px - 4rem);scrollbar-width:thin;scrollbar-color:#3498db #e0e0e0}.input-section::-webkit-scrollbar{width:10px}.input-section::-webkit-scrollbar-track{background:#e0e0e0;border-radius:5px}.input-section::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#3498db,#2980b9);border-radius:5px;border:2px solid #e0e0e0}.input-section::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#2980b9,#1f6dad)}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.input-form{background-color:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 8px #0000001a;min-width:250px}.input-form h2{margin-top:1.5rem;margin-bottom:1rem;font-size:1.3rem;color:#2c3e50;border-bottom:2px solid #3498db;padding-bottom:.5rem}.input-form h2:first-child{margin-top:0}.section-header{cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:.5rem;transition:background-color .2s;padding:.5rem;margin-left:-.5rem;margin-right:-.5rem;border-radius:4px}.section-header:hover{background-color:#3498db1a}.toggle-icon{font-size:.8rem;color:#3498db;transition:transform .3s;display:inline-block}.toggle-icon.expanded{transform:rotate(0)}.toggle-icon:not(.expanded){transform:rotate(-90deg)}.form-section{margin-bottom:2rem;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;max-height:0;overflow:hidden}to{opacity:1;max-height:5000px}}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.4rem;font-weight:500;color:#34495e;font-size:.9rem}.form-group input{width:100%;padding:.6rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 2px #3498db33}.form-group input:disabled{background-color:#ecf0f1;color:#7f8c8d;cursor:not-allowed}.family-member{display:grid;grid-template-columns:auto 1fr auto auto auto;gap:.5rem;margin-bottom:.8rem;align-items:center}.family-member input[type=text],.family-member input[type=number]{padding:.6rem;border:1px solid #ddd;border-radius:4px;font-size:1rem}.family-member .checkbox-label{display:flex;align-items:center;gap:.3rem;font-size:.85rem;color:#555;cursor:pointer;white-space:nowrap}.family-member .checkbox-label input[type=checkbox]{width:auto;margin:0;cursor:pointer}.family-order-buttons{display:flex;flex-direction:column;gap:.2rem}.btn-order{padding:.2rem .5rem;border:1px solid #3498db;border-radius:3px;background-color:#3498db;color:#fff;cursor:pointer;font-size:.7rem;line-height:1;transition:background-color .3s}.btn-order:hover:not(:disabled){background-color:#2980b9}.btn-order:disabled{background-color:#bdc3c7;border-color:#bdc3c7;cursor:not-allowed;opacity:.5}.btn-remove,.btn-add{padding:.6rem 1rem;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;font-weight:500;transition:background-color .3s}.btn-remove{background-color:#e74c3c;color:#fff}.btn-remove:hover{background-color:#c0392b}.btn-add{background-color:#3498db;color:#fff;width:100%;margin-top:.5rem}.btn-add:hover{background-color:#2980b9}.reset-button-group{margin-top:1rem;padding-top:1rem;border-top:1px solid #eee}.btn-reset-income{background-color:#95a5a6;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background-color .3s}.btn-reset-income:hover{background-color:#7f8c8d}.salary-increase-row td:first-child{padding-left:1.5rem;font-size:.9rem;color:#666}.property-item{background-color:#f8f9fa;border:1px solid #ddd;border-radius:6px;padding:1rem;margin-bottom:1rem}.property-header{display:grid;grid-template-columns:auto 1fr auto;gap:.5rem;margin-bottom:1rem;align-items:center}.property-name-input{padding:.6rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;font-weight:500}.property-details-toggle{display:flex;align-items:center;gap:.5rem;cursor:pointer;padding:.5rem 0;color:#667eea;-webkit-user-select:none;user-select:none}.property-details-toggle:hover{color:#764ba2}.toggle-icon-small{display:inline-block;transition:transform .2s ease;font-size:.8rem}.toggle-icon-small.expanded{transform:rotate(90deg)}.toggle-label{font-size:.9rem;font-weight:500}.property-details{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.8rem;margin-top:.8rem;padding-left:1rem;border-left:2px solid #e0e0e0}.pdf-upload-container{margin-top:.5rem}.btn-pdf-upload,.btn-excel-upload{display:inline-block;padding:.5rem 1rem;color:#fff;border-radius:4px;cursor:pointer;font-size:.9rem;font-weight:500;transition:background-color .3s;text-align:center;margin-right:.5rem}.btn-pdf-upload{background-color:#9b59b6}.btn-pdf-upload:hover{background-color:#8e44ad}.btn-excel-upload{background-color:#16a085}.btn-excel-upload:hover{background-color:#138d75}.btn-export-excel{background-color:#27ae60!important;color:#fff!important}.btn-export-excel:hover{background-color:#1e8449!important}.btn-export-pdf{background-color:#e74c3c!important;color:#fff!important}.btn-export-pdf:hover{background-color:#c0392b!important}.btn-ai-diagnosis{background:linear-gradient(135deg,#667eea,#764ba2)!important;color:#fff!important;border:none!important;font-weight:600}.btn-ai-diagnosis:hover{background:linear-gradient(135deg,#5a6fd6,#6a4190)!important;transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.btn-chart{background:linear-gradient(135deg,#00b4db,#0083b0)!important;color:#fff!important;border:none!important;font-weight:600}.btn-chart:hover:not(:disabled){background:linear-gradient(135deg,#00a0c6,#00729a)!important;transform:translateY(-1px);box-shadow:0 4px 12px #00b4db66}.btn-chart:disabled{background:#999!important;cursor:not-allowed;opacity:.6}@media(max-width:800px){.property-details{grid-template-columns:1fr}}.result-section{background-color:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow:auto;position:relative;max-height:calc(100vh - 80px - 4rem);scrollbar-width:thin;scrollbar-color:#667eea #e0e0e0}.result-section::-webkit-scrollbar{width:12px;height:12px}.result-section::-webkit-scrollbar-track{background:#e0e0e0;border-radius:6px}.result-section::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#667eea,#764ba2);border-radius:6px;border:2px solid #e0e0e0}.result-section::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#5a6fd6,#6a4190)}.result-section::-webkit-scrollbar-corner{background:#e0e0e0}.result-table h2{margin-top:0;margin-bottom:1.5rem;font-size:1.5rem;color:#2c3e50}.result-table h3{margin-top:2rem;margin-bottom:1rem;font-size:1.2rem;color:#34495e;border-bottom:2px solid #3498db;padding-bottom:.5rem}.result-table table{width:auto;min-width:100%;border-collapse:separate;border-spacing:0;font-size:.9rem;margin-bottom:2rem;position:relative}.result-table th,.result-table td{padding:.7rem;border-top:1px solid #ddd;border-bottom:1px solid #ddd;border-right:1px solid #ddd;text-align:right;color:#2c3e50}.result-table th:first-child,.result-table td:first-child{border-left:1px solid #ddd}.result-table th{background-color:#34495e;color:#fff;font-weight:600;white-space:nowrap;min-width:100px}.result-table td:first-child,.result-table th:first-child{text-align:left;font-weight:500;background-color:#ecf0f1;color:#2c3e50;position:sticky;left:0;z-index:10;min-width:220px;max-width:220px;box-shadow:2px 0 5px #0000001a}.result-table th:first-child{background-color:#2c3e50;color:#fff;z-index:20}.income-row{background-color:#e8f5e9}.income-row td{color:#1b5e20}.income-row td:first-child{background-color:#c8e6c9}.expense-row{background-color:#ffebee}.expense-row td{color:#b71c1c}.expense-row td:first-child{background-color:#ffcdd2}.balance-row{font-weight:600;background-color:#fff3e0}.balance-row td{color:#e65100}.balance-row td:first-child{background-color:#ffe0b2}.property-group-first td{border-top:2px solid #666!important}.property-group-last td{border-bottom:2px solid #666!important}.family-age-section table{border-collapse:separate;border-spacing:0}.family-age-section table td:first-child,.family-age-section table th:first-child{position:sticky;left:0;z-index:10;background-color:#ecf0f1;min-width:220px;max-width:220px;box-shadow:2px 0 5px #0000001a}.family-age-section table th:first-child{background-color:#2c3e50;color:#fff;z-index:20}.family-age-section table th,.family-age-section table td{min-width:100px}.assets-section table{border-collapse:separate;border-spacing:0}.assets-section table td:first-child,.assets-section table th:first-child{position:sticky;left:0;z-index:10;background-color:#ecf0f1;min-width:220px;max-width:220px;box-shadow:2px 0 5px #0000001a}.assets-section table th:first-child{background-color:#2c3e50;color:#fff;z-index:20}.assets-section table th,.assets-section table td{min-width:100px}.financial-section table{border-collapse:separate;border-spacing:0}.financial-section table th,.financial-section table td{min-width:100px}.positive{color:#27ae60;font-weight:600}.negative{color:#c0392b;font-weight:600}.editable-cell{position:relative;transition:background-color .2s}.editable-cell:hover{background-color:#3498db1a!important}.editable-cell.edited:after{content:"";position:absolute;top:0;right:0;width:0;height:0;border-style:solid;border-width:0 8px 8px 0;border-color:transparent #f39c12 transparent transparent}.cell-input{width:100%;padding:.4rem;border:2px solid #3498db;border-radius:4px;font-size:.9rem;text-align:right;box-sizing:border-box}.cell-input:focus{outline:none;border-color:#2980b9}.client-selector{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;padding:2rem}.client-selector-container{background-color:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;padding:3rem;max-width:600px;width:100%}.client-selector-container h1{margin:0 0 .5rem;font-size:2.5rem;color:#2c3e50;text-align:center}.selector-header{display:flex;flex-direction:column;align-items:center;gap:1rem;margin-bottom:.5rem}.header-title-row{display:flex;align-items:center;justify-content:center;gap:1.5rem;width:100%}.app-nav-buttons{display:flex;gap:.5rem}.btn-app-nav{padding:.4rem .8rem;font-size:.8rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:4px;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-app-nav:hover{transform:translateY(-1px);box-shadow:0 2px 8px #667eea66}.selector-header-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;justify-content:center}.current-user-display{display:flex;align-items:center;gap:.5rem;background:#e8f4f8;padding:.3rem .8rem;border-radius:6px;border:1px solid #b3d7e8}.current-user-label{font-size:.85rem;color:#666}.current-user-name{font-size:.9rem;font-weight:600;color:#2c3e50}.btn-change-user{padding:.2rem .6rem;border:1px solid #3498db;border-radius:4px;background:transparent;color:#3498db;cursor:pointer;font-size:.75rem;transition:all .2s}.btn-change-user:hover{background:#3498db;color:#fff}.storage-mode-selector{display:flex;align-items:center;gap:.5rem;background:#f5f5f5;padding:.3rem;border-radius:6px}.storage-mode-label{font-size:.85rem;color:#666;padding:0 .5rem}.storage-mode-btn{padding:.4rem 1rem;border:none;border-radius:4px;background:transparent;color:#666;cursor:pointer;font-size:.85rem;transition:all .2s}.storage-mode-btn:hover{background:#e0e0e0}.storage-mode-btn.active{background:#667eea;color:#fff}.btn-sync-header{padding:.4rem 1rem;background:#27ae60;color:#fff;border:none;border-radius:4px;font-size:.85rem;cursor:pointer;transition:background .2s}.btn-sync-header:hover{background:#229954}.btn-sync-header.pending{background:#e67e22;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.btn-settings-header{padding:.4rem 1rem;background:#34495e;color:#fff;border:none;border-radius:4px;font-size:.85rem;cursor:pointer;transition:background .2s}.btn-settings-header:hover{background:#2c3e50}.subtitle{text-align:center;color:#7f8c8d;font-size:1.1rem;margin:0 0 2.5rem}.client-input-form{margin-bottom:2.5rem}.input-group{display:flex;gap:.8rem;margin-bottom:1rem}.client-id-input{flex:1;padding:1rem;border:2px solid #ddd;border-radius:8px;font-size:1.1rem;transition:all .3s}.client-id-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.btn-go{padding:1rem 2.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;white-space:nowrap}.btn-go:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-go:active{transform:translateY(0)}.hint{text-align:center;color:#95a5a6;font-size:.9rem;margin:0}.existing-clients{border-top:2px solid #ecf0f1;padding-top:2rem}.existing-clients h2{margin:0 0 1.5rem;font-size:1.3rem;color:#34495e}.client-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:1rem}.client-card{background-color:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;padding:1.5rem 1rem;cursor:pointer;transition:all .3s;display:flex;flex-direction:column;align-items:center;gap:.5rem}.client-card:hover{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;transform:translateY(-4px);box-shadow:0 8px 16px #667eea4d}.client-card:hover .client-id,.client-card:hover .client-name,.client-card:hover .client-arrow{color:#fff}.client-id{font-size:1.2rem;font-weight:600;color:#2c3e50;transition:color .3s}.client-name{font-size:1rem;color:#7f8c8d;transition:color .3s}.client-arrow{font-size:1.5rem;color:#95a5a6;transition:color .3s}.client-card-locked{background-color:#fdeaea;border-color:#e74c3c;cursor:not-allowed;opacity:.8}.client-card-locked:hover{background-color:#fdeaea;border-color:#e74c3c;transform:none;box-shadow:none}.client-card-locked:hover .client-id,.client-card-locked:hover .client-name{color:inherit}.client-locked-badge{font-size:.85rem;color:#e74c3c;font-weight:600;background-color:#fce8e8;padding:.25rem .75rem;border-radius:4px;border:1px solid #e74c3c}.user-name-prompt{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem}.user-name-prompt-container{background:#fff;padding:3rem;border-radius:16px;box-shadow:0 10px 40px #0003;text-align:center;max-width:450px;width:100%}.user-name-prompt h1{font-size:2rem;color:#2c3e50;margin:0 0 1.5rem}.user-name-prompt p{font-size:1.1rem;color:#34495e;margin:0 0 .5rem}.user-name-prompt .hint{font-size:.9rem;color:#7f8c8d;margin-bottom:2rem}.user-name-prompt form{display:flex;gap:1rem;justify-content:center}.user-name-input{padding:1rem 1.5rem;font-size:1.1rem;border:2px solid #e0e0e0;border-radius:8px;width:250px;transition:border-color .3s}.user-name-input:focus{outline:none;border-color:#667eea}.add-client-section{margin-bottom:2rem}.btn-add-client{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:1rem 2rem;font-size:1.1rem;font-weight:600;border-radius:8px;cursor:pointer;transition:all .3s;box-shadow:0 4px 12px #667eea4d}.btn-add-client:hover{transform:translateY(-2px);box-shadow:0 6px 16px #667eea66}.btn-cancel{background-color:#95a5a6;color:#fff;border:none;padding:.8rem 1.5rem;font-size:1rem;font-weight:600;border-radius:8px;cursor:pointer;transition:all .3s}.btn-cancel:hover{background-color:#7f8c8d}.client-table{width:100%;border-collapse:collapse;background-color:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a}.client-table thead{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.client-table th{padding:1rem;text-align:left;font-weight:600;font-size:.95rem}.client-table td{padding:1rem;border-bottom:1px solid #ecf0f1;color:#2c3e50;font-size:1rem}.client-table .col-id{width:120px;font-weight:600}.client-table .col-name{min-width:150px}.client-table .col-status{width:120px;text-align:center}.client-table .col-action{width:50px;text-align:center}.client-table tbody tr.row-available{cursor:pointer;transition:all .2s}.client-table tbody tr.row-available:hover{background-color:#f0f3ff}.client-table tbody tr.row-available:hover .col-id{color:#667eea}.client-table tbody tr.row-locked{background-color:#fef5f5;cursor:not-allowed}.client-table .lock-info{display:flex;align-items:center;gap:.5rem}.client-table .lock-badge{display:inline-block;background-color:#fdeaea;color:#e74c3c;padding:.3rem .8rem;border-radius:4px;font-size:.85rem;font-weight:600;border:1px solid #f5c6cb}.client-table .btn-force-release{padding:.2rem .5rem;font-size:.75rem;background-color:#e74c3c;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .2s}.client-table .btn-force-release:hover{background-color:#c0392b}.client-table .action-arrow{color:#667eea;font-size:1.3rem;font-weight:700}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.loading-spinner{width:50px;height:50px;border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1.5rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-text{font-size:1.3rem;font-weight:600;color:#2c3e50;margin:0 0 .5rem}.loading-subtext{font-size:.95rem;color:#7f8c8d;margin:0}.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center}.error-text{font-size:1.1rem;color:#e74c3c;margin:0 0 1.5rem;padding:1rem;background-color:#fdeaea;border-radius:8px;border:1px solid #e74c3c}.btn-retry{padding:.8rem 2rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.btn-retry:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.no-clients{text-align:center;padding:3rem 2rem;color:#7f8c8d}.no-clients p{margin:.5rem 0;font-size:1rem}.no-clients p:first-child{font-size:1.2rem;font-weight:600;color:#95a5a6}.header-left{display:flex;align-items:center;gap:1.5rem}.btn-back{padding:.6rem 1.5rem;background-color:#95a5a6;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:1rem;font-weight:500;transition:background-color .3s}.btn-back:hover{background-color:#7f8c8d}.header-year-navigation{display:flex;align-items:center;gap:1rem;background-color:#ffffff1a;padding:.5rem 1rem;border-radius:6px}.btn-nav-year-header{padding:.4rem .8rem;background-color:#fff;color:#2c3e50;border:none;border-radius:4px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #0000001a;min-width:32px}.btn-nav-year-header:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 3px 6px #00000026;background-color:#f8f9fa}.btn-nav-year-header:active:not(:disabled){transform:translateY(0)}.btn-nav-year-header:disabled{opacity:.3;cursor:not-allowed}.year-range-header{color:#fff;font-size:1rem;font-weight:600;min-width:200px;text-align:center}@media(max-width:1200px){.app-content{grid-template-columns:1fr}.input-form{max-height:none}}@media(max-width:600px){.client-selector-container{padding:2rem}.client-selector-container h1{font-size:2rem}.input-group{flex-direction:column}.btn-go{width:100%}.client-list{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}}.modal-overlay{position:fixed;inset:0;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:2000;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000004d;max-width:600px;width:90%;max-height:80vh;overflow-y:auto;animation:slideIn .3s ease-out}.modal-content.modal-content-wide{max-width:750px}@keyframes slideIn{0%{transform:translateY(-50px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{padding:1.5rem 2rem;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:12px 12px 0 0}.modal-header-success{background:linear-gradient(135deg,#11998e,#38ef7d)}.modal-header-error{background:linear-gradient(135deg,#ee0979,#ff6a00)}.modal-header-info{background:linear-gradient(135deg,#667eea,#764ba2)}.modal-header-warning{background:linear-gradient(135deg,#f093fb,#f5576c)}.modal-header-danger{background:linear-gradient(135deg,#fa709a,#fee140)}.ai-confirm-info{padding:1rem 0}.ai-confirm-warning{color:#e74c3c;font-weight:600;margin-bottom:1.5rem;padding:.8rem;background-color:#ffe5e5;border-left:4px solid #e74c3c;border-radius:4px}.ai-confirm-details{background-color:#f8f9fa;border-radius:8px;padding:1.5rem;margin-bottom:1rem}.ai-confirm-row{display:flex;justify-content:space-between;align-items:center;padding:.8rem 0;border-bottom:1px solid #e0e0e0}.ai-confirm-row:last-child{border-bottom:none}.ai-confirm-row.ai-confirm-cost{padding-top:1.2rem;margin-top:.5rem;border-top:2px solid #667eea;border-bottom:none}.ai-confirm-label{font-weight:600;color:#555;font-size:.95rem}.ai-confirm-value{color:#333;font-size:.95rem}.ai-confirm-value-highlight{font-size:1.3rem;font-weight:700;color:#667eea}.ai-confirm-note{font-size:.85rem;color:#777;margin-top:1rem;margin-bottom:0;font-style:italic}.ai-diagnosis-mode-selector{margin:1rem 0}.ai-diagnosis-mode-options{display:flex;gap:1rem}.ai-diagnosis-mode-option{flex:1;display:flex;align-items:flex-start;padding:1rem;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .2s ease;background:#fafafa}.ai-diagnosis-mode-option:hover{border-color:#667eea;background:#f5f7ff}.ai-diagnosis-mode-option.selected{border-color:#667eea;background:linear-gradient(135deg,#667eea1a,#764ba21a)}.ai-diagnosis-mode-option input[type=radio]{margin-right:.75rem;margin-top:.25rem;accent-color:#667eea}.ai-diagnosis-mode-option .mode-content{display:flex;flex-direction:column;gap:.25rem}.ai-diagnosis-mode-option .mode-name{font-weight:600;color:#333;font-size:1rem}.ai-diagnosis-mode-option .mode-description{font-size:.85rem;color:#666}.ai-diagnosis-mode-option .mode-cost{font-size:.9rem;color:#667eea;font-weight:500;margin-top:.25rem}.ai-diagnosis-history{margin-bottom:1.5rem}.diagnosis-history-list{display:flex;flex-direction:column;gap:.5rem;max-height:150px;overflow-y:auto}.diagnosis-history-row{display:flex;align-items:center;gap:.5rem}.diagnosis-history-delete{background:none;border:none;color:#999;font-size:1.2rem;padding:.3rem .5rem;cursor:pointer;border-radius:4px;transition:all .2s ease;flex-shrink:0}.diagnosis-history-delete:hover{color:#e74c3c;background:#fee}.diagnosis-history-item{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;border:1px solid #e0e0e0;border-radius:6px;background:#fafafa;cursor:pointer;transition:all .2s ease;text-align:left;flex:1}.diagnosis-history-item:hover{border-color:#667eea;background:#f5f7ff}.diagnosis-history-item .history-date{font-size:.9rem;color:#555;min-width:140px}.diagnosis-history-item .history-mode{font-size:.85rem;color:#666;background:#e8e8e8;padding:.2rem .5rem;border-radius:4px}.diagnosis-history-item .history-model{font-size:.85rem;color:#667eea;font-weight:500}.diagnosis-history-item .history-action{margin-left:auto;font-size:.85rem;color:#667eea;font-weight:500}.diagnosis-history-divider{display:flex;align-items:center;margin:1rem 0}.diagnosis-history-divider:before,.diagnosis-history-divider:after{content:"";flex:1;height:1px;background:#e0e0e0}.diagnosis-history-divider span{padding:0 1rem;color:#888;font-size:.9rem}.modal-header h3{margin:0;font-size:1.4rem;font-weight:600}.modal-close{background:none;border:none;color:#fff;font-size:2rem;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s}.modal-close:hover{background-color:#fff3}.modal-body{padding:2rem}.modal-description{margin-bottom:1.5rem;color:#555;font-size:1rem;line-height:1.6}.modal-message{color:#333;font-size:1rem;line-height:1.8;white-space:pre-line}.sheet-list{display:flex;flex-direction:column;gap:.75rem}.sheet-option{display:flex;align-items:center;padding:1rem;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .2s;background-color:#fff}.sheet-option:hover{border-color:#667eea;background-color:#f8f9ff}.sheet-option input[type=radio]{margin-right:1rem;width:20px;height:20px;cursor:pointer;accent-color:#667eea}.sheet-name{font-size:1.1rem;color:#333;font-weight:500}.modal-footer{padding:1rem 2rem 2rem;display:flex;justify-content:flex-end;gap:1rem}.btn-modal-cancel,.btn-modal-confirm{padding:.75rem 2rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-modal-cancel{background-color:#f5f5f5;color:#666}.btn-modal-cancel:hover{background-color:#e0e0e0}.btn-modal-confirm{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 12px #667eea66}.btn-modal-confirm:hover{transform:translateY(-2px);box-shadow:0 6px 16px #667eea80}.btn-modal-confirm:active{transform:translateY(0)}.result-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding:1rem;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;color:#fff}.result-header h2{margin:0;font-size:1.8rem}.export-excel-btn{padding:.6rem 1.2rem;background:linear-gradient(135deg,#28a745,#218838);color:#fff;border:none;border-radius:6px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #0003}.export-excel-btn:hover{background:linear-gradient(135deg,#218838,#1e7e34);transform:translateY(-1px);box-shadow:0 4px 8px #0000004d}.export-excel-btn:active{transform:translateY(0);box-shadow:0 2px 4px #0003}.year-navigation{display:flex;align-items:center;gap:1rem}.current-year-range{font-size:1.1rem;font-weight:600;padding:0 1rem;min-width:200px;text-align:center}.btn-nav-year{padding:.6rem 1.2rem;background-color:#fff;color:#667eea;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #0000001a}.btn-nav-year:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #00000026;background-color:#f8f9ff}.btn-nav-year:active:not(:disabled){transform:translateY(0)}.btn-nav-year:disabled{opacity:.4;cursor:not-allowed}.year-offset-list{display:flex;flex-direction:column;gap:.75rem}.total-income-row{background-color:#a5d6a7!important;font-weight:600}.total-income-row td{color:#1b5e20!important}.total-income-row td:first-child{background-color:#81c784!important}.total-expense-row{background-color:#ef9a9a!important;font-weight:600}.total-expense-row td{color:#b71c1c!important}.total-expense-row td:first-child{background-color:#e57373!important}.assets-section .total-row{background-color:#bbdefb;font-weight:600}.assets-section .total-row td{color:#1565c0}.assets-section .total-row td:first-child{background-color:#90caf9!important}.assets-section .liability-total-row{background-color:#ffccbc!important;font-weight:600}.assets-section .liability-total-row td{color:#bf360c!important}.assets-section .liability-total-row td:first-child{background-color:#ffab91!important}.assets-section .net-assets-row{background-color:#e1bee7;font-weight:600}.assets-section .net-assets-row td{color:#6a1b9a}.assets-section .net-assets-row td:first-child{background-color:#ce93d8!important}.assets-section .net-assets-without-property-row{background-color:#f3e5f5;font-weight:500;font-style:italic}.assets-section .net-assets-without-property-row td{color:#7b1fa2;opacity:.85}.assets-section .net-assets-without-property-row td:first-child{background-color:#e1bee7!important;font-size:.85em}.assets-section .net-assets-without-property-row td.positive-alt{color:#558b2f}.inheritance-tax-section{margin-top:2rem;padding:1rem;background-color:#fff3e0;border-radius:8px;border:1px solid #ffcc80}.inheritance-tax-section h3{margin:0 0 1rem;color:#e65100;font-size:1.1rem}.inheritance-tax-section table{width:100%;border-collapse:separate;border-spacing:0}.inheritance-tax-section table th,.inheritance-tax-section table td{padding:.5rem;text-align:right;border:1px solid #ffcc80;min-width:100px}.inheritance-tax-section table th{background-color:#ff9800;color:#fff;font-weight:600}.inheritance-tax-section table td:first-child,.inheritance-tax-section table th:first-child{position:sticky;left:0;z-index:10;background-color:#ffe0b2;text-align:left;min-width:180px;max-width:180px;box-shadow:2px 0 5px #0000001a}.inheritance-tax-section table th:first-child{background-color:#ff9800;color:#fff;z-index:20}.inheritance-tax-section table tbody tr:nth-child(2n){background-color:#fff8e1}.inheritance-tax-section .total-row{background-color:#ffcc80;font-weight:600}.inheritance-tax-section .total-row td:first-child{background-color:#ffb74d!important}.inheritance-tax-section .negative{color:#d32f2f}.inheritance-tax-section .inheritance-detail-row{background-color:#fff8e1!important;font-size:.9em}.inheritance-tax-section .inheritance-detail-row td:first-child{background-color:#fff3e0!important;color:#795548;padding-left:.5rem}.inheritance-tax-section .inheritance-subtotal-row{background-color:#ffe0b2!important;border-top:2px solid #ff9800}.inheritance-tax-section .inheritance-subtotal-row td:first-child{background-color:#ffcc80!important}.inheritance-tax-section .inheritance-subtotal-row td{font-weight:600}.summary-section{margin-top:2rem;padding:1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff}.summary-section h3{margin:0 0 1.5rem;font-size:1.3rem;border-bottom:2px solid rgba(255,255,255,.3);padding-bottom:.5rem;color:#fff}.summary-content{padding:0}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.summary-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background-color:#ffffff1a;border-radius:8px;transition:background-color .2s}.summary-item:hover{background-color:#ffffff26}.summary-item.highlight{background-color:#fff3;border:1px solid rgba(255,255,255,.3)}.summary-label{font-size:.95rem;color:#ffffffe6}.summary-value{font-size:1.1rem;font-weight:600;color:#fff}.summary-value.positive{color:#a5d6a7}.summary-value.negative{color:#ef9a9a}.summary-flow{display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap}.summary-flow-item{display:flex;flex-direction:column;align-items:center;padding:1rem 1.5rem;background-color:#ffffff1a;border-radius:8px;min-width:180px}.summary-flow-item.highlight{background-color:#ffffff40;border:2px solid rgba(255,255,255,.4)}.summary-flow-label{font-size:.85rem;color:#fffc;margin-bottom:.5rem}.summary-flow-value{font-size:1.2rem;font-weight:700;color:#fff}.summary-flow-value.positive{color:#a5d6a7}.summary-flow-value.negative{color:#ef9a9a}.summary-flow-arrow{font-size:1.5rem;color:#ffffffb3;font-weight:700}.help-icon-wrapper{position:relative;display:inline-block;margin-left:4px}.help-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;background-color:#95a5a6;color:#fff;border-radius:50%;font-size:11px;font-weight:700;cursor:pointer;transition:all .2s;vertical-align:middle}.help-icon:hover{background-color:#667eea;transform:scale(1.1)}.help-tooltip{position:fixed;background-color:#2c3e50;color:#fff;padding:10px 14px;border-radius:6px;font-size:12px;font-weight:400;line-height:1.5;white-space:normal;min-width:250px;max-width:350px;z-index:99999;box-shadow:0 4px 12px #0000004d;text-align:left;pointer-events:none}.help-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border-width:6px;border-style:solid;border-color:#2c3e50 transparent transparent transparent}.tax-explanation-section{margin:1.5rem 0;padding:0 1rem}.tax-explanation-toggles{display:flex;gap:2rem;flex-wrap:wrap}.tax-toggle{cursor:pointer;color:#667eea;font-weight:600;font-size:.95rem;padding:.5rem 0;transition:color .2s;-webkit-user-select:none;user-select:none}.tax-toggle:hover,.tax-toggle.active{color:#764ba2}.tax-explanation-content{margin-top:1rem;padding:1.5rem;background-color:#f8f9fa;border-radius:8px;border:1px solid #e0e0e0}.tax-explanation-content h4{margin:0 0 1rem;color:#2c3e50;font-size:1.1rem;border-bottom:2px solid #667eea;padding-bottom:.5rem}.explanation-block{font-size:.9rem;line-height:1.6;color:#333}.explanation-step{margin:1rem 0 .3rem;color:#2c3e50}.explanation-detail{margin:.3rem 0;padding-left:1rem;color:#555}.explanation-note{margin:.3rem 0;padding-left:1rem;color:#888;font-size:.85rem}.explanation-formula{margin:.5rem 0;padding:.5rem 1rem;background-color:#e8f4f8;border-left:3px solid #667eea;font-family:monospace;color:#333}.explanation-list{margin:.5rem 0;padding-left:2rem;color:#555}.explanation-list li{margin:.3rem 0}.explanation-list ul{margin:.3rem 0;padding-left:1.5rem;font-size:.85rem;color:#666}.explanation-table{width:100%;border-collapse:collapse;margin:.5rem 0 1rem;font-size:.85rem}.explanation-table th,.explanation-table td{padding:.5rem;border:1px solid #ddd;text-align:left}.explanation-table th{background-color:#667eea;color:#fff;font-weight:600}.explanation-table tr:nth-child(2n){background-color:#f5f5f5}.explanation-note-box{margin-top:1rem;padding:1rem;background-color:#fff3cd;border:1px solid #ffc107;border-radius:6px}.explanation-note-box p{margin:0 0 .5rem;color:#856404}.explanation-note-box ul{margin:0;padding-left:1.5rem;color:#856404;font-size:.85rem}.explanation-note-box li{margin:.2rem 0}.tax-cell-with-detail{padding:0!important}.tax-cell-content{display:flex;align-items:center;padding:8px;gap:4px}.tax-detail-dot{cursor:pointer;color:#667eea;font-size:1.2rem;font-weight:700;line-height:1;transition:color .2s;flex-shrink:0}.tax-detail-dot:hover{color:#764ba2}.tax-detail-dot.resident{color:#4caf50}.tax-detail-dot.resident:hover{color:#2e7d32}.tax-cell-value{flex:1;text-align:right}.tax-detail-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:10000}.tax-detail-popup{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000004d;max-width:500px;width:90%;max-height:80vh;overflow-y:auto}.tax-detail-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:12px 12px 0 0}.tax-detail-header h4{margin:0;font-size:1.1rem}.tax-detail-close{background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:0;line-height:1}.tax-detail-content{padding:1.5rem}.tax-detail-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid #f0f0f0}.tax-detail-row.sub{color:#888;font-size:.9rem}.tax-detail-row.sub.spouse-income{font-size:.85rem;color:#999}.spouse-deduction-disabled{color:#999;font-size:.85rem;font-style:italic}.spouse-deduction-none{color:#bbb;font-size:.9rem}.tax-detail-row.highlight{background-color:#f8f9fa;padding:.75rem;margin:.5rem -.5rem;border-radius:6px;font-weight:600}.tax-detail-row.total{font-weight:700;font-size:1.1rem;color:#667eea;border-bottom:none;padding-top:.75rem}.tax-detail-row.total.resident{color:#4caf50}.tax-detail-header.resident-tax{background:linear-gradient(135deg,#4caf50,#2e7d32)}.tax-detail-label{color:#555}.tax-detail-value{font-weight:600;color:#333}.tax-detail-divider{height:1px;background:linear-gradient(90deg,transparent,#ddd,transparent);margin:1rem 0}.tax-detail-formula{background-color:#f0f4ff;padding:.75rem;border-radius:6px;font-family:monospace;font-size:.85rem;color:#555;text-align:center;margin:.5rem 0}.calc-detail-dot{cursor:pointer;font-weight:700;font-size:1.2rem;line-height:1;-webkit-user-select:none;user-select:none;flex-shrink:0}.calc-detail-dot:hover{opacity:.7}.calc-detail-dot.income{color:#1976d2}.calc-detail-dot.expense{color:#d32f2f}.calc-detail-dot.balance{color:#ed6c02}.calc-detail-dot.asset{color:#2e7d32}.calc-detail-dot.liability{color:#d32f2f}.calc-detail-dot.net-asset{color:#7b1fa2}.calc-header-blue{background:linear-gradient(135deg,#1976d2,#1565c0)!important}.calc-header-red{background:linear-gradient(135deg,#d32f2f,#b71c1c)!important}.calc-header-orange{background:linear-gradient(135deg,#ed6c02,#e65100)!important}.calc-header-green{background:linear-gradient(135deg,#2e7d32,#1b5e20)!important}.calc-header-purple{background:linear-gradient(135deg,#7b1fa2,#6a1b9a)!important}.calc-source-badge{display:inline-block;font-size:.65em;padding:1px 5px;border-radius:3px;margin-left:6px;font-weight:500;white-space:nowrap;vertical-align:middle}.calc-source-入力{background:#e3f2fd;color:#1565c0}.calc-source-Excel{background:#e8f5e9;color:#2e7d32}.calc-source-PDF{background:#fce4ec;color:#c62828}.calc-source-計算{background:#fff3e0;color:#e65100}.calc-source-変更{background:#f3e5f5;color:#7b1fa2}.calc-detail-note{font-size:.85em;color:#888;padding:4px 12px;line-height:1.5}.login-page{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1e3a5f,#2c5282);padding:1rem}.login-card{width:100%;max-width:380px;background:#fff;border-radius:12px;padding:2.5rem 2rem;box-shadow:0 10px 40px #00000040;display:flex;flex-direction:column;gap:1rem}.login-title{margin:0;font-size:1.4rem;text-align:center;color:#1e3a5f}.login-subtitle{margin:0 0 .5rem;text-align:center;font-size:.9rem;color:#6b7280}.login-label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;color:#374151;font-weight:600}.login-input{padding:.6rem .7rem;border:1px solid #d1d5db;border-radius:6px;font-size:1rem}.login-input:focus{outline:none;border-color:#2c5282;box-shadow:0 0 0 3px #2c528226}.login-error{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;padding:.55rem .7rem;border-radius:6px;font-size:.85rem}.login-button{margin-top:.5rem;padding:.7rem;border:none;border-radius:6px;background:#2c5282;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:background .15s}.login-button:hover:not(:disabled){background:#1e3a5f}.login-button:disabled{opacity:.6;cursor:not-allowed}.login-note{margin:.5rem 0 0;text-align:center;font-size:.75rem;color:#9ca3af}.user-bar{position:fixed;top:8px;right:12px;z-index:9999;display:flex;align-items:center;gap:.6rem;background:#1e3a5feb;color:#fff;padding:.3rem .7rem;border-radius:999px;font-size:.75rem;box-shadow:0 2px 8px #0003}.user-bar-info{display:flex;flex-direction:column;line-height:1.2}.user-bar-tenant{font-weight:700}.user-bar-email{opacity:.8;font-size:.68rem}.user-bar-logout{border:1px solid rgba(255,255,255,.5);background:transparent;color:#fff;border-radius:999px;padding:.2rem .6rem;font-size:.72rem;cursor:pointer}.user-bar-logout:hover{background:#ffffff26}.auth-loading{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#1e3a5f;color:#fff;font-size:.95rem}.admin-overlay{position:fixed;inset:0;z-index:10000;background:#00000080;display:flex;align-items:flex-start;justify-content:center;padding:2rem 1rem;overflow-y:auto}.admin-panel{width:100%;max-width:960px;background:#fff;color:#1f2937;border-radius:10px;padding:1.5rem 1.75rem 2rem;box-shadow:0 12px 48px #00000059}.admin-overlay--embedded{background:#fff;padding:0;align-items:stretch}.admin-overlay--embedded .admin-panel{max-width:none;box-shadow:none;border-radius:0}.admin-panel,.admin-panel th,.admin-panel td,.admin-panel label,.admin-panel input,.admin-panel select{color:#1f2937}.admin-panel input,.admin-panel select{background:#fff}.admin-header{display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid #e5e7eb;padding-bottom:.75rem;margin-bottom:1rem}.admin-header h2{margin:0;font-size:1.25rem;color:#1e3a5f}.admin-close{border:1px solid #d1d5db;background:#f9fafb;color:#1f2937;border-radius:6px;padding:.35rem .8rem;cursor:pointer;font-size:.85rem}.admin-close:hover{background:#f3f4f6}.admin-msg{padding:.6rem .8rem;border-radius:6px;font-size:.85rem;margin-bottom:1rem}.admin-msg-error{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c}.admin-msg-ok{background:#f0fdf4;border:1px solid #bbf7d0;color:#15803d}.admin-section{margin-bottom:1.75rem}.admin-section h3{font-size:1rem;color:#2c5282;margin:0 0 .6rem}.admin-table{width:100%;border-collapse:collapse;font-size:.82rem;margin-bottom:.75rem}.admin-table th,.admin-table td{border:1px solid #e5e7eb;padding:.4rem .55rem;text-align:left}.admin-table th{background:#f3f4f6;font-weight:600}.admin-num{text-align:right}.admin-row-inactive{background:#f9fafb;color:#9ca3af}.admin-actions{display:flex;gap:.35rem;white-space:nowrap}.admin-actions button{border:1px solid #d1d5db;background:#fff;color:#1f2937;border-radius:5px;padding:.2rem .5rem;font-size:.75rem;cursor:pointer}.admin-actions button:hover:not(:disabled){background:#f3f4f6}.admin-actions button:disabled{opacity:.45;cursor:not-allowed}.admin-form{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;padding:.7rem}.admin-form input,.admin-form select{padding:.4rem .55rem;border:1px solid #d1d5db;border-radius:5px;font-size:.85rem}.admin-form>button{padding:.45rem .9rem;border:none;border-radius:5px;background:#2c5282;color:#fff;font-size:.85rem;font-weight:600;cursor:pointer}.admin-form>button:hover:not(:disabled){background:#1e3a5f}.admin-form>button:disabled{opacity:.55;cursor:not-allowed}.admin-pw-field{display:flex;gap:.3rem}.admin-pw-field button{border:1px solid #d1d5db;background:#fff;color:#1f2937;border-radius:5px;padding:0 .6rem;font-size:.78rem;cursor:pointer;white-space:nowrap}.admin-pw-field button:hover{background:#f3f4f6}.admin-tabs{display:flex;flex-wrap:wrap;gap:2px;border-bottom:2px solid #e5e7eb;margin-bottom:1rem}.admin-tab{border:none;background:transparent;color:#6b7280;padding:.5rem .95rem;font-size:.85rem;font-weight:600;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px}.admin-tab:hover{color:#1f2937}.admin-tab--active{color:#2c5282;border-bottom-color:#2c5282}.admin-tab-body{min-height:200px}.admin-loading{padding:2rem;text-align:center;color:#6b7280;font-size:.9rem}.admin-dim{color:#9ca3af;font-size:.78rem}.admin-cards{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.25rem}.admin-stat{flex:1 1 130px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:.8rem .9rem}.admin-stat-value{font-size:1.5rem;font-weight:700;color:#1e3a5f}.admin-stat-label{font-size:.75rem;color:#6b7280;margin-top:.2rem}.admin-pager{display:flex;align-items:center;gap:1rem;margin-top:.5rem;font-size:.82rem;color:#374151}.admin-pager button{border:1px solid #d1d5db;background:#fff;color:#1f2937;border-radius:5px;padding:.3rem .7rem;font-size:.8rem;cursor:pointer}.admin-pager button:disabled{opacity:.45;cursor:not-allowed}.admin-inline-label{display:inline-flex;align-items:center;gap:.3rem;font-size:.8rem;color:#475467;font-weight:600}
