
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
        }

        body {
            background: #f2f6fc;
            display: flex;
            flex-direction: column;
        }

        .container {
	width: 100%;
	max-width: 1200px;
	margin-right: auto;
	margin-left: auto;
        }

        h1 {
            font-size: 2.3rem;
            font-weight: 800;
            letter-spacing: -0.02em;
            background: linear-gradient(145deg, #0b2b44, #1d4f7c);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
            margin-bottom: 8px;
        }
        .subtitle {
            color: #2b557a;
            font-size: 1.1rem;
            font-weight: 400;
            margin-bottom: 24px;
            padding-bottom: 18px;
            border-bottom: 2px solid #cdddec;
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
        }
        .badge {
            background: #1d4f7c;
            color: white;
            padding: 6px 20px;
            border-radius: 40px;
            font-size: 0.9rem;
            font-weight: 600;
        }
        .state-count-badge {
            background: #2d6b4b;
            color: white;
            padding: 4px 12px;
            border-radius: 30px;
            font-size: 0.8rem;
            margin-left: 10px;
        }

        .grid-2 {
            display: grid;
            grid-template-columns: repeat(2,1fr);
            gap: 20px;
        }
        .grid-3 {
            display: grid;
            grid-template-columns: repeat(3,1fr);
            gap: 20px;
        }
        @media (max-width:1000px) {
            .grid-2, .grid-3 { grid-template-columns: 1fr; }
        }

        .card {
            background: white;
            border-radius: 32px;
            padding: 24px;
            margin-bottom: 20px;
            box-shadow: 0 12px 30px rgba(0,25,45,0.08);
            border: 1px solid #dde9f5;
            transition: all 0.2s;
        }
        .card:hover { box-shadow: 0 18px 36px rgba(0,45,75,0.12); }

        .section-title {
            font-size: 1.3rem;
            font-weight: 700;
            color: #0c2c48;
            margin-bottom: 22px;
            display: flex;
            align-items: center;
            gap: 10px;
            border-left: 6px solid #1f5b8c;
            padding-left: 18px;
        }
        .section-title .emoji { font-size: 1.8rem; }

        select, input, textarea {
            width: 100%;
            padding: 16px 18px;
            background: #f9fdff;
            border: 1.5px solid #c9ddf2;
            border-radius: 30px;
            font-size: 1rem;
            color: #102b40;
            margin-bottom: 18px;
            transition: 0.15s;
        }
        select:focus, input:focus, textarea:focus {
            border-color: #1f5b8c;
            outline: none;
            box-shadow: 0 0 0 3px rgba(31,91,140,0.2);
            background: white;
        }
        select {
            appearance: none;
            background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="%231f4b74" stroke-width="2"><polyline points="6 9 12 15 18 9"></polyline></svg>');
            background-repeat: no-repeat;
            background-position: right 20px center;
        }

        .row {
            display: flex;
            gap: 15px;
            margin-bottom: 18px;
            flex-wrap: wrap;
        }
        .row > * { flex: 1 1 180px; }

        .toggle-item {
            background: #f0f7ff;
            border-radius: 30px;
            padding: 14px 22px;
            border: 1.5px solid #c9ddf2;
            display: flex;
            align-items: center;
            gap: 12px;
        }
        .toggle-item label { font-weight: 600; color: #113855; flex:1; }
        .toggle-item input[type=checkbox] { width: 24px; height:24px; accent-color:#1f5b8c; margin:0; }

        .range-container { margin: 16px 0 20px; }
        .range-header { display: flex; justify-content: space-between; font-weight: 600; color: #1d3f5e; margin-bottom: 8px; }

        input[type=range] {
            width:100%; height:10px; background:#d2e2f5; border-radius:20px; -webkit-appearance:none;
        }
        input[type=range]::-webkit-slider-thumb {
            -webkit-appearance:none; width:30px; height:30px; background:white; border-radius:50%;
            box-shadow:0 4px 12px rgba(0,40,70,0.3); border: 3px solid #1f5b8c; cursor:pointer; margin-top:-10px;
        }

        .asset-card {
            background: #f7fcff;
            border-radius: 28px;
            padding: 20px;
            margin-bottom: 16px;
            border: 1px solid #d4e4f5;
        }
        .asset-header { display: flex; gap:12px; align-items:center; margin-bottom:14px; }
        .asset-header input { margin:0; padding:10px 16px; }
        .remove-asset {
            background:none; border:none; font-size:30px; color:#b13e2d; cursor:pointer; padding:0 8px;
        }
        .asset-details { display: flex; gap:12px; flex-wrap:wrap; margin-bottom:12px; }
        .asset-details input { flex:1 1 150px; margin:0; }
        .separate-row {
            background:#e7f0fa; border-radius:40px; padding:10px 18px; display:flex; align-items:center; gap:20px;
        }
        .add-asset-btn {
            width:100%; padding:16px; background:#e9f2fc; border:2px dashed #9eb9d4; border-radius:40px;
            font-weight:700; color:#1f5b8c; cursor:pointer; margin:10px 0;
        }

        .results-panel {
            background: #0b263f;
            border-radius: 40px;
            padding: 32px;
            color: white;
            margin: 30px 0 20px;
            display: none;
        }
        .result-section { margin-bottom: 32px; }
        .result-section-title {
            font-size: 1.2rem; font-weight: 600; color: #aac3df; margin-bottom: 18px; text-transform: uppercase;
        }
        .result-row {
            display: flex; justify-content: space-between; align-items: center; padding: 12px 0;
            border-bottom: 1px solid #254e78;
        }
        .result-label { font-size: 1rem; opacity:0.8; }
        .result-value { font-size: 1.25rem; font-weight: 600; }
        .total-row {
            display: flex; justify-content: space-between; margin-top: 16px; padding-top: 16px;
            border-top: 2px solid #3f6792; font-size: 1.3rem; font-weight: 700;
        }
        .party-total { color: #fdda7a; font-size: 2rem; font-weight: 800; }

        .support-highlight {
            background: rgba(255,255,255,0.08); border-radius: 28px; padding: 22px; margin: 16px 0;
        }

        .allocation-container {
            background: #eef5fd; border-radius: 32px; padding: 22px; margin: 20px 0;
        }
        .allocation-header { display: flex; justify-content: space-between; font-weight: 700; color: #1a3f5e; margin-bottom: 8px; }

        .btn {
            width: 100%; padding: 18px; border-radius: 60px; font-weight: 700; font-size: 1.1rem;
            border: none; cursor: pointer; transition: 0.2s; margin-bottom: 16px;
        }
        .btn-primary { background: #1f5b8c; color: white; box-shadow: 0 8px 18px rgba(25,80,120,0.3); }
        .btn-primary:active { background: #11446a; }
        .btn-recalc { background: #2d6b4b; color: white; }
        .btn-secondary { background: #eef5fd; color: #1f5b8c; border: 1.5px solid #b9d2ec; }

        .warning-note {
            background: #fbeae5; border-left: 5px solid #c03e2b; padding: 16px; border-radius: 20px; color: #712e1f;
        }

        .tax-badge {
            background: #1c3f5e; color: #bdd9f5; padding: 8px 16px; border-radius: 40px; font-size: 0.85rem;
        }

        .state-info {
            background: #e5effa; border-radius: 24px; padding: 16px; color: #113855; margin: 10px 0 20px;
        }

        .chart-bar-container {
            background: #d9e2f0; border-radius: 30px; height: 30px; display: flex; margin: 12px 0 8px; overflow: hidden;
        }
        .bar1 { background: #1f7b9a; height: 100%; }
        .bar2 { background: #f4b740; height: 100%; }
        .forecast-table { width:100%; border-collapse: collapse; }
        .forecast-table td { padding: 10px 0; border-bottom:1px solid #2d557a; }
        
        .community-badge {
            display: inline-block;
            background: #1f5b8c;
            color: white;
            font-size: 0.7rem;
            padding: 2px 8px;
            border-radius: 20px;
            margin-left: 5px;
        }
  