@font-face{font-family:Archivo;src:url('../vendor/portal/archivo-500.ttf') format('truetype');font-weight:500;font-display:swap}@font-face{font-family:Archivo;src:url('../vendor/portal/archivo-600.ttf') format('truetype');font-weight:600;font-display:swap}@font-face{font-family:Archivo;src:url('../vendor/portal/archivo-700.ttf') format('truetype');font-weight:700;font-display:swap}@font-face{font-family:'IBM Plex Sans';src:url('../vendor/ibm-plex/2026-09-08/ibm-plex-sans-variable-latin.woff2') format('woff2');font-weight:100 700;font-display:swap}@font-face{font-family:'IBM Plex Mono';src:url('../vendor/ibm-plex/2026-09-08/ibm-plex-mono-400-latin.woff2') format('woff2');font-weight:400 500;font-display:swap}
:root{--violet:#9e27fb;--violet-dark:#7a12c9;--bg:#faf8fd;--text:#171121;--muted:#5f5769;--border:#e2ddeb;--surface:#f8f3fe;--primary:linear-gradient(100deg,#f6e760,#f2dd68 35%,#ce90a6)}*{box-sizing:border-box}html{color-scheme:light}body{margin:0;background:var(--bg);color:var(--text);font:400 15px/1.5 'IBM Plex Sans',sans-serif;-webkit-font-smoothing:antialiased;min-height:100vh;display:flex;flex-direction:column}a{color:var(--violet-dark);text-underline-offset:3px}a:hover{color:#5c1196}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a,button{touch-action:manipulation}:focus-visible{outline:3px solid var(--violet);outline-offset:3px}h1,h2,h3,p,dl{margin:0}h1,h2,h3{font-family:Archivo,sans-serif}h1{font-size:28px;font-weight:700;line-height:1.2;letter-spacing:-.01em}h2{font-size:18px;font-weight:600;line-height:1.3;margin-bottom:16px}h3{font-size:15px;font-weight:600}p+ p{margin-top:12px}button{cursor:pointer}input,select,textarea{width:100%;min-width:0;min-height:44px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:white}textarea{resize:vertical;min-height:110px}input[readonly]{background:#f1eef5;color:var(--muted)}input::placeholder,textarea::placeholder{color:#756d7f}label{font-weight:600;font-size:14px}form{margin:0}img{max-width:100%;display:block}dd{margin:4px 0 0;overflow-wrap:anywhere}dt,.eyebrow{font:400 11px/1.5 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.brand-line{height:4px;flex:none;background:linear-gradient(100deg,#f6e760,#f2dd68 18%,#ce90a6 45%,#b457d4 70%,#a434f0 88%,#9e27fb)}.site-header{background:white;border-bottom:1px solid var(--border)}.header-inner,.tabs,main,.site-footer>div{width:100%;max-width:1200px;margin:auto;padding-inline:clamp(16px,4vw,32px)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px}.brand{display:flex;align-items:center;gap:12px;color:var(--text);text-decoration:none;min-width:0;min-height:44px}.brand>span{display:flex;flex-direction:column;line-height:1.2}.brand strong{font:700 17px Archivo,sans-serif;letter-spacing:-.01em}.brand small{font-size:12px;color:var(--muted)}.brand .brand-section{border-left:1px solid var(--border);padding-left:20px;margin-left:4px;font-size:13px;color:var(--muted)}.header-actions{display:flex;align-items:center;gap:14px}.customer-name{max-width:200px;font-weight:600;font-size:14px;overflow-wrap:anywhere}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 18px;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--text);font-weight:600;font-size:15px;text-decoration:none;line-height:1.4;text-align:center;max-width:100%;overflow-wrap:anywhere}.button:hover{background:#f8f3fe;border-color:#c9c2d3;color:var(--text)}.button.primary{border:0;background:var(--primary)}.button.primary:hover{filter:brightness(.97)}.button.small{padding:8px 12px;font-size:13px;min-height:40px}.tabs{display:flex;gap:4px;overflow-x:auto;scrollbar-width:thin}.tabs a{display:inline-flex;align-items:center;min-height:48px;flex-shrink:0;padding:10px 14px;font-weight:600;font-size:14px;color:var(--muted);text-decoration:none;white-space:nowrap;border-radius:6px 6px 0 0}.tabs a[aria-current=page]{color:var(--violet-dark);box-shadow:inset 0 -3px var(--violet)}.tabs a:hover{background:var(--surface)}main{flex:1;padding-top:28px;padding-bottom:72px;min-width:0;display:flex;flex-direction:column;gap:24px}main:focus{outline:none}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:16px}.page-heading h1{margin-top:4px}.page-heading p{margin-top:6px}.muted{color:var(--muted)}.small-text{font-size:13px}.mono{font-family:'IBM Plex Mono',monospace}.card{padding:20px 22px;border:1px solid var(--border);border-radius:14px;background:white;min-width:0}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.section-heading h2{margin:0}.section-heading>a{font-size:14px;font-weight:600;min-height:32px;display:inline-flex;align-items:center}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.stat{position:relative;text-decoration:none;color:var(--text);display:flex;flex-direction:column;gap:12px}.stat:hover{border-color:#d9c3f5;background:#fdfbff;color:var(--text)}.stat strong{font:600 34px/1 Archivo,sans-serif}.stat-arrow{position:absolute;right:22px;bottom:20px;color:var(--violet-dark);font-size:22px}.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.wide{grid-column:1/-1}.record-list,.stack{display:flex;flex-direction:column;gap:16px;min-width:0}.record{border:1px solid var(--border);padding:16px 18px;border-radius:10px;min-width:0}.record-top{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:12px}.record-title{font-size:15px;font-weight:600;color:var(--text);text-decoration:none;overflow-wrap:anywhere}.record-title:hover{color:var(--violet-dark);text-decoration:underline}.record-title>span{color:var(--violet-dark)}.record-top .muted{font-size:13px;margin-top:4px;overflow-wrap:anywhere}.data-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr));gap:14px 20px;margin-top:16px}.data-grid>div{min-width:0}.amount{font-weight:600;font-variant-numeric:tabular-nums}.badge{display:inline-block;border-radius:999px;font-size:13px;font-weight:500;line-height:1.35;padding:4px 10px;color:#4a4354;background:#f1eef5;max-width:100%;overflow-wrap:anywhere}.status-production,.status-in_production,.status-preparing,.status-produced,.status-packed,.status-in_progress,.status-processing{color:#6d1bb0;background:#f3e8fe}.status-shipped,.status-transit{color:#1f5fa8;background:#e8f0fb}.status-delivered,.status-collected,.status-ready_pickup,.status-paid,.status-valid,.status-saved{color:#1e6b3a;background:#e6f4ea}.status-review,.status-partial,.status-pending,.status-expired,.status-awaiting_payment{color:#7a4f00;background:#fff1cf}.status-cancelled,.status-failed,.status-error{color:#a3242f;background:#fdeaec}.status-unknown{background:white;border:1px dashed #8b8494}.document-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--border)}.document-row:last-child{border-bottom:0}.document-row>div{min-width:0}.document-row h3{margin-top:3px;overflow-wrap:anywhere}.document-row p{margin-top:5px;font-size:13px}.search-form{display:flex;flex-wrap:wrap;gap:10px}.search-form input{flex:1 1 240px}.pagination{display:flex;justify-content:center;align-items:center;gap:16px;flex-wrap:wrap}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px;align-items:start}.back-link{font-size:14px;font-weight:600;align-self:flex-start;min-height:32px;display:inline-flex;align-items:center;text-decoration:none}.item-row,.request-row{padding-bottom:16px;border-bottom:1px solid var(--border)}.item-row:last-child,.request-row:last-child{border:0;padding-bottom:0}.item-row h3{overflow-wrap:anywhere}.pre-line{white-space:pre-line;overflow-wrap:anywhere}.timeline{list-style:none;margin:0;padding:0 0 0 12px}.timeline li{position:relative;border-left:2px solid #e2ddeb;padding:0 0 24px 22px;display:grid;gap:4px}.timeline li:last-child{padding-bottom:0;border-left-color:transparent}.timeline li:before{content:'';position:absolute;left:-6px;top:5px;width:10px;height:10px;border-radius:50%;background:#9e27fb}.timeline .mono{font-size:12px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-grid .full{grid-column:1/-1}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field .section-heading{margin-bottom:0}.card>p+form,.card>p+.form-grid{margin-top:16px}.save-bar{position:sticky;bottom:12px;z-index:2;padding:14px 18px;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 24px #17112114;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.notice{background:#f8f3fe;border:1px solid #d9c3f5;color:#4b1a7a;padding:12px 16px;border-radius:10px;overflow-wrap:anywhere}.notice.error,.notice.danger{background:#fdeaec;border-color:#f3c2c8;color:#7a1a23}.notice.success{background:#e6f4ea;border-color:#b9e0c4;color:#1e6b3a}.notice.warning{background:#fff1cf;border-color:#ecd494;color:#7a4f00}.empty{text-align:center;padding:28px 12px;max-width:620px;margin:auto}.empty-icon{display:inline-grid;place-items:center;width:48px;height:48px;background:var(--surface);color:var(--violet-dark);border-radius:12px;font-size:26px;margin-bottom:18px}.empty h2{font-size:23px}.empty p{color:var(--muted);margin-bottom:20px}.login-wrap{display:flex;justify-content:center;padding-top:clamp(8px,4vh,48px)}.login-card{width:100%;max-width:460px;padding:clamp(20px,4vw,32px)}.login-card h1{font-size:26px;margin-bottom:8px}.login-card>p{margin-bottom:22px}.password-field{display:flex;gap:8px}.password-field input{flex:1;min-width:0}.login-bottom{border-top:1px solid var(--border);margin-top:20px;padding-top:16px;display:flex;flex-wrap:wrap;gap:8px;font-size:14px;color:var(--muted)}.site-footer{border-top:1px solid var(--border);background:white;color:var(--muted);font-size:13px}.site-footer>div{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-block:22px}.skip-link{position:absolute;left:12px;top:-100px;z-index:20;padding:12px;background:white}.skip-link:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(max-width:900px){.brand .brand-section{display:none}.detail-grid{grid-template-columns:minmax(0,1fr)}.detail-grid>aside{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));align-items:start}}@media(max-width:600px){.header-inner{gap:8px;min-height:72px}.brand{gap:8px}.brand strong{font-size:15px}.brand small{font-size:10px}.brand img{width:30px;height:30px}.customer-name{display:none}.header-actions .button{padding:8px;font-size:12px}.tabs{padding-inline:8px}.tabs a{padding:10px 12px}.stats{gap:10px}.stat.card{padding:14px 12px}.stat .eyebrow{font-size:9px;letter-spacing:0}.stat strong{font-size:28px}.stat-arrow{right:10px;bottom:12px;font-size:16px}.dashboard-grid{grid-template-columns:minmax(0,1fr)}.card{padding:18px 16px}.record{padding:14px 12px}.form-grid{grid-template-columns:minmax(0,1fr)}h1{font-size:26px}.save-bar{position:static}.save-bar .button{width:100%}.page-heading>.button{width:100%}.section-heading>a{font-size:13px}.site-footer>div{font-size:12px}.data-grid{gap:12px}.login-card{padding:22px 18px}.empty{padding:20px 0}.empty h2{font-size:21px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.status-verschachtelt,.status-produziert,.status-verpackt,.status-in_bearbeitung{color:#6d1bb0;background:#f3e8fe}.status-verschickt,.status-teilweise_zugestellt{color:#1f5fa8;background:#e8f0fb}.status-bezahlt,.status-abgeholt,.status-abholbereit,.status-angebot,.status-angebot_gesendet,.status-versendet{color:#1e6b3a;background:#e6f4ea}.status-pruefung,.status-teilweise,.status-teilbezahlt{color:#7a4f00;background:#fff1cf}.status-storniert,.status-fertigungsstopp,.status-payment_failed,.status-abgelehnt{color:#a3242f;background:#fdeaec}.portal-auth-panel{max-width:540px;width:100%;margin:24px auto;padding:clamp(20px,4vw,32px);border:1px solid var(--border);border-radius:14px;background:#fff}.portal-auth-panel .heading,.portal-auth-panel h1{font:700 26px/1.2 Archivo,sans-serif;margin-bottom:12px}.portal-auth-panel .form-control{margin-top:6px}.portal-auth-panel .row{display:flex;flex-wrap:wrap;gap:16px}.portal-auth-panel .col-md-6{flex:1 1 190px;min-width:0}.portal-auth-panel .mb-3{margin-bottom:16px}.portal-auth-panel .mb-4{margin-bottom:24px}.portal-auth-panel .mt-3{margin-top:16px}.portal-auth-panel .mt-4{margin-top:24px}.portal-auth-panel .text-center{text-align:center}.portal-auth-panel .text-muted{color:var(--muted)}.portal-auth-panel .btn-main,.portal-auth-panel .btn-outline-primary{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border:1px solid var(--border);border-radius:10px;font-weight:600;text-decoration:none;color:var(--text)}.portal-auth-panel .btn-main{background:var(--primary);border:0}.portal-auth-panel .w-100{width:100%}.portal-auth-panel .form-check{display:flex;gap:8px;align-items:flex-start}.portal-auth-panel input[type=checkbox]{width:20px;min-height:20px;flex:none}.portal-auth-panel ul{padding-left:20px}.amount small{font-family:'IBM Plex Sans',sans-serif;font-size:12px;font-weight:400}
.heading-actions{display:flex;flex-wrap:wrap;gap:10px}.action-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px 16px;padding:14px;border:1px solid var(--border);border-radius:10px;text-decoration:none;color:var(--text);margin-top:10px}.action-row:hover{background:var(--surface)}.action-row>span:not(.badge){flex:1 1 220px;min-width:0;overflow-wrap:anywhere}.action-row small{display:block;color:var(--muted);font-size:13px;margin-top:3px}.action-row b{color:var(--violet-dark);font-size:14px}.portal-section-heading{font:700 26px/1.2 Archivo,sans-serif;margin-bottom:18px}@media(max-width:600px){.heading-actions{width:100%}.heading-actions .button{flex:1 1 160px}.action-row b{margin-left:auto}}
.search-query{display:flex;flex-direction:column;gap:6px;flex:1 1 240px;min-width:0}.filter-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}.search-form.has-filters{display:grid;grid-template-columns:minmax(220px,2fr) minmax(150px,1fr) minmax(150px,1fr) minmax(150px,1fr);align-items:end;gap:14px}.has-filters .filter-actions{grid-column:1/-1}.item-download{margin-top:14px}.discard-draft{margin-top:20px;padding-top:14px;border-top:1px solid var(--border)}.discard-draft summary{cursor:pointer;min-height:44px;padding:10px 0;color:#a3242f;font-weight:600}.discard-draft p{margin:6px 0 16px;font-size:14px;color:var(--muted)}.button.danger{color:#a3242f;border-color:#f3c2c8;background:#fff}.button.danger:hover{background:#fdeaec}.language-switch{display:flex;gap:2px}.language-switch a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:30px;font-size:12px;text-decoration:none;border-radius:6px;color:var(--muted)}.language-switch a[aria-current]{font-weight:600;color:var(--violet-dark);background:var(--surface)}@media(max-width:900px){.search-form.has-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.header-inner{flex-wrap:wrap;padding-block:8px}.header-actions{gap:8px}.brand{flex:1 1 170px}.search-form.has-filters{grid-template-columns:minmax(0,1fr)}.language-switch a{min-width:30px}.search-form .filter-actions .button{flex:1}.header-inner .brand{min-height:40px}}
.status-fertiggestellt{color:#1e6b3a;background:#e6f4ea}.status-abgelaufen{color:#7a4f00;background:#fff1cf}

.search-form input{flex:0 0 auto;height:44px}
