[hidden]{
  display:none !important;
}

:root{
  --bg:#eef2f6;
  --surface:#ffffff;
  --surface-soft:#f8fafc;
  --text:#0f172a;
  --muted:#64748b;
  --line:#e2e8f0;
  --line-strong:#cbd5e1;
  --head:#edf2f7;
  --accent:#8b1e2d;
  --accent-dark:#6f1824;
  --accent-soft:#fdf2f4;
  --success:#166534;
  --success-soft:#ecfdf5;
  --danger:#b91c1c;
  --danger-soft:#fef2f2;
  --shadow:0 14px 34px rgba(15, 23, 42, .08);
}

*{ box-sizing:border-box; }
html, body{ min-height:100%; }
body{
  margin:0;
  background:linear-gradient(180deg, #f4f6f9 0%, #eef2f6 100%);
  color:var(--text);
  font-family:system-ui, -apple-system, Segoe UI, Roboto, Arial, Helvetica, sans-serif;
  font-size:14px;
  line-height:1.45;
}
a{ color:#163a63; text-decoration:none; }
a:hover{ text-decoration:underline; }
table{ border-collapse:collapse; }
th, td{ padding:10px 12px; border-bottom:1px solid var(--line); vertical-align:top; }
th{ text-align:left; background:var(--head); border-bottom:1px solid var(--line-strong); font-weight:700; color:#0f172a; }
td.right, th.right{ text-align:right; }
td.center, th.center{ text-align:center; }
.nowrap{ white-space:nowrap; }

.app-shell{
  width:min(1460px, calc(100% - 40px));
  margin:22px auto 28px;
}
.app-topbar{
  background:rgba(255,255,255,.9);
  border:1px solid rgba(203,213,225,.9);
  box-shadow:var(--shadow);
  border-radius:18px;
  padding:16px 18px 12px;
  backdrop-filter:blur(10px);
}
.app-topbar-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  flex-wrap:wrap;
}
.brand-title{
  font-size:22px;
  font-weight:800;
  letter-spacing:-.02em;
  color:#111827;
}
.brand-subtitle{
  margin-top:2px;
  color:var(--muted);
  font-size:13px;
}
.app-nav{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:14px;
}
.nav-link{
  display:inline-flex;
  align-items:center;
  min-height:42px;
  padding:0 16px;
  border-radius:12px;
  background:var(--surface);
  border:1px solid var(--line-strong);
  color:#0f172a;
  font-weight:700;
  text-decoration:none;
  box-shadow:0 1px 0 rgba(255,255,255,.8) inset;
}
.nav-link:hover{
  text-decoration:none;
  background:var(--surface-soft);
  border-color:#b6c2d2;
}
.nav-link.active{
  background:linear-gradient(180deg, var(--accent) 0%, var(--accent-dark) 100%);
  border-color:var(--accent-dark);
  color:#fff;
  box-shadow:0 8px 18px rgba(139, 30, 45, .22);
}

.main-card{
  margin-top:16px;
  background:var(--surface);
  border:1px solid rgba(203,213,225,.9);
  border-radius:18px;
  box-shadow:var(--shadow);
  padding:18px 18px 20px;
}
.page-header{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin-bottom:16px;
}
.page-header h1,
.page-header h2{
  margin:0;
  font-size:24px;
  line-height:1.15;
  letter-spacing:-.02em;
}
.page-subtitle{
  margin-top:4px;
  color:var(--muted);
  font-size:13px;
}
.page-badge{
  padding:8px 12px;
  border-radius:999px;
  background:var(--surface-soft);
  border:1px solid var(--line);
  font-weight:700;
  color:var(--muted);
}

.toolbar-form{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin:0 0 16px;
}
.search-form{ justify-content:flex-start; }
.search-input{
  min-width:min(420px, 100%);
  max-width:100%;
  height:40px;
  padding:0 14px;
  border:1px solid var(--line-strong);
  border-radius:11px;
  background:#fff;
  color:var(--text);
  font:inherit;
  box-shadow:0 1px 0 rgba(255,255,255,.85) inset;
}
.search-input:focus{
  outline:none;
  border-color:#94a3b8;
  box-shadow:0 0 0 3px rgba(148,163,184,.15);
}

.admin-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
}
.admin-table thead th:first-child{ border-top-left-radius:12px; }
.admin-table thead th:last-child{ border-top-right-radius:12px; }
.admin-table tbody tr:nth-child(even) td{ background:#fbfcfe; }
.admin-table tbody tr:hover td{ background:#f7fafc; }
.admin-table td.code{
  font-variant-numeric:tabular-nums;
  font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-weight:700;
  color:#1e293b;
}
.admin-table td.email-cell a{ color:#1f3f6b; }
.admin-table .status-cell{ font-size:12px; color:var(--muted); }

.admin-table th{ padding:12px 14px; }
.admin-table td{ padding:9px 14px; }

.pdf-cell{ white-space:nowrap; }
.pdf-actions{
  display:flex;
  gap:6px;
  flex-wrap:nowrap;
}
.admin-table th:nth-child(5),
.admin-table td:nth-child(5){ width:210px; }
.admin-table tbody tr{ transition:background-color .15s ease; }
.inline-actions-tight{ gap:6px; flex-wrap:nowrap; }
.action-link{
  min-height:34px;
  padding:0 12px;
  font-size:13px;
}
.action-link.btn-view{
  background:#f8fafc;
  color:#0f172a;
}
.action-link.btn-download{
  background:#ecfdf5;
  border-color:#bbf7d0;
  color:#166534;
}
.action-link.btn-mail{
  background:#eff6ff;
  border-color:#bfdbfe;
  color:#1d4ed8;
}
.action-link.btn-details{
  background:#f8fafc;
  border-color:#e2e8f0;
  color:#475569;
}
.action-link.btn-view:hover,
.action-link.btn-download:hover,
.action-link.btn-mail:hover,
.action-link.btn-details:hover{
  filter:brightness(.98);
}
.status-cell{ white-space:nowrap; }

.btn,
.btn-small,
.action-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:0 14px;
  border-radius:11px;
  border:1px solid var(--line-strong);
  background:#fff;
  color:#0f172a;
  text-decoration:none;
  font-weight:700;
  white-space:nowrap;
  box-shadow:0 1px 0 rgba(255,255,255,.85) inset;
}
.btn:hover,
.btn-small:hover,
.action-link:hover{
  text-decoration:none;
  background:#f8fafc;
  border-color:#b8c4d4;
}
.btn-primary{
  background:linear-gradient(180deg, var(--accent) 0%, var(--accent-dark) 100%);
  color:#fff;
  border-color:var(--accent-dark);
}
.btn-primary:hover{ background:linear-gradient(180deg, #9b2334 0%, #7c1b29 100%); }
.action-link.secondary{ background:var(--surface-soft); }
.action-link.ghost{ background:#fff; color:#334155; }
.action-stack,
.inline-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.status-badge{
  display:inline-flex;
  align-items:center;
  padding:4px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  letter-spacing:0;
  text-transform:none;
  border:1px solid transparent;
}
.status-badge.sent{
  color:var(--success);
  background:var(--success-soft);
  border-color:#bbf7d0;
}
.status-badge.pending{
  color:#64748b;
  background:#f8fafc;
  border-color:#e2e8f0;
}
.status-badge.danger{
  color:var(--danger);
  background:var(--danger-soft);
  border-color:#fecaca;
}
.status-meta{ margin-top:6px; color:var(--muted); font-size:12px; }

.invoice-box{
  background:var(--surface-soft);
  border:1px solid var(--line);
  border-radius:16px;
  box-shadow:0 8px 24px rgba(15, 23, 42, .04);
  padding:16px;
}
.flash-success{ background:#effcf3; border-color:#b7ebc3; }
.flash-error{ background:#fff4f4; border-color:#fecaca; }
.flash-info{ background:#f4f8ff; border-color:#bfdbfe; }

.form-toolbar{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  margin-bottom:14px;
}
select, input[type="text"], input[type="date"], button{
  font:inherit;
}
select, input[type="text"], input[type="date"]{
  min-height:40px;
  padding:0 12px;
  border:1px solid var(--line-strong);
  border-radius:10px;
  background:#fff;
  color:var(--text);
}
button.btn{ cursor:pointer; }

.page{
  max-width:980px;
  margin:0 auto;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:12px;
  box-shadow:0 8px 24px rgba(0,0,0,.06);
  padding:14px 14px 18px;
}
.invoice-header{
  display:flex;
  gap:18px;
  justify-content:flex-start;
  align-items:flex-start;
  margin-bottom:14px;
}
.invoice-logo{ flex:0 0 auto; width:92px; }
.invoice-logo img{
  display:block;
  width:92px;
  height:auto;
  max-width:92px;
  max-height:92px;
  object-fit:contain;
}
.invoice-from{ font-size:13px; line-height:1.35; }
.invoice-from .name{ font-weight:700; font-size:15px; margin-bottom:4px; }
.invoice-meta{ text-align:right; min-width:240px; margin-left:auto; }
.invoice-meta h1{ margin:0 0 6px 0; font-size:20px; letter-spacing:.2px; }
.meta-row{ display:flex; justify-content:flex-end; gap:8px; color:var(--muted); font-size:13px; }
.meta-row b{ color:var(--text); font-weight:600; }
.invoice-to{
  border:1px solid var(--line);
  border-radius:10px;
  padding:10px 12px;
  margin:10px 0 16px;
  background:#fff;
}
.invoice-to .label{ color:var(--muted); font-size:12px; margin-bottom:4px; }
.invoice-to .name{ font-weight:700; margin-bottom:2px; }
.invoice-table th{ white-space:nowrap; }
.invoice-table td{ font-size:13.5px; }
.korting{ white-space:nowrap; }
.totals{
  width:360px;
  margin-left:auto;
  margin-top:14px;
  border:1px solid var(--line);
  border-radius:10px;
  overflow:hidden;
}
.totals td{ border-bottom:1px solid var(--line); padding:8px 10px; }
.totals tr:last-child td{ border-bottom:none; font-weight:800; font-size:15px; }
.totals td.label{ color:var(--muted); }
.actions{ margin-top:12px; text-align:right; clear:both; }
.no-print{}

@media (max-width: 900px){
  .app-shell{ width:min(100% - 20px, 1460px); margin-top:10px; }
  .app-topbar, .main-card{ border-radius:14px; }
  .page-header{ align-items:flex-start; flex-direction:column; }
  .admin-table{ display:block; overflow-x:auto; }
}

@media print{
  @page{ size:A4; margin:10mm; }
  .app-shell, .app-topbar, .main-card{ width:100%; margin:0; box-shadow:none; border:none; padding:0; }
  .page{ max-width:100% !important; margin:0; border:none; box-shadow:none; border-radius:0; padding:0; }
  body{ background:#fff; padding:0; font-size:11px; color:#000; }
  .no-print, .actions, .app-topbar{ display:none !important; }
  .menu{ display:none !important; }
  table.invoice-table{
    width:100%;
    border-collapse:collapse;
    table-layout:fixed;
    font-size:11px;
  }
  table.invoice-table th,
  table.invoice-table td{
    padding:4px 6px;
    border-bottom:1px solid #d1d5db;
    vertical-align:top;
    word-wrap:break-word;
  }
  .nowrap, .korting, .right{ white-space:nowrap; }
  .artikel{ white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  table.invoice-table tr{ break-inside:avoid; page-break-inside:avoid; }
  table.totals td.label{ color:#111; }
  table.totals tr:last-child td{
    font-weight:700;
    font-size:12px;
    border-top:1px solid #111;
    padding-top:6px;
  }
  .payment-note{ color:#111; font-size:11px; border-top:1px solid #d1d5db; }
}

.article-toolbar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:16px;
}
.article-search-form{ margin:0; }
.article-form-card{ margin-bottom:18px; }
.article-form-header{ margin-bottom:14px; }
.article-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px 16px;
}
.form-field{ display:flex; flex-direction:column; gap:6px; }
.form-field label{ font-weight:700; color:#334155; }
.form-field input,
.form-field select,
.form-field textarea{
  width:100%;
  min-height:42px;
  padding:10px 12px;
  border:1px solid var(--line-strong);
  border-radius:12px;
  background:#fff;
  color:var(--text);
  font:inherit;
}
.form-field textarea{ min-height:160px; resize:vertical; }
.field-wide{ grid-column:span 1; }
.field-full{ grid-column:1 / -1; }
.form-actions{ display:flex; gap:10px; flex-wrap:wrap; }
.table-wrap{ overflow-x:auto; }
.article-table .empty-state{ text-align:center; color:var(--muted); padding:20px 14px; }
.chip{
  display:inline-flex;
  align-items:center;
  padding:4px 10px;
  border-radius:999px;
  background:#f8fafc;
  border:1px solid var(--line);
  color:#475569;
  font-size:12px;
  font-weight:700;
}
.article-link{ font-weight:700; }
.article-delete{ color:#991b1b; }
.article-flash{ margin-bottom:14px; }
.article-detail-grid{
  display:grid;
  grid-template-columns:minmax(280px, 360px) minmax(0, 1fr);
  gap:16px;
}
.section-title{
  margin:0 0 14px;
  font-size:18px;
  line-height:1.2;
}
.detail-list{ display:grid; gap:10px; }
.detail-list div{
  display:flex;
  flex-direction:column;
  gap:3px;
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
}
.detail-list span{ color:var(--muted); font-size:12px; }
.detail-list strong{ font-size:14px; color:var(--text); }

@media (max-width: 900px){
  .article-form-grid,
  .article-detail-grid{ grid-template-columns:1fr; }
}

.status-badge.danger{
  color:#991b1b;
  background:#fef2f2;
  border-color:#fecaca;
}

.dashboard-panel,
.bestelling-meta-card,
.bestelling-regels-card{
  background:var(--surface-soft);
  border:1px solid var(--line);
  border-radius:16px;
  padding:16px;
}

.dashboard-empty-state{
  min-height:220px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  border-radius:14px;
  border:1px dashed #bbf7d0;
  background:linear-gradient(180deg, #f3fff5 0%, #ecfdf3 100%);
}
.dashboard-empty-title{
  font-size:44px;
  line-height:1;
  font-weight:900;
  letter-spacing:-.03em;
  color:#14532d;
  text-transform:uppercase;
}
.dashboard-empty-text{
  margin-top:10px;
  font-size:15px;
  color:#166534;
}
.dashboard-table td,
.dashboard-table th{ vertical-align:middle; }
.dashboard-footer-links{
  display:flex;
  justify-content:flex-end;
  margin-top:16px;
}
.table-link-strong{
  font-weight:800;
}
.bestelling-flash{
  margin-bottom:16px;
}
.bestelling-detail-layout{
  display:grid;
  grid-template-columns:minmax(300px, 360px) minmax(0, 1fr);
  gap:16px;
  align-items:start;
}
.bestelling-opmerking{
  margin-top:16px;
  padding-top:16px;
  border-top:1px solid var(--line);
  color:var(--text);
}
.bestelling-opmerking-label{
  font-weight:800;
  margin-bottom:6px;
}
.bestelling-regels-head{
  display:flex;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
}
.bestelling-input{
  width:100%;
  max-width:140px;
  min-height:42px;
  padding:0 12px;
  border:1px solid var(--line-strong);
  border-radius:11px;
  background:#fff;
  color:var(--text);
  font:inherit;
}
.bestelling-input:disabled{
  background:#f8fafc;
  color:#64748b;
}
.bestelling-actions{
  margin-top:16px;
  justify-content:flex-end;
}

@media (max-width: 980px){
  .bestelling-detail-layout{
    grid-template-columns:1fr;
  }
  .dashboard-empty-title{
    font-size:32px;
  }
}

/* klant bestellijst */

.customer-order-form{
  display:grid;
  gap:20px;
}

.customer-order-grid{
  display:grid;
  grid-template-columns:minmax(220px, 280px) minmax(280px, 1fr);
  gap:18px;
  align-items:start;
}

.form-label{
  display:block;
  font-weight:700;
  margin-bottom:8px;
}

.form-help{
  margin-top:8px;
  color:#64748b;
  font-size:13px;
}

.customer-order-note{
  width:100%;
  min-height:92px;
  padding:12px 14px;
  border:1px solid #cbd5e1;
  border-radius:12px;
  font:inherit;
  resize:vertical;
  box-sizing:border-box;
}

.customer-order-category-head{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:center;
  margin-bottom:14px;
}

.customer-order-table td,
.customer-order-table th{
  vertical-align:middle;
}

.klant-aantal-input{
  width:96px;
}

.sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

.order-confirmation-card{
  margin-bottom:18px;
}

.customer-order-list-head{
  display:grid;
  grid-template-columns:minmax(260px, 1.8fr) minmax(140px, 1fr) minmax(90px, .7fr) minmax(120px, .8fr) 110px;
  gap:14px;
  align-items:center;
  padding:0 16px 8px;
  font-size:13px;
  font-weight:700;
  color:#334155;
}

.customer-order-list-head > div:first-child{
  text-align:left;
}

.customer-order-list-head > div:not(:first-child){
  text-align:right;
}

.customer-order-list{
  display:grid;
  gap:12px;
}

.customer-order-item{
  display:grid;
  grid-template-columns:minmax(260px, 1.8fr) minmax(140px, 1fr) minmax(90px, .7fr) minmax(120px, .8fr) 110px;
  gap:14px;
  align-items:center;
  padding:14px 16px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
}

.customer-order-item-title{
  font-weight:800;
  color:var(--text);
}

.customer-order-item-unit,
.customer-order-item-price,
.customer-order-item-discount,
.customer-order-item-net{
  color:#475569;
}

.customer-order-item-price,
.customer-order-item-discount,
.customer-order-item-net{
  font-size:13px;
  text-align:right;
  justify-self:end;
}

.customer-order-item-qty{
  display:flex;
  justify-content:flex-end;
}

.customer-order-item-details{
  display:none;
}

.desktop-only{ display:block; }
.mobile-only{ display:none; }

.customer-order-detail-grid{
  display:grid;
  gap:10px;
  margin-top:10px;
  color:#334155;
  font-size:13px;
}

@media (max-width: 900px){
  .customer-order-grid{
    grid-template-columns:1fr;
  }

  .customer-order-category-head{
    flex-direction:column;
    align-items:flex-start;
  }

  .desktop-only{ display:none; }
  .mobile-only{ display:block; }

  .customer-order-form{
    gap:16px;
  }

  .customer-order-list-head{
    display:none;
  }

  .customer-order-item{
    grid-template-columns:1fr 96px;
    gap:12px;
    align-items:start;
  }

  .customer-order-item-main{
    min-width:0;
  }

  .customer-order-item-title{
    font-size:15px;
    line-height:1.25;
  }

  .customer-order-item-unit{
    margin-top:4px;
    font-size:13px;
  }

  .customer-order-item-qty{
    justify-content:flex-end;
  }

  .klant-aantal-input{
    width:88px;
    max-width:88px;
    text-align:center;
  }

  .customer-order-item-details{
    grid-column:1 / -1;
    border-top:1px solid var(--line);
    padding-top:10px;
  }

  .customer-order-item-details summary{
    cursor:pointer;
    font-weight:700;
    color:#334155;
  }
}

.bestelling-readonly-wrap{
  position:relative;
}
.bestelling-readonly-table tbody tr{
  opacity:0.9;
}
.bestelling-input.is-readonly{
  cursor:not-allowed;
  background:#f8fafc;
  border-style:dashed;
}

.extra-order-alert{
  display:flex;
  align-items:center;
  gap:8px;
  padding:10px 14px;
  border-radius:999px;
  background:#fff4e5;
  border:1px solid #f5c36a;
  color:#9a3412;
  font-weight:700;
  box-shadow:0 10px 24px rgba(15,23,42,.08);
}
.extra-order-alert-icon{
  font-size:16px;
}
.extra-order-flag{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-weight:700;
  color:#b91c1c;
}
.extra-order-flag-icon{
  width:16px;
  height:16px;
}
.prognose-subcategory + .prognose-subcategory{
  margin-top:18px;
}
.prognose-subtitle{
  margin:0 0 10px;
  font-size:15px;
  color:#334155;
}

.login-shell{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:32px 18px;
}
.login-card{
  width:min(100%, 520px);
  background:var(--surface);
  border:1px solid rgba(203,213,225,.95);
  border-radius:24px;
  box-shadow:var(--shadow);
  padding:34px 32px 28px;
}
.login-branding{
  text-align:center;
  margin-bottom:24px;
}
.login-logo{
  width:auto;
  max-width:220px;
  max-height:84px;
}
.login-lock{
  width:48px;
  height:48px;
  margin:18px auto 10px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--accent-soft);
  border:1px solid #f3d1d7;
  font-size:22px;
}
.login-branding h1{
  margin:0;
  font-size:30px;
  line-height:1.1;
  letter-spacing:-.03em;
}
.login-branding p{
  margin:8px 0 0;
  color:var(--muted);
  font-size:14px;
}
.login-alert{
  margin-bottom:18px;
  padding:12px 14px;
  border-radius:14px;
  border:1px solid #fecaca;
  background:var(--danger-soft);
  color:var(--danger);
  font-weight:700;
}
.login-alert-success{
  border-color:#bbf7d0;
  background:var(--success-soft);
  color:var(--success);
}
.login-form{
  display:grid;
  gap:18px;
}
.form-row label{
  display:block;
  margin-bottom:8px;
  font-weight:700;
  color:#1e293b;
}
.form-row input[type="text"],
.form-row input[type="email"],
.form-row input[type="password"]{
  width:100%;
  height:48px;
  padding:0 14px;
  border:1px solid var(--line-strong);
  border-radius:14px;
  background:#fff;
  color:var(--text);
  font:inherit;
  box-shadow:0 1px 0 rgba(255,255,255,.85) inset;
}
.form-row input[type="text"]:focus,
.form-row input[type="email"]:focus,
.form-row input[type="password"]:focus{
  outline:none;
  border-color:#94a3b8;
  box-shadow:0 0 0 4px rgba(148,163,184,.15);
}
.password-field{
  position:relative;
}
.password-field input{
  padding-right:54px !important;
}
.password-toggle{
  position:absolute;
  top:50%;
  right:10px;
  transform:translateY(-50%);
  width:36px;
  height:36px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
  cursor:pointer;
}
.login-options{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
  margin-top:-4px;
}
.remember-check{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:#334155;
  font-weight:600;
}
.remember-check input{
  width:16px;
  height:16px;
}
.forgot-link{
  font-weight:700;
}

.login-helper-text{
  margin-top:16px;
  padding:12px 14px;
  border-radius:14px;
  background:var(--surface-soft);
  border:1px solid var(--line);
  color:#334155;
}
.login-helper-links{
  margin-top:18px;
  text-align:center;
}
.login-submit{
  width:100%;
  min-height:50px;
  border-radius:14px;
  font-size:16px;
}
.login-submit[disabled]{
  opacity:.85;
  cursor:wait;
}

@media (max-width: 640px){
  .login-shell{ padding:20px 12px; }
  .login-card{ padding:24px 18px 20px; border-radius:20px; }
  .login-branding h1{ font-size:26px; }
  .login-logo{ max-width:190px; max-height:72px; }
  .login-options{ align-items:flex-start; }
}

.bestelling-delete-link{
  color:#b42318 !important;
}
.bestelling-delete-link:hover{
  color:#8f1d14 !important;
}
.bestelling-add-card{
  margin-top:16px;
  padding:16px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--surface-soft);
  display:grid;
  gap:12px;
}
.bestelling-add-card h3{
  margin:0;
  font-size:18px;
}
.bestelling-add-form{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
}
.bestelling-add-form select,
.bestelling-add-form input[type="text"]{
  min-width:220px;
}
@media (max-width: 720px){
  .bestelling-add-form{
    flex-direction:column;
    align-items:stretch;
  }
  .bestelling-add-form select,
  .bestelling-add-form input[type="text"]{
    min-width:0;
    width:100%;
  }
}

.inline-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.field-group{
  display:flex;
  flex-direction:column;
  gap:7px;
}
.field-group label{
  font-weight:700;
  color:#0f172a;
}
.field-group input,
.field-group select,
.field-group textarea{
  width:100%;
  min-height:42px;
  padding:10px 12px;
  border:1px solid var(--line-strong);
  border-radius:12px;
  background:#fff;
  color:var(--text);
  font:inherit;
  box-shadow:0 1px 0 rgba(255,255,255,.85) inset;
}
.field-group textarea{
  min-height:110px;
  resize:vertical;
}
.field-group input:focus,
.field-group select:focus,
.field-group textarea:focus{
  outline:none;
  border-color:#94a3b8;
  box-shadow:0 0 0 3px rgba(148,163,184,.15);
}
.admin-create-order-card{
  padding:22px;
}
.admin-create-order-form{
  display:flex;
  flex-direction:column;
  gap:20px;
}
.admin-create-order-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:18px;
}
.field-span-2{
  grid-column:span 2;
}
.admin-create-order-search{
  min-width:0;
}
.admin-create-order-select{
  min-height:320px;
  padding:8px;
}
.admin-create-order-select option{
  padding:10px 12px;
  border-radius:8px;
}
@media (max-width: 900px){
  .admin-create-order-grid{
    grid-template-columns:1fr;
  }
  .field-span-2{
    grid-column:span 1;
  }
}

.account-layout{
  display:grid;
  grid-template-columns:minmax(320px, 1fr) minmax(320px, 1fr);
  gap:16px;
  align-items:start;
}
.klanten-layout{
  grid-template-columns:minmax(420px, 1.25fr) minmax(320px, 1fr);
}
.account-card{
  padding:20px;
}
.account-subactions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid var(--line);
}
.btn-danger{
  background:#fff4f4;
  color:#991b1b;
  border-color:#fecaca;
}
.btn-danger:hover{
  background:#fee2e2;
  border-color:#fca5a5;
}
.klanten-form-card .page-subtitle{
  margin-top:2px;
}
.empty-state{
  text-align:center;
  color:var(--muted);
  padding:22px 14px;
}
@media (max-width: 980px){
  .account-layout,
  .klanten-layout{
    grid-template-columns:1fr;
  }
}

input[readonly],
textarea[readonly]{
  background:#f8fafc;
  color:#475569;
}

.klanten-layout-simple{
  display:grid;
  grid-template-columns:minmax(340px, 420px) minmax(0, 1fr);
  gap:16px;
  align-items:start;
}
.klanten-list-card{
  padding-bottom:12px;
}
.klanten-list{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.klant-row{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto auto;
  gap:12px;
  align-items:center;
  padding:14px 14px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fbfcfe;
}
.klant-row.active{
  border-color:#caa1a8;
  box-shadow:0 0 0 3px rgba(139,30,45,.08);
  background:#fff;
}
.klant-main{
  min-width:0;
}
.klant-name{
  font-size:15px;
  font-weight:800;
  color:#0f172a;
}
.klant-city{
  margin-top:3px;
  color:var(--muted);
  font-size:13px;
}
.klant-status,
.klant-action{
  display:flex;
  align-items:center;
}

@media (max-width: 980px){
  .klanten-layout-simple{
    grid-template-columns:1fr;
  }
}
@media (max-width: 640px){
  .klant-row{
    grid-template-columns:1fr;
    align-items:flex-start;
  }
}