html:not([data-ui=horizon]),html:not([data-ui=horizon])[data-theme=dark]{--app-dialog-on-accent:#14171f}html:not([data-ui=horizon])[data-theme=light]{--app-dialog-on-accent:#fff}html:not([data-ui=horizon]) .app-dialog-overlay{background:var(--modal-overlay-bg,#0009);z-index:10000;-webkit-backdrop-filter:blur(10px)saturate(108%);backdrop-filter:blur(10px)saturate(108%);justify-content:center;align-items:center;padding:18px;animation:.16s ease-out both app-dialog-fade;display:flex;position:fixed;inset:0;overflow-y:auto}@keyframes app-dialog-fade{0%{opacity:0}to{opacity:1}}html:not([data-ui=horizon]) .app-dialog{isolation:isolate;background:linear-gradient(145deg, var(--glass-highlight-soft,#ffffff0a), transparent 35%), var(--glass-surface-strong,var(--surface-1));border:1px solid var(--glass-border-strong,var(--border));width:min(460px,100%);max-height:min(88dvh,720px);box-shadow:var(--modal-shadow,0 18px 50px #00000080), 0 1px 0 var(--glass-highlight,#ffffff0f) inset;-webkit-backdrop-filter:blur(28px)saturate(126%);backdrop-filter:blur(28px)saturate(126%);font-family:var(--font-body,inherit);border-radius:20px;padding:24px;animation:.22s cubic-bezier(.22,1,.36,1) both app-dialog-rise;position:relative;overflow:hidden}html:not([data-ui=horizon]) .app-dialog:before{content:"";background:var(--gold-gradient,var(--gold));pointer-events:none;height:2px;position:absolute;inset:0 0 auto}@keyframes app-dialog-rise{0%{opacity:0;transform:translateY(12px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}html:not([data-ui=horizon]) .app-dialog__head{align-items:flex-start;gap:14px;padding-right:30px;display:flex}html:not([data-ui=horizon]) .app-dialog__icon{background:var(--gold-tint,#c9a84c1f);width:38px;height:38px;color:var(--gold);border:1px solid var(--glass-border,var(--border));box-shadow:0 1px 0 var(--glass-highlight-soft,transparent) inset;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}html:not([data-ui=horizon]) .app-dialog--danger .app-dialog__icon{background:var(--expense-dim,#ef7a6f24);color:var(--expense)}html:not([data-ui=horizon]) .app-dialog__title{font-family:var(--font-display,inherit);letter-spacing:-.01em;color:var(--text-primary);margin:1px 0 5px;font-size:17px;font-weight:650}html:not([data-ui=horizon]) .app-dialog__message{color:var(--text-secondary);overflow-wrap:break-word;margin:0;font-size:13.5px;line-height:1.6}html:not([data-ui=horizon]) .app-dialog__close{border:1px solid var(--glass-border,var(--border));background:var(--glass-surface-soft,var(--surface-2));width:34px;height:34px;color:var(--text-secondary);cursor:pointer;border-radius:999px;place-items:center;padding:0;transition:border-color .16s,color .16s,background .16s,transform .16s;display:inline-grid;position:absolute;top:14px;right:14px}html:not([data-ui=horizon]) .app-dialog__close:hover{color:var(--gold-light,var(--gold));border-color:var(--gold-dim,var(--border-strong));background:var(--gold-tint,var(--surface-2));transform:rotate(3deg)}html:not([data-ui=horizon]) .app-dialog__input{box-sizing:border-box;background:var(--glass-surface-soft,var(--surface-2));border:1px solid var(--glass-border,var(--border));width:100%;min-height:42px;color:var(--text-primary);border-radius:11px;margin-top:18px;padding:10px 12px;font-family:inherit;font-size:13.5px}html:not([data-ui=horizon]) .app-dialog__input:focus{border-color:var(--gold,var(--border-strong));box-shadow:0 0 0 3px var(--gold-tint,#c9a84c24);outline:none}html:not([data-ui=horizon]) .app-dialog__actions{border-top:1px solid var(--glass-border,var(--border));justify-content:flex-end;gap:10px;margin-top:22px;padding-top:16px;display:flex}html:not([data-ui=horizon]) .app-dialog__btn{cursor:pointer;border-radius:999px;min-height:40px;padding:8px 18px;font-family:inherit;font-size:13px;font-weight:650;transition:transform .16s,border-color .16s,background .16s,box-shadow .16s}html:not([data-ui=horizon]) .app-dialog__btn--cancel{background:var(--glass-surface-soft,transparent);border:1px solid var(--glass-border,var(--border));color:var(--text-secondary)}html:not([data-ui=horizon]) .app-dialog__btn--cancel:hover{color:var(--text-primary);border-color:var(--glass-border-strong,var(--border-strong,var(--border)));transform:translateY(-1px)}html:not([data-ui=horizon]) .app-dialog__btn--confirm{background:var(--gold-gradient,var(--gold));border:1px solid var(--gold);color:var(--app-dialog-on-accent);box-shadow:0 8px 20px rgba(var(--glass-gold-rgb,201, 168, 76), .17)}html:not([data-ui=horizon]) .app-dialog__btn--confirm:hover{background:var(--gold-light,var(--gold));border-color:var(--gold-light,var(--gold));transform:translateY(-1px)}html:not([data-ui=horizon]) .app-dialog--danger .app-dialog__btn--confirm{background:var(--expense);border-color:var(--expense);color:#fff}html:not([data-ui=horizon]) .app-dialog--danger .app-dialog__btn--confirm:hover{filter:brightness(1.08)}html:not([data-ui=horizon]) .app-dialog__close:focus-visible,html:not([data-ui=horizon]) .app-dialog__btn:focus-visible,html:not([data-ui=horizon]) .app-dialog__input:focus-visible{outline:2px solid var(--gold-bright,var(--gold));outline-offset:3px}@media (width<=520px){html:not([data-ui=horizon]) .app-dialog-overlay{align-items:flex-end;padding:12px}html:not([data-ui=horizon]) .app-dialog{border-radius:18px;width:100%;padding:22px 18px 18px}html:not([data-ui=horizon]) .app-dialog__actions{grid-template-columns:1fr;display:grid}html:not([data-ui=horizon]) .app-dialog__btn--confirm{grid-row:1}}@media (prefers-reduced-motion:reduce){html:not([data-ui=horizon]) .app-dialog-overlay,html:not([data-ui=horizon]) .app-dialog{animation:none}html:not([data-ui=horizon]) .app-dialog__close,html:not([data-ui=horizon]) .app-dialog__btn{transition:none}html:not([data-ui=horizon]) .app-dialog__close:hover,html:not([data-ui=horizon]) .app-dialog__btn:hover{transform:none}}html:not([data-ui=horizon]) .notification-container{z-index:10000;pointer-events:none;flex-direction:column;gap:12px;max-width:420px;display:flex;position:fixed;top:20px;right:20px}html:not([data-ui=horizon]) .notification{background:var(--surface-2);box-shadow:var(--shadow-md);pointer-events:auto;border-left:4px solid;border-radius:8px;align-items:flex-start;gap:12px;min-width:320px;max-width:420px;padding:16px;animation:.3s ease-out slideIn;display:flex}html:not([data-ui=horizon]) .notification-success{border-left-color:var(--income);background:linear-gradient(to right, var(--income-dim) 0%, var(--surface-2) 100%)}html:not([data-ui=horizon]) .notification-error{border-left-color:var(--expense);background:linear-gradient(to right, var(--expense-dim) 0%, var(--surface-2) 100%)}html:not([data-ui=horizon]) .notification-warning{border-left-color:var(--warning);background:linear-gradient(to right, var(--warning-dim) 0%, var(--surface-2) 100%)}html:not([data-ui=horizon]) .notification-info{border-left-color:var(--net);background:linear-gradient(to right, var(--net-dim) 0%, var(--surface-2) 100%)}html:not([data-ui=horizon]) .notification-icon{flex-shrink:0;justify-content:center;align-items:center;padding-top:2px;display:flex}html:not([data-ui=horizon]) .notification-success .notification-icon{color:var(--income)}html:not([data-ui=horizon]) .notification-error .notification-icon{color:var(--expense)}html:not([data-ui=horizon]) .notification-warning .notification-icon{color:var(--warning)}html:not([data-ui=horizon]) .notification-info .notification-icon{color:var(--net)}html:not([data-ui=horizon]) .notification-content{flex:1;min-width:0}html:not([data-ui=horizon]) .notification-message{color:var(--text-primary);word-wrap:break-word;margin:0;font-size:14px;line-height:1.5}html:not([data-ui=horizon]) .notification-close{cursor:pointer;color:var(--text-muted);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:color .2s;display:flex}html:not([data-ui=horizon]) .notification-close:hover{color:var(--text-secondary)}html:not([data-ui=horizon]) .notification-close:focus{outline:2px solid var(--gold);outline-offset:2px;border-radius:4px}@keyframes slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@media (width<=640px){html:not([data-ui=horizon]) .notification-container{max-width:none;top:10px;left:10px;right:10px}html:not([data-ui=horizon]) .notification{min-width:0;max-width:none}}html:not([data-ui=horizon]) .app-error-boundary{min-height:100vh;color:var(--text-primary,#f5f2eb);background:radial-gradient(circle at 50% 0%, var(--gold-tint,#c9a84c1a), transparent 42%), var(--obsidian,#090b0f);place-items:center;padding:24px;display:grid}html:not([data-ui=horizon]) .app-error-boundary__card{border:1px solid var(--border,#ffffff1f);border-radius:var(--noir-radius-lg,18px);text-align:center;background:var(--surface-1,#15191f);width:min(100%,560px);box-shadow:var(--modal-shadow,0 24px 70px #00000061);padding:clamp(24px,5vw,40px)}html:not([data-ui=horizon]) .app-error-boundary__eyebrow{color:var(--expense,#ef7a6f);font:600 .72rem/1.2 var(--font-mono,ui-monospace, monospace);letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px}html:not([data-ui=horizon]) .app-error-boundary h1{font:650 clamp(1.7rem, 4vw, 2.35rem)/1.1 var(--font-display,system-ui, sans-serif);margin:0}html:not([data-ui=horizon]) .app-error-boundary__copy{max-width:44ch;color:var(--text-secondary,#c1bbb2);margin:14px auto 0;line-height:1.6}html:not([data-ui=horizon]) .app-error-boundary__actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:24px;display:flex}html:not([data-ui=horizon]) .app-error-boundary__actions button{border:1px solid var(--border-strong,#fff3);min-height:40px;color:var(--text-primary,#f5f2eb);background:var(--surface-2,#20252d);cursor:pointer;border-radius:999px;padding:0 18px}html:not([data-ui=horizon]) .app-error-boundary__actions button:focus-visible{outline:2px solid var(--gold-light,#e3c36a);outline-offset:3px}html:not([data-ui=horizon]) .app-error-boundary__actions .app-error-boundary__primary{border-color:var(--gold-dim,#c9a84c75);color:var(--obsidian,#090b0f);background:var(--gold-light,#e3c36a)}html:not([data-ui=horizon]) .app-error-boundary__details{color:var(--text-muted,#918a81);text-align:left;margin-top:24px}html:not([data-ui=horizon]) .app-error-boundary__details pre{border:1px solid var(--border,#ffffff1f);white-space:pre-wrap;background:var(--surface-0,#101318);border-radius:8px;max-height:240px;padding:12px;font-size:.75rem;overflow:auto}html:not([data-ui=horizon])[data-theme=light] .app-error-boundary{color:var(--text-primary,#1d232c);background:radial-gradient(circle at 50% 0%, var(--gold-tint,#8a5a2c1a), transparent 42%), var(--obsidian,#f6f2e9)}html[data-ui=horizon] .app-dialog-overlay{z-index:10000;background:var(--overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0;overflow-y:auto}html[data-ui=horizon] .app-dialog{border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface);width:min(460px,100%);max-height:calc(100dvh - 40px);color:var(--text);box-shadow:var(--modal-shadow);font-family:var(--font-ui);padding:24px;position:relative;overflow-y:auto}html[data-ui=horizon] .app-dialog__head{align-items:flex-start;gap:14px;padding-right:30px;display:flex}html[data-ui=horizon] .app-dialog__icon{border-radius:var(--r-ctl);width:38px;height:38px;color:var(--accent-text);background:var(--accent-soft);flex:none;justify-content:center;align-items:center;display:inline-flex}html[data-ui=horizon] .app-dialog--danger .app-dialog__icon{color:var(--crit);background:var(--crit-soft)}html[data-ui=horizon] .app-dialog__title{color:var(--text);font:700 18px/1.3 var(--font-display);letter-spacing:-.02em;margin:0 0 6px}html[data-ui=horizon] .app-dialog__message{color:var(--text-2);overflow-wrap:anywhere;margin:0;font-size:13px;line-height:1.65}html[data-ui=horizon] .app-dialog__close{border:1px solid var(--line);background:var(--surface);width:32px;height:32px;color:var(--text-2);cursor:pointer;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;top:14px;right:14px}html[data-ui=horizon] .app-dialog__close:hover{background:var(--surface-2);color:var(--text)}html[data-ui=horizon] .app-dialog__input{box-sizing:border-box;border:1px solid var(--line-2);border-radius:var(--r-ctl);background:var(--surface-2);width:100%;min-height:40px;color:var(--text);font:inherit;margin-top:18px;padding:10px 12px}html[data-ui=horizon] .app-dialog__actions{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:22px;padding-top:16px;display:flex}html[data-ui=horizon] .app-dialog__btn{min-height:36px;font:600 13px/1.4 var(--font-ui);cursor:pointer;border-radius:999px;padding:8px 16px}html[data-ui=horizon] .app-dialog__btn--cancel{border:1px solid var(--line-2);background:var(--surface);color:var(--text-2)}html[data-ui=horizon] .app-dialog__btn--cancel:hover{background:var(--surface-2)}html[data-ui=horizon] .app-dialog__btn--confirm{border:1px solid var(--accent);background:var(--accent);color:var(--accent-ink)}html[data-ui=horizon] .app-dialog__btn--confirm:hover{background:var(--accent-2);border-color:var(--accent-2)}html[data-ui=horizon] .app-dialog--danger .app-dialog__btn--confirm{border-color:var(--crit);background:var(--crit);color:#fff}@media (width<=520px){html[data-ui=horizon] .app-dialog-overlay{padding:12px}html[data-ui=horizon] .app-dialog{max-height:calc(100dvh - 24px);padding:22px 18px}}
