.dcn-budget-app{--dcn-navy:#152b45;--dcn-green:#137a61;--dcn-mint:#d9f3e9;--dcn-sub:#536579;--dcn-line:#dfe7ed;--dcn-panel:#fff;--dcn-paper:#f4f7fb;--dcn-bad:#bf3b47;color:var(--dcn-navy);font:inherit;max-width:1180px;margin:24px auto 48px;line-height:1.45}
.dcn-budget-app *{box-sizing:border-box}
.dcn-budget-app input,.dcn-budget-app select,.dcn-budget-app textarea,.dcn-budget-app button{font:inherit}
.dcn-budget-app .dcn-hero{background:linear-gradient(116deg,#152b45 0%,#1c3a55 72%,#125c57 130%);color:#fff;padding:30px 34px;border-radius:18px 18px 0 0;display:flex;justify-content:space-between;align-items:center;gap:20px}
.dcn-budget-app .dcn-eyebrow{font-weight:750;letter-spacing:.12em;text-transform:uppercase;font-size:.73rem;color:#82e8c5;margin:0 0 5px}
.dcn-budget-app .dcn-hero h2{font-size:clamp(1.5rem,2.7vw,2.1rem);line-height:1.12;color:#fff;margin:0 0 9px;font-weight:780;letter-spacing:-.02em}
.dcn-budget-app .dcn-hero p:last-child{margin:0;color:#d6e3ec;font-size:.95rem;max-width:580px}
.dcn-budget-app .dcn-hero-icon{height:74px;min-width:74px;border-radius:22px;background:rgba(255,255,255,.10);display:grid;place-items:center;font-size:45px;font-weight:700;color:#73e4ba}
.dcn-budget-app .dcn-shell{background:var(--dcn-paper);padding:24px;border:1px solid var(--dcn-line);border-top:0;border-radius:0 0 18px 18px}
.dcn-budget-app .dcn-label{font-size:.83rem;font-weight:730;display:block;margin:0 0 7px;color:#34495d}
.dcn-budget-app .dcn-formhead{background:#fff;border:1px solid var(--dcn-line);border-radius:13px;padding:20px;margin-bottom:18px}
.dcn-budget-app .dcn-meta-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(145px,1fr) minmax(110px,.7fr) minmax(155px,1fr);gap:13px}
.dcn-budget-app input[type=text],.dcn-budget-app input[type=number],.dcn-budget-app select,.dcn-budget-app textarea{display:block;width:100%;min-width:0;background:#fff;color:#183148;border:1px solid #bacbd7;border-radius:9px;padding:11px 12px;font-size:.96rem;box-shadow:none;outline-offset:2px}
.dcn-budget-app input:focus-visible,.dcn-budget-app select:focus-visible,.dcn-budget-app textarea:focus-visible,.dcn-budget-app button:focus-visible{outline:3px solid #7fcab6;outline-offset:2px}
.dcn-budget-app .dcn-main{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start}
.dcn-budget-app .dcn-group{border:1px solid var(--dcn-line);background:var(--dcn-panel);border-radius:13px;margin-bottom:15px;overflow:hidden}
.dcn-budget-app .dcn-group-top{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#fff;border-bottom:1px solid #ecf0f3;padding:17px 18px}
.dcn-budget-app .dcn-group-title{display:flex;align-items:center;gap:10px;margin:0;font-size:1.05rem;color:#183148;font-weight:780}
.dcn-budget-app .dcn-group-dot{display:inline-block;width:11px;height:11px;border-radius:50%;background:var(--dcn-green);flex-shrink:0}
.dcn-budget-app .dcn-group[data-group=fixed] .dcn-group-dot{background:#417bb8}
.dcn-budget-app .dcn-group[data-group=variable] .dcn-group-dot{background:#b6853c}
.dcn-budget-app .dcn-group[data-group=debt] .dcn-group-dot{background:#be5762}
.dcn-budget-app .dcn-group[data-group=saving] .dcn-group-dot{background:#368d95}
.dcn-budget-app .dcn-group-sub{font-size:.83rem;color:#6b7b88;margin:4px 0 0}
.dcn-budget-app .dcn-rows{padding:8px 17px 0}
.dcn-budget-app .dcn-row{display:grid;grid-template-columns:minmax(0,1fr) 160px 36px;gap:10px;align-items:center;padding:7px 0}
.dcn-budget-app .dcn-row label{display:none}
.dcn-budget-app .dcn-row input{padding:10px 11px}
.dcn-budget-app .dcn-row .dcn-amount{text-align:right;font-variant-numeric:tabular-nums}
.dcn-budget-app .dcn-row .dcn-amount[aria-invalid=true]{border-color:#b63043;box-shadow:0 0 0 1px #b63043}
.dcn-budget-app .dcn-remove{border:1px solid transparent;background:#f4f6f8;color:#6c7b85;cursor:pointer;border-radius:8px;padding:0;width:36px;height:40px;display:grid;place-items:center;font-size:1.35rem;line-height:1}
.dcn-budget-app .dcn-remove:hover{background:#fee9ea;color:#a62836}
.dcn-budget-app .dcn-group-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px 17px}
.dcn-budget-app .dcn-add{border:1px solid #bcd9d0;background:#eef9f4;color:#0d6852;border-radius:8px;font-weight:730;cursor:pointer;padding:9px 12px;font-size:.88rem}
.dcn-budget-app .dcn-add:hover{background:#dcf1e8}
.dcn-budget-app .dcn-group-total{font-variant-numeric:tabular-nums;font-weight:780;font-size:1.04rem;text-align:right;white-space:nowrap}
.dcn-budget-app .dcn-summary{background:#fff;border:1px solid var(--dcn-line);border-radius:13px;padding:19px;position:sticky;top:15px}
.dcn-budget-app .dcn-summary h3{margin:0 0 15px;color:#142c45;font-size:1.12rem}
.dcn-budget-app .dcn-summary-line{display:flex;justify-content:space-between;gap:12px;font-size:.91rem;padding:8px 0;border-bottom:1px solid #eff2f5}
.dcn-budget-app .dcn-summary-line strong{font-variant-numeric:tabular-nums;white-space:nowrap}
.dcn-budget-app .dcn-balance{margin:17px 0 12px;padding:17px 14px;border-radius:11px;background:#e4f5ee;color:#086344}
.dcn-budget-app .dcn-balance.is-negative{background:#ffeded;color:#9d2431}
.dcn-budget-app .dcn-balance small{display:block;font-weight:730;font-size:.82rem;margin-bottom:5px}
.dcn-budget-app .dcn-balance .dcn-balance-num{font-size:clamp(1.5rem,2.7vw,2rem);font-weight:830;letter-spacing:-.04em;overflow-wrap:anywhere;line-height:1.15}
.dcn-budget-app .dcn-meter{margin:12px 0 8px;background:#e7edf0;height:11px;border-radius:20px;overflow:hidden}
.dcn-budget-app .dcn-meter-bar{height:100%;border-radius:20px;background:#158567;transition:width .15s ease}
.dcn-budget-app .dcn-meter-bar.is-negative{background:#c84954}
.dcn-budget-app .dcn-meter-label{font-size:.83rem;color:#526475;margin:0 0 13px}
.dcn-budget-app .dcn-status{font-size:.88rem;color:#526475;margin:8px 0 0}
.dcn-budget-app .dcn-note{border:1px solid var(--dcn-line);border-radius:13px;background:#fff;padding:19px;margin:0 0 18px}
.dcn-budget-app .dcn-note textarea{min-height:76px;resize:vertical}
.dcn-budget-app .dcn-actions{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 6px}
.dcn-budget-app .dcn-btn{border:1px solid transparent;padding:11px 16px;border-radius:9px;font-weight:760;font-size:.91rem;cursor:pointer;white-space:normal;text-align:center}
.dcn-budget-app .dcn-btn-primary{background:#116d55;color:#fff}
.dcn-budget-app .dcn-btn-primary:hover{background:#09533f}
.dcn-budget-app .dcn-btn-secondary{background:#fff;border-color:#bdcdd9;color:#163048}
.dcn-budget-app .dcn-btn-secondary:hover{background:#e9f0f4}
.dcn-budget-app .dcn-btn-subtle{border-color:#e0e8ed;background:#f6f8f9;color:#526475}
.dcn-budget-app .dcn-privacy{font-size:.84rem;color:#526575;margin:10px 0 0}
.dcn-budget-app .dcn-feedback{font-size:.88rem;margin:10px 0 0;font-weight:650;min-height:1.4em;color:#125e4a}
.dcn-budget-app .dcn-feedback.is-error{color:#a42e3c}
.dcn-budget-app .dcn-print-area{display:none}
.dcn-budget-app .dcn-hidden-file{display:none!important}
@media(max-width:900px){.dcn-budget-app .dcn-main{grid-template-columns:1fr}.dcn-budget-app .dcn-summary{position:static}.dcn-budget-app .dcn-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:570px){.dcn-budget-app{margin:12px auto}.dcn-budget-app .dcn-hero{padding:23px 18px}.dcn-budget-app .dcn-hero-icon{display:none}.dcn-budget-app .dcn-shell{padding:12px}.dcn-budget-app .dcn-formhead,.dcn-budget-app .dcn-note{padding:14px}.dcn-budget-app .dcn-meta-grid{grid-template-columns:1fr 1fr;gap:12px}.dcn-budget-app .dcn-meta-grid .dcn-name-field{grid-column:span 2}.dcn-budget-app .dcn-group-top{padding:14px}.dcn-budget-app .dcn-rows{padding:5px 12px 0}.dcn-budget-app .dcn-row{grid-template-columns:minmax(0,1fr) 105px 30px;gap:7px}.dcn-budget-app .dcn-row input{font-size:.85rem;padding:9px 7px}.dcn-budget-app .dcn-remove{width:30px;height:36px}.dcn-budget-app .dcn-group-bottom{padding:11px 13px 14px}.dcn-budget-app .dcn-btn{flex:1 1 140px}}
@page{size:A4;margin:13mm}
@media print{
  body *{visibility:hidden!important}
  .dcn-budget-app .dcn-print-area,.dcn-budget-app .dcn-print-area *{visibility:visible!important}
  .dcn-budget-app .dcn-print-area{display:block!important;position:absolute!important;top:0!important;left:0!important;width:100%!important;background:#fff!important;color:#142c45!important;font-family:Arial,Helvetica,sans-serif!important;font-size:10pt!important}
  .dcn-budget-app .dcn-print-area h1{font-size:23pt!important;color:#162c46!important;margin:0 0 5mm!important}
  .dcn-budget-app .dcn-print-area h2{font-size:12pt!important;color:#162c46!important;margin:6mm 0 2mm!important}
  .dcn-budget-app .dcn-print-area p{margin:1mm 0!important}
  .dcn-budget-app .dcn-print-area table{border-collapse:collapse!important;width:100%!important;font-size:9pt!important;page-break-inside:avoid}
  .dcn-budget-app .dcn-print-area th,.dcn-budget-app .dcn-print-area td{padding:2.4mm!important;border-bottom:1px solid #d7e1e8!important;text-align:left!important}
  .dcn-budget-app .dcn-print-area .dcn-td-amount{text-align:right!important}
  .dcn-budget-app .dcn-print-area .dcn-report-total{font-weight:bold!important;background:#e6f4ec!important}
  .dcn-budget-app .dcn-print-area .dcn-print-summary{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:2mm!important;margin:5mm 0!important}
  .dcn-budget-app .dcn-print-area .dcn-print-summary>div{background:#f1f6f8!important;padding:4mm!important;border:1px solid #d8e3ea!important}
  .dcn-budget-app .dcn-print-area .dcn-print-summary strong{display:block!important;font-size:12pt!important}
  .dcn-budget-app .dcn-print-area section{break-inside:avoid!important}
  .dcn-budget-app .dcn-print-area .dcn-print-brand{color:#137a61!important;font-weight:bold!important;letter-spacing:.06em!important}
  .dcn-budget-app .dcn-print-area .dcn-print-foot{border-top:1px solid #d8e3ea!important;margin-top:7mm!important;padding-top:3mm!important;font-size:8pt!important;color:#536579!important}
}
