/* Tax Insights Income & Expense Tracker. Uses the site tokens from styles.css (--navy, --slate, --silver, --paper, --line, --muted, --ink, --radius). */
[hidden]{display:none!important}
.ie-section{padding-top:1.6rem}
.ie-notice{background:#F1F5F9;border:1px solid var(--line);border-left:4px solid var(--slate);border-radius:var(--radius);padding:1rem 1.2rem;margin-bottom:1rem;font-size:.9rem}
.ie-notice strong{color:var(--navy)}
.ie-notice.warn{background:#FFF8E6;border-color:#EBD38A;border-left-color:#C9A227}
.ie-notice.row{display:flex;gap:1rem;align-items:center;justify-content:space-between;flex-wrap:wrap}
.ie-notice p{max-width:none;margin:.25rem 0 0}

.ie-toolbar{display:flex;gap:.8rem;align-items:flex-end;flex-wrap:wrap;justify-content:space-between;margin:1.2rem 0 0}
.ie-toolbar .grp{display:flex;gap:.7rem;align-items:flex-end;flex-wrap:wrap}
.ie-toolbar .field{margin:0;min-width:170px}
.ie-btn{display:inline-flex;align-items:center;gap:.45rem;padding:.62rem 1.1rem;border-radius:var(--radius);font:inherit;font-weight:700;font-size:.9rem;cursor:pointer;border:1.5px solid var(--navy);background:var(--navy);color:#fff;text-decoration:none}
.ie-btn:hover{background:var(--navy-deep)}
.ie-btn.secondary{background:#fff;color:var(--navy)}
.ie-btn.secondary:hover{background:#EEF2F6}
.ie-btn.sm{padding:.34rem .7rem;font-size:.8rem}
.ie-btn.danger{background:#fff;border-color:#9B2C24;color:#9B2C24}
.ie-btn.danger:hover{background:#FBEAEA}
.ie-btn:disabled{opacity:.5;cursor:not-allowed}

.ie-tabs{display:flex;gap:.2rem;border-bottom:1px solid var(--line);margin:1.2rem 0 1.4rem}
.ie-tab{background:none;border:none;border-bottom:3px solid transparent;padding:.8rem 1.3rem;font-family:'Montserrat',system-ui,sans-serif;font-weight:700;font-size:.92rem;color:var(--muted);cursor:pointer}
.ie-tab:hover{color:var(--navy)}
.ie-tab[aria-selected="true"]{color:var(--navy);border-bottom-color:var(--navy)}
.ie-stack{display:grid;gap:1.2rem}
.ie-grid2{display:grid;gap:1.2rem;grid-template-columns:1fr 1fr}
@media(max-width:860px){.ie-grid2{grid-template-columns:1fr}}

/* Cards with the Tax Insights mark in the header */
.ie-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.ie-card-h{display:flex;align-items:center;gap:.7rem;background:var(--navy);color:#fff;padding:.7rem 1.1rem}
.ie-card-h img{width:26px;height:auto;display:block;border-radius:3px}
.ie-card-h h2{flex:1;margin:0;color:#fff;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase}
.ie-card-h .sub{font-size:.78rem;color:var(--silver)}
.ie-card-b{padding:1.2rem}
.ie-tw{overflow-x:auto}

/* Form */
.ie-seg{display:inline-flex;border:1.5px solid var(--navy);border-radius:8px;overflow:hidden}
.ie-seg button{background:#fff;border:none;padding:.5rem 1.1rem;font:inherit;font-weight:700;color:var(--navy);cursor:pointer}
.ie-seg button[aria-pressed="true"]{background:var(--navy);color:#fff}
.ie-seg.sm button{padding:.28rem .75rem;font-size:.8rem}
.ie-seg.on-dark{border-color:var(--silver)}
.ie-seg.on-dark button{background:transparent;color:var(--silver)}
.ie-seg.on-dark button[aria-pressed="true"]{background:#fff;color:var(--navy)}
.ie-form{display:grid;grid-template-columns:repeat(6,1fr);gap:.9rem;margin-top:1rem}
.ie-form .field{margin:0}
.ie-form .c2{grid-column:span 2}.ie-form .c4{grid-column:span 4}
@media(max-width:700px){.ie-form .c2,.ie-form .c4{grid-column:span 6}}
.ie-form label{display:block}
.ie-incl{display:flex;align-items:center;gap:.55rem;font-weight:700;color:var(--navy);padding-top:1.55rem}
.ie-incl input{width:1.15rem;height:1.15rem;accent-color:var(--navy)}
.ie-badge{display:inline-block;font-size:.66rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.08rem .5rem;border-radius:20px;background:#EEF2F6;color:var(--slate);vertical-align:middle;margin-left:.3rem}
.ie-badge.man{background:#FFF3E0;color:#9A3412}
.ie-hint{font-size:.8rem;color:var(--muted);display:block;margin-top:.3rem}
.ie-err{color:#9B2C24;font-size:.88rem;font-weight:700;min-height:1.3rem;margin-top:.5rem}
.ie-link{background:none;border:none;color:var(--navy);text-decoration:underline;cursor:pointer;font:inherit;font-size:.8rem;padding:0 .2rem}
.ie-row{display:flex;gap:.7rem;flex-wrap:wrap;align-items:center}
.ie-newcat{display:flex;gap:.5rem;align-items:center;flex-wrap:nowrap}
.ie-newcat input{flex:1}

/* Tables */
.ie-table{border-collapse:collapse;width:100%;font-size:.9rem}
.ie-table th{background:#F1F5F9;color:var(--navy);text-align:left;font-family:'Montserrat',system-ui,sans-serif;font-size:.7rem;letter-spacing:.09em;text-transform:uppercase;padding:.6rem .7rem;border-bottom:2px solid var(--navy);white-space:nowrap}
.ie-table td{padding:.6rem .7rem;border-bottom:1px solid var(--line);vertical-align:middle}
.ie-table .n{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.ie-table tr.tot td{font-weight:700;border-top:2px solid var(--navy);background:#F8FAFC}
.ie-empty{padding:1.6rem 1rem;text-align:center;color:var(--muted)}
.ie-mini{background:#fff;border:1px solid var(--line);border-radius:6px;padding:.2rem .6rem;font:inherit;font-size:.78rem;font-weight:600;color:var(--navy);cursor:pointer}
.ie-mini:hover{border-color:var(--slate)}

/* KPIs */
.ie-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:.8rem}
@media(max-width:1000px){.ie-kpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.ie-kpis{grid-template-columns:repeat(2,1fr)}}
.ie-kpi{background:#fff;border:1px solid var(--line);border-top:4px solid var(--navy);border-radius:var(--radius);padding:.9rem;text-align:left;cursor:pointer;font:inherit;color:inherit;transition:transform .15s,box-shadow .15s}
.ie-kpi:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(13,27,45,.12)}
.ie-kpi[aria-pressed="true"]{box-shadow:0 0 0 2px var(--navy)}
.ie-kpi.sl{border-top-color:var(--slate)}
.ie-kpi .l{display:block;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:700}
.ie-kpi .v{display:block;font-family:'Montserrat',system-ui,sans-serif;font-size:1.15rem;font-weight:700;color:var(--navy);margin-top:.2rem;font-variant-numeric:tabular-nums}
.ie-kpi .s{display:block;font-size:.72rem;color:var(--muted)}

/* Charts */
.ie-legend{display:flex;gap:1rem;flex-wrap:wrap;font-size:.82rem;color:var(--muted);margin-bottom:.5rem}
.ie-legend i{display:inline-block;width:11px;height:11px;border-radius:2px;margin-right:.4rem;vertical-align:-1px}
svg.ie-chart{width:100%;height:auto;display:block}
svg.ie-chart text{font-family:'Lato',system-ui,sans-serif;fill:var(--muted);font-size:11px}
svg.ie-chart .grid{stroke:var(--line);stroke-width:1}
svg.ie-chart .axis{stroke:#9AA6B5}
.ie-bar{cursor:pointer;transform-box:fill-box;transform-origin:50% 100%;animation:ie-grow .55s cubic-bezier(.2,.8,.2,1) both;transition:opacity .15s,filter .15s}
.ie-bar:hover{filter:brightness(1.3)}
.ie-bar.dim{opacity:.5}
.ie-lbl{cursor:pointer}
.ie-lbl:hover{fill:var(--navy);font-weight:700}
@keyframes ie-grow{from{transform:scaleY(0)}}
@media(prefers-reduced-motion:reduce){.ie-bar{animation:none}}
.ie-hb{display:grid;grid-template-columns:150px 1fr 100px;gap:.6rem;align-items:center;padding:.3rem .4rem;border-radius:6px;cursor:pointer;width:100%;background:none;border:none;text-align:left;font:inherit;color:inherit}
.ie-hb:hover,.ie-hb[aria-pressed="true"]{background:#EEF2F6}
.ie-hb .t{font-size:.86rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ie-hb .trk{background:#EEF2F6;border-radius:4px;height:16px;overflow:hidden;display:block}
.ie-hb .fill{display:block;height:100%;border-radius:4px;background:var(--navy);transition:width .5s cubic-bezier(.2,.8,.2,1)}
.ie-hb .fill.sl{background:var(--slate)}
.ie-hb .a{text-align:right;font-variant-numeric:tabular-nums;font-size:.86rem;font-weight:700}
@media(max-width:560px){.ie-hb{grid-template-columns:100px 1fr 80px}}
#ie-tip{position:fixed;z-index:90;background:var(--navy);color:#fff;padding:.4rem .7rem;border-radius:6px;font-size:.8rem;pointer-events:none;opacity:0;transition:opacity .1s;max-width:260px;box-shadow:0 4px 14px rgba(0,0,0,.25)}
#ie-tip b{display:block;letter-spacing:.05em}

/* Categories */
.ie-chips{display:flex;flex-wrap:wrap;gap:.5rem}
.ie-chip{display:inline-flex;align-items:center;gap:.4rem;background:#EEF2F6;border:1px solid var(--line);border-radius:20px;padding:.2rem .4rem .2rem .8rem;font-size:.86rem}
.ie-chip button{border:none;background:#fff;border-radius:50%;width:22px;height:22px;cursor:pointer;color:var(--navy);font-weight:700;line-height:1}
.ie-chip button:hover:not(:disabled){background:#FBEAEA;color:#9B2C24}
.ie-chip button:disabled{opacity:.35;cursor:not-allowed}

/* Dialog + toast */
dialog.ie-dlg{border:none;border-radius:var(--radius);padding:0;max-width:520px;width:calc(100% - 32px);box-shadow:0 20px 60px rgba(13,27,45,.4);color:var(--ink)}
dialog.ie-dlg::backdrop{background:rgba(13,27,45,.6)}
.ie-dlg .ie-card-h{border-radius:0}
.ie-dlg-b{padding:1.1rem;display:grid;gap:.8rem;font-size:.92rem}
.ie-dlg-b p{max-width:none}
.ie-choice{display:block;text-align:left;width:100%;background:#fff;border:1.5px solid var(--line);border-radius:var(--radius);padding:.8rem 1rem;cursor:pointer;font:inherit;color:inherit}
.ie-choice:hover:not(:disabled){border-color:var(--navy);background:#F1F5F9}
.ie-choice:disabled{opacity:.5;cursor:not-allowed}
.ie-choice b{color:var(--navy);font-family:'Montserrat',system-ui,sans-serif;font-size:.95rem}
.ie-choice span{margin-left:.5rem;color:var(--muted);font-size:.82rem}
.ie-choice em{display:block;font-style:normal;color:var(--muted);font-size:.84rem;margin-top:.15rem}
.ie-toast{position:fixed;left:50%;bottom:70px;transform:translateX(-50%) translateY(20px);background:var(--navy);color:#fff;padding:.6rem 1.1rem;border-radius:8px;opacity:0;transition:all .25s;z-index:95;font-size:.9rem}
.ie-toast.show{opacity:1;transform:translateX(-50%)}
.ie-dash-wm{position:relative}
.ie-dash-wm::before{content:"";position:absolute;right:-10px;bottom:-10px;width:380px;height:243px;background:url('/assets/logo.png') no-repeat center/contain;opacity:.05;pointer-events:none}
.ie-dash-wm>*{position:relative}

/* Standalone copy chrome (used only in saved copies) */
.ti-band{background:var(--navy);border-bottom:3px solid var(--slate);color:#fff}
.ti-band .container{display:flex;align-items:center;gap:1rem;padding-top:.8rem;padding-bottom:.8rem;flex-wrap:wrap}
.ti-band img{width:56px;height:auto;display:block;border-radius:4px}
.ti-band .w{font-family:'Montserrat',system-ui,sans-serif;font-weight:700;letter-spacing:.14em;font-size:1.25rem;line-height:1.1}
.ti-band .w span{color:var(--silver);font-weight:600}
.ti-band .t{font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--silver);margin-top:.2rem}
.ti-band a{margin-left:auto;color:var(--silver);font-size:.85rem;text-decoration:none}

@media print{.ie-toolbar,.ie-tabs,.ie-btn,.ie-mini,.ie-seg{display:none!important}.ie-card-h{background:#fff;color:var(--navy);border-bottom:2px solid var(--navy)}.ie-card-h h2{color:var(--navy)}}

/* Overrides for global form styles in styles.css */
.ie-card form{background:none;border:0;padding:0;border-radius:0}
.ie-incl input{padding:0;border:0;background:none}
.ie-newcat input{margin:0}
.ie-panel{margin:0}
