:root{color-scheme:light;--bg:#f4f7fb;--surface:#fff;--surface-2:#edf3f9;--ink:#102033;--muted:#687b91;--line:#dce5ef;--primary:#0b6bcb;--primary-2:#07539f;--primary-soft:#e8f2ff;--nav:#071727;--nav-muted:#9fb0c3;--positive:#07805f;--negative:#c63f51;--warning:#9a6500;--shadow:0 18px 50px rgba(27,54,82,.08);--radius:18px;--radius-sm:11px;--font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
html[data-theme=dark]{color-scheme:dark;--bg:#07111f;--surface:#0e1b2b;--surface-2:#142438;--ink:#eff6fd;--muted:#9db0c6;--line:#223650;--primary:#4c9cf4;--primary-2:#79b8ff;--primary-soft:#102e4e;--nav:#050d17;--positive:#5dd7ad;--negative:#ff8291;--warning:#f1c15c;--shadow:0 18px 60px rgba(0,0,0,.22)}
@media(prefers-color-scheme:dark){html[data-theme=system]{color-scheme:dark;--bg:#07111f;--surface:#0e1b2b;--surface-2:#142438;--ink:#eff6fd;--muted:#9db0c6;--line:#223650;--primary:#4c9cf4;--primary-2:#79b8ff;--primary-soft:#102e4e;--nav:#050d17;--positive:#5dd7ad;--negative:#ff8291;--warning:#f1c15c;--shadow:0 18px 60px rgba(0,0,0,.22)}}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 var(--font);letter-spacing:-.01em}a{color:var(--primary);text-decoration:none}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2rem,4vw,3rem);line-height:1.05;letter-spacing:-.045em;margin-bottom:.65rem}h2{font-size:1.28rem;letter-spacing:-.025em}h3{font-size:1rem}small{font-size:.78rem}.muted{color:var(--muted)}.eyebrow{font-size:.72rem;text-transform:uppercase;letter-spacing:.15em;font-weight:700;color:var(--primary);margin-bottom:.65rem}.brand{display:inline-flex;align-items:center;gap:.75rem;font-size:1.12rem;font-weight:700;color:inherit}.brand-mark{display:grid;place-items:center;width:35px;height:35px;border-radius:11px;background:linear-gradient(145deg,#2589ed,#0b5ab0);color:white;box-shadow:0 7px 22px rgba(16,108,200,.3)}
.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(360px,1.05fr) minmax(420px,.95fr)}.auth-brand{background:radial-gradient(circle at 20% 15%,rgba(46,139,225,.28),transparent 32%),linear-gradient(145deg,#071727,#0b263f);color:white;padding:clamp(2rem,6vw,6rem);display:flex;flex-direction:column;justify-content:space-between;min-height:100vh}.auth-brand>div:not(.security-note){max-width:660px}.auth-brand h1{font-size:clamp(3rem,6vw,5.7rem);max-width:800px}.auth-brand>div>p:not(.eyebrow){font-size:1.1rem;color:#b5c7d8;max-width:570px}.auth-panel{display:grid;place-items:center;padding:clamp(1.5rem,5vw,5rem);position:relative}.auth-form-wrap{width:min(100%,430px)}.auth-form-wrap h2{font-size:2.1rem;margin-bottom:.35rem}.auth-switch{text-align:center;color:var(--muted);margin-top:1.6rem}.security-note{display:flex;align-items:center;gap:1rem;border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:1rem 1.2rem;max-width:420px;background:rgba(255,255,255,.05);backdrop-filter:blur(12px)}.security-note>span{font-size:1.7rem;color:#65b4ff}.security-note p{margin:0;color:#aabed1}
.stack-form{display:grid;gap:1rem;margin-top:2rem}.stack-form.compact{margin-top:0}.stack-form label,.form-grid label,.inline-form>label{display:grid;gap:.42rem;font-weight:600;font-size:.84rem}.stack-form label small,.form-grid label small{color:var(--muted);font-weight:400}input,select,textarea{width:100%;min-height:44px;border:1px solid var(--line);border-radius:var(--radius-sm);padding:.72rem .85rem;background:var(--surface);color:var(--ink);outline:none;transition:border-color .18s,box-shadow .18s}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 15%,transparent)}input[type=file]{padding:.55rem}.button{border:0;border-radius:11px;padding:.75rem 1rem;min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:.7rem;background:var(--primary);color:white;font-weight:700;cursor:pointer;box-shadow:0 8px 18px color-mix(in srgb,var(--primary) 22%,transparent);transition:.18s transform,.18s background}.button:hover{background:var(--primary-2);transform:translateY(-1px)}.button-full{width:100%;justify-content:space-between;padding-inline:1.1rem}.button-small{padding:.53rem .75rem;min-height:34px;font-size:.82rem}.button-secondary{background:var(--surface-2);color:var(--ink);box-shadow:none}.button-danger{background:color-mix(in srgb,var(--negative) 15%,var(--surface));color:var(--negative);box-shadow:none}.link-button{border:0;background:none;color:var(--muted);padding:.35rem;cursor:pointer}.link-button:hover{color:var(--ink)}.link-button.danger{color:var(--negative)}.icon-button{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:9px;min-width:34px;height:34px;display:grid;place-items:center;cursor:pointer}.code-input{font-size:1.6rem;letter-spacing:.3em;text-align:center;font-weight:700}.flash{border:1px solid;padding:.85rem 1rem;border-radius:11px;margin:1rem auto;width:min(calc(100% - 2rem),1150px)}.flash-success{background:#e9fbf4;color:#07634c;border-color:#bcebdc}.flash-error{background:#fff0f2;color:#9f2638;border-color:#f4c7cf}
.app-shell{min-height:100vh;display:grid;grid-template-columns:246px 1fr}.sidebar{background:var(--nav);color:white;position:sticky;top:0;height:100vh;padding:1.5rem 1.15rem;display:flex;flex-direction:column;z-index:20}.sidebar>.brand{padding:.15rem .6rem 1.7rem}.main-nav{display:grid;gap:.3rem}.main-nav a{display:flex;align-items:center;gap:.85rem;color:var(--nav-muted);padding:.72rem .8rem;border-radius:10px;font-weight:600}.main-nav a span{font-size:1.05rem;width:20px;text-align:center}.main-nav a:hover,.main-nav a.active{background:rgba(255,255,255,.08);color:white}.sidebar-foot{margin-top:auto;border-top:1px solid rgba(255,255,255,.1);padding-top:1rem}.user-chip{display:flex;align-items:center;gap:.7rem;color:white;padding:.5rem}.user-chip>span:last-child{display:grid;min-width:0}.user-chip small{color:var(--nav-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:140px}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#163b5e;color:#8dccff;font-weight:700}.sidebar-foot form{text-align:center}.mobile-bar{display:none}.workspace{min-width:0}.page{width:min(100% - 3rem,1230px);margin:0 auto;padding:3.2rem 0 5rem}.narrow-page{max-width:960px}.page-head{display:flex;justify-content:space-between;gap:2rem;align-items:flex-end;margin-bottom:2rem}.page-head h1{font-size:2.45rem}.page-head p:last-child{margin-bottom:0}.page-head .button{flex:none}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.35rem;box-shadow:var(--shadow)}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.2rem}.panel-head h2,.panel-head h3{margin-bottom:.18rem}.panel-head p{font-size:.86rem;color:var(--muted);margin:0}.panel-head>a{font-size:.83rem;font-weight:700}.pill-row{display:flex;gap:.5rem;flex-wrap:wrap}.pill{border:1px solid var(--line);border-radius:999px;padding:.28rem .62rem;background:var(--surface-2);color:var(--muted);font-size:.72rem;font-weight:700}.pill-good{background:color-mix(in srgb,var(--positive) 12%,var(--surface));border-color:color-mix(in srgb,var(--positive) 25%,var(--line));color:var(--positive)}
.portal-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}.portal-card{min-height:270px;background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:1.8rem;color:var(--ink);display:flex;flex-direction:column;position:relative;overflow:hidden;box-shadow:var(--shadow);transition:transform .2s,border-color .2s}.portal-card:hover{transform:translateY(-4px);border-color:var(--primary)}.portal-card-primary{background:radial-gradient(circle at 90% 10%,rgba(64,162,255,.25),transparent 38%),linear-gradient(145deg,#0b66bb,#083e72);color:white;border:0}.portal-card p{max-width:390px;color:var(--muted)}.portal-card-primary p{color:#c7ddf1}.portal-icon{width:50px;height:50px;border-radius:15px;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary);font-size:1.25rem;margin-bottom:auto}.portal-card-primary .portal-icon{background:rgba(255,255,255,.12);color:white}.status-dot{font-size:.7rem;text-transform:uppercase;letter-spacing:.13em;font-weight:700;opacity:.7}.portal-card h2{font-size:1.75rem;margin:.45rem 0}.card-arrow{position:absolute;right:1.5rem;bottom:1.5rem;font-size:1.4rem}.privacy-strip{display:flex;gap:1rem;align-items:center;margin-top:1.4rem;background:var(--primary-soft);border-radius:16px;padding:1.1rem 1.3rem;color:var(--primary)}.privacy-strip p{margin:0;color:var(--muted)}.privacy-icon{font-size:1.5rem}
.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1rem}.metric-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:1.25rem;display:grid;gap:.4rem;box-shadow:var(--shadow)}.metric-card>span{color:var(--muted);font-size:.82rem}.metric-card strong{font-size:1.55rem;letter-spacing:-.04em}.metric-card small{color:var(--muted)}.metric-primary{background:linear-gradient(145deg,#0c72d0,#084b89);color:white;border:0}.metric-primary>span,.metric-primary small{color:#c9e1f6}.positive{color:var(--positive)!important}.negative{color:var(--negative)!important}.dashboard-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:1rem}.account-list,.transaction-mini-list,.item-list{display:grid}.account-row,.transaction-mini,.list-row{display:flex;align-items:center;gap:.8rem;padding:.85rem 0;border-top:1px solid var(--line)}.account-row:first-child,.transaction-mini:first-child,.list-row:first-child{border-top:0}.account-row>div,.transaction-mini>div,.list-row>div{display:grid;min-width:0}.account-row small,.transaction-mini small,.list-row small{color:var(--muted)}.account-row>strong,.transaction-mini>strong,.list-row>strong,.list-row>form,.list-row>.pill{margin-left:auto}.account-icon,.transaction-icon{width:36px;height:36px;border-radius:11px;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center;font-weight:700;flex:none}.transaction-icon.income{background:color-mix(in srgb,var(--positive) 13%,var(--surface));color:var(--positive)}.transaction-icon.expense{background:color-mix(in srgb,var(--negative) 11%,var(--surface));color:var(--negative)}
.filter-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.filter-pills{display:flex;gap:.3rem;flex-wrap:wrap}.filter-pills button,.tabs button{border:0;background:transparent;color:var(--muted);border-radius:9px;padding:.55rem .75rem;cursor:pointer;font-weight:600}.filter-pills button.active,.filter-pills button:hover,.tabs button.active{background:var(--surface);color:var(--ink);box-shadow:0 2px 10px rgba(30,60,90,.07)}.toggle{display:flex;align-items:center;gap:.6rem;font-weight:600;font-size:.83rem;white-space:nowrap}.toggle input{position:absolute;opacity:0}.toggle span{width:38px;height:22px;background:var(--line);border-radius:99px;position:relative;transition:.2s}.toggle span:after{content:'';position:absolute;width:16px;height:16px;background:white;border-radius:50%;left:3px;top:3px;box-shadow:0 1px 4px rgba(0,0,0,.2);transition:.2s}.toggle input:checked+span{background:var(--primary)}.toggle input:checked+span:after{transform:translateX(16px)}.table-panel{padding:0;overflow:hidden}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;font-size:.84rem}.data-table th{color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;text-align:left;padding:.9rem 1rem;background:var(--surface-2);white-space:nowrap}.data-table td{padding:1rem;border-top:1px solid var(--line);vertical-align:middle}.data-table tbody tr:hover:not(.details-row){background:color-mix(in srgb,var(--primary) 3%,var(--surface))}.align-right{text-align:right!important}.amount{white-space:nowrap;font-weight:700}.amount small{display:block;color:var(--muted);font-weight:400}.type-badge{display:inline-flex;border-radius:999px;padding:.3rem .58rem;background:var(--surface-2);font-weight:700;font-size:.7rem}.type-badge.income{color:var(--positive);background:color-mix(in srgb,var(--positive) 11%,var(--surface))}.type-badge.expense{color:var(--negative);background:color-mix(in srgb,var(--negative) 10%,var(--surface))}.type-badge.transfer,.type-badge.auto_saving{color:var(--primary);background:var(--primary-soft)}.row-actions{display:flex;gap:.4rem}.details-row td{background:var(--surface-2);padding:0 1rem 1rem}.detail-table{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:.5rem 1rem}.detail-table>div{display:grid;grid-template-columns:.6fr 2fr 1fr 1fr .8fr;gap:1rem;padding:.6rem 0;border-top:1px solid var(--line)}.detail-table>div:first-child{border:0}.detail-head{font-size:.68rem;text-transform:uppercase;color:var(--muted);font-weight:700}.empty-state{text-align:center;padding:2.5rem;color:var(--muted)}.empty-state h3{color:var(--ink)}.empty-icon{margin:0 auto 1rem;width:48px;height:48px;border-radius:15px;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center;font-size:1.3rem}.empty-copy{color:var(--muted);text-align:center;padding:1rem}.full-span{grid-column:1/-1}.center-card{max-width:520px;margin:15vh auto;text-align:center;background:var(--surface);border:1px solid var(--line);padding:3rem;border-radius:24px}
.settings-layout{display:grid;grid-template-columns:200px 1fr;gap:1.5rem;align-items:start}.section-nav{display:grid;position:sticky;top:2rem}.section-nav a{color:var(--muted);padding:.55rem .7rem;border-left:2px solid var(--line)}.section-nav a:hover{color:var(--primary);border-color:var(--primary)}.settings-content{display:grid;gap:1rem}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.span-2{grid-column:1/-1}.split-actions{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.security-action{border-left:1px solid var(--line);padding-left:2rem}.inline-form{display:flex;align-items:end;gap:1rem;flex-wrap:wrap}.inline-form>label{min-width:230px;flex:1}.inline-form fieldset{border:0;padding:0;display:flex;gap:1rem;flex-wrap:wrap}.inline-form legend{font-size:.75rem;font-weight:700;margin-bottom:.5rem}.check{display:flex!important;align-items:center;gap:.55rem;font-size:.82rem;font-weight:500!important}.check input{width:17px;height:17px;min-height:0}.check-stack{display:grid;gap:.65rem;margin-top:1.2rem}.notice-key{padding:1rem;border-radius:14px;border:1px solid color-mix(in srgb,var(--warning) 35%,var(--line));background:color-mix(in srgb,var(--warning) 8%,var(--surface));display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.notice-key code{word-break:break-all;flex:1;min-width:200px}.notice-key small{width:100%;color:var(--muted)}.tabs{display:flex;gap:.4rem;border-bottom:1px solid var(--line);margin-bottom:1.2rem}.tabs button{border-radius:9px 9px 0 0;padding:.75rem 1rem}.master-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:1rem}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}.master-card{border:1px solid var(--line);border-radius:14px;padding:1rem;display:flex;align-items:center;gap:.8rem}.master-card>div{display:grid}.master-card>form{margin-left:auto}.master-card strong{margin-top:.35rem}.inactive{opacity:.55}
.inline-setting{display:grid;grid-template-columns:1fr minmax(140px,1fr) auto}.inline-setting select{min-height:36px;padding:.45rem .6rem}
.geo-panel{margin-top:1rem}.geo-columns{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.geo-columns>div{border-left:1px solid var(--line);padding-left:1rem}.geo-columns>div:first-child{border:0;padding-left:0}.mini-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.6rem}.geo-item{display:block;padding:.35rem 0;color:var(--muted);font-size:.83rem}
.modal{border:0;padding:0;background:transparent;color:var(--ink);width:min(760px,calc(100% - 2rem));max-height:92vh}.modal::backdrop{background:rgba(3,13,23,.7);backdrop-filter:blur(5px)}.modal-card{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:1.5rem;box-shadow:0 30px 90px rgba(0,0,0,.3);max-height:92vh;overflow:auto}.modal-wide{width:100%}.modal-small{max-width:520px;margin:auto}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.2rem}.modal-head h2{font-size:1.6rem}.segmented{display:grid;grid-template-columns:repeat(3,1fr);background:var(--surface-2);padding:.3rem;border-radius:12px;margin-bottom:1.2rem}.segmented input{position:absolute;opacity:0}.segmented span{display:block;padding:.62rem;text-align:center;border-radius:9px;color:var(--muted);font-weight:700;cursor:pointer}.segmented input:checked+span{background:var(--surface);color:var(--primary);box-shadow:0 3px 12px rgba(20,50,80,.1)}.modal-actions{display:flex;justify-content:flex-end;gap:.7rem;padding-top:1.2rem;margin-top:1.2rem;border-top:1px solid var(--line)}.detail-editor{margin-top:1.3rem;border-top:1px solid var(--line);padding-top:1.2rem}.detail-row{display:grid;grid-template-columns:1.5fr .5fr .7fr .7fr auto;gap:.55rem;margin-top:.55rem}.detail-row .icon-button{align-self:end;margin-bottom:5px}.fx-field{display:grid}
.split-row{display:grid;grid-template-columns:1fr 1fr .7fr 1.2fr auto;gap:.55rem;margin-top:.55rem}.split-row .icon-button{align-self:center}
.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.product-card{border:1px solid var(--line);border-radius:17px;background:var(--surface);overflow:hidden;color:var(--ink);position:relative;box-shadow:var(--shadow);transition:.2s transform}.product-card:hover{transform:translateY(-3px)}.product-image{aspect-ratio:4/3;background:linear-gradient(145deg,var(--primary-soft),var(--surface-2));display:grid;place-items:center;position:relative;overflow:hidden}.product-image>span,.product-main-image>span{font-size:3.2rem;font-weight:700;color:var(--primary);opacity:.45}.product-image img,.product-main-image img{width:100%;height:100%;object-fit:cover}.market-pill{position:absolute;left:.6rem;bottom:.6rem;background:rgba(7,23,39,.85);color:white;border-radius:99px;padding:.25rem .55rem}.product-card-copy{padding:1rem}.product-card-copy h2{font-size:1rem;margin-bottom:.25rem}.product-card-copy p{margin:0;color:var(--muted);font-size:.8rem}.product-card>.card-arrow{bottom:1rem}.breadcrumbs{display:flex;gap:.55rem;align-items:center;margin:-.8rem 0 1.3rem;color:var(--muted)}.breadcrumbs a{color:var(--muted)}.back-link{display:inline-flex;margin-bottom:1.2rem}.product-sheet{display:grid;gap:1rem}.product-hero{background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:1.5rem;display:grid;grid-template-columns:300px 1fr 210px;gap:2rem;align-items:center}.product-main-image{aspect-ratio:1;border-radius:17px;overflow:hidden;background:var(--surface-2);display:grid;place-items:center}.product-title h1{margin:.8rem 0 .3rem}.product-title>p{color:var(--muted)}.key-data{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem;margin:1.4rem 0 0}.key-data div{display:grid}.key-data dt{font-size:.72rem;color:var(--muted)}.key-data dd{margin:0;font-weight:700}.barcode-card{border:1px solid var(--line);border-radius:15px;padding:1rem;text-align:center;background:white;color:#101820}.barcode-card img{max-width:100%;height:70px;object-fit:contain}.barcode-card code,.barcode-card small{display:block;margin-top:.5rem}.product-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.product-detail-grid .panel:last-child{grid-column:1/-1}.qr-setup{display:grid;grid-template-columns:280px 1fr;gap:2rem;align-items:center}.qr-setup img{border-radius:16px;border:1px solid var(--line);background:white}.secret-code{display:block;padding:.8rem;background:var(--surface-2);border-radius:9px;word-break:break-all}.recovery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.recovery-grid code{padding:.5rem;background:var(--surface-2);border-radius:7px;text-align:center}.confirm-code{margin-top:1.4rem;border-top:1px solid var(--line);padding-top:1.4rem}
.detail-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.2rem}.detail-toolbar .back-link{margin:0}.detail-toolbar>div{display:flex;gap:.6rem}.detail-toolbar form{display:inline-flex}
.template-grid,.statement-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.template-card .panel-head h2,.statement-card .panel-head h2{margin-top:.65rem}.template-data{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin:1.3rem 0}.template-data div,.reconcile-metrics>div{background:var(--surface-2);border-radius:11px;padding:.8rem;display:grid}.template-data dt,.reconcile-metrics span{font-size:.72rem;color:var(--muted)}.template-data dd{margin:0;font-weight:700}.template-book{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:.7rem;border-top:1px solid var(--line);padding-top:1rem}.template-book label{display:grid;gap:.35rem;font-size:.75rem;font-weight:700}.reconcile-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;margin:1.2rem 0}.reconcile-metrics strong{font-size:1.15rem}.reconcile-metrics .match{background:color-mix(in srgb,var(--positive) 12%,var(--surface));color:var(--positive)}.reconcile-metrics .mismatch{background:color-mix(in srgb,var(--negative) 10%,var(--surface));color:var(--negative)}
@media(max-width:1080px){.metric-grid{grid-template-columns:repeat(2,1fr)}.product-grid{grid-template-columns:repeat(3,1fr)}.product-hero{grid-template-columns:230px 1fr}.barcode-card{grid-column:1/-1}.card-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.auth-shell{grid-template-columns:1fr}.auth-brand{display:none}.auth-panel{min-height:100vh}.app-shell{display:block}.sidebar{position:fixed;left:-270px;width:246px;transition:left .2s}.sidebar.open{left:0;box-shadow:20px 0 70px rgba(0,0,0,.3)}.mobile-bar{display:flex;position:sticky;top:0;z-index:15;align-items:center;justify-content:space-between;padding:.8rem 1rem;background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.page{width:min(100% - 2rem,1230px);padding:2rem 0 4rem}.page-head{align-items:flex-start}.dashboard-grid,.portal-grid,.settings-layout,.split-actions,.master-grid,.product-detail-grid,.template-grid,.statement-grid{grid-template-columns:1fr}.section-nav{display:none}.product-grid{grid-template-columns:repeat(2,1fr)}.security-action{border:0;padding:0}.product-hero{grid-template-columns:1fr}.product-main-image{max-width:340px;width:100%;margin:auto}.qr-setup{grid-template-columns:1fr}.qr-setup img{max-width:100%;height:auto;margin:auto}.filter-bar{align-items:flex-start;flex-direction:column}.table-panel{margin-inline:-1rem;border-radius:0}.detail-row{grid-template-columns:1fr 1fr}.detail-row>*:first-child{grid-column:1/-1}.geo-columns{grid-template-columns:1fr 1fr}.inline-setting{grid-template-columns:1fr}}
@media(max-width:540px){.page-head{display:grid}.page-head .button{width:100%}.metric-grid{grid-template-columns:1fr 1fr}.metric-card{padding:1rem}.metric-card strong{font-size:1.2rem}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.product-grid,.card-grid{grid-template-columns:1fr}.modal{width:100%;max-height:100vh;margin:0}.modal-card{border-radius:20px 20px 0 0;max-height:94vh}.product-hero{padding:1rem}.key-data{grid-template-columns:1fr 1fr}.inline-form{display:grid}.recovery-grid{grid-template-columns:1fr}.portal-card{min-height:240px}.data-table{min-width:900px}}

/* Einheitliche Form Controls – Browser- und Geräte-Normalisierung */
:root{
  --control-height:48px;
  --control-radius:11px;
  --control-padding-x:14px;
  --control-font-size:16px;
}

:where(
  input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="button"]):not([type="submit"]):not([type="reset"]),
  select,
  textarea
){
  -webkit-appearance:none;
  appearance:none;
  display:block;
  box-sizing:border-box;
  width:100%;
  max-width:100%;
  height:var(--control-height);
  min-width:0;
  min-height:var(--control-height);
  margin:0;
  padding:0 var(--control-padding-x);
  border:1px solid var(--line);
  border-radius:var(--control-radius);
  background-color:var(--surface);
  color:var(--ink);
  font-family:var(--font);
  font-size:var(--control-font-size);
  font-weight:400;
  line-height:1.25;
  letter-spacing:normal;
  outline:0;
  box-shadow:none;
  transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease;
  vertical-align:middle;
  -webkit-tap-highlight-color:transparent;
}

:where(
  input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="button"]):not([type="submit"]):not([type="reset"]),
  select,
  textarea
):focus{
  border-color:var(--primary);
  box-shadow:0 0 0 3px rgba(11,107,203,.15);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 15%,transparent);
}

:where(input,textarea)::placeholder{
  color:var(--muted);
  opacity:.78;
}

select{
  padding-right:42px;
  background-image:
    linear-gradient(45deg,transparent 50%,var(--muted) 50%),
    linear-gradient(135deg,var(--muted) 50%,transparent 50%);
  background-position:
    calc(100% - 20px) calc(50% - 2px),
    calc(100% - 15px) calc(50% - 2px);
  background-repeat:no-repeat;
  background-size:5px 5px,5px 5px;
  cursor:pointer;
  text-overflow:ellipsis;
  white-space:nowrap;
}

select::-ms-expand{display:none}
select:disabled,input:disabled,textarea:disabled{
  cursor:not-allowed;
  opacity:.62;
  background-color:var(--surface-2);
}

textarea{
  height:auto;
  min-height:120px;
  padding-top:12px;
  padding-bottom:12px;
  resize:vertical;
}

input[type="date"],input[type="time"],input[type="datetime-local"],input[type="month"]{
  min-width:0;
  line-height:normal;
}

input[type="date"]::-webkit-date-and-time-value,
input[type="time"]::-webkit-date-and-time-value,
input[type="datetime-local"]::-webkit-date-and-time-value,
input[type="month"]::-webkit-date-and-time-value{
  min-height:20px;
  margin:0;
  text-align:left;
}

input[type="date"]::-webkit-calendar-picker-indicator,
input[type="time"]::-webkit-calendar-picker-indicator,
input[type="datetime-local"]::-webkit-calendar-picker-indicator,
input[type="month"]::-webkit-calendar-picker-indicator{
  margin:0;
  padding:6px 0 6px 8px;
  cursor:pointer;
  opacity:.7;
}

input[type="number"]{-moz-appearance:textfield}
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button{
  margin:0;
  -webkit-appearance:none;
}

input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none}

input[type="file"]{
  overflow:hidden;
  padding:5px;
  color:var(--muted);
  line-height:36px;
  cursor:pointer;
}

input[type="file"]::file-selector-button{
  height:36px;
  margin:0 10px 0 0;
  padding:0 14px;
  border:0;
  border-radius:8px;
  background:var(--soft);
  color:var(--ink);
  font:inherit;
  font-weight:700;
  cursor:pointer;
}

input[type="file"]::-webkit-file-upload-button{
  height:36px;
  margin:0 10px 0 0;
  padding:0 12px;
  border:0;
  border-radius:8px;
  background:var(--surface-2);
  color:var(--ink);
  font:600 13px/36px var(--font);
  cursor:pointer;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus{
  -webkit-text-fill-color:var(--ink);
  -webkit-box-shadow:0 0 0 1000px var(--surface) inset;
  caret-color:var(--ink);
}

.stack-form label,.form-grid label,.inline-form>label,
.template-book label,.detail-row label{
  min-width:0;
}

.form-grid,.stack-form,.transaction-fields{
  align-items:start;
}

.inline-form>.button,.template-book>.button,
.inline-setting>.button{
  height:var(--control-height);
  min-height:var(--control-height);
}

.inline-setting select{
  height:var(--control-height);
  min-height:var(--control-height);
  padding:0 42px 0 var(--control-padding-x);
}

.code-input{
  height:56px;
  min-height:56px;
  padding-left:calc(var(--control-padding-x) + .3em);
}

.check input{
  -webkit-appearance:auto;
  appearance:auto;
  width:18px;
  height:18px;
  min-width:18px;
  min-height:18px;
  margin:0;
  accent-color:var(--primary);
}

.toggle input,.segmented input{
  position:absolute;
  width:1px;
  height:1px;
  min-height:0;
  margin:-1px;
  padding:0;
  overflow:hidden;
  clip:rect(0 0 0 0);
  clip-path:inset(50%);
  white-space:nowrap;
}

.toggle:focus-within span,.segmented label:focus-within span{
  outline:3px solid rgba(11,107,203,.15);
  outline:3px solid color-mix(in srgb,var(--primary) 15%,transparent);
  outline-offset:2px;
}

@supports (-webkit-touch-callout:none){
  select,input,textarea{font-size:16px}
  .modal-card{-webkit-overflow-scrolling:touch}
}

@media(max-width:700px){
  :root{--control-height:50px}
  .form-grid{grid-template-columns:1fr}
  .span-2{grid-column:auto}
  .inline-form{display:grid;grid-template-columns:1fr;width:100%}
  .inline-form>label{min-width:0;width:100%}
  .inline-form fieldset{width:100%}
  .inline-form>.button{width:100%}
  .detail-row,.split-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .detail-row>label:first-child,.split-row>*:first-child{grid-column:1/-1}
  .detail-row>.icon-button,.split-row>.icon-button{align-self:center;margin:0;justify-self:end}
  .template-book{grid-template-columns:1fr}
  .template-book>.button{width:100%}
  .modal{width:100%;max-width:none;max-height:100dvh;margin:auto 0 0}
  .modal-card{
    max-height:calc(100dvh - env(safe-area-inset-top));
    padding:20px max(16px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));
    border-radius:20px 20px 0 0;
    overscroll-behavior:contain;
  }
}

@media(max-width:420px){
  .metric-grid{grid-template-columns:1fr}
  .modal-actions{display:grid;grid-template-columns:1fr}
  .modal-actions .button{width:100%}
  .reconcile-metrics,.template-data,.key-data{grid-template-columns:1fr}
  .geo-columns{grid-template-columns:1fr}
}
