:root{--bg:#f3f6f8;--card:#fff;--text:#17212b;--muted:#64748b;--line:#dce4e8;--primary:#0f766e;--primary2:#115e59;--danger:#b42318;--positive:#087443;--shadow:0 8px 28px rgba(15,23,42,.06);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bg)}a{color:var(--primary);text-decoration:none}button,input,select,textarea{font:inherit}.topbar{height:68px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 22px;position:sticky;top:0;z-index:30}.brand{display:flex;align-items:center;gap:11px;color:var(--text)}.brandmark,.login-logo{display:grid;place-items:center;background:var(--primary);color:#fff;font-weight:800;border-radius:12px}.brandmark{width:42px;height:42px}.brand span:last-child,.userbox span{display:flex;flex-direction:column}.brand small,.userbox small{color:var(--muted);font-size:.76rem;margin-top:2px}.userbox{display:flex;align-items:center;gap:18px;text-align:right}.nav-toggle{display:none;border:0;background:transparent;font-size:1.5rem}.app-shell{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:calc(100vh - 68px)}.sidebar{background:#fff;border-right:1px solid var(--line);padding:18px 12px}.sidebar nav{display:flex;flex-direction:column;gap:4px;position:sticky;top:86px}.sidebar a{padding:11px 13px;border-radius:9px;color:#334155;font-weight:600}.sidebar a:hover,.sidebar a.active{background:#e7f3f1;color:var(--primary2)}.sidebar .primary-nav{background:var(--primary);color:#fff;margin-bottom:9px}.content{padding:26px;min-width:0}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:20px}.page-head h1{font-size:1.8rem;margin:0 0 5px}.page-head p{margin:0;color:var(--muted)}.actions{display:flex;gap:9px;flex-wrap:wrap}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:var(--shadow);margin-bottom:20px}.card h2{margin:0 0 15px;font-size:1.12rem}.card h3{margin-bottom:6px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.card-head h2{margin:0}.grid{display:grid;gap:20px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.stat-grid article{background:#fff;border:1px solid var(--line);border-radius:13px;padding:17px;display:flex;flex-direction:column;box-shadow:var(--shadow)}.stat-grid span{color:var(--muted);font-size:.83rem}.stat-grid strong{font-size:1.65rem;margin-top:6px}.button{border:1px solid #cbd5e1;background:#fff;color:#253140;border-radius:9px;padding:9px 14px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.button:hover{background:#f8fafc}.button.primary{background:var(--primary);border-color:var(--primary);color:#fff}.button.primary:hover{background:var(--primary2)}.button.danger{background:var(--danger);border-color:var(--danger);color:#fff}.button.small{padding:7px 10px;font-size:.85rem}.button.large{padding:12px 18px}.link-button{border:0;background:transparent;color:var(--primary);padding:3px;cursor:pointer;font-weight:700}.stack{display:flex;flex-direction:column;gap:16px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.form-grid .full{grid-column:1/-1}label{display:flex;flex-direction:column;gap:6px;font-size:.85rem;font-weight:700;color:#334155}input,select,textarea{width:100%;border:1px solid #cbd5e1;border-radius:9px;padding:10px 11px;background:#fff;color:var(--text)}input:focus,select:focus,textarea:focus{outline:3px solid rgba(15,118,110,.13);border-color:var(--primary)}textarea{resize:vertical}.table-wrap{overflow:auto}.compact-table{overflow:auto}table{width:100%;border-collapse:collapse;min-width:650px}th,td{text-align:left;padding:11px 10px;border-bottom:1px solid #e7edf0;vertical-align:middle}th{font-size:.78rem;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);background:#f8fafb}td{font-size:.9rem}.number{text-align:right;font-variant-numeric:tabular-nums}.positive{color:var(--positive)!important}.negative{color:var(--danger)!important}.badge{display:inline-flex;border-radius:99px;padding:4px 8px;font-size:.75rem;font-weight:800;background:#e7f3f1;color:var(--primary2)}.badge.cancelled{background:#fee4e2;color:var(--danger)}.badge.out{background:#fff1d6;color:#9a6700}.stock-list>div{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:11px 0}.stock-list>div:last-child{border:0}.stock-list span{display:flex;flex-direction:column}.stock-list small,.hint{color:var(--muted);font-size:.8rem}.line-list{display:flex;flex-direction:column;gap:10px}.line-row{display:grid;grid-template-columns:2fr 1fr 1fr 42px;gap:10px;align-items:end;background:#f8fafb;border:1px solid var(--line);padding:12px;border-radius:10px}.icon-button{height:42px;border:0;border-radius:8px;background:#fee4e2;color:var(--danger);font-size:1.3rem;cursor:pointer}.file-drop{border:2px dashed #b7c7cb;border-radius:12px;padding:24px;text-align:center;align-items:center;background:#f8fbfb;cursor:pointer}.file-drop input{max-width:420px}.signature-card canvas{width:100%;height:180px;border:1px solid #b7c7cb;border-radius:10px;background:#fff;touch-action:none;display:block}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-bottom:30px}.filters,.inline-form{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.filters input{flex:1;min-width:220px}.filters select{width:auto}.details{display:grid;grid-template-columns:140px 1fr;gap:8px 12px;margin:0}.details dt{color:var(--muted)}.details dd{margin:0;font-weight:600}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}.media-grid figure{margin:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#f8fafb}.media-grid img{width:100%;height:180px;object-fit:contain;background:#fff;display:block}.media-grid figcaption{padding:8px;font-size:.8rem;color:var(--muted)}.danger-zone{border-color:#f4b9b4}.prewrap{white-space:pre-wrap}.flash{padding:12px 15px;border-radius:10px;margin-bottom:18px;background:#e7f3f1;color:var(--primary2);border:1px solid #b8dcd7}.flash.error{background:#fee4e2;color:var(--danger);border-color:#f6b7b1}.login-main{min-height:100vh;display:grid;place-items:center;padding:20px;background:linear-gradient(145deg,#e8f4f2,#f6f8fa)}.login-card{width:min(430px,100%);background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px;box-shadow:0 20px 60px rgba(15,23,42,.12)}.login-logo{width:58px;height:58px;font-size:1.2rem}.login-card h1{margin-bottom:5px}.login-card>p{color:var(--muted);margin-top:0;margin-bottom:22px}.narrow{max-width:620px}.error-page{text-align:center;max-width:600px;margin:60px auto}.error-code{font-size:4rem;font-weight:900;color:var(--primary)}.legend p{padding:8px 0;border-bottom:1px solid var(--line)}
@media(max-width:980px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:-250px;top:68px;bottom:0;width:240px;z-index:25;transition:left .2s;box-shadow:var(--shadow)}.sidebar.open{left:0}.nav-toggle{display:block;order:3}.userbox span{display:none}.grid.two{grid-template-columns:1fr}.stat-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.topbar{padding:0 14px}.brand small{max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.content{padding:16px}.page-head{flex-direction:column}.page-head h1{font-size:1.5rem}.actions,.page-head .button{width:100%}.actions .button{flex:1}.stat-grid{grid-template-columns:1fr 1fr;gap:9px}.stat-grid article{padding:13px}.card{padding:15px;border-radius:11px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.line-row{grid-template-columns:1fr 1fr 42px}.line-row label:first-child{grid-column:1/-1}.form-actions{position:sticky;bottom:0;background:rgba(243,246,248,.94);padding:10px 0;z-index:10}.form-actions .button{flex:1}.details{grid-template-columns:1fr}.details dt{margin-top:8px}.inline-form input{width:100%}.inline-form .button{width:100%}.userbox{gap:6px}.login-card{padding:23px}}

/* Version 1.1 – modernes, mobiles Bedienkonzept */
:root{--surface-soft:#f7fafb;--surface-tint:#edf7f5;--sidebar-width:252px;--radius-lg:18px;--radius-md:13px;--focus:rgba(15,118,110,.18);--blue:#2563eb;--amber:#d97706}
html[data-theme="dark"]{--bg:#0d1418;--card:#152027;--text:#e7eef2;--muted:#91a1ad;--line:#293940;--primary:#2db6a7;--primary2:#5ed1c5;--danger:#ff8178;--positive:#52d496;--shadow:0 14px 40px rgba(0,0,0,.22);--surface-soft:#111b21;--surface-tint:#132723;color-scheme:dark}
html[data-theme="dark"] body,html[data-theme="dark"] .content{background:var(--bg)}
html[data-theme="dark"] .topbar,html[data-theme="dark"] .sidebar,html[data-theme="dark"] .card,html[data-theme="dark"] .stat-card,html[data-theme="dark"] input,html[data-theme="dark"] select,html[data-theme="dark"] textarea,html[data-theme="dark"] .button{background:var(--card);color:var(--text)}
html[data-theme="dark"] th,html[data-theme="dark"] .line-row{background:var(--surface-soft)}
html[data-theme="dark"] .login-main{background:linear-gradient(145deg,#0e191c,#17252a)}
html[data-theme="dark"] .login-card{background:var(--card)}
.topbar{height:72px;padding:0 24px}.topbar-left,.topbar-actions{display:flex;align-items:center;gap:14px}.brandmark{box-shadow:0 8px 20px rgba(15,118,110,.22)}.theme-toggle{width:40px;height:40px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--text);cursor:pointer;font-size:1.25rem}.theme-toggle:hover{background:var(--surface-soft)}.app-shell{grid-template-columns:var(--sidebar-width) minmax(0,1fr);min-height:calc(100vh - 72px)}.sidebar{padding:20px 14px}.sidebar nav{top:92px;gap:3px}.nav-label{font-size:.68rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--muted);padding:18px 13px 7px}.sidebar a.nav-item{display:flex;align-items:center;gap:11px;padding:11px 13px}.nav-icon{width:24px;text-align:center;font-size:1.12rem}.sidebar .primary-nav{box-shadow:0 8px 18px rgba(15,118,110,.18)}.content{padding:30px clamp(20px,3vw,42px);max-width:1500px;width:100%;margin:0 auto}.sidebar-overlay{display:none}.dashboard-hero{border-radius:22px;padding:28px 30px;margin-bottom:18px;background:linear-gradient(125deg,#0f766e,#0b5854);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:24px;box-shadow:0 18px 45px rgba(15,118,110,.18);position:relative;overflow:hidden}.dashboard-hero:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:-80px;top:-120px;background:rgba(255,255,255,.08)}.dashboard-hero h1{font-size:clamp(1.65rem,3vw,2.35rem);margin:3px 0 7px}.dashboard-hero p{margin:0;color:rgba(255,255,255,.82);max-width:660px}.eyebrow,.section-kicker{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;font-weight:850}.eyebrow{color:#a7f3d0}.section-kicker{color:var(--primary);display:block;margin-bottom:5px}.hero-actions{display:flex;gap:10px;position:relative;z-index:1}.dashboard-hero .button.ghost{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.26);color:#fff}.dashboard-hero .button.primary{background:#fff;border-color:#fff;color:#0f625c}.dashboard-stats{gap:13px}.stat-card{min-height:116px;display:flex!important;flex-direction:row!important;align-items:center;gap:14px;padding:18px!important;border-radius:var(--radius-lg)!important;position:relative;overflow:hidden}.stat-card:after{content:"";position:absolute;inset:auto -25px -35px auto;width:90px;height:90px;border-radius:50%;background:currentColor;opacity:.045}.stat-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;font-size:1.3rem;font-weight:800}.stat-card>div{display:flex;flex-direction:column}.stat-card strong{font-size:1.75rem;margin:2px 0 0}.stat-card small{color:var(--muted);font-size:.72rem}.accent-teal .stat-icon{background:#dff5f1;color:#0f766e}.accent-blue .stat-icon{background:#e7efff;color:#2563eb}.accent-amber .stat-icon{background:#fff1d6;color:#b45309}.accent-red .stat-icon{background:#fee9e7;color:#b42318}.dashboard-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:18px}.card{border-radius:var(--radius-lg);padding:22px}.card-head h2{font-size:1.18rem}.text-link{font-size:.82rem;font-weight:750}.stock-list.modern .stock-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 0}.stock-symbol,.supplier-avatar{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--surface-tint);color:var(--primary);font-weight:850}.stock-symbol.low{background:#fee9e7;color:var(--danger)}.stock-name{display:flex;flex-direction:column;min-width:0}.stock-name b,.supplier-name b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stock-name small,.supplier-name small{color:var(--muted);font-size:.76rem;margin-top:3px}.stock-value{display:flex;align-items:baseline;gap:4px;font-size:1.2rem}.stock-value small{font-size:.7rem;color:var(--muted);font-weight:600}.balance-legend{display:flex;flex-wrap:wrap;gap:12px;font-size:.72rem;color:var(--muted);padding:2px 0 10px}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:4px}.dot.plus{background:var(--positive)}.dot.minus{background:var(--danger)}.supplier-balance-list{display:flex;flex-direction:column}.supplier-balance-row{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:11px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);color:var(--text)}.supplier-balance-row:last-child{border-bottom:0}.supplier-name{display:flex;flex-direction:column;min-width:0}.balance-pills{display:flex;gap:5px}.balance-pill{font-style:normal;min-width:37px;padding:5px 6px;border-radius:8px;text-align:center;font-size:.72rem;font-weight:850;font-variant-numeric:tabular-nums}.balance-pill.positive{background:rgba(8,116,67,.1)}.balance-pill.negative{background:rgba(180,35,24,.1)}.balance-pill.neutral{background:var(--surface-soft);color:var(--muted)}.transaction-link{font-weight:800}.type-label{font-weight:700}.empty-state{padding:24px;text-align:center;border:1px dashed var(--line);border-radius:12px;color:var(--muted);background:var(--surface-soft)}.mobile-transaction-list{display:none}.mobile-nav{display:none}
@media(max-width:1100px){.dashboard-grid{grid-template-columns:1fr}.dashboard-hero{align-items:flex-start}.hero-actions{flex-direction:column;min-width:190px}}
@media(max-width:980px){.app-shell{grid-template-columns:1fr}.sidebar{top:72px;width:268px;left:-285px}.sidebar.open{left:0}.sidebar-overlay{display:block;position:fixed;inset:72px 0 0;background:rgba(6,18,22,.45);z-index:24;opacity:0;pointer-events:none;transition:opacity .2s}.sidebar-overlay.open{opacity:1;pointer-events:auto}.nav-toggle{display:block;order:initial}.brand-copy small{max-width:180px}.dashboard-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){body{padding-bottom:78px}.topbar{height:64px;padding:0 13px}.brandmark{width:38px;height:38px;border-radius:11px}.brand-copy strong{font-size:.9rem}.brand-copy small{font-size:.68rem;max-width:125px}.userbox span,.userbox form{display:none}.theme-toggle{width:38px;height:38px}.sidebar{top:64px}.sidebar-overlay{inset:64px 0 0}.content{padding:14px 12px 22px}.dashboard-hero{padding:22px 18px;border-radius:18px;flex-direction:column}.dashboard-hero h1{font-size:1.55rem}.hero-actions{width:100%;flex-direction:row;min-width:0}.hero-actions .button{flex:1;padding:10px 8px;font-size:.8rem}.dashboard-stats{grid-template-columns:1fr 1fr;gap:9px}.stat-card{min-height:100px;padding:13px!important;gap:9px}.stat-icon{width:36px;height:36px;border-radius:10px}.stat-card strong{font-size:1.45rem}.stat-card small{display:none}.card{padding:16px;border-radius:15px}.card-head{align-items:flex-start}.card-head .text-link{font-size:.72rem}.stock-list.modern .stock-row{grid-template-columns:38px minmax(0,1fr) auto}.stock-symbol,.supplier-avatar{width:36px;height:36px}.supplier-balance-row{grid-template-columns:36px minmax(0,1fr)}.balance-pills{grid-column:2;justify-content:flex-start}.desktop-table{display:none}.mobile-transaction-list{display:flex;flex-direction:column}.mobile-transaction{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);color:var(--text)}.mobile-transaction:last-child{border:0}.mobile-transaction-icon{width:36px;height:36px;border-radius:11px;background:var(--surface-tint);color:var(--primary);display:grid;place-items:center;font-weight:900}.mobile-transaction>span:nth-child(2){display:flex;flex-direction:column;min-width:0}.mobile-transaction b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-transaction small{font-size:.72rem;color:var(--muted);margin-top:3px}.mobile-nav{position:fixed;display:grid;grid-template-columns:repeat(5,1fr);align-items:end;left:0;right:0;bottom:0;height:70px;padding:7px max(7px,env(safe-area-inset-right)) calc(5px + env(safe-area-inset-bottom)) max(7px,env(safe-area-inset-left));background:var(--card);border-top:1px solid var(--line);z-index:40;box-shadow:0 -8px 24px rgba(15,23,42,.08)}.mobile-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--muted);gap:2px;font-size:1.1rem;min-width:0}.mobile-nav a small{font-size:.61rem;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-nav a.active{color:var(--primary)}.mobile-nav .mobile-add{width:52px;height:52px;border-radius:17px;background:var(--primary);color:#fff;justify-self:center;align-self:start;margin-top:-17px;box-shadow:0 8px 22px rgba(15,118,110,.28);font-size:1.7rem}.form-actions{bottom:70px}}
@media(max-width:420px){.dashboard-stats{grid-template-columns:1fr}.stat-card{min-height:82px}.balance-legend{flex-direction:column;gap:5px}}

/* Version 1.2 – Lieferantenkonten */
.supplier-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.supplier-search{display:flex;gap:9px;align-items:center;flex:1}.search-field{display:flex;align-items:center;gap:8px;flex:1;max-width:560px;border:1px solid var(--line);border-radius:12px;padding:0 12px;background:var(--card)}.search-field input{border:0!important;background:transparent!important;padding:11px 0!important;width:100%;outline:0}.supplier-layout{grid-template-columns:minmax(320px,.72fr) minmax(0,1.28fr)}.supplier-card-list{display:flex;flex-direction:column}.supplier-card-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto 16px;gap:12px;align-items:center;padding:13px 2px;border-bottom:1px solid var(--line);color:var(--text)}.supplier-card-row:last-child{border-bottom:0}.supplier-card-row:hover{background:var(--surface-soft);border-radius:12px;padding-left:10px;padding-right:10px}.supplier-card-row .balance-pill{display:flex;flex-direction:column;min-width:44px}.supplier-card-row .balance-pill small{font-size:.56rem;opacity:.7}.chevron{font-size:1.45rem;color:var(--muted)}.back-link{display:inline-block;font-weight:750;font-size:.78rem;margin-bottom:7px}.supplier-detail-head{align-items:flex-end}.supplier-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.supplier-stats .stat-card{min-height:112px}.date-value{font-size:1rem!important;line-height:1.3}.supplier-detail-grid{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr)}.supplier-actions{display:flex;gap:10px}.toggle-form{margin-top:14px}.contact-actions{display:flex;flex-direction:column;gap:10px}.contact-action{display:flex;align-items:center;gap:12px;padding:13px;border:1px solid var(--line);border-radius:13px;color:var(--text);background:var(--surface-soft)}.contact-action>span{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:var(--surface-tint);color:var(--primary);font-size:1.1rem}.contact-action>div{display:flex;flex-direction:column;min-width:0}.contact-action small{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.balance-pills.compact{gap:3px}.balance-pills.compact .balance-pill{min-width:28px;padding:4px}
@media(max-width:1000px){.supplier-layout,.supplier-detail-grid{grid-template-columns:1fr}.supplier-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.supplier-toolbar{align-items:stretch;flex-direction:column}.supplier-search{flex-wrap:wrap}.search-field{max-width:none;flex-basis:100%}.supplier-card-row{grid-template-columns:38px minmax(0,1fr) 14px}.supplier-card-row .balance-pills{grid-column:2}.supplier-card-row .chevron{grid-column:3;grid-row:1}.supplier-stats{grid-template-columns:1fr 1fr}.supplier-detail-head{align-items:flex-start}.supplier-detail-head .hero-actions{width:100%}}
@media(max-width:420px){.supplier-stats{grid-template-columns:1fr}}
