:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#16233a;background:#f3f6fa;font-synthesis:none;--blue:#0757a6;--navy:#10233f;--line:#dce4ee;--muted:#66758a;--danger:#b42318}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{border:0;border-radius:10px;background:var(--blue);color:#fff;padding:.8rem 1.15rem;font-weight:700;cursor:pointer}button:disabled{opacity:.65;cursor:not-allowed}button.secondary{background:#fff;color:var(--navy);border:1px solid var(--line)}button.danger{background:var(--danger);color:#fff}button.small{padding:.55rem .8rem}.app-shell{min-height:100vh;display:grid;grid-template-rows:auto 1fr auto}.site-header{min-height:74px;padding:0 clamp(1rem,4vw,4rem);display:flex;align-items:center;gap:clamp(.5rem,3vw,2rem);background:#fff;border-bottom:1px solid var(--line)}.brand{padding:0;background:none;color:var(--navy);font-size:1.45rem;flex:none}.brand span{color:var(--blue)}.admin-menu{display:flex;gap:.25rem}.nav-button{padding:.55rem .75rem;background:transparent;color:var(--navy)}.nav-button:hover{background:#eef5fc}.header-actions{display:flex;align-items:center;gap:1rem;margin-left:auto}.user-badge{font-size:.9rem;color:var(--muted)}main{width:100%;min-width:0}.hero,.portal{max-width:1120px;margin:0 auto;padding:clamp(4rem,9vw,8rem) clamp(1rem,4vw,3rem)}.hero{min-height:70vh;display:flex;flex-direction:column;justify-content:center}.eyebrow{color:var(--blue);font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem}.hero h1,.portal h1{max-width:800px;font-size:clamp(2.25rem,5vw,4.5rem);line-height:1.04;margin:.5rem 0 1.25rem}.hero>p:not(.eyebrow){max-width:650px;color:var(--muted);font-size:1.15rem;line-height:1.7}.actions{display:flex;gap:.75rem;margin-top:1.5rem}.login-page{min-height:100vh;display:grid;place-items:center;padding:1rem;background:linear-gradient(135deg,#eef4fb,#f9fbfd)}.login-panel{width:min(900px,100%);display:grid;grid-template-columns:1fr 1fr;background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 24px 70px #10233f1f}.login-copy{padding:clamp(2rem,5vw,4.5rem);background:var(--navy);color:#fff}.login-copy .eyebrow{color:#83c4ff}.login-copy h1{font-size:clamp(2rem,4vw,3rem);margin:.7rem 0}.login-copy p:last-child{color:#c7d4e5;line-height:1.7}.login-form{padding:clamp(2rem,5vw,4.5rem);display:flex;flex-direction:column;justify-content:center;gap:1.2rem}.login-form label{display:grid;gap:.45rem;font-weight:700}.login-form input,.customer-form input,.customer-form textarea,.customer-filters input,.customer-filters select{width:100%;padding:.85rem 1rem;border:1px solid #bdc9d8;border-radius:10px;background:#fff;color:var(--navy)}input:focus,select:focus,textarea:focus{outline:3px solid #cce4fb;border-color:var(--blue)}input[aria-invalid=true]{border-color:var(--danger)}.login-form small{color:var(--muted);line-height:1.5}.alert,.notice{padding:.8rem 1rem;border-radius:10px;margin:1rem 0}.alert{background:#fff1f1;color:#a22323}.notice.success{background:#eaf8f0;color:#17683d}.status-card{margin-top:2rem;max-width:700px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:1.4rem;display:flex;gap:1rem;box-shadow:0 12px 36px #10233f12}.status-card p{color:var(--muted);margin:.35rem 0 0}.status-dot{width:12px;height:12px;margin-top:.3rem;border-radius:50%;background:#2b9a62;flex:none}.placeholder-nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.8rem}.placeholder-link{display:grid;gap:.35rem;text-align:left;background:#fff;color:var(--navy);border:1px solid var(--line)}.placeholder-link.available{border-color:#7cb3e7;background:#f4f9fe}.placeholder-link small{color:var(--muted);font-weight:400}.shop-placeholder-nav{max-width:700px;padding:1rem 1.2rem;border:1px dashed #9eafc3;border-radius:12px;color:var(--muted);background:#fff}.center-state{min-height:70vh;display:grid;place-items:center;padding:1rem;text-align:center}footer{display:flex;justify-content:space-between;gap:1rem;padding:1.4rem clamp(1rem,4vw,4rem);background:var(--navy);color:#c7d4e5;font-size:.9rem}.customers-page{width:min(1500px,100%);margin:0 auto;padding:clamp(1.5rem,4vw,3.5rem);min-width:0}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem}.page-heading h1{font-size:clamp(2rem,4vw,3.2rem);margin:.3rem 0}.page-heading p:last-child{color:var(--muted);margin:.5rem 0}.customer-filters{display:grid;grid-template-columns:minmax(220px,2fr) repeat(3,minmax(140px,1fr)) auto;align-items:end;gap:.8rem;margin:1.5rem 0;padding:1rem;background:#fff;border:1px solid var(--line);border-radius:14px}.customer-filters label,.customer-form label,.password-reset label{display:grid;gap:.4rem;font-size:.86rem;font-weight:700}.list-summary{display:flex;justify-content:space-between;gap:1rem;color:var(--muted);margin:.75rem 0}.list-summary strong{color:var(--navy)}.customer-table-wrap{width:100%;overflow-x:auto;background:#fff;border:1px solid var(--line);border-radius:14px}.customer-table{width:100%;border-collapse:collapse;min-width:1120px}.customer-table th,.customer-table td{text-align:left;padding:.9rem;border-bottom:1px solid var(--line);vertical-align:top}.customer-table th{background:#f7f9fc;color:#53647a;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.customer-table tbody tr:last-child td{border-bottom:0}.customer-table td small{display:block;color:var(--muted);margin-top:.25rem}.badge{display:inline-flex;padding:.28rem .55rem;border-radius:999px;font-size:.78rem;font-weight:800}.badge.active{background:#e6f6ed;color:#17683d}.badge.inactive,.badge.locked{background:#fff0ed;color:#a23a2d}.row-actions,.dialog-actions,.form-actions,.security-buttons,.pagination{display:flex;gap:.55rem;flex-wrap:wrap}.pagination{justify-content:flex-end;margin-top:1rem}.panel-state{padding:3rem 1rem;text-align:center;background:#fff;border:1px solid var(--line);border-radius:14px;color:var(--muted)}.modal-backdrop{position:fixed;inset:0;z-index:50;background:#09182ca8;display:grid;place-items:center;padding:1rem}.editor-backdrop{z-index:40}.customer-editor{background:#fff;border-radius:18px;width:min(900px,100%);max-height:calc(100vh - 2rem);overflow:auto;padding:clamp(1.2rem,3vw,2rem);box-shadow:0 30px 90px #00000040}.editor-heading{display:flex;justify-content:space-between;align-items:start;gap:1rem}.editor-heading h2{font-size:1.8rem;margin:.25rem 0 1rem}.account-overview{display:grid;grid-template-columns:repeat(5,1fr);gap:.7rem;margin-bottom:1.5rem}.account-overview div{padding:.8rem;background:#f5f8fc;border-radius:10px}.account-overview span,.account-overview strong{display:block}.account-overview span{color:var(--muted);font-size:.75rem;margin-bottom:.3rem}.account-overview strong{font-size:.86rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-grid .wide{grid-column:1/-1}.customer-form textarea{resize:vertical}.checkbox{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;justify-content:start}.checkbox input{width:auto!important}.password-row{display:grid;grid-template-columns:1fr auto;gap:.4rem}.form-actions{justify-content:flex-end;margin-top:1.4rem;padding-top:1rem;border-top:1px solid var(--line)}.field-error{color:var(--danger);font-weight:600}.account-actions{margin-top:1.5rem;padding-top:1.2rem;border-top:1px solid var(--line)}.password-reset{display:grid;grid-template-columns:1fr 1fr auto auto;align-items:end;gap:.7rem;margin-top:1rem;padding:1rem;background:#f7f9fc;border-radius:12px}.confirm-dialog{width:min(460px,100%);padding:1.5rem;background:#fff;border-radius:16px;box-shadow:0 30px 90px #0000004d}.confirm-dialog h2{margin-top:0}.confirm-dialog p{color:var(--muted);line-height:1.55}.dialog-actions{justify-content:flex-end;margin-top:1.3rem}@media(max-width:1000px){.customer-filters{grid-template-columns:1fr 1fr}.customer-filters button{width:100%}.account-overview{grid-template-columns:repeat(2,1fr)}.password-reset{grid-template-columns:1fr 1fr}.password-reset .checkbox{grid-column:1/-1}}@media(max-width:720px){.login-panel{grid-template-columns:1fr}.login-copy,.login-form{padding:2rem}.user-badge{display:none}.actions{flex-direction:column}.actions button{width:100%}.site-header{min-height:64px;flex-wrap:wrap;padding-block:.65rem}.admin-menu{order:3;width:100%;border-top:1px solid var(--line);padding-top:.35rem}.header-actions{margin-left:auto}.page-heading{align-items:stretch;flex-direction:column}.page-heading>button{width:100%}.customer-filters,.form-grid,.password-reset{grid-template-columns:1fr}.password-reset>*{grid-column:1}.account-overview{grid-template-columns:1fr 1fr}.customer-table-wrap{border:0;background:transparent;overflow:visible}.customer-table{min-width:0}.customer-table thead{display:none}.customer-table,.customer-table tbody,.customer-table tr,.customer-table td{display:block;width:100%}.customer-table tr{margin-bottom:1rem;background:#fff;border:1px solid var(--line);border-radius:14px;padding:.5rem}.customer-table td{display:grid;grid-template-columns:110px minmax(0,1fr);gap:.6rem;border:0;padding:.55rem}.customer-table td:before{content:attr(data-label);font-weight:800;color:#53647a;font-size:.75rem;text-transform:uppercase}.pagination button{flex:1}.modal-backdrop{padding:.5rem}.customer-editor{max-height:calc(100vh - 1rem);border-radius:12px}.form-grid .wide{grid-column:1}.password-row,.account-overview{grid-template-columns:1fr}.editor-heading{flex-direction:column-reverse}.editor-heading>button{align-self:flex-end}footer{flex-direction:column}}.products-page,.shop-page{width:min(1280px,100%);margin:0 auto;padding:2.5rem clamp(1rem,3vw,2rem)}.product-filters,.shop-filters{display:grid;grid-template-columns:minmax(240px,2fr) repeat(3,minmax(150px,1fr)) auto;gap:.8rem;align-items:end;padding:1rem;background:#fff;border:1px solid var(--line);border-radius:14px}.shop-filters{grid-template-columns:minmax(240px,2fr) minmax(180px,1fr) auto}.product-filters label,.shop-filters label,.product-form label{display:grid;gap:.4rem;font-weight:700;font-size:.88rem}.product-filters input,.product-filters select,.shop-filters input,.shop-filters select,.product-form input,.product-form select,.product-form textarea{min-width:0;width:100%;padding:.72rem .8rem;border:1px solid #bdc9d8;border-radius:9px;background:#fff;color:var(--navy)}.product-table-wrap{overflow-x:auto;background:#fff;border:1px solid var(--line);border-radius:14px}.product-table{width:100%;border-collapse:collapse;min-width:900px}.product-table th,.product-table td{text-align:left;padding:.85rem;border-bottom:1px solid var(--line);vertical-align:middle}.product-table th{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:#f8fafc}.product-table small{display:block;color:var(--muted);margin-top:.25rem}.product-editor,.import-panel{width:min(850px,calc(100% - 2rem));max-height:calc(100vh - 2rem);overflow:auto;background:#fff;border-radius:18px;padding:1.5rem;box-shadow:0 25px 70px #10233f3d}.import-panel{width:min(560px,calc(100% - 2rem))}.shop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.25rem}.shop-card{min-width:0;display:flex;flex-direction:column;justify-content:space-between;gap:1rem;background:#fff;border:1px solid var(--line);border-radius:14px;padding:1.25rem}.shop-card h2{font-size:1.15rem;line-height:1.35;margin:.55rem 0}.category-label{font-size:.75rem;color:var(--blue);font-weight:800;text-transform:uppercase}.article-number,.product-description{color:var(--muted);line-height:1.5}.product-description{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.shop-card dl{display:grid;gap:.4rem;margin:0}.shop-card dl div{display:flex;justify-content:space-between;gap:1rem}.shop-card dt{color:var(--muted)}.shop-card dd{margin:0;text-align:right}.price-block{border-top:1px solid var(--line);padding-top:1rem;display:grid;gap:.2rem}.price-block strong{font-size:1.2rem;color:var(--blue)}.price-block span{font-size:.85rem;color:var(--muted)}@media(max-width:1000px){.product-filters{grid-template-columns:1fr 1fr}.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.product-filters,.shop-filters,.shop-grid{grid-template-columns:1fr}.product-table{min-width:0}.product-table thead{display:none}.product-table tr{display:block;padding:.7rem}.product-table td{display:grid;grid-template-columns:110px minmax(0,1fr);gap:.6rem;padding:.55rem;border:0;overflow-wrap:anywhere}.product-table td:before{content:attr(data-label);font-size:.75rem;font-weight:800;color:var(--muted);text-transform:uppercase}.product-table td[data-label=Aktionen] .row-actions{flex-wrap:wrap}.page-heading .actions{width:100%}}.product-image{height:180px;display:grid;place-items:center;overflow:hidden;padding:1rem;background:#f4f7fa;border-radius:10px}.product-image img{display:block;width:100%;height:100%;object-fit:contain}.product-card-actions{display:grid;grid-template-columns:1fr 1.5fr;gap:.6rem}.product-detail-page{width:min(1180px,100%);margin:0 auto;padding:2.5rem clamp(1rem,3vw,2rem);min-width:0}.product-detail-layout{display:grid;grid-template-columns:minmax(0,45%) minmax(0,1fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:start;margin-top:1rem}.product-image-detail{height:520px;padding:2rem;background:#fff;border:1px solid var(--line);border-radius:16px}.product-detail-info{min-width:0;background:#fff;border:1px solid var(--line);border-radius:16px;padding:clamp(1.25rem,3vw,2rem)}.product-detail-info h1{font-size:clamp(1.8rem,3.5vw,3rem);line-height:1.12;overflow-wrap:anywhere;margin:.45rem 0 1.25rem}.product-detail-info dl{display:grid;gap:.55rem;margin:0}.product-detail-info dl div{display:grid;grid-template-columns:140px minmax(0,1fr);gap:1rem}.product-detail-info dt{color:var(--muted)}.product-detail-info dd{margin:0;overflow-wrap:anywhere}.product-detail-description{line-height:1.65;color:#40516a}.product-detail-price{display:grid;gap:.3rem;margin-top:1.4rem;padding-top:1.2rem;border-top:1px solid var(--line)}.product-detail-price strong{font-size:1.5rem;color:var(--blue)}.product-detail-price span{color:var(--muted)}.product-detail-price b{font-size:1.1rem}.product-buy{display:flex;align-items:end;gap:.8rem;margin-top:1.2rem}.product-buy label{display:grid;gap:.35rem;font-weight:700}.product-buy input{width:100px;padding:.75rem;border:1px solid #bdc9d8;border-radius:9px}.product-buy button{min-width:190px}.product-detail-info .notice{margin-bottom:0}@media(max-width:800px){.product-detail-layout{grid-template-columns:1fr}.product-image-detail{height:380px}.product-card-actions{grid-template-columns:1fr}}@media(max-width:520px){.product-detail-page{padding-top:1rem}.product-image-detail{height:300px;padding:1.25rem}.product-detail-info dl div{grid-template-columns:1fr;gap:.15rem}.product-buy{align-items:stretch;flex-direction:column}.product-buy input,.product-buy button{width:100%}}.order-page{width:min(1120px,100%);margin:0 auto;padding:2.5rem clamp(1rem,3vw,2rem)}.cart-list,.orders-list{display:grid;gap:.75rem}.cart-row,.order-list-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:1rem;align-items:center;padding:1rem;background:#fff;border:1px solid var(--line);border-radius:12px;text-align:left;color:var(--navy)}.cart-row small,.order-items small{display:block;color:var(--muted);margin-top:.25rem}.cart-row input{width:80px;padding:.6rem;border:1px solid var(--line);border-radius:8px}.cart-summary,.checkout-summary{margin:1rem 0 0 auto;width:min(420px,100%);padding:1.25rem;background:#fff;border:1px solid var(--line);border-radius:14px}.cart-summary>div:not(.form-actions),.order-totals{display:flex;justify-content:space-between;gap:1rem;padding:.45rem 0}.cart-summary .total{font-size:1.2rem;border-top:1px solid var(--line);margin-top:.5rem;padding-top:1rem!important}.state-action{margin-top:1rem}.checkout-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:1rem;align-items:start}.checkout-fields{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.checkout-fields>label{grid-column:1/-1;display:grid;gap:.4rem;font-weight:700}.checkout-fields input,.checkout-fields textarea,.order-filters input,.order-filters select,.order-dialog select{padding:.75rem;border:1px solid #bdc9d8;border-radius:9px}.address-card,.order-detail{background:#fff;border:1px solid var(--line);border-radius:14px;padding:1.2rem}.address-card pre,.order-detail pre{font:inherit;white-space:pre-wrap;line-height:1.5}.checkout-summary{margin:0;position:sticky;top:1rem}.checkout-summary button{width:100%;margin:1rem 0}.checkout-summary small{color:var(--muted)}.order-list-row{grid-template-columns:1.2fr 1fr 1fr 1fr 1fr;width:100%;background:#fff}.order-detail{margin:1rem 0}.detail-heading,.address-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.detail-heading div{display:grid;gap:.2rem}.detail-heading span{font-size:.78rem;color:var(--muted)}.address-grid{grid-template-columns:1fr 1fr;margin:1rem 0}.order-items{border-block:1px solid var(--line)}.order-items>div{display:flex;justify-content:space-between;gap:1rem;padding:.8rem 0}.order-totals{justify-content:flex-end;gap:2rem;flex-wrap:wrap}.order-filters{display:grid;grid-template-columns:minmax(240px,2fr) minmax(160px,1fr) auto;gap:.8rem;align-items:end;margin-bottom:1rem}.order-filters label{display:grid;gap:.4rem;font-weight:700}.order-dialog{width:min(900px,calc(100% - 2rem));max-height:calc(100vh - 2rem);overflow:auto;background:#f6f8fb;border-radius:16px;padding:1.5rem}@media(max-width:800px){.checkout-layout,.checkout-fields{grid-template-columns:1fr}.checkout-summary{position:static}.checkout-fields>label{grid-column:auto}.order-list-row,.detail-heading{grid-template-columns:1fr 1fr}.address-grid{grid-template-columns:1fr}}@media(max-width:520px){.site-header{width:100%;min-width:0}.cart-row,.order-list-row,.order-filters,.detail-heading{grid-template-columns:1fr}.cart-row label{display:flex;justify-content:space-between;align-items:center}.order-totals{display:grid;justify-content:stretch}.admin-menu{min-width:0;max-width:100%;overflow-x:auto}.nav-button{white-space:nowrap}}
