.backup-banner{position:fixed;left:0;right:0;top:0;z-index:100;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px max(14px,calc((100vw - 560px)/2));background:linear-gradient(135deg,#d97706,#b45309);color:#fff;box-shadow:0 4px 18px rgba(0,0,0,.15)}.backup-banner strong,.backup-banner span{display:block}.backup-banner span{font-size:11px;opacity:.9}
.toast-region{position:fixed;top:12px;left:50%;transform:translateX(-50%);z-index:300;width:min(calc(100% - 24px),520px);display:grid;gap:8px;pointer-events:none}.toast{pointer-events:auto;color:#fff;background:var(--navy);padding:11px 14px;border-radius:13px;box-shadow:var(--shadow);font-weight:750;font-size:12px;animation:toast .18s ease}.toast.error{background:var(--red)}.toast.success{background:var(--green)}.toast.warning{background:var(--amber)}@keyframes toast{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:none}}
.info-box{border-radius:14px;padding:11px;background:var(--blue-soft);color:#1d4ed8;font-size:12px}.warning-box{border-radius:14px;padding:11px;background:var(--amber-soft);color:#92400e;font-size:12px}.success-box{border-radius:14px;padding:11px;background:var(--green-soft);color:#047857;font-size:12px}
.color-picker{width:100%;height:46px;border:1px solid var(--border);border-radius:13px;padding:4px;background:#fff}.icon-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:6px}.icon-choice{aspect-ratio:1;border:1px solid transparent;border-radius:10px;background:#f1f5f9;font-size:18px}.icon-choice.selected{border-color:var(--blue);background:var(--blue-soft)}
@media(max-width:440px){.filter-grid,.input-row{grid-template-columns:1fr}.menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.setup-row{grid-template-columns:38px 1fr}.setup-row .input{grid-column:1/-1}.hero-value{font-size:31px}.grid-3 .metric strong{font-size:14px}.backup-banner{align-items:flex-start}}
@media(min-width:700px){.sheet-dialog{margin:auto;border-radius:25px;padding-bottom:24px}.fab{bottom:88px}.app-header{padding-top:20px;padding-bottom:20px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@media print{.bottom-nav,.fab,.app-header,.backup-banner,button{display:none!important}#app{max-width:none;padding:0}.card{box-shadow:none;break-inside:avoid}}
.setup-dialog[open]{display:grid;place-items:center}
body.backup-visible{padding-top:64px}.backup-visible .app-header{top:64px}
@media(max-width:440px){body.backup-visible{padding-top:86px}.backup-visible .app-header{top:86px}}
html.standalone,html.standalone body{min-height:100%;min-height:100dvh;overscroll-behavior-y:none}
html.standalone body{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}
html.standalone input,html.standalone textarea,html.standalone select{user-select:text;-webkit-user-select:text}
html.standalone .app-header{padding-top:calc(16px + env(safe-area-inset-top,0px))}
html.standalone .backup-banner{padding-top:calc(10px + env(safe-area-inset-top,0px))}
@media(min-width:700px){html.standalone .app-header{padding-top:calc(20px + env(safe-area-inset-top,0px))}}
