*{box-sizing:border-box;padding:0;margin:0}body,html{max-width:100vw}body,html{overflow-x:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(180deg,#f0f9ff,#e0f2fe);min-height:100vh;padding-top:0}.app-header{background:linear-gradient(135deg,#1e40af,#3b82f6);box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);position:-webkit-sticky;position:sticky;top:0;z-index:1000;border-bottom:3px solid #1e3a8a}.app-header-container{max-width:1400px;margin:0 auto;padding:1rem 2rem;justify-content:space-between;gap:2rem}.app-header-container,.app-header-left{display:flex;align-items:center}.app-title{font-size:1.5rem;color:#fff;margin:0;font-weight:700;text-shadow:2px 2px 4px rgba(0,0,0,.2)}.app-subtitle{color:#dbeafe;font-size:.95rem;margin:.5rem 0 0}.app-nav{display:flex;gap:.5rem;align-items:center}.nav-link{padding:.5rem 1rem;color:#fff;text-decoration:none;border-radius:6px;transition:background-color .2s;font-size:.9rem;font-weight:500}.nav-link:hover{background:hsla(0,0%,100%,.1)}.nav-link.active{background:hsla(0,0%,100%,.2);font-weight:600}.app-layout{display:flex;min-height:calc(100vh - 80px);position:relative}.main-content{flex:1 1;transition:margin-left .3s ease;overflow-x:hidden}.container{max-width:1200px;margin:0 auto;padding:2rem}.header{text-align:center;margin-bottom:2rem}.header h1{font-size:2rem;color:#1e40af;margin-bottom:.5rem}.header p{color:#64748b;font-size:.95rem}.card{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1)}.card,.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-weight:600;color:#334155;margin-bottom:.5rem}.form-group input[type=number]{width:100%;padding:.75rem;border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;transition:border-color .2s}.form-group input[type=number]:focus{outline:none;border-color:#3b82f6}.heirs-section{margin-top:1.5rem}.heirs-section h3{color:#334155;margin-bottom:1rem;font-size:1.1rem}.heir-input{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;padding:1rem;background:#f8fafc;border-radius:8px}.heir-input label{flex:1 1;font-weight:500;color:#475569}.heir-input input{width:80px;padding:.5rem;border:2px solid #e2e8f0;border-radius:6px;text-align:center;font-size:.95rem}.heir-input input:focus{outline:none;border-color:#3b82f6}.button{width:100%;padding:1rem;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .2s}.button:hover{background:#2563eb}.button:disabled{background:#94a3b8;cursor:not-allowed}.result-card{background:linear-gradient(to bottom right,#dbeafe,#bfdbfe);border-radius:12px;padding:2rem;margin-top:2rem}.result-card h2{color:#1e40af;margin-bottom:1.5rem;font-size:1.5rem}.result-item{display:flex;justify-content:space-between;padding:1rem;background:#fff;border-radius:8px;margin-bottom:.75rem}.result-item.total{background:#1e40af;color:#fff;font-weight:700;font-size:1.2rem}.result-item.life-insurance-info{background:#eff6ff;border-left:4px solid #3b82f6;padding-left:1.5rem}.result-item.life-insurance-info .result-label{color:#1e40af;font-size:.95rem}.result-item.life-insurance-info .result-value{color:#1e40af}.result-label{font-weight:500}.result-value{font-weight:600}.heir-details{margin-top:2rem}.heir-details h3{color:#1e40af;margin-bottom:1rem;font-size:1.2rem}.heir-details-table-container{overflow-x:auto;margin-top:1rem}.heir-details-table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden}.heir-details-table thead{background:#1e40af}.heir-details-table th{padding:1rem;text-align:center;font-weight:600;color:#fff;font-size:1rem;border-bottom:2px solid #1e3a8a}.detail-row-header{text-align:left;width:180px;background:#1e3a8a}.detail-heir-header{min-width:150px}.heir-details-table tbody tr{border-bottom:1px solid #e2e8f0}.heir-details-table tbody tr:hover{background:#f8fafc}.detail-row-label{padding:1rem;font-weight:600;color:#334155;background:#f1f5f9;text-align:left}.detail-value{padding:1rem;text-align:right;color:#475569;font-weight:500}.highlight-row{background:#eff6ff}.highlight-row:hover{background:#dbeafe!important}.highlight-value{font-weight:700;color:#1e40af;font-size:1.05rem}.tax-detail-row{background:#fef2f2;border-top:3px solid #dc2626}.tax-detail-row:hover{background:#fee2e2!important}.tax-detail-row .detail-row-label{background:#fecaca;color:#991b1b}.tax-value{font-weight:700;color:#dc2626;font-size:1.1rem}.reduction-row{background:#f0fdf4;border-top:2px solid #22c55e}.reduction-row:hover{background:#dcfce7!important}.reduction-row .detail-row-label{background:#bbf7d0;color:#166534}.reduction-value{font-weight:700;color:#166534;font-size:1.05rem}.warning{background:#fef3c7;border-left:4px solid #f59e0b;color:#92400e}.info,.warning{padding:1rem;border-radius:6px;margin-bottom:1rem}.info{background:#dbeafe;border-left:4px solid #3b82f6;color:#1e40af;font-size:.9rem}.section-title{color:#334155;margin-bottom:1rem;margin-top:1.5rem;font-size:1.1rem;border-bottom:2px solid #e2e8f0;padding-bottom:.5rem}.asset-form{margin-bottom:1.5rem}.form-row{display:flex;gap:1rem;align-items:flex-end;flex-wrap:wrap}.form-field{flex:1 1;min-width:150px}.form-field label{display:block;font-weight:500;color:#334155;margin-bottom:.5rem;font-size:.9rem}.number-input,.select-input,.text-input{width:100%;padding:.75rem;border:2px solid #e2e8f0;border-radius:8px;font-size:.95rem;transition:border-color .2s}.number-input:focus,.select-input:focus,.text-input:focus{outline:none;border-color:#3b82f6}.add-button{padding:.75rem 1.5rem;background:#10b981;color:#fff;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:background-color .2s;white-space:nowrap}.add-button:hover{background:#059669}.asset-table-container{margin-bottom:1.5rem;overflow-x:auto}.asset-table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden}.asset-table thead{background:#f1f5f9}.asset-table th{padding:.75rem;text-align:left;font-weight:600;color:#475569;font-size:.9rem;border-bottom:2px solid #e2e8f0}.asset-table td{padding:.75rem;border-bottom:1px solid #f1f5f9;color:#334155}.col-category{width:20%}.col-name{width:40%}.col-value{width:30%;text-align:right}.col-action{width:10%;text-align:center}.category-cell{font-weight:600;background:#f8fafc;color:#1e40af;vertical-align:top;border-right:2px solid #e2e8f0}.name-cell{font-size:.95rem}.value-cell{font-weight:500;text-align:right}.action-cell{text-align:center}.delete-button{padding:.4rem .8rem;background:#ef4444;color:#fff;border:none;border-radius:6px;font-size:.85rem;cursor:pointer;transition:background-color .2s}.delete-button:hover{background:#dc2626}.subtotal-row{background:#fef9e7;font-weight:600}.subtotal-label{text-align:right;color:#92400e;padding-right:1rem}.subtotal-value{text-align:right;color:#92400e;font-weight:700}.total-row{background:#1e40af;color:#fff;font-weight:700;font-size:1.1rem}.total-label,.total-value{padding:1rem;color:#fff}.total-value{text-align:right;font-size:1.2rem}.asset-table-empty{text-align:center;padding:2rem;color:#94a3b8;background:#f8fafc;border-radius:8px;margin-bottom:1.5rem;font-style:italic}.table-scroll-wrapper{overflow-x:auto;max-width:100%}.asset-table-with-heirs{min-width:800px}.col-heir{min-width:120px;text-align:center;background:#eff6ff;font-size:.85rem}.col-unallocated{min-width:100px;text-align:right;background:#fef3c7}.heir-allocation-cell{padding:.5rem;text-align:center;background:#f8fafc}.allocation-input{width:100%;max-width:110px;padding:.5rem;border:2px solid #e2e8f0;border-radius:6px;font-size:.9rem;text-align:right;transition:border-color .2s}.allocation-input:focus{outline:none;border-color:#3b82f6}.unallocated-cell{font-weight:600;color:#059669;background:#f0fdf4}.unallocated-cell.has-error{color:#dc2626;background:#fef2f2}.subtotal-heir-value{text-align:right;font-weight:600;color:#1e40af;background:#eff6ff}.total-heir-value{text-align:right;font-weight:700;color:#fff;font-size:1rem}@media (max-width:768px){.form-row{flex-direction:column}.add-button,.form-field{width:100%}.asset-table{font-size:.85rem}.asset-table td,.asset-table th{padding:.5rem}.allocation-input{font-size:.85rem;padding:.4rem}}.heir-form{margin-bottom:1.5rem}.form-field-fraction{flex:1 1;min-width:180px}.form-field-fraction label{display:block;font-weight:500;color:#334155;margin-bottom:.5rem;font-size:.9rem}.fraction-input-group{display:flex;align-items:center;gap:.5rem}.fraction-input{width:80px;padding:.75rem;border:2px solid #e2e8f0;border-radius:8px;font-size:.95rem;transition:border-color .2s;text-align:center}.fraction-input:focus{outline:none;border-color:#3b82f6}.fraction-slash{font-size:1.2rem;font-weight:600;color:#64748b}.heir-table-container{margin-bottom:1.5rem;overflow-x:auto}.heir-table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden}.heir-table thead{background:#f1f5f9}.heir-table th{padding:.75rem;text-align:left;font-weight:600;color:#475569;font-size:.9rem;border-bottom:2px solid #e2e8f0}.heir-table td{padding:.75rem;border-bottom:1px solid #f1f5f9;color:#334155}.col-heir-name{width:30%}.col-relationship{width:20%}.col-fraction{width:20%;text-align:center}.col-percent{width:20%;text-align:right}.heir-row{transition:background-color .2s}.heir-row:hover{background:#f8fafc}.relationship-cell{font-size:.95rem;color:#64748b}.fraction-cell{font-weight:600;text-align:center;color:#1e40af}.percent-cell{font-weight:500;text-align:right}.heir-table .total-row{background:#dbeafe;font-weight:700;font-size:1rem}.heir-table .total-row.total-invalid{background:#fee2e2;color:#991b1b}.heir-table .total-label,.heir-table .total-value{padding:1rem;text-align:right}.heir-table .total-value{font-size:1.1rem}.heir-table-empty{text-align:center;padding:2rem;color:#94a3b8;background:#f8fafc;border-radius:8px;margin-bottom:1.5rem;font-style:italic}.heir-row.editing{background:#fef9e7}.edit-input{width:100%;padding:.5rem;border:2px solid #3b82f6;border-radius:6px;font-size:.9rem}.edit-input:focus{outline:none;border-color:#2563eb}.edit-select{width:100%;padding:.5rem;border:2px solid #3b82f6;border-radius:6px;font-size:.9rem}.edit-select:focus{outline:none;border-color:#2563eb}.edit-fraction-group{display:flex;align-items:center;gap:.3rem;justify-content:center}.edit-fraction-input{width:60px;padding:.5rem;border:2px solid #3b82f6;border-radius:6px;font-size:.9rem;text-align:center}.edit-fraction-input:focus{outline:none;border-color:#2563eb}.edit-button{padding:.4rem .8rem;background:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:.85rem;cursor:pointer;transition:background-color .2s;margin-right:.5rem}.edit-button:hover{background:#2563eb}.save-button{padding:.4rem .8rem;background:#10b981;color:#fff;border:none;border-radius:6px;font-size:.85rem;cursor:pointer;transition:background-color .2s;margin-right:.5rem}.save-button:hover{background:#059669}.cancel-button{padding:.4rem .8rem;background:#6b7280;color:#fff;border:none;border-radius:6px;font-size:.85rem;cursor:pointer;transition:background-color .2s}.cancel-button:hover{background:#4b5563}.sidebar{width:250px;background:#fff;border-right:2px solid #e2e8f0;box-shadow:2px 0 4px rgba(0,0,0,.05);position:-webkit-sticky;position:sticky;top:0;height:calc(100vh - 80px);transition:width .3s ease;display:flex;flex-direction:column;overflow:hidden}.sidebar.collapsed{width:70px}.sidebar-header{padding:1rem;border-bottom:2px solid #e2e8f0;display:flex;justify-content:flex-end}.sidebar-toggle{background:#3b82f6;color:#fff;border:none;border-radius:6px;width:36px;height:36px;cursor:pointer;font-size:1rem;transition:background-color .2s;display:flex;align-items:center;justify-content:center}.sidebar-toggle:hover{background:#2563eb}.sidebar-nav{flex:1 1;padding:1rem 0;overflow-y:auto}.sidebar-link{display:flex;align-items:center;gap:1rem;padding:.875rem 1.25rem;color:#475569;text-decoration:none;transition:all .2s;white-space:nowrap;border-left:3px solid transparent}.sidebar-link:hover{background:#f8fafc;color:#1e40af;border-left-color:#3b82f6}.sidebar-link.active{background:#eff6ff;color:#1e40af;border-left-color:#1e40af;font-weight:600}.sidebar-icon{font-size:1.25rem;min-width:24px;text-align:center}.sidebar-text{font-size:.95rem}.sidebar.collapsed .sidebar-link{justify-content:center;padding:.875rem .5rem}.sidebar-footer{padding:1rem;border-top:2px solid #e2e8f0;background:#f8fafc}.sidebar-info{text-align:center;color:#64748b;font-size:.85rem}.sidebar-info p{margin:.25rem 0}.sidebar-info .version{font-size:.75rem;color:#94a3b8}@media (max-width:768px){.app-header-container{padding:.75rem 1rem;gap:1rem}.app-title{font-size:1.1rem}.app-nav{gap:.25rem}.nav-link{padding:.4rem .6rem;font-size:.85rem}.sidebar{width:70px}.sidebar.collapsed{width:0;border-right:none}.sidebar-text{display:none}.app-layout{flex-direction:column}.fraction-input-group{width:100%}.fraction-input{flex:1 1}.heir-table{font-size:.85rem}.heir-table td,.heir-table th{padding:.5rem}}