*{
    box-sizing:border-box;
}

.dashboard-sales-compare{display:flex;align-items:center;gap:8px;max-width:250px;}
.dashboard-sales-compare input{width:18px;height:18px;flex:none;}
.dashboard-sales-comparison{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0;}
.dashboard-sales-comparison[hidden]{display:none;}
.dashboard-sales-legend{display:flex;gap:16px;flex-wrap:wrap;color:var(--muted);}
.dashboard-sales-periods{font-size:13px;}
.dashboard-sales-previous-line{fill:none;stroke:var(--theme-chart-previous,#7c3aed);stroke-width:3;stroke-dasharray:8 5;}
.dashboard-sales-previous-line[hidden]{display:none;}
.dashboard-sales-comparison .is-positive{color:var(--theme-success-text,#166534);}
.dashboard-sales-comparison .is-negative{color:var(--theme-danger-text,#b91c1c);}
@media screen{html[data-theme="dark"]{--theme-chart-previous:#c4b5fd;}}

html,
body{
    margin:0;
    padding:0;
    min-height:100%;
}

body{
    background:
        radial-gradient(circle at top left, var(--theme-info-wash,rgba(37,99,235,.08)), transparent 30%),
        radial-gradient(circle at bottom right, var(--theme-info-wash,rgba(59,130,246,.08)), transparent 28%),
        var(--bg);
    color:var(--text);
    font-family:Inter, Arial, sans-serif;
}

h1{
    margin:0 0 12px;
    font-size:38px;
    letter-spacing:-.04em;
}

p{
    color:var(--muted);
}

a{
    color:var(--primary);
    text-decoration:none;
    font-weight:700;
}

a:hover{
    text-decoration:none;
}

label{
    display:block;
    margin-top:18px;
    margin-bottom:8px;
    font-size:14px;
    font-weight:700;
    color:var(--theme-text,#334155);
}

input,
select,
textarea{
    width:100%;
    border:1px solid var(--border);
    border-radius:16px;
    padding:13px 16px;
    background:var(--theme-surface,#fff);
    color:var(--text);
    outline:none;
    font-size:15px;
}

input:focus,
select:focus,
textarea:focus{
    border-color:var(--primary);
    box-shadow:0 0 0 4px rgba(37,99,235,.12);
}

textarea{
    resize:vertical;
    min-height:88px;
}

button{
    font-family:inherit;
}

/* AUTH */

.auth-box{
    width:100%;
    max-width:430px;
    margin:80px auto;
    padding:38px;
    background:var(--theme-surface,rgba(255,255,255,.92));
    border:1px solid var(--theme-border,rgba(255,255,255,.8));
    border-radius:28px;
    backdrop-filter:blur(10px);
    box-shadow:0 10px 40px rgba(15,23,42,.08), 0 2px 10px rgba(15,23,42,.04);
}

.auth-brand{
    display:flex;
    align-items:center;
    gap:13px;
    width:max-content;
    max-width:100%;
    margin-bottom:24px;
    color:var(--text);
}

.auth-brand:hover{
    color:var(--text);
}

.auth-brand img{
    width:52px;
    height:52px;
    flex:0 0 52px;
    object-fit:cover;
    border:1px solid var(--theme-border,#d7dce4);
    border-radius:50%;
    background:var(--theme-surface,#fff);
    padding:2px;
    box-shadow:0 7px 18px rgba(15,23,42,.12);
}

.auth-brand span{
    display:flex;
    flex-direction:column;
    min-width:0;
}

.auth-brand strong{
    color:var(--text);
    font-size:19px;
    line-height:1.2;
    letter-spacing:-.025em;
}

.auth-brand small{
    margin-top:3px;
    color:var(--muted);
    font-size:12px;
    font-weight:600;
}

.auth-box button{
    width:100%;
    margin-top:26px;
    padding:14px;
    border:0;
    border-radius:16px;
    background:linear-gradient(135deg,var(--theme-action-primary,var(--primary)),var(--theme-action-primary-hover,var(--primary-dark)));
    color:white;
    font-size:15px;
    font-weight:700;
    cursor:pointer;
    transition:.2s;
    box-shadow:0 10px 25px rgba(37,99,235,.22);
}

.auth-box button:hover{
    transform:translateY(-1px);
}

.auth-help-link{
    margin:10px 0 -12px;
    text-align:right;
    font-size:14px;
}

.button-link:disabled{
    opacity:.55;
    cursor:not-allowed;
    transform:none;
    box-shadow:none;
}

.bol-review-score-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
    margin-top:20px;
}

.bol-review-score-grid div{
    padding:16px;
    border:1px solid var(--theme-info-border,#dbeafe);
    border-radius:16px;
    background:var(--theme-surface-soft,#f8fbff);
}

.bol-review-score-grid span,
.bol-review-score-grid strong{
    display:block;
}

.bol-review-score-grid span{
    color:var(--theme-muted,#64748b);
    font-size:13px;
}

.bol-review-score-grid strong{
    margin-top:6px;
    font-size:20px;
}

.bol-review-counts{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:18px;
}

.bol-review-average{
    color:var(--theme-warning-text,#b45309);
    white-space:nowrap;
}

.bol-review-distribution{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    min-width:210px;
}

.bol-review-distribution span{
    padding:4px 7px;
    border-radius:8px;
    background:var(--theme-warning-surface,#fff7ed);
    color:var(--theme-danger-text,#9a3412);
    font-size:12px;
    white-space:nowrap;
}

@media(max-width:900px){
    .bol-review-score-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:560px){
    .bol-review-score-grid{
        grid-template-columns:1fr;
    }
}

/* MELDINGEN */

.error,
.success,
.alert{
    padding:14px 18px;
    border-radius:16px;
    margin:18px 0;
    font-weight:700;
}

.error,
.alert-error{
    background:var(--theme-danger-surface,#fef2f2);
    color:var(--theme-danger-text,#991b1b);
    border:1px solid var(--theme-danger-border,#fecaca);
}

.success,
.alert-success{
    background:var(--theme-success-surface,#ecfdf5);
    color:var(--theme-success-text,#065f46);
    border:1px solid var(--theme-success-border,#a7f3d0);
}

.alert-info{
    background:var(--theme-info-surface,#eff6ff);
    color:var(--theme-info-text,#1e3a8a);
    border:1px solid var(--theme-info-border,#bfdbfe);
}

.alert-warning{
    background:var(--theme-warning-surface,#fffbeb);
    color:var(--theme-warning-text,#92400e);
    border:1px solid var(--theme-warning-border,#fde68a);
}

/* LAYOUT */

.app-layout{
    min-height:100vh;
    display:flex;
}

.sidebar{
    width:270px;
    height:100vh;
    min-height:100vh;
    padding:26px 20px;
    background:linear-gradient(180deg,var(--sidebar),var(--sidebar-soft));
    color:var(--sidebar-text);
    position:fixed;
    left:0;
    top:0;
    display:flex;
    flex-direction:column;
    overflow-y:auto;
}

.sidebar-logo{
    margin-bottom:34px;
}

.sidebar-logo strong{
    display:block;
    color:white;
    font-size:26px;
    letter-spacing:-.04em;
}

.sidebar-logo span{
    display:block;
    margin-top:4px;
    color:#94a3b8;
    font-size:14px;
}

.sidebar-nav{
    display:flex;
    flex-direction:column;
    gap:8px;
}

.sidebar-nav a,
.sidebar-logout button{
    display:block;
    width:100%;
    padding:13px 14px;
    border-radius:14px;
    color:#cbd5e1;
    font-weight:700;
    text-align:left;
    background:transparent;
    border:0;
    cursor:pointer;
}

.sidebar-nav a:hover,
.sidebar-logout button:hover{
    background:rgba(255,255,255,.08);
    color:white;
}

.sidebar-logout{
    margin:0;
}

.sidebar-nav-bottom{
    margin-top:auto;
    border-top:1px solid rgba(255,255,255,0.08);
    padding-top:14px;
}

.main-content{
    width:100%;
    margin-left:270px;
}

.topbar{
    height:74px;
    padding:0 34px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    background:var(--theme-surface,rgba(255,255,255,.88));
    border-bottom:1px solid var(--border);
    backdrop-filter:blur(12px);
    position:sticky;
    top:0;
    z-index:100;
}

.topbar strong{
    font-size:22px;
    letter-spacing:-.03em;
}

.topbar-right{
    display:flex;
    align-items:center;
    gap:14px;
}

.topbar-user{
    color:var(--theme-muted,#475569);
    font-weight:600;
}

.topbar-settings-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:9px 15px;
    border-radius:12px;
    background:linear-gradient(135deg,var(--theme-info-solid,#2563eb),var(--theme-info-solid,#1d4ed8));
    color:white;
    text-decoration:none;
    font-weight:700;
    font-size:14px;
    box-shadow:0 6px 16px rgba(37,99,235,0.25);
    transition:.2s ease;
}

.topbar-settings-btn:hover{
    transform:translateY(-1px);
    box-shadow:0 8px 20px rgba(37,99,235,0.32);
}

.topbar-logout{
    color:var(--theme-danger-text,#ef4444);
    text-decoration:none;
    font-weight:700;
}

.topbar-logout:hover{
    text-decoration:underline;
}

.container{
    width:100%;
    max-width:2200px;
    margin:0 auto;
    padding:42px 56px;
}

.container h1{
    font-size:44px;
}

/* PAGE HEADER */

.page-header{
    width:100%;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    margin-bottom:28px;
}

.page-header p{
    margin-top:6px;
}

.page-actions{
    display:flex;
    gap:10px;
    align-items:center;
}

/* BUTTONS */

.button,
button.button,
a.button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:12px 18px;
    border-radius:14px;
    border:0;
    font-size:14px;
    font-weight:700;
    cursor:pointer;
    text-decoration:none;
}

.button.primary,
button.button.primary{
    background:linear-gradient(135deg,var(--theme-action-primary,var(--primary)),var(--theme-action-primary-hover,var(--primary-dark)));
    color:white;
    box-shadow:0 10px 25px rgba(37,99,235,.22);
}

.button.secondary,
a.button.secondary{
    background:var(--theme-info-surface,#e5edff);
    color:var(--theme-info-text,#2563eb);
    box-shadow:none;
}

.btn,
.button-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:14px 18px;
    border-radius:16px;
    background:linear-gradient(135deg,var(--theme-action-primary,var(--primary)),var(--theme-action-primary-hover,var(--primary-dark)));
    color:white;
    font-weight:700;
    text-decoration:none;
    border:0;
    box-shadow:0 10px 25px rgba(37,99,235,.22);
    cursor:pointer;
    transition:.2s;
}

.button-link:hover{
    transform:translateY(-1px);
}

.button-link.secondary{
    background:var(--theme-info-surface,#e5edff);
    color:var(--theme-info-text,#2563eb);
    box-shadow:none;
}

.button-link.danger{
    background:linear-gradient(135deg,var(--theme-danger-solid,#ef4444),var(--theme-action-danger,var(--danger)));
    color:white;
    box-shadow:none;
}

.secondary-button{
    background:var(--theme-surface,white);
    color:var(--primary);
    border:1px solid var(--border);
    box-shadow:none;
}

/* CARDS */

.card-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
    gap:24px;
    margin-top:30px;
}

.card,
.form-card,
.table-card{
    width:100%;
    border-radius:28px;
    background:var(--theme-surface,rgba(255,255,255,.82));
    border:1px solid var(--theme-border,rgba(255,255,255,.7));
    backdrop-filter:blur(10px);
    box-shadow:0 10px 40px rgba(15,23,42,.06), 0 2px 10px rgba(15,23,42,.04);
}

.card{
    padding:28px;
}

.card h2{
    margin:0 0 14px;
    color:var(--muted);
    font-size:13px;
    text-transform:uppercase;
    letter-spacing:.08em;
}

.card p{
    margin:0;
    color:var(--text);
    font-size:38px;
    font-weight:800;
    letter-spacing:-.04em;
}

.card-grid .card h2{
    font-size:20px;
    margin-bottom:10px;
    text-transform:none;
    letter-spacing:0;
    color:var(--text);
}

.card-grid .card p{
    font-size:14px;
    line-height:1.5;
    margin-bottom:18px;
    color:var(--theme-muted,#64748b);
    font-weight:400;
    letter-spacing:0;
}

.card-grid .form-group{
    margin-bottom:14px;
}

.card-grid .form-group label{
    font-size:13px;
    font-weight:600;
    margin-bottom:6px;
    display:block;
}

.form-card{
    padding:28px;
}

/* Facturatie-instellingen */
.invoice-settings-form{
    display:flex;
    flex-direction:column;
    gap:20px;
    max-width:1080px;
}
.invoice-settings-section{
    display:flex;
    flex-direction:column;
    gap:22px;
}
.invoice-settings-section h2,
.invoice-settings-section h3{
    margin:0;
}
.invoice-settings-section h3{
    font-size:16px;
}
.invoice-settings-section-heading{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:20px;
}
.invoice-settings-section-heading p{
    max-width:720px;
    margin:6px 0 0;
    color:var(--muted);
    line-height:1.55;
}
.invoice-settings-section-heading code{
    padding:2px 6px;
    border-radius:6px;
    background:var(--theme-info-surface,#eff6ff);
    color:var(--primary-dark);
}
.invoice-settings-fields{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}
.invoice-settings-fields-narrow{
    max-width:620px;
}
.invoice-settings-preview{
    display:grid;
    grid-template-columns:120px minmax(0,1fr);
    gap:16px;
    align-items:center;
    max-width:620px;
    color:var(--muted);
}
.invoice-settings-preview strong{
    color:var(--text);
    overflow-wrap:anywhere;
}
.invoice-settings-choice{
    display:flex;
    flex-direction:column;
    gap:9px;
    padding:0;
    border:0;
}
.invoice-settings-choice legend{
    margin-bottom:10px;
    font-weight:800;
}
.invoice-settings-choice label{
    display:flex;
    align-items:center;
    gap:9px;
    width:max-content;
}
.invoice-settings-choice input{
    width:17px;
    height:17px;
    margin:0;
}
.invoice-settings-switches{
    display:flex;
    flex-direction:column;
    gap:14px;
}
.invoice-setting-switch{
    display:grid;
    grid-template-columns:44px minmax(0,1fr);
    column-gap:12px;
    align-items:center;
    width:max-content;
    max-width:100%;
    cursor:pointer;
}
.invoice-setting-switch input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}
.invoice-setting-switch>span{
    grid-row:1/3;
    position:relative;
    width:42px;
    height:24px;
    border-radius:999px;
    background:var(--theme-surface-muted,#cbd5e1);
    transition:.18s ease;
}
.invoice-setting-switch>span::before{
    content:"";
    position:absolute;
    top:3px;
    left:3px;
    width:18px;
    height:18px;
    border-radius:50%;
    background:white;
    box-shadow:0 1px 4px rgba(15,23,42,.25);
    transition:.18s ease;
}
.invoice-setting-switch input:checked+span{
    background:var(--theme-success-solid,#22a52a);
}
.invoice-setting-switch input:checked+span::before{
    transform:translateX(18px);
}
.invoice-setting-switch input:focus-visible+span{
    outline:3px solid var(--theme-info-border,rgba(37,99,235,.25));
    outline-offset:2px;
}
.invoice-setting-switch strong{
    align-self:end;
}
.invoice-setting-switch small{
    grid-column:2;
    color:var(--muted);
    line-height:1.4;
}
.invoice-settings-old-numbering,
.invoice-notification-email{
    transition:opacity .18s ease;
}
.invoice-settings-old-numbering{
    display:flex;
    flex-direction:column;
    gap:16px;
    padding:20px;
    border:1px solid var(--border);
    border-radius:18px;
    background:var(--theme-surface-soft,#f8fafc);
}
.invoice-settings-old-numbering.is-muted,
.invoice-notification-email.is-muted{
    opacity:.55;
}
.invoice-settings-warning{
    margin:0;
}
.invoice-condition-list{
    display:flex;
    flex-direction:column;
    gap:12px;
}
.invoice-condition-list:empty::before{
    content:"Er zijn geen aanvullende uploadvoorwaarden ingesteld.";
    color:var(--muted);
}
.invoice-condition-row{
    display:grid;
    grid-template-columns:minmax(220px,1fr) minmax(180px,1fr) auto;
    gap:14px;
    align-items:end;
    padding:16px;
    border:1px solid var(--border);
    border-radius:18px;
    background:var(--theme-surface-soft,#f8fafc);
}
.invoice-condition-remove{
    min-height:52px;
}
.invoice-notification-email{
    max-width:520px;
}
.invoice-settings-savebar{
    position:sticky;
    bottom:18px;
    z-index:4;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:16px 18px;
    border:1px solid var(--theme-border,rgba(148,163,184,.35));
    border-radius:20px;
    background:var(--theme-surface,rgba(255,255,255,.94));
    box-shadow:0 14px 34px rgba(15,23,42,.14);
    backdrop-filter:blur(12px);
}
.invoice-settings-savebar p{
    margin:0;
    color:var(--muted);
}
.text-link{
    color:var(--primary);
    font-weight:700;
    text-decoration:none;
}
.text-link:hover{
    text-decoration:underline;
}
@media(max-width:720px){
    .invoice-settings-section-heading,
    .invoice-settings-savebar{
        align-items:stretch;
        flex-direction:column;
    }
    .invoice-settings-fields,
    .invoice-condition-row{
        grid-template-columns:1fr;
    }
    .invoice-settings-preview{
        grid-template-columns:1fr;
        gap:4px;
    }
    .invoice-settings-savebar .button-link,
    .invoice-condition-remove{
        width:100%;
    }
}
.grid-2{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:24px;
    align-items:start;
    margin-bottom:24px;
}
/* FORM */

.form{
    display:flex;
    flex-direction:column;
    gap:14px;
}

.form label{
    margin:0;
}

.form-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:24px;
    margin-top:10px;
}

.form-group{
    position:relative;
    display:flex;
    flex-direction:column;
    gap:8px;
}

.form-group label{
    margin:0;
}

.form-group input,
.form-group select{
    height:52px;
}

.checkbox-row{
    margin-top:28px;
    display:flex;
    gap:28px;
    align-items:center;
}

.checkbox-row label{
    display:flex;
    align-items:center;
    gap:10px;
    font-weight:600;
    color:var(--theme-text,#334155);
}

.checkbox-row input[type="checkbox"]{
    width:18px;
    height:18px;
}

.product-main-combobox{
    position:relative;
}

.product-main-results{
    position:absolute;
    z-index:40;
    top:calc(100% + 6px);
    right:0;
    left:0;
    max-height:320px;
    overflow-y:auto;
    padding:6px;
    border:1px solid var(--border);
    border-radius:12px;
    background:var(--theme-surface,#fff);
    box-shadow:0 18px 40px rgba(15, 23, 42, .16);
}

.product-main-result{
    display:flex;
    width:100%;
    padding:10px 12px;
    flex-direction:column;
    align-items:flex-start;
    gap:3px;
    border:0;
    border-radius:8px;
    background:transparent;
    color:var(--theme-text,#0f172a);
    text-align:left;
    cursor:pointer;
}

.product-main-result[hidden],
.product-main-results[hidden],
.product-main-empty[hidden]{
    display:none;
}

.product-main-result:hover,
.product-main-result.is-active{
    background:var(--theme-info-surface,#eef4ff);
}

.product-main-result small,
.product-main-empty,
.product-main-selection-actions small{
    color:var(--theme-muted,#64748b);
}

.product-main-empty{
    margin:0;
    padding:12px;
}

.product-main-selection-actions{
    display:flex;
    margin-top:7px;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    flex-wrap:wrap;
}

.product-main-clear{
    padding:0;
    border:0;
    background:transparent;
    color:var(--primary);
    font:inherit;
    font-weight:700;
    cursor:pointer;
}

.form-actions{
    margin-top:32px;
    display:flex;
    gap:12px;
    align-items:center;
}

.meta-info{
    margin-top:28px;
    padding-top:20px;
    border-top:1px solid var(--theme-border,#e2e8f0);
    color:var(--theme-muted,#64748b);
    font-size:14px;
    display:flex;
    flex-direction:column;
    gap:6px;
}

/* SEARCH */

.search-form{
    display:grid;
    grid-template-columns:1fr auto auto;
    gap:12px;
    align-items:center;
    margin-bottom:24px;
}

.search-form .button-link{
    padding:12px 20px;
    height:46px;
    box-shadow:none;
}

.cost-unavailable,
.cost-source{
    display:block;
    color:var(--muted);
    font-size:12px;
}

.cost-source{
    margin-top:3px;
}

/* TABLE */

.table-card{
    padding:24px;
    overflow:hidden;
}

.table-responsive,
.table-wrapper{
    width:100%;
    overflow-x:auto;
}

table{
    width:100%;
    border-collapse:separate;
    border-spacing:0;
}

.data-table{
    width:100%;
    min-width:1180px;
    border-collapse:collapse;
}

table thead th,
.data-table th{
    text-align:left;
    padding:16px 18px;
    font-size:13px;
    font-weight:700;
    color:var(--muted);
    text-transform:uppercase;
    letter-spacing:.08em;
    border-bottom:1px solid var(--border);
    background:var(--theme-surface-soft,rgba(248,250,252,.7));
    white-space:nowrap;
}

table tbody td,
.data-table td{
    padding:16px 18px;
    border-bottom:1px solid var(--theme-border,#f1f5f9);
    vertical-align:middle;
    white-space:nowrap;
}

table tfoot th{
    padding:18px;
    border-top:2px solid var(--theme-border,#e5e7eb);
    font-size:16px;
    white-space:nowrap;
}

.data-table tr:last-child td{
    border-bottom:none;
}

.data-table th:last-child,
.data-table td:last-child{
    width:260px;
    min-width:260px;
}

.empty-state,
.empty-row{
    color:var(--theme-muted,#64748b);
    font-weight:600;
}

/* BADGES */

.badge{
    display:inline-flex;
    align-items:center;
    padding:7px 12px;
    border-radius:999px;
    font-size:12px;
    font-weight:700;
    margin-right:6px;
}

.badge-success{
    background:var(--theme-success-surface,#dcfce7);
    color:var(--theme-success-text,#166534);
}

.badge-danger{
    background:var(--theme-danger-surface,#fee2e2);
    color:var(--theme-danger-text,#991b1b);
}

.badge-muted{
    background:var(--theme-surface-muted,#e2e8f0);
    color:var(--theme-muted,#475569);
}

.badge-neutral{
    background:var(--theme-info-surface,#eef2ff);
    color:var(--theme-info-text,#3730a3);
    border:1px solid var(--theme-info-border,#c7d2fe);
}

.badge-warning{
    background:var(--theme-warning-surface,#fef3c7);
    color:var(--theme-warning-text,#92400e);
    border:1px solid var(--theme-warning-border,#fde68a);
}

/* ACTIES IN TABELLEN */

.table-actions,
.product-actions,
.action-buttons{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:nowrap;
    white-space:nowrap;
}

.table-actions form,
.product-actions form{
    display:inline-flex;
    margin:0;
    padding:0;
}

.edit-button,
.product-edit-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    height:40px;
    padding:0 18px;
    border-radius:16px;
    background:var(--theme-info-surface,#e5edff);
    color:var(--theme-info-text,#2563eb);
    font-size:14px;
    font-weight:700;
    text-decoration:none;
    border:0;
    box-shadow:none;
    white-space:nowrap;
    cursor:pointer;
}

.delete-button,
.product-delete-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    height:40px;
    padding:0 18px;
    border-radius:16px;
    background:linear-gradient(135deg,var(--theme-danger-solid,#ef4444),var(--theme-action-danger,var(--danger)));
    color:white;
    font-size:14px;
    font-weight:700;
    text-decoration:none;
    border:0;
    box-shadow:none;
    white-space:nowrap;
    cursor:pointer;
    width:auto;
    margin:0;
}

.edit-button:hover,
.product-edit-btn:hover,
.delete-button:hover,
.product-delete-btn:hover{
    transform:translateY(-1px);
    text-decoration:none;
}

.delete-button:hover,
.product-delete-btn:hover{
    color:white;
    background:linear-gradient(135deg,var(--theme-action-danger,var(--danger)),var(--theme-action-danger-hover,var(--danger-dark)));
}

/* PAGINATION */

.pagination-bar{
    margin-top:16px;
    padding-right:20px;
    padding-left:20px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    color:var(--theme-muted,#64748b);
    font-size:14px;
}

.pagination{
    display:flex;
    gap:12px;
    align-items:center;
}

/* PRODUCT SEARCH AUTOCOMPLETE */

.product-search-results{
    display:none;
    position:absolute;
    left:0;
    right:0;
    top:100%;
    margin-top:8px;
    background:var(--theme-surface,#fff);
    border:1px solid var(--theme-border,#e5e7eb);
    border-radius:14px;
    overflow:hidden;
    box-shadow:0 14px 35px rgba(15,23,42,.16);
    z-index:9999;
    max-height:320px;
    overflow-y:auto;
}

.product-search-item{
    width:100%;
    margin:0;
    border:0;
    border-radius:0;
    box-shadow:none;
    background:var(--theme-surface,white);
    padding:12px 14px;
    text-align:left;
    cursor:pointer;
    display:flex;
    flex-direction:column;
    gap:3px;
    border-bottom:1px solid var(--theme-border,#f1f5f9);
    color:var(--theme-text,#0f172a);
}

.product-search-item:hover{
    background:var(--theme-surface-soft,#f8fafc);
    transform:none;
}

.product-search-item strong{
    color:var(--theme-text,#0f172a);
    font-size:14px;
}

.product-search-item span{
    color:var(--theme-muted,#64748b);
    font-size:13px;
}

.product-search-item small{
    color:var(--theme-muted,#94a3b8);
    font-size:12px;
}

.product-search-empty{
    padding:12px 14px;
    color:var(--theme-muted,#64748b);
    font-size:14px;
}

/* EAN FEEDBACK */

#ean-input{
    margin-bottom:14px;
}

.ean-feedback{
    margin-top:-4px;
    margin-bottom:22px;
}

.ean-counter{
    font-size:14px;
    font-weight:700;
    line-height:1.4;
    color:var(--theme-text,#0f172a);
}

.ean-valid{
    color:var(--theme-success-text,#16a34a) !important;
}

.ean-message{
    margin-top:2px;
    font-size:13px;
    line-height:1.4;
    color:var(--theme-danger-text,#dc2626);
    display:none;
}

/* KOSTEN / LANDEN */

.cost-summary{
    margin-top:32px;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
}

.cost-card{
    background:var(--theme-surface,white);
    border:1px solid var(--theme-border,#e5e7eb);
    border-radius:14px;
    padding:12px 14px;
    display:flex;
    flex-direction:column;
    gap:8px;
}

.cost-card span{
    display:block;
    font-size:13px;
    color:var(--theme-muted,#64748b);
    font-weight:700;
    margin-bottom:4px;
}

.cost-card strong{
    color:var(--theme-text,#0f172a);
    font-size:17px;
}

.cost-card small{
    display:block;
    color:var(--theme-muted,#64748b);
    margin-top:4px;
}

.cost-card.highlight{
    border-color:var(--theme-info-border,#2563eb);
    background:var(--theme-info-surface,#eff6ff);
}

.country-select-card{
    margin-top:32px;
    padding:24px;
    background:var(--theme-surface-soft,#f8fafc);
    border:1px solid var(--theme-border,#e2e8f0);
    border-radius:22px;
}

.country-select-card h3{
    margin:0 0 6px;
    color:var(--theme-text,#0f172a);
}

.country-select-card p{
    margin:0 0 18px;
    color:var(--theme-muted,#64748b);
}

.country-checkbox-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
    gap:14px;
}

.country-checkbox{
    display:flex;
    align-items:center;
    gap:12px;
    padding:14px 16px;
    background:var(--theme-surface,white);
    border:1px solid var(--theme-border,#dbe3f0);
    border-radius:16px;
    cursor:pointer;
}

.country-checkbox input{
    width:18px;
    height:18px;
}

.country-checkbox span{
    display:flex;
    flex-direction:column;
    gap:3px;
    color:var(--theme-text,#334155);
}

.country-cost-overview{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:16px;
    margin-top:20px;
}

.country-cost-group{
    background:var(--theme-surface-soft,#f8fafc);
    border:1px solid var(--theme-border,#e5e7eb);
    border-radius:16px;
    padding:16px;
}

.country-cost-group h3{
    margin:0 0 12px;
    font-size:16px;
}

.mini-cost-list{
    display:flex;
    flex-direction:column;
    gap:6px;
    min-width:150px;
}

.mini-cost-row{
    background:var(--theme-surface-soft,#f8fafc);
    border:1px solid var(--theme-border,#e5e7eb);
    border-radius:12px;
    padding:8px 10px;
    display:grid;
    grid-template-columns:auto auto;
    gap:2px 8px;
    align-items:center;
}

.mini-cost-row span{
    font-size:13px;
    font-weight:700;
    color:var(--theme-info-text,#2563eb);
}

.mini-cost-row strong{
    font-size:13px;
    color:var(--theme-text,#0f172a);
    text-align:right;
}

.mini-cost-row small{
    grid-column:1 / -1;
    font-size:11px;
    color:var(--theme-muted,#64748b);
}

/* AFBOEKBEHEER */

.grid-2{
    display:grid;
    grid-template-columns:1fr;
    gap:24px;
    align-items:start;
}

.filter-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
}

.stats-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:14px;
    margin-top:22px;
}

.stat-card{
    background:var(--theme-surface-soft,#f8fafc);
    border:1px solid var(--theme-border,#e2e8f0);
    border-radius:18px;
    padding:18px;
}

.stat-card span{
    display:block;
    color:var(--theme-muted,#64748b);
    font-size:13px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.05em;
    margin-bottom:8px;
}

.stat-card strong{
    display:block;
    color:var(--theme-text,#0f172a);
    font-size:22px;
}

.table-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:12px;
}

/* EXPORTS */

.export-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(280px,1fr));
    gap:24px;
    align-items:start;
}

.export-card{
    background:var(--theme-surface,#ffffff);
    border-radius:24px;
    padding:28px;
    box-shadow:0 18px 45px rgba(15,23,42,0.08);
    min-height:260px;
}

.export-card h2{
    font-size:20px;
    line-height:1.25;
    margin:0 0 10px;
}

.export-card p{
    font-size:14px;
    line-height:1.5;
    margin:0 0 18px;
    color:var(--theme-muted,#64748b);
    font-weight:400;
}

.export-card .form-group{
    margin-bottom:14px;
}

/* BOL RETAILER API - ALLEEN LEZEN */

.readonly-notice{
    display:inline-flex;
    align-items:center;
    padding:9px 14px;
    border-radius:999px;
    background:var(--theme-success-surface,#ecfdf5);
    color:var(--theme-success-text,#065f46);
    border:1px solid var(--theme-success-border,#a7f3d0);
    font-size:13px;
    font-weight:800;
}

.bol-tabs{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin:0 0 24px;
}

.bol-tabs a{
    padding:11px 16px;
    border-radius:14px;
    background:var(--theme-surface,#fff);
    border:1px solid var(--border);
    color:var(--theme-muted,#475569);
    font-weight:700;
    text-decoration:none;
}

.bol-tabs a.active{
    background:var(--theme-info-surface,#e5edff);
    border-color:var(--theme-info-border,#bfdbfe);
    color:var(--theme-info-text,#1d4ed8);
}

.bol-filter-form{
    display:grid;
    grid-template-columns:minmax(280px,1fr) minmax(180px,240px) auto auto;
    gap:14px;
    align-items:end;
}

.bol-filter-form .button-link{
    min-height:52px;
    box-shadow:none;
}

.bol-filter-form.is-searching{
    opacity:.72;
}

.bol-filter-form.is-searching #bol-offer-search{
    cursor:progress;
}

.bol-section{
    margin-top:24px;
}

.bol-offer-overview-table{
    min-width:1000px;
    table-layout:fixed;
}

.bol-offer-product-column{
    width:300px;
}

.bol-offer-product-cell{
    overflow:hidden;
    vertical-align:top;
    background:var(--theme-surface,#fbfcfe);
    white-space:normal;
}

.bol-offer-product-cell .product-thumbnail-identity{
    align-items:start;
}

.bol-offer-product-cell .product-thumbnail-identity>div{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:3px;
    width:100%;
    min-width:0;
}

.bol-offer-product-cell .product-thumbnail-identity strong{
    display:block;
    max-width:100%;
    line-height:1.35;
    overflow-wrap:anywhere;
    white-space:normal;
}

.bol-market-account{
    display:flex;
    align-items:center;
    gap:6px;
    min-width:0;
}

.bol-offer-product-cell small,
.bol-market-account small{
    color:var(--muted);
    font-size:11px;
    line-height:1.3;
}

.bol-market-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(330px,1fr));
    gap:10px;
}

.bol-market-card{
    display:grid;
    grid-template-areas:
        "header header header"
        "reference facts link"
        "footer footer footer";
    grid-template-columns:minmax(115px,.75fr) minmax(155px,.9fr) minmax(180px,1.35fr);
    gap:6px 12px;
    min-width:0;
    padding:8px 10px;
    border:1px solid var(--theme-border,#dbe4f0);
    border-radius:8px;
    background:var(--theme-surface,#fff);
}

.bol-market-card.is-paused{
    border-color:var(--theme-warning-border,#e6c23c);
    background:var(--theme-warning-surface,#fff8db);
}

.bol-market-hold-form{
    display:inline-flex;
    margin:0;
}

.bol-market-card-header,
.bol-market-card-footer{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
}

.bol-market-card-header{
    grid-area:header;
}

.bol-market-price{
    color:var(--text);
    font-size:16px;
    white-space:nowrap;
}

.bol-market-reference{
    grid-area:reference;
    align-self:center;
    overflow:hidden;
    color:var(--text);
    font-size:13px;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.bol-market-facts{
    grid-area:facts;
    display:grid;
    grid-template-columns:58px minmax(0,1fr);
    gap:8px;
}

.bol-market-link{
    grid-area:link;
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    align-content:center;
    align-items:center;
    gap:3px 7px;
    min-width:0;
}

.bol-market-facts>span{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:1px;
    min-width:0;
}

.bol-market-facts small,
.bol-market-link small,
.bol-market-card-footer>small{
    color:var(--muted);
    font-size:10.5px;
    line-height:1.35;
}

.bol-market-facts strong,
.bol-market-link strong{
    overflow:hidden;
    max-width:100%;
    font-size:12px;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.bol-market-link small{
    grid-column:1/-1;
}

.bol-market-facts em{
    color:var(--muted);
    font-size:10.5px;
    font-style:normal;
}

.bol-market-link{
    padding-left:10px;
    border-left:1px solid var(--theme-border,#edf1f6);
}

.bol-market-link .badge{
    margin:0;
}

.bol-market-card-footer{
    grid-area:footer;
    padding-top:6px;
    border-top:1px solid var(--theme-border,#edf1f6);
}

.bol-market-card-footer .edit-button{
    padding:5px 9px;
    min-height:30px;
}

@media (max-width:1100px){
    .bol-market-grid{
        grid-template-columns:1fr;
    }
}

@media (max-width:700px){
    .bol-market-card{
        grid-template-areas:
            "header header"
            "reference facts"
            "link link"
            "footer footer";
        grid-template-columns:minmax(120px,1fr) minmax(160px,1fr);
    }

    .bol-market-link{
        padding-top:6px;
        padding-left:0;
        border-top:1px solid var(--theme-border,#edf1f6);
        border-left:0;
    }
}

.export-card .export-card-note{
    margin-top:-2px;
    font-size:12px;
    line-height:1.45;
}

.bol-postnl-refresh-form{
    margin-top:6px;
}

.bol-postnl-refresh-form .edit-button{
    width:max-content;
}

.bol-postnl-tracking-error{
    color:var(--theme-danger-text,#b42318);
}

.bol-postnl-timeline{
    margin-top:4px;
}

.bol-postnl-timeline summary{
    color:var(--theme-info-text,#2457a7);
    cursor:pointer;
    font-size:.82rem;
    font-weight:700;
}

.bol-postnl-timeline ol{
    display:grid;
    gap:8px;
    margin:8px 0 0;
    padding-left:20px;
}

.bol-postnl-timeline li strong,
.bol-postnl-timeline li small{
    display:block;
}

.bol-label-preference-cell{
    min-width:0;
}

.bol-order-account-list{
    display:grid;
    gap:24px;
}

.bol-order-bulk-bar{
    position:sticky;
    top:12px;
    z-index:20;
    display:grid;
    grid-template-columns:minmax(240px,1fr) auto;
    align-items:center;
    gap:10px 18px;
    margin:0 0 18px;
    padding:14px 16px;
    border:1px solid var(--theme-border,var(--border));
    border-radius:12px;
    background:var(--theme-surface,#fff);
    box-shadow:var(--shadow-sm);
}

.bol-order-bulk-select{
    display:flex;
    align-items:center;
    gap:12px;
    min-width:0;
    color:var(--theme-text,var(--text));
    font-weight:800;
}

.bol-order-bulk-select input{
    flex:0 0 auto;
    width:20px;
    height:20px;
    margin:0;
}

.bol-order-bulk-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
}

.bol-order-bulk-actions .button-link{
    min-height:44px;
}

.bol-order-bulk-actions [hidden]{
    display:none;
}

.bol-order-bulk-progress{
    grid-column:1 / -1;
    min-height:18px;
    color:var(--theme-muted,var(--muted));
    font-size:12px;
}

.bol-order-bulk-progress:empty{
    display:none;
}

.bol-order-bulk-progress.is-error{
    color:var(--theme-danger-text,#b42318);
    font-weight:700;
}

[data-account-bulk-status]{
    max-width:360px;
    color:var(--theme-muted,var(--muted));
    font-size:12px;
    line-height:1.45;
    text-align:right;
}

.bol-vacation-mode-form{
    display:flex;
    justify-content:flex-end;
}

.bol-header-action-row{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:10px;
}

.bol-orders-header-actions{
    align-items:flex-end;
    flex-direction:column;
    gap:8px;
}

.bol-vacation-compact-export{
    padding-left:8px;
    border-left:1px solid var(--border);
    color:var(--primary);
    font-size:10.5px;
    font-weight:800;
    text-decoration:none;
}

.bol-dhl-label-import-form{
    margin:0;
}

.bol-dhl-label-import-form label{
    display:inline-block;
    cursor:pointer;
}

.bol-dhl-import-results{
    margin-bottom:18px;
}

.bol-dhl-import-results[hidden]{
    display:none;
}

.bol-dhl-import-table{
    width:100%;
    border-collapse:collapse;
}

.bol-dhl-import-table th,
.bol-dhl-import-table td{
    padding:10px 12px;
    border-bottom:1px solid var(--border);
    text-align:left;
    vertical-align:top;
}

.bol-dhl-import-table td small{
    display:block;
    margin-top:5px;
    color:var(--muted);
}

.bol-dhl-import-tracking{
    font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
    font-size:12px;
}

.bol-dhl-import-note{
    margin:12px 16px 16px;
    color:var(--muted);
    font-size:12px;
}

.bol-orders-table tr.bol-dhl-import-applied td{
    background:var(--theme-success-wash,rgba(22, 163, 74, 0.07));
}

.bol-manual-dhl-cell{
    min-width:0;
}

.bol-manual-dhl-form{
    display:grid;
    gap:7px;
}

.bol-manual-dhl-form input{
    width:100%;
    min-width:0;
    padding:9px 10px;
    font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
    font-size:12px;
    text-transform:uppercase;
}

.bol-manual-dhl-form .edit-button{
    width:100%;
    white-space:normal;
}

.bol-manual-dhl-form small{
    display:block;
    max-width:210px;
    color:var(--muted);
    line-height:1.35;
}

.bol-manual-dhl-form small.is-error{
    color:var(--theme-danger-text,#b42318);
}

@media (max-width:720px){
    .bol-orders-header-actions,
    .bol-header-action-row{align-items:flex-start;justify-content:flex-start}
    .bol-header-action-row{flex-wrap:wrap}
}

.bol-open-order-summary{
    display:grid;
    grid-template-columns:minmax(240px,320px) minmax(0,1fr);
    gap:18px;
    align-items:stretch;
    margin-bottom:18px;
}

.bol-open-order-summary>div,
.bol-open-order-summary ul{
    margin:0;
    padding:20px 22px;
    border:1px solid var(--border);
    border-radius:var(--radius-lg);
    background:var(--theme-surface,#fff);
}

.bol-open-order-summary>div{
    display:grid;
    gap:5px;
}

.bol-open-order-summary>div>span,
.bol-open-order-summary li small{
    color:var(--muted);
}

.bol-open-order-summary>div>span{
    font-size:12px;
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase;
}

.bol-open-order-summary>div>strong{
    color:var(--primary);
    font-size:34px;
    line-height:1;
}

.bol-open-order-summary>div>small{
    line-height:1.4;
}

.bol-open-order-summary ul{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    list-style:none;
}

.bol-open-order-summary li{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:2px 14px;
    min-width:190px;
    padding:11px 13px;
    border-radius:12px;
    background:var(--theme-surface-soft,#f8fafc);
}

.bol-open-order-summary li>span{
    overflow:hidden;
    font-weight:750;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.bol-open-order-summary li>small{
    grid-column:1;
}

.bol-open-order-summary li>strong{
    grid-column:2;
    grid-row:1 / span 2;
    align-self:center;
    color:var(--primary);
    font-size:22px;
}

.bol-order-deadline-tabs{
    display:flex;
    flex-wrap:wrap;
    margin-bottom:18px;
}

.bol-order-deadline-tabs a{
    padding:11px 15px;
    border:1px solid var(--border);
    border-right:0;
    background:var(--theme-surface,#fff);
    color:var(--text);
    font-weight:700;
    text-decoration:none;
}

.bol-order-deadline-tabs a:first-child{
    border-radius:10px 0 0 10px;
}

.bol-order-deadline-tabs a:last-child{
    border-right:1px solid var(--border);
    border-radius:0 10px 10px 0;
}

.bol-order-deadline-tabs a.is-active{
    border-color:var(--primary);
    background:var(--theme-action-primary,var(--primary));
    color:#fff;
    box-shadow:inset 0 0 0 1px var(--primary);
}

.bol-order-deadline-tabs a.is-active:hover{
    background:var(--theme-action-primary,var(--primary));
    color:#fff;
}

.bol-order-account-heading{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:10px;
}

.bol-order-account-heading h2{
    margin:0;
}

.bol-order-delivery-cell{
    min-width:175px;
}

.bol-order-processing-cell{
    min-width:230px;
}

.bol-order-identity-cell strong,
.bol-order-identity-cell small,
.bol-order-delivery-cell strong,
.bol-order-delivery-cell small,
.bol-order-processing-cell strong,
.bol-order-processing-cell small{
    display:block;
}

.bol-order-identity-cell small,
.bol-order-delivery-cell small,
.bol-order-processing-cell small{
    margin-top:3px;
    color:var(--theme-muted,#64748b);
    font-size:12px;
    line-height:1.35;
}

.bol-order-customer-name{
    margin-bottom:5px;
    font-weight:650;
    line-height:1.35;
}

.bol-order-all-visible>span,
.bol-order-account-section .pagination-bar>span{
    flex-shrink:0;
    white-space:nowrap;
}

@media (max-width:760px){
    .bol-order-bulk-bar{
        position:static;
        grid-template-columns:1fr;
    }

    .bol-order-bulk-actions{
        display:grid;
        grid-template-columns:1fr;
    }

    .bol-order-bulk-actions .button-link{
        width:100%;
    }

    .bol-order-bulk-progress{
        grid-column:1;
    }

    [data-account-bulk-status]{
        max-width:none;
        text-align:left;
    }

    .bol-open-order-summary{
        grid-template-columns:1fr;
    }

    .bol-order-deadline-tabs{
        display:grid;
        grid-template-columns:1fr 1fr;
    }

    .bol-order-deadline-tabs a,
    .bol-order-deadline-tabs a:first-child,
    .bol-order-deadline-tabs a:last-child{
        border:1px solid var(--border);
        border-radius:9px;
    }
}

.bol-order-products-cell{
    min-width:280px;
    max-width:420px;
}

.bol-order-product-list{
    display:grid;
    gap:10px;
}

.bol-order-product{
    display:grid;
    grid-template-columns:48px minmax(0,1fr);
    gap:10px;
    align-items:center;
    width:100%;
    min-width:0;
    max-width:100%;
    overflow:hidden;
}

.bol-order-product-copy{
    display:grid;
    gap:2px;
    min-width:0;
}

.product-thumbnail{
    width:48px;
    height:48px;
    border-radius:10px;
    border:1px solid var(--theme-border,#e2e8f0);
    background:var(--theme-surface-soft,#f8fafc);
}

.product-thumbnail:not(.product-thumbnail-placeholder){
    display:block;
    object-fit:contain;
}

.product-thumbnail-placeholder{
    display:grid;
    place-items:center;
    color:var(--muted);
    font-size:10px;
    font-weight:800;
    text-transform:uppercase;
}

.product-thumbnail-small{
    width:36px;
    height:36px;
    border-radius:8px;
}

.product-thumbnail-large{
    width:88px;
    height:88px;
    border-radius:16px;
}

.product-thumbnail-stack{
    display:inline-flex;
    align-items:center;
    min-width:36px;
}

.product-thumbnail-stack .product-thumbnail + .product-thumbnail{
    margin-left:-10px;
}

.product-thumbnail-identity{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    gap:10px;
    align-items:center;
}

.bol-order-product strong{
    color:var(--theme-text,#0f172a);
    font-size:13px;
    line-height:1.35;
}

.bol-order-product-title{
    display:block;
    width:100%;
    min-width:0;
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.bol-order-product small{
    color:var(--theme-muted,#64748b);
    font-size:12px;
    line-height:1.35;
}

.bol-order-product-reference{
    display:block;
}

.bol-label-preference-form{
    display:grid;
    gap:5px;
    min-width:0;
    max-width:190px;
}

.bol-label-preference-form fieldset{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:5px;
    min-width:0;
    margin:0;
    padding:0;
    border:0;
}

.bol-label-preference-form small,
.bol-label-context{
    display:block;
    color:var(--theme-muted,#64748b);
    font-size:12px;
    line-height:1.4;
}

.bol-label-preference-form .bol-label-radio-option{
    display:flex;
    gap:6px;
    align-items:center;
    min-width:0;
    padding:7px 8px;
    border:1px solid var(--theme-border,#dbe3ef);
    border-radius:9px;
    background:var(--theme-surface,#fff);
    color:var(--theme-text,#334155);
    cursor:pointer;
    font-size:11px;
    font-weight:750;
    line-height:1.2;
}

.bol-label-radio-option:has(input:checked){
    border-color:var(--theme-info-border,#2563eb);
    background:var(--theme-info-surface,#eff6ff);
    color:var(--theme-info-text,#1d4ed8);
}

.bol-label-radio-option input[type="radio"]{
    flex:0 0 auto;
    width:14px;
    height:14px;
    margin:0;
}

.bol-label-radio-option:has(input:disabled){
    cursor:not-allowed;
    opacity:.5;
}

.bol-label-constraint{
    color:var(--theme-warning-text,#92400e) !important;
    font-weight:750;
}

.bol-label-selection-state{
    min-height:17px;
}

.bol-offer-stats dd small{
    display:block;
    margin-top:4px;
    color:var(--theme-muted,#64748b);
    font-size:12px;
    font-weight:700;
}

.bol-label-selection-state.is-error,
.bol-bulk-label-form small.is-error{
    color:var(--theme-danger-text,#b42318);
}

.bol-label-override{
    color:var(--theme-warning-text,#92400e) !important;
    font-weight:800;
}

.bol-label-context{
    margin-top:6px;
}

.bol-order-account-section>.table-header{
    align-items:center;
}

.bol-bulk-label-form{
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-end;
    align-items:center;
    gap:6px;
    margin:0;
}

.bol-bulk-label-form .button-link{
    padding:10px 14px;
    border:1px solid var(--theme-border,#cbd5e1);
    border-radius:10px;
    background:var(--theme-surface,#fff);
    color:var(--theme-text,#0f172a);
    box-shadow:none;
}

.bol-bulk-label-form small{
    flex-basis:100%;
    text-align:right;
    min-height:17px;
    color:var(--theme-muted,#64748b);
    font-size:12px;
}

.bol-orders-table{
    width:100%;
    min-width:1360px;
    table-layout:fixed;
}

.bol-orders-table th{
    vertical-align:middle;
    line-height:1.25;
    white-space:normal;
}

.bol-orders-table th:nth-child(1){width:14%}
.bol-orders-table th:nth-child(2){width:15%}
.bol-orders-table th:nth-child(3){width:12%}
.bol-orders-table th:nth-child(4){width:30%}
.bol-orders-table th:nth-child(5){width:5%}
.bol-orders-table th:nth-child(6){width:16%}
.bol-orders-table th:nth-child(7){width:8%}

.bol-orders-table.has-order-selection th:nth-child(1){width:3%}
.bol-orders-table.has-order-selection th:nth-child(2){width:12%}
.bol-orders-table.has-order-selection th:nth-child(3){width:15%}
.bol-orders-table.has-order-selection th:nth-child(4){width:11%}
.bol-orders-table.has-order-selection th:nth-child(5){width:28%}
.bol-orders-table.has-order-selection th:nth-child(6){width:4%}
.bol-orders-table.has-order-selection th:nth-child(7){width:17%}
.bol-orders-table.has-order-selection th:nth-child(8){width:10%}

.bol-orders-table.has-order-selection.has-manual-dhl{
    min-width:1460px;
}

.bol-orders-table.has-order-selection.has-manual-dhl th:nth-child(1){width:3%}
.bol-orders-table.has-order-selection.has-manual-dhl th:nth-child(2){width:12%}
.bol-orders-table.has-order-selection.has-manual-dhl th:nth-child(3){width:14%}
.bol-orders-table.has-order-selection.has-manual-dhl th:nth-child(4){width:10%}
.bol-orders-table.has-order-selection.has-manual-dhl th:nth-child(5){width:22%}
.bol-orders-table.has-order-selection.has-manual-dhl th:nth-child(6){width:4%}
.bol-orders-table.has-order-selection.has-manual-dhl th:nth-child(7){width:13%}
.bol-orders-table.has-order-selection.has-manual-dhl th:nth-child(8){width:14%}
.bol-orders-table.has-order-selection.has-manual-dhl th:nth-child(9){width:8%}

.bol-order-select-column{
    text-align:center;
}

.bol-order-select-column input{
    width:16px;
    height:16px;
    margin:0;
}

.bol-bulk-label-form [data-process-label-batch]{
    border-color:var(--theme-info-border,#1d4ed8);
    background:var(--theme-info-solid,#1d4ed8);
    color:#fff;
}

.bol-orders-table .bol-order-products-cell,
.bol-orders-table .bol-order-processing-cell,
.bol-orders-table .bol-order-delivery-cell{
    min-width:0;
}

.bol-orders-table td{
    overflow-wrap:anywhere;
}

.bol-orders-table td:last-child .edit-button{
    width:100%;
    padding:9px 8px;
}

.bol-order-cancellation-form{
    margin:0;
}

.bol-order-cancellation-form+.bol-order-cancellation-form{
    margin-top:6px;
}

.bol-order-cancellation-form .edit-button{
    height:auto;
    min-height:40px;
    border-color:var(--theme-danger-border,#f0b8be);
    color:var(--danger-dark);
    white-space:normal;
}

.bol-order-cancellation-form .edit-button:hover{
    border-color:var(--theme-danger-border,#e9969f);
    background:var(--theme-danger-surface,#fff1f2);
    color:var(--danger-dark);
}

@media (max-width:760px){
    .bol-order-account-section>.table-header{
        align-items:flex-start;
    }

    .bol-bulk-label-form{
        width:100%;
        justify-content:stretch;
    }

    .bol-bulk-label-form .button-link{
        flex:1 1 100%;
    }
}

.bol-label-readonly-notice{
    margin:16px 0 0;
}

.bol-label-api-panel{
    display:grid;
    gap:14px;
    margin-top:20px;
    padding-top:20px;
    border-top:1px solid var(--theme-border,#e2e8f0);
}

.bol-label-api-panel h3,
.bol-label-api-panel p{
    margin:0;
}

.bol-label-options{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:12px;
}

.bol-label-option{
    display:flex;
    align-items:flex-start;
    gap:11px;
    padding:15px;
    border:1px solid var(--theme-border,#cbd5e1);
    border-radius:12px;
    background:var(--theme-surface,#fff);
    cursor:pointer;
}

.bol-label-option.is-automatic{
    border-color:var(--theme-info-border,#2563eb);
    background:var(--theme-info-surface,#eff6ff);
}

.bol-label-option.is-blocked{
    opacity:.72;
    cursor:not-allowed;
}

.bol-label-option>input{
    flex:0 0 auto;
    margin-top:4px;
}

.bol-label-option-copy{
    display:grid;
    gap:5px;
    min-width:0;
}

.bol-label-option-copy strong{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
}

.bol-label-option-copy span,
.bol-label-option-copy small{
    color:var(--theme-muted,#475569);
    line-height:1.4;
}

.bol-label-create-form{
    display:grid;
    gap:15px;
}

.bol-label-cost-confirmation{
    display:flex;
    align-items:flex-start;
    gap:9px;
    font-weight:700;
}

.bol-label-cost-confirmation input{
    margin-top:3px;
}

.bol-label-request-status{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px 14px;
    padding:14px;
    border:1px solid var(--theme-info-border,#bfdbfe);
    border-radius:10px;
    background:var(--theme-info-surface,#eff6ff);
}

.text-danger{
    color:var(--theme-danger-text,#b91c1c) !important;
    font-weight:700;
}

.bol-back-link{
    margin-bottom:18px;
}

.bol-detail-grid{
    grid-template-columns:1fr 1fr;
}

.bol-detail-list{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0;
    margin:18px 0 0;
}

.bol-detail-list div{
    padding:15px 0;
    border-bottom:1px solid var(--theme-border,#e2e8f0);
}

.bol-detail-list div:nth-child(odd){
    padding-right:24px;
}

.bol-detail-list dt{
    color:var(--theme-muted,#64748b);
    font-size:12px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.05em;
}

.bol-detail-list dd{
    margin:7px 0 0;
    color:var(--theme-text,#0f172a);
    font-weight:700;
    overflow-wrap:anywhere;
}

.bol-offer-back-link{
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:var(--primary);
    font-size:13px;
    font-weight:750;
    text-decoration:none;
}

.bol-offer-back-link:hover{
    text-decoration:underline;
}

.bol-offer-hero{
    padding-bottom:22px;
}

.bol-offer-hero-heading,
.bol-offer-panel-heading{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:20px;
}

.bol-offer-identity{
    gap:16px;
}

.bol-offer-status{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
}

.bol-offer-identity .product-thumbnail{
    width:72px;
    height:72px;
}

.bol-offer-eyebrow{
    display:block;
    margin-bottom:4px;
    color:var(--primary);
    font-size:11px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.bol-offer-identity h2{
    margin:0;
    color:var(--theme-text,#0f172a);
    font-size:clamp(20px,2.6vw,28px);
    line-height:1.2;
}

.bol-offer-identity p{
    margin:6px 0 0;
    color:var(--theme-muted,#64748b);
    font-size:13px;
}

.bol-offer-stats{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    margin:22px 0 0;
}

.bol-offer-stats>div{
    padding:16px 18px;
    border:1px solid var(--border);
    border-radius:14px;
    background:var(--theme-surface-soft,#f8fafc);
}

.bol-offer-stats dt,
.bol-offer-summary-list dt,
.bol-offer-link-details dt,
.bol-offer-technical dt{
    color:var(--theme-muted,#64748b);
    font-size:11px;
    font-weight:800;
    letter-spacing:.05em;
    text-transform:uppercase;
}

.bol-offer-stats dd{
    margin:5px 0 0;
    color:var(--theme-text,#0f172a);
    font-size:22px;
    font-weight:800;
}

.bol-offer-offline{
    margin-top:18px;
    padding:18px 20px;
    border:1px solid var(--theme-danger-border,#fecaca);
    border-radius:var(--radius-lg);
    background:var(--theme-danger-surface,#fff7f7);
}

.bol-offer-offline-heading>div{
    display:flex;
    align-items:flex-start;
    gap:12px;
}

.bol-offer-offline-icon{
    display:grid;
    place-items:center;
    width:28px;
    height:28px;
    border-radius:50%;
    background:var(--theme-danger-solid,#dc2626);
    color:#fff;
    font-weight:900;
}

.bol-offer-offline h2{
    margin:0;
    color:var(--theme-danger-text,#991b1b);
    font-size:16px;
}

.bol-offer-offline p{
    margin:3px 0 0;
    color:var(--theme-danger-text,#7f1d1d);
    font-size:13px;
}

.bol-offer-offline-empty{
    margin:14px 0 0 !important;
}

.bol-offer-reasons{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:16px;
    margin-top:16px;
}

.bol-offer-reason-country h3{
    margin:0 0 8px;
    color:var(--theme-danger-text,#991b1b);
    font-size:12px;
}

.bol-offer-offline .bol-reason-list{
    margin:0;
}

.bol-offer-offline .bol-reason{
    align-items:flex-start;
    padding:12px;
    background:var(--theme-surface,#fff);
}

.bol-offer-offline .bol-reason strong,
.bol-offer-offline .bol-reason span{
    display:block;
}

.bol-offer-offline .bol-reason span{
    margin-top:3px;
    color:var(--theme-danger-text,#7f1d1d);
    font-size:12px;
    line-height:1.45;
}

.bol-offer-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:20px;
    margin-top:20px;
    align-items:start;
}

.bol-offer-panel{
    min-width:0;
}

.bol-offer-panel-heading h2{
    margin:0;
    color:var(--theme-text,#0f172a);
    font-size:18px;
}

.bol-offer-panel-heading p{
    margin:5px 0 0;
    color:var(--theme-muted,#64748b);
    font-size:12px;
    line-height:1.45;
}

.bol-offer-market-badges{
    display:flex;
    justify-content:flex-end;
    gap:6px;
    flex-wrap:wrap;
}

.bol-offer-summary-list,
.bol-offer-link-details{
    display:grid;
    gap:0;
    margin:20px 0 0;
}

.bol-offer-summary-list>div,
.bol-offer-link-details>div{
    display:grid;
    grid-template-columns:minmax(120px,.7fr) minmax(0,1.3fr);
    gap:16px;
    padding:13px 0;
    border-bottom:1px solid var(--border);
}

.bol-offer-summary-list dd,
.bol-offer-link-details dd{
    margin:0;
    color:var(--theme-text,#0f172a);
    font-weight:700;
    overflow-wrap:anywhere;
}

.bol-offer-link-details dd small{
    display:block;
    margin-top:3px;
    color:var(--theme-muted,#64748b);
    font-size:11px;
    font-weight:500;
}

.bol-offer-technical{
    margin-top:18px;
    border:1px solid var(--border);
    border-radius:12px;
    overflow:hidden;
}

.bol-offer-technical summary{
    padding:13px 15px;
    background:var(--theme-surface-soft,#f8fafc);
    color:var(--theme-text,#334155);
    cursor:pointer;
    font-size:12px;
    font-weight:800;
}

.bol-offer-technical dl{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0 20px;
    margin:0;
    padding:4px 15px 12px;
}

.bol-offer-technical dl>div{
    padding:11px 0;
    border-bottom:1px solid var(--border);
}

.bol-offer-technical dd{
    margin:5px 0 0;
    color:var(--theme-text,#0f172a);
    font-size:12px;
    font-weight:700;
    overflow-wrap:anywhere;
}

.bol-offer-linked-product,
.bol-offer-unlinked-state{
    margin-top:20px;
    padding:16px;
    border:1px solid var(--theme-success-border,#bbf7d0);
    border-radius:14px;
    background:var(--theme-success-surface,#f0fdf4);
}

.bol-offer-linked-product span,
.bol-offer-linked-product strong,
.bol-offer-linked-product small{
    display:block;
}

.bol-offer-linked-product span{
    color:var(--theme-success-text,#166534);
    font-size:11px;
    font-weight:800;
    letter-spacing:.05em;
    text-transform:uppercase;
}

.bol-offer-linked-product strong{
    margin-top:5px;
    color:var(--theme-success-text,#14532d);
}

.bol-offer-linked-product small{
    margin-top:3px;
    color:var(--theme-success-text,#15803d);
}

.bol-offer-unlinked-state{
    border-color:var(--theme-warning-border,#fde68a);
    background:var(--theme-warning-surface,#fffbeb);
}

.bol-offer-unlinked-state strong{
    color:var(--theme-warning-text,#92400e);
}

.bol-offer-unlinked-state p{
    margin:4px 0 0;
    color:var(--theme-warning-text,#a16207);
    font-size:12px;
    line-height:1.5;
}

.bol-offer-primary-action{
    width:100%;
    margin-top:18px;
    justify-content:center;
}

.bol-offer-secondary-action{
    display:block;
    margin-top:12px;
    color:var(--primary);
    font-size:12px;
    font-weight:750;
    text-align:center;
}

@media (max-width:900px){
    .bol-offer-layout{
        grid-template-columns:1fr;
    }
}

@media (max-width:640px){
    .bol-offer-hero-heading,
    .bol-offer-panel-heading{
        align-items:flex-start;
        flex-direction:column;
    }

    .bol-offer-stats,
    .bol-offer-technical dl{
        grid-template-columns:1fr;
    }

    .bol-offer-summary-list>div,
    .bol-offer-link-details>div{
        grid-template-columns:1fr;
        gap:5px;
    }
}

.bol-address{
    margin-top:18px;
    color:var(--theme-text,#334155);
    font-style:normal;
    line-height:1.7;
}

.bol-reason-list{
    display:grid;
    gap:10px;
    margin:12px 0 20px;
}

.bol-reason{
    display:flex;
    gap:10px;
    align-items:center;
    padding:14px;
    border:1px solid var(--theme-danger-border,#fecaca);
    background:var(--theme-danger-surface,#fff7f7);
    border-radius:14px;
}

td.text-wrap{
    min-width:240px;
    white-space:normal;
}

.rate-info{
    margin:16px 4px 0;
    color:var(--theme-muted,#64748b);
    font-size:12px;
    text-align:right;
}

.bol-stock-formula{
    margin-top:20px;
    padding:16px 18px;
    border-radius:16px;
    border:1px solid var(--theme-info-border,#bfdbfe);
    background:var(--theme-info-surface,#eff6ff);
    color:var(--theme-info-text,#1e3a8a);
    line-height:1.55;
}

.bol-link-actions{
    display:flex;
    gap:20px;
    align-items:end;
    justify-content:space-between;
    margin-top:24px;
    padding-top:22px;
    border-top:1px solid var(--theme-border,#e2e8f0);
}

.bol-link-actions .form-group{
    width:min(460px,100%);
}

.bol-link-actions small{
    color:var(--theme-muted,#64748b);
    line-height:1.4;
}

.bol-unlink-form{
    margin-top:18px;
    display:flex;
    justify-content:flex-end;
}

.bol-row-actions{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
}

.bol-import-button{
    background:var(--theme-success-surface,#ecfdf5);
    color:var(--theme-success-text,#047857);
    border-color:var(--theme-success-border,#a7f3d0);
}

.bol-import-summary{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
    margin-bottom:24px;
}

.bol-import-summary div{
    padding:16px 18px;
    border:1px solid var(--theme-info-border,#dbeafe);
    border-radius:16px;
    background:var(--theme-surface-soft,#f8fbff);
}

.bol-import-summary span,
.bol-import-summary strong{
    display:block;
}

.bol-import-summary span{
    margin-bottom:6px;
    color:var(--theme-muted,#64748b);
    font-size:13px;
    font-weight:700;
}

.bol-import-notice{
    margin:24px 0 18px;
}

#bol-import-sub-fields{
    display:grid;
    grid-template-columns:minmax(0,2fr) minmax(160px,1fr);
    gap:18px;
    margin-top:18px;
    padding:20px;
    border:1px solid var(--theme-info-border,#bfdbfe);
    border-radius:18px;
    background:var(--theme-surface-soft,#f8fbff);
}

#bol-import-sub-fields[hidden]{
    display:none;
}

.dashboard-section {
    margin: 0 0 28px;
}

.dashboard-section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 12px;
}

.dashboard-section-heading h2 {
    margin: 3px 0 0;
    font-size: 20px;
}

.dashboard-section-note {
    color: var(--muted);
    font-size: 10px;
    font-weight: 700;
}

.dashboard-priority-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 14px;
}

.dashboard-priority-card {
    display: grid;
    align-content: start;
    min-width: 0;
    min-height: 180px;
    padding: 18px;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--theme-surface,#fff);
    color: var(--text);
    text-decoration: none;
    box-shadow: var(--shadow-sm);
    transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}

.dashboard-priority-card:hover {
    border-color: var(--primary);
    box-shadow: var(--shadow);
    transform: translateY(-1px);
}

.dashboard-priority-card.has-work {
    border-color: var(--theme-info-border,#bfdbfe);
    background: var(--theme-surface-soft,#f8fbff);
}

.dashboard-priority-card.has-warning {
    border-color: var(--theme-warning-border,#f6d68a);
    background: var(--theme-warning-surface,#fffaf0);
}

.dashboard-priority-card.is-clear {
    border-color: var(--theme-border,#c9e8d5);
    background: var(--theme-surface-soft,#f8fcf9);
}

.dashboard-priority-card > span {
    color: var(--muted);
    font-size: 11px;
    font-weight: 750;
}

.dashboard-priority-card > strong {
    margin-top: 7px;
    font-size: 34px;
    line-height: 1;
}

.dashboard-priority-card > small {
    display: block;
    margin-top: 9px;
    color: var(--muted);
    font-size: 10px;
    line-height: 1.45;
}

.dashboard-priority-card > b {
    align-self: end;
    margin-top: 18px;
    color: var(--primary);
    font-size: 11px;
}

.dashboard-sales-card {
    width: 100%;
    padding: var(--space-6,24px);
    border: 1px solid var(--theme-info-border,#dce8f7);
    border-radius: 18px;
    background: linear-gradient(145deg, var(--theme-surface,#ffffff) 0%, var(--theme-info-surface,#f7fbff) 100%);
    box-shadow: 0 12px 34px rgba(31, 72, 123, .07);
}

.dashboard-sales-top,
.dashboard-sales-filters {
    display: flex;
    align-items: flex-end;
    flex-wrap: wrap;
    gap: var(--space-3,12px);
}

.dashboard-sales-top {
    justify-content: space-between;
    margin-bottom: var(--space-5,20px);
}

.dashboard-sales-filters {
    padding: 7px;
    border: 1px solid var(--theme-info-border,#e3ecf7);
    border-radius: 12px;
    background: var(--theme-surface,#fff);
}

.dashboard-sales-filters .form-group {
    min-width: 160px;
    margin: 0;
}

.dashboard-sales-filters label {
    display: block;
    margin-bottom: 5px;
    color: var(--muted);
    font-size: 11px;
    font-weight: 700;
}

.dashboard-sales-filters select,
.dashboard-sales-filters .button-link {
    min-height: 38px;
}

.dashboard-sales-filters select {
    border-color: var(--theme-border,#d9e5f3);
    border-radius: 8px;
    background-color: var(--theme-surface-soft,#f8fbff);
    font-weight: 600;
}

.dashboard-sales-total {
    display: grid;
    gap: 3px;
    text-align: right;
}

.dashboard-sales-total span,
.dashboard-sales-note {
    color: var(--muted);
    font-size: 11px;
}

.dashboard-sales-total strong {
    color: var(--theme-info-text,#173f79);
    font-size: 25px;
    letter-spacing: -.03em;
}

.dashboard-sales-plot {
    position: relative;
    overflow-x: auto;
    border: 1px solid var(--theme-info-border,#e8eff9);
    border-radius: 14px;
    background: var(--theme-surface,#fff);
    padding: var(--space-3,12px) 10px var(--space-1,4px);
}

.dashboard-sales-plot svg {
    display: block;
    width: 100%;
    min-width: 680px;
    height: auto;
    transition: opacity .18s ease;
}

.dashboard-sales-plot svg.is-updating {
    opacity: .42;
}

.dashboard-sales-gridline {
    stroke: var(--theme-border,#e9eff7);
    stroke-width: 1;
}

.dashboard-sales-axis-label {
    fill: var(--theme-muted,#738198);
    font-size: 12px;
    font-weight: 600;
}

.dashboard-sales-area {
    fill: url(#dashboard-sales-fill);
}

.dashboard-sales-line {
    fill: none;
    stroke: var(--theme-info-text,#2563eb);
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 3.5;
    filter: drop-shadow(0 3px 3px rgba(37, 99, 235, .15));
}

.dashboard-sales-point {
    fill: #fff;
    stroke: var(--theme-info-border,#2563eb);
    stroke-width: 2;
}

.dashboard-sales-hit {
    fill: transparent;
}

.dashboard-sales-hit:hover,
.dashboard-sales-hit:focus-visible {
    fill: var(--theme-info-wash,rgba(37, 99, 235, .055));
    outline: none;
}

.dashboard-sales-guide {
    stroke: var(--theme-info-border,#77a7e9);
    stroke-width: 1.5;
    stroke-dasharray: 4 5;
    pointer-events: none;
}

.dashboard-sales-active-point {
    fill: var(--theme-info-text,#2563eb);
    stroke: var(--theme-border,#fff);
    stroke-width: 3;
    filter: drop-shadow(0 2px 5px rgba(37, 99, 235, .3));
    pointer-events: none;
}

.dashboard-sales-tooltip {
    position: absolute;
    z-index: 2;
    top: 16px;
    right: 18px;
    display: grid;
    gap: 3px;
    max-width: 280px;
    padding: var(--space-3,12px) 14px;
    border: 1px solid var(--theme-info-border,#dbe7f7);
    border-radius: 12px;
    background: var(--theme-surface,rgba(255, 255, 255, .97));
    box-shadow: 0 12px 26px rgba(32, 73, 125, .15);
    pointer-events: none;
}

.dashboard-sales-tooltip-date {
    color: var(--theme-muted,#63748e);
    font-size: 11px;
    font-weight: 700;
    text-transform: capitalize;
}

.dashboard-sales-tooltip strong {
    color: var(--theme-info-text,#173f79);
    font-size: 20px;
}

.dashboard-sales-tooltip-details {
    color: var(--theme-muted,#566782);
    font-size: 11px;
    line-height: 1.4;
}

.dashboard-sales-plot[hidden],
.dashboard-sales-empty[hidden],
.dashboard-sales-tooltip[hidden],
.dashboard-sales-guide[hidden],
.dashboard-sales-active-point[hidden] {
    display: none;
}

.dashboard-sales-note {
    margin: 10px 0 0;
    line-height: 1.5;
}

.dashboard-sales-empty {
    display: grid;
    place-items: center;
    min-height: 220px;
    margin: 0;
    border-radius: 12px;
    background: var(--theme-surface-soft,#f8fbff);
    color: var(--muted);
    font-size: 13px;
}

@media (max-width: 700px) {
    .dashboard-sales-card {
        padding: var(--space-4,16px);
    }

    .dashboard-sales-top {
        align-items: flex-start;
    }

    .dashboard-sales-total {
        text-align: left;
    }

    .dashboard-sales-tooltip {
        right: 12px;
        max-width: 230px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .dashboard-sales-plot svg {
        transition: none;
    }
}

.dashboard-summary-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
    gap: 14px;
}

.dashboard-summary-panel {
    min-width: 0;
    padding: 18px;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--theme-surface,#fff);
    box-shadow: var(--shadow-sm);
}

.dashboard-summary-panel > header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--border);
}

.dashboard-summary-panel > header span {
    color: var(--muted);
    font-size: 9px;
    font-weight: 750;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.dashboard-summary-panel > header h3 {
    margin: 3px 0 0;
    font-size: 16px;
}

.dashboard-summary-panel dl {
    display: grid;
    gap: 0;
    margin: 6px 0 0;
}

.dashboard-summary-panel dl > div {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    padding: 9px 0;
    border-bottom: 1px solid var(--border);
}

.dashboard-summary-panel dl > div:last-child {
    border-bottom: 0;
}

.dashboard-summary-panel dt {
    color: var(--muted);
    font-size: 11px;
}

.dashboard-summary-panel dd {
    margin: 0;
    font-size: 13px;
    font-weight: 750;
    text-align: right;
}

.dashboard-summary-panel > p {
    margin: 12px 0 0;
    color: var(--muted);
    font-size: 10px;
    line-height: 1.45;
}

.dashboard-bol-alert{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin:0 0 24px;
    padding:18px 20px;
    border:1px solid var(--theme-warning-border,#fcd34d);
    border-radius:20px;
    background:var(--theme-warning-surface,#fffbeb);
    box-shadow:0 8px 28px rgba(146,64,14,.08);
}

.dashboard-margin-card{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin:0 0 24px;
    padding:20px 22px;
    border:1px solid var(--theme-success-border,#a7f3d0);
    border-radius:20px;
    background:var(--theme-success-surface,#ecfdf5);
    box-shadow:0 8px 28px rgba(6,95,70,.08);
}

.dashboard-margin-card strong,
.dashboard-margin-card span{
    display:block;
}

.dashboard-margin-card strong{
    color:var(--theme-success-text,#065f46);
    font-size:18px;
}

.dashboard-margin-card span{
    margin-top:5px;
    color:var(--theme-success-text,#047857);
}

.dashboard-bol-alert[hidden]{
    display:none;
}

.dashboard-bol-alert strong,
.dashboard-bol-alert span{
    display:block;
}

.dashboard-bol-alert strong{
    color:var(--theme-warning-text,#92400e);
    font-size:17px;
}

.dashboard-bol-alert span{
    margin-top:4px;
    color:var(--theme-warning-text,#a16207);
}

.dashboard-bol-dialog{
    width:min(580px,calc(100% - 32px));
    padding:30px;
    border:0;
    border-radius:26px;
    color:var(--theme-text,#0f172a);
    box-shadow:0 30px 80px rgba(15,23,42,.3);
}

.dashboard-bol-dialog::backdrop{
    background:rgba(15,23,42,.55);
    backdrop-filter:blur(3px);
}

.dashboard-bol-dialog h2{
    margin:14px 0 8px;
}

.dashboard-bol-dialog p{
    margin:0 0 14px;
}

.dashboard-bol-dialog ul{
    margin:0;
    padding:14px 18px 14px 36px;
    border-radius:16px;
    background:var(--theme-surface-soft,#f8fafc);
    color:var(--theme-text,#334155);
    line-height:1.7;
}

.dashboard-bol-dialog-icon{
    display:inline-grid;
    width:42px;
    height:42px;
    place-items:center;
    border-radius:50%;
    background:var(--theme-warning-surface,#fef3c7);
    color:var(--theme-warning-text,#b45309);
    font-size:24px;
    font-weight:800;
}

.dialog-close{
    position:absolute;
    top:16px;
    right:18px;
    width:38px;
    height:38px;
    border:0;
    border-radius:50%;
    background:var(--theme-surface-soft,#f1f5f9);
    color:var(--theme-muted,#475569);
    font-size:24px;
    cursor:pointer;
}

.dashboard-bol-dialog-actions{
    display:flex;
    justify-content:flex-end;
    align-items:center;
    gap:10px;
    margin-top:22px;
}

.dashboard-bol-dialog-actions form{
    margin:0;
}

.bol-vvb-notice{
    margin-bottom:20px;
}

.bol-vvb-actions{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:18px;
    margin-top:18px;
    padding:20px;
    border:1px solid var(--theme-info-border,#bfdbfe);
    border-radius:20px;
    background:var(--theme-info-surface,#eff6ff);
}

.bol-vvb-actions p{
    margin:0;
    color:var(--theme-info-text,#1e3a8a);
}

.bol-sales-stats{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
    gap:16px;
    margin-bottom:22px;
}

.bol-sales-stats div{
    padding:20px;
    border:1px solid var(--theme-info-border,#dbeafe);
    border-radius:20px;
    background:var(--theme-surface,rgba(255,255,255,.88));
    box-shadow:0 8px 28px rgba(15,23,42,.05);
}

.bol-sales-stats span,
.bol-sales-stats strong{
    display:block;
}

.bol-sales-stats span{
    margin-bottom:7px;
    color:var(--theme-muted,#64748b);
    font-size:13px;
    font-weight:700;
}

.bol-sales-stats strong{
    font-size:24px;
    color:var(--theme-text,#0f172a);
}

.bol-sales-sync{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
}

.bol-sales-sync h2,
.bol-sales-sync p{
    margin:0;
}

.bol-sales-sync p{
    margin-top:7px;
}

.bol-sales-account-sync{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:20px;
    padding:16px 20px;
    border-top:1px solid var(--border);
    border-bottom:1px solid var(--border);
    background:var(--theme-surface-soft,#f8fafc);
}

.bol-sales-account-sync>div,
.bol-sales-account-sync form{
    display:grid;
    gap:5px;
}

.bol-sales-account-sync small{
    display:block;
    color:var(--muted);
}

.bol-sales-account-sync form{
    justify-items:end;
    min-width:min(100%,280px);
}

.bol-live-rate-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
    gap:14px;
    margin-top:18px;
}

.bol-live-rate-grid div{
    padding:17px;
    border:1px solid var(--theme-info-border,#dbeafe);
    border-radius:17px;
    background:var(--theme-surface-soft,#f8fbff);
}

.bol-live-rate-grid span,
.bol-live-rate-grid strong,
.bol-live-rate-grid small{
    display:block;
}

.bol-live-rate-grid span{
    color:var(--theme-muted,#64748b);
    font-size:13px;
    font-weight:700;
}

.bol-live-rate-grid strong{
    margin:6px 0;
    font-size:24px;
}

.bol-live-rate-grid small{
    color:var(--theme-muted,#475569);
    line-height:1.45;
}

.bol-margin-stats .margin-negative,
.bol-margin-table .margin-negative{
    color:var(--theme-danger-text,#b42318);
}

.bol-margin-stats .margin-positive,
.bol-margin-table .margin-positive{
    color:var(--theme-success-text,#067647);
}

.bol-margin-formula p{
    margin:8px 0 0;
}

.bol-margin-table{
    min-width:1540px;
}

.realized-margin-table{
    min-width:1740px;
}

.bol-margin-table th,
.bol-margin-table td{
    vertical-align:top;
}

.bol-margin-product{
    min-width:240px;
}

.bol-margin-product small,
.bol-margin-product a,
.bol-margin-money small,
.bol-margin-table td > small{
    display:block;
    margin-top:4px;
}

.bol-margin-product a{
    font-size:12px;
}

.bol-margin-money{
    white-space:nowrap;
}

.bol-return-filter-form{
    grid-template-columns:minmax(220px,320px) auto;
    justify-content:start;
}

.bol-return-products{
    min-width:320px;
}

.bol-return-product + .bol-return-product{
    margin-top:12px;
    padding-top:12px;
    border-top:1px solid var(--theme-border,#e2e8f0);
}

.bol-return-product small{
    display:block;
    margin-top:4px;
    color:var(--theme-muted,#64748b);
}

.bol-return-tracking{
    min-width:210px;
}

.bol-return-tracking-code{
    display:block;
    overflow-wrap:anywhere;
    font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;
    font-size:.86rem;
}

.bol-return-tracking a{
    color:var(--theme-info-text,#2563eb);
    font-weight:650;
    text-decoration:none;
}

.bol-return-tracking a:hover,
.bol-return-tracking a:focus-visible{
    text-decoration:underline;
}

.bol-return-processing-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:20px;
}

.bol-return-batch-intro,
.bol-return-batch-actions{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
}

.bol-return-batch-intro{
    margin-bottom:0;
}

.bol-return-batch-intro .button-link,
.bol-return-batch-actions .button-link{
    flex:0 0 auto;
}

.bol-return-batch-actions{
    padding:18px 20px;
    border:1px solid var(--theme-info-border,#bfdbfe);
    border-radius:16px;
    background:var(--theme-info-surface,#eff6ff);
}

.bol-return-batch-actions span,
.bol-return-batch-actions small{
    display:block;
}

.bol-return-batch-actions small{
    margin-top:3px;
    color:var(--theme-muted,#475569);
}

.bol-return-processing-card{
    min-width:0;
}

.bol-return-processing-card > p{
    color:var(--theme-muted,#475569);
    line-height:1.55;
}

.bol-return-choice{
    display:flex;
    align-items:flex-start;
    gap:12px;
    padding:16px;
    border:1px solid var(--theme-border,#dbe3ef);
    border-radius:16px;
    background:var(--theme-surface-soft,#f8fafc);
    cursor:pointer;
}

.bol-return-choice + .bol-return-choice{
    margin-top:10px;
}

.bol-return-choice input{
    width:auto;
    min-height:auto;
    margin-top:4px;
}

.bol-return-choice span,
.bol-return-choice small{
    display:block;
}

.bol-return-choice small{
    margin-top:4px;
    color:var(--theme-muted,#64748b);
    line-height:1.45;
}

.bol-return-disposition-form .form-group{
    margin-top:18px;
}

.bol-return-intent-summary{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:10px 14px;
    padding:14px 16px;
    margin-bottom:16px;
    border:1px solid var(--theme-border,#dbe3ef);
    border-radius:14px;
    background:var(--theme-surface-soft,#f8fafc);
}

.bol-return-intent-summary .button-link{
    margin-left:auto;
}

.bol-return-intent-form .form-grid{
    margin-top:0;
}

.bol-return-intent-form .form-group > small{
    color:var(--theme-muted,#64748b);
    line-height:1.45;
}

.product-page-actions{
    flex-wrap:wrap;
    justify-content:flex-end;
}

.page-action-menu{
    position:relative;
}

.page-action-menu summary{
    list-style:none;
}

.page-action-menu summary::-webkit-details-marker{
    display:none;
}

.page-action-menu-panel{
    position:absolute;
    z-index:20;
    top:calc(100% + 8px);
    right:0;
    min-width:230px;
    padding:8px;
    border:1px solid var(--theme-border,#dbe3ef);
    border-radius:16px;
    background:var(--theme-surface,#fff);
    box-shadow:0 18px 40px rgba(15,23,42,.14);
}

.page-action-menu-panel a{
    display:block;
    padding:11px 12px;
    border-radius:10px;
    color:var(--theme-text,#334155);
    font-weight:700;
    text-decoration:none;
}

.page-action-menu-panel a:hover{
    background:var(--theme-surface-soft,#f1f5f9);
}






.product-filter-form{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    align-items:end;
    margin-bottom:24px;
    padding:14px 16px;
    border:1px solid var(--theme-border,#e2e8f0);
    border-radius:14px;
    background:var(--theme-surface,#fff);
    box-shadow:var(--shadow-sm);
}

.product-filter-form .form-group{
    flex:1 1 145px;
    min-width:0;
    margin:0;
}

.product-filter-form .product-search-field{
    flex:2 1 300px;
}

.product-filter-form label{
    display:block;
    margin-bottom:5px;
    color:var(--muted);
    font-size:10px;
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase;
}

.product-filter-form input,
.product-filter-form select{
    width:100%;
    min-width:0;
    min-height:42px;
    padding:8px 11px;
    border-color:var(--theme-border,#d7e0ea);
    border-radius:9px;
    background:var(--theme-surface-soft,#f8fafc);
}

.product-filter-form .button-link{
    min-height:42px;
    padding:9px 13px;
    box-shadow:none;
}

.product-filter-actions{
    display:flex;
    flex:0 0 auto;
    align-items:center;
    gap:10px;
}

.product-filter-actions .button-link{
    flex:0 0 auto;
}

.product-filter-form.is-searching{
    opacity:.72;
}

.product-table-card{
    padding:0;
}

.product-table-card > .table-header{
    padding:24px 24px 0;
}











.product-overview-name{
    white-space:normal;
}

.product-name-line{
    display:flex;
    align-items:flex-start;
    gap:9px;
}

.product-name-line > div{
    min-width:0;
}

.product-name-line strong,
.product-name-line small,

.product-name-line strong{
    overflow-wrap:anywhere;
}

.product-name-line small,

.product-sub-row .product-name-line{
    padding-left:20px;
}

.product-tree-marker{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 22px;
    width:22px;
    height:24px;
    padding:0;
    border:0;
    background:transparent;
    color:var(--theme-muted,#64748b);
    font-size:16px;
    box-shadow:none;
}

button.product-tree-toggle{
    cursor:pointer;
}

button.product-tree-toggle:hover{
    color:var(--theme-info-text,#2563eb);
    transform:none;
}

.product-stock-cell > strong{
    display:block;
    font-size:15px;
}

.product-warning{
    color:var(--theme-danger-text,#b42318) !important;
    font-weight:700;
}

.product-row-actions{
    display:flex;
    gap:5px;
    align-items:center;
    flex-wrap:nowrap;
}

.product-row-actions form{
    margin:0;
}

.product-row-actions .edit-button{
    padding:7px 9px;
    font-size:10.5px;
    white-space:nowrap;
}

.company-address-grid{
    grid-template-columns:minmax(240px,2fr) minmax(110px,.65fr) minmax(110px,.65fr);
}

.company-city-field{
    grid-column:span 2;
}

.company-invoice-logo{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:24px;
    margin:22px 0;
    padding:20px;
    border:1px solid var(--theme-border,#dbe3ef);
    border-radius:14px;
    background:var(--theme-surface-soft,#f8fafc);
}

.company-invoice-logo h3{
    margin:0 0 5px;
}

.company-invoice-logo p{
    margin:0 0 14px;
    color:var(--theme-muted,#64748b);
}

.optional-label{
    font-size:11px;
    font-weight:600;
    color:var(--theme-muted,#64748b);
}

.company-logo-preview{
    display:flex;
    align-items:center;
    justify-content:center;
    width:210px;
    min-height:90px;
    padding:12px;
    border:1px solid var(--theme-border,#dbe3ef);
    border-radius:10px;
    /* Preview the invoice logo on its actual white document background. */
    background:#fff;
}

.company-logo-preview img{
    display:block;
    max-width:100%;
    max-height:80px;
    object-fit:contain;
}

.company-logo-remove{
    display:block;
    margin-top:12px;
    font-size:13px;
}

@media (max-width:760px){
    .company-address-grid{
        grid-template-columns:1fr;
    }
    .company-city-field{
        grid-column:auto;
    }
    .company-invoice-logo{
        flex-direction:column;
    }
    .company-logo-preview{
        width:100%;
    }
}

.product-channel-section{
    margin-bottom:24px;
}

.inventory-control-card{
    margin-bottom:24px;
    border-color:var(--theme-info-border,#bfdbfe);
    background:linear-gradient(135deg,var(--theme-surface-soft,#f8fbff) 0%,var(--theme-surface,#fff) 72%);
}

.inventory-amount-block{
    min-width:150px;
    padding:14px 18px;
    border:1px solid var(--theme-info-border,#bfdbfe);
    border-radius:14px;
    background:var(--theme-info-surface,#eff6ff);
    text-align:right;
}

.inventory-amount-block span,
.inventory-amount-block small{
    display:block;
    color:var(--muted);
    font-size:12px;
}

.inventory-amount-block strong{
    display:block;
    margin:2px 0;
    color:var(--theme-info-text,#0f3d7a);
    font-size:30px;
    line-height:1;
}

.inventory-source-note{
    display:flex;
    flex-wrap:wrap;
    gap:6px 14px;
    margin:14px 0;
    padding:12px 14px;
    border-radius:12px;
    background:var(--theme-warning-surface,#fff7ed);
    color:var(--theme-danger-text,#9a3412);
}

.inventory-adjustment{
    margin-top:16px;
    border-top:1px solid var(--border);
    padding-top:14px;
}

.inventory-takeover-form{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin-top:16px;
    padding:14px;
    border:1px solid var(--theme-success-border,#86efac);
    border-radius:12px;
    background:var(--theme-success-surface,#f0fdf4);
}

.inventory-takeover-form strong,
.inventory-takeover-form span{
    display:block;
}

.inventory-takeover-form span{
    margin-top:3px;
    color:var(--muted);
}

.inventory-adjustment summary{
    cursor:pointer;
    font-weight:800;
}

.inventory-adjustment-form{
    display:grid;
    grid-template-columns:minmax(150px,220px) minmax(240px,1fr) auto;
    align-items:end;
    gap:12px;
    margin-top:14px;
}

.inventory-adjustment-form label{
    display:grid;
    gap:6px;
    color:var(--muted);
    font-size:12px;
    font-weight:750;
}

.market-control-form{
    margin:14px 0;
    padding:14px;
    border:1px solid var(--theme-info-border,#dbeafe);
    border-radius:12px;
    background:var(--theme-surface-soft,#f8fbff);
}

.market-control-heading{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    margin-bottom:12px;
}

.market-control-heading strong,
.market-control-heading small{
    display:block;
}

.market-control-heading small{
    margin-top:3px;
    color:var(--muted);
}

.market-toggle-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin-bottom:12px;
}

.market-toggle{
    display:flex;
    align-items:center;
    gap:10px;
    padding:10px 12px;
    border:1px solid var(--border);
    border-radius:10px;
    background:var(--theme-surface,#fff);
    cursor:pointer;
}

.market-toggle input{
    width:18px;
    height:18px;
    margin:0;
}

.market-toggle span,
.market-toggle strong,
.market-toggle small{
    display:block;
}

.market-toggle small,
.market-control-warning{
    color:var(--muted);
    font-size:12px;
}

.market-control-warning{
    margin:0;
}

@media(max-width:760px){
    .inventory-control-card>.table-header,
    .market-control-heading{
        align-items:stretch;
        flex-direction:column;
    }
    .inventory-amount-block{
        text-align:left;
    }
    .inventory-adjustment-form{
        grid-template-columns:1fr;
    }
    .inventory-takeover-form{
        align-items:stretch;
        flex-direction:column;
    }
}

.product-channel-section>.table-header{
    margin-bottom:18px;
}

.channel-status-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));
    gap:16px;
}

.channel-status-card{
    min-width:0;
    padding:18px;
    border:1px solid var(--border);
    border-radius:16px;
    background:var(--panel-soft);
}

.channel-status-header,
.channel-offer-heading,
.channel-offer-footer{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
}

.channel-status-header h3{
    margin:3px 0 0;
}

.channel-provider{
    color:var(--muted);
    font-size:12px;
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase;
}

.channel-status-message{
    margin:18px 0 14px;
    color:var(--muted);
    line-height:1.55;
}

.channel-offer-list{
    display:grid;
    gap:12px;
    margin-top:16px;
}

.channel-offer-row{
    padding:16px;
    border:1px solid var(--border);
    border-radius:14px;
    background:var(--theme-surface,#fff);
}

.channel-offer-heading strong,
.channel-offer-heading small{
    display:block;
}

.channel-offer-heading small,
.channel-offer-footer small,
.channel-status-updated{
    color:var(--muted);
}

.channel-market-list{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin:14px 0;
}

.channel-market-list .badge,
.channel-status-card>.channel-status-header .badge,
.channel-offer-heading .badge{
    margin-right:0;
}

.stock-sync-control{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin:14px 0;
    padding:12px 14px;
    border:1px solid var(--theme-border,#dbe4f0);
    border-radius:12px;
    background:var(--theme-surface-soft,#f8fafc);
}

.stock-sync-copy strong,
.stock-sync-copy small{
    display:block;
}

.stock-sync-copy small,
.stock-sync-warning{
    margin-top:3px;
    color:var(--muted);
    font-size:11px;
}

.stock-sync-switch{
    display:inline-flex;
    align-items:center;
    gap:8px;
    flex:0 0 auto;
    cursor:pointer;
}

.stock-sync-switch input{
    position:absolute;
    width:1px;
    height:1px;
    opacity:0;
    pointer-events:none;
}

.stock-sync-switch span{
    position:relative;
    display:block;
    width:50px;
    height:28px;
    border-radius:999px;
    background:var(--theme-surface-muted,#7b8794);
    transition:background .18s ease;
}

.stock-sync-switch span::before{
    content:'';
    position:absolute;
    top:4px;
    left:4px;
    width:20px;
    height:20px;
    border-radius:50%;
    background:#fff;
    box-shadow:0 1px 3px rgba(15,23,42,.25);
    transition:transform .18s ease;
}

.stock-sync-switch input:checked + span{
    background:var(--success);
}

.stock-sync-switch input:checked + span::before{
    transform:translateX(22px);
}

.stock-sync-switch input:focus-visible + span{
    outline:3px solid var(--theme-info-border,rgba(37,99,235,.22));
    outline-offset:2px;
}

.stock-sync-switch input:disabled + span{
    opacity:.45;
    cursor:not-allowed;
}

.stock-sync-switch em{
    min-width:24px;
    color:var(--muted);
    font-size:11px;
    font-style:normal;
    font-weight:800;
}

.channel-offer-details{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(105px,1fr));
    gap:10px;
    margin:0 0 14px;
}

.channel-offer-details>div{
    min-width:0;
    padding:10px;
    border-radius:10px;
    background:var(--panel-soft);
}

.channel-offer-details dt{
    color:var(--muted);
    font-size:11px;
    font-weight:700;
}

.channel-offer-details dd{
    margin:4px 0 0;
    overflow-wrap:anywhere;
    font-weight:750;
}

.bol-fulfilment-summary{
    display:flex;
    flex-direction:column;
    gap:2px;
    line-height:1.25;
}

.bol-fulfilment-summary small{
    color:var(--muted);
    font-weight:500;
    white-space:nowrap;
}

.channel-offer-footer{
    align-items:center;
}

.channel-status-updated{
    margin:12px 0 0;
    font-size:12px;
}

.product-danger-zone{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:24px;
    margin-top:24px;
    border-color:var(--theme-danger-border,#fecaca);
    background:var(--theme-surface,#fffafa);
}

.product-danger-zone h2{
    color:var(--theme-danger-text,#991b1b);
}

.product-danger-zone p{
    max-width:720px;
    margin:8px 0 0;
    color:var(--theme-danger-text,#7f1d1d);
    line-height:1.55;
}

.product-danger-zone form{
    min-width:320px;
}

.product-delete-confirm{
    display:flex;
    align-items:flex-start;
    gap:10px;
    margin-bottom:14px;
    color:var(--theme-danger-text,#7f1d1d);
    font-size:13px;
    font-weight:700;
    line-height:1.45;
}

.product-delete-confirm input{
    width:auto;
    min-height:auto;
    margin-top:3px;
}

.bol-margin-money small{
    color:var(--theme-muted,#667085);
    white-space:normal;
}

.shipping-suggestion-explanation p{
    margin:8px 0 0;
}

.shipping-suggestion-table{
    min-width:1050px;
}

.shipping-suggestion-table th,
.shipping-suggestion-table td{
    vertical-align:top;
}

.shipping-suggestion-table td small{
    display:block;
    margin-top:5px;
    color:var(--theme-muted,#667085);
}

.shipping-suggestion-table form{
    margin:0;
}

.shipping-suggestion-table .button-link{
    white-space:nowrap;
}

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

    .bol-detail-grid,
    .bol-detail-list{
        grid-template-columns:1fr;
    }

    .bol-detail-list div:nth-child(odd){
        padding-right:0;
    }

    .bol-link-actions{
        align-items:stretch;
        flex-direction:column;
    }

    #bol-import-sub-fields,
    .bol-import-summary{
        grid-template-columns:1fr;
    }

    .bol-vvb-actions{
        align-items:stretch;
        flex-direction:column;
    }

    .bol-sales-stats{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

.export-card label{
    font-size:13px;
    font-weight:700;
    color:var(--theme-text,#334155);
    display:block;
    margin-bottom:6px;
}

.export-card input,
.export-card select{
    width:100%;
    font-size:14px;
}

/* LOGS */

.logs-page{
    width:100%;
}

.logs-table-wrapper{
    width:100%;
    overflow-x:visible;
}

.logs-table{
    width:100%;
    min-width:0;
    table-layout:fixed;
    border-collapse:collapse;
}

.logs-table th,
.logs-table td{
    white-space:normal;
    word-break:break-word;
    overflow-wrap:anywhere;
    vertical-align:top;
}

.logs-table th:nth-child(1),
.logs-table td:nth-child(1){
    width:150px;
}

.logs-table th:nth-child(2),
.logs-table td:nth-child(2){
    width:160px;
}

.logs-table th:nth-child(3),
.logs-table td:nth-child(3){
    width:70px;
}

.logs-table th:nth-child(4),
.logs-table td:nth-child(4){
    width:160px;
}

.logs-table th:nth-child(5),
.logs-table td:nth-child(5){
    width:140px;
}

.logs-table th:nth-child(6),
.logs-table td:nth-child(6){
    width:auto;
}

.logs-table tr.raw-data-row td{
    background:var(--theme-wash,rgba(15,23,42,0.03));
    padding-top:0;
}

.raw-data-box{
    width:100%;
    max-width:100%;
    margin:0 0 10px;
    padding:12px 14px;
    border-radius:14px;
    background:var(--theme-wash,rgba(15,23,42,0.04));
    font-size:13px;
    line-height:1.5;
    color:var(--theme-muted,#64748b);
    white-space:normal;
    word-break:break-word;
    overflow-wrap:anywhere;
    overflow:hidden;
}

.log-status{
    display:inline-flex;
    align-items:center;
    padding:6px 12px;
    border-radius:999px;
    font-size:12px;
    font-weight:600;
}

.log-status.success{
    background:var(--theme-success-wash,rgba(34,197,94,0.12));
    color:var(--theme-success-text,#15803d);
}

.log-status.error{
    background:var(--theme-danger-wash,rgba(239,68,68,0.12));
    color:var(--theme-danger-text,#b91c1c);
}

.log-status.skipped{
    background:var(--theme-wash,rgba(148,163,184,0.18));
    color:var(--theme-muted,#475569);
}

.logs-filters-actions{
    display:flex;
    gap:12px;
    margin-top:20px;
}

/* RESPONSIVE */

@media(max-width:1100px){
    .export-grid{
        grid-template-columns:1fr;
    }

    .product-filter-form .form-group{
        flex-basis:180px;
    }

    .product-danger-zone{
        flex-direction:column;
    }

    .product-danger-zone form{
        min-width:0;
        width:100%;
    }
}

@media(max-width:900px){
    .bol-return-processing-grid{
        grid-template-columns:1fr;
    }

    .bol-return-batch-intro,
    .bol-return-batch-actions{
        align-items:stretch;
        flex-direction:column;
    }

    .bol-return-batch-intro .button-link,
    .bol-return-batch-actions .button-link{
        width:100%;
    }

    .product-overview-stats{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .app-layout{
        display:block;
    }

    .sidebar{
        position:relative;
        width:100%;
        height:auto;
        min-height:auto;
        padding:18px;
        overflow-y:visible;
    }

    .sidebar-logo{
        margin-bottom:16px;
    }

    .sidebar-nav{
        flex-direction:row;
        overflow-x:auto;
        gap:8px;
    }

    .sidebar-nav a{
        white-space:nowrap;
    }

    .main-content{
        margin-left:0;
    }

    .topbar{
        height:auto;
        padding:18px 22px;
        flex-direction:column;
        align-items:flex-start;
        gap:8px;
    }

    .container{
        padding:30px 20px;
    }

    .container h1{
        font-size:34px;
    }

    .card-grid{
        grid-template-columns:1fr 1fr;
        gap:18px;
    }

.form-grid,
.form-grid-3,
.grid-2,
.filter-row{
    grid-template-columns:1fr;
}

    .stats-grid,
    .cost-summary{
        grid-template-columns:1fr;
    }

    .checkbox-row{
        flex-direction:column;
        align-items:flex-start;
        gap:16px;
    }

    .logs-table-wrapper{
        overflow-x:auto;
    }

    .logs-table{
        min-width:900px;
    }
}

@media(max-width:700px){
    .page-header{
        flex-direction:column;
        align-items:flex-start;
    }

    .search-form{
        grid-template-columns:1fr;
    }

    .page-actions{
        flex-wrap:wrap;
    }

    .product-filter-form .form-group,
    .product-filter-form .product-search-field{
        flex:1 1 100%;
    }

    .product-filter-actions{
        width:100%;
        flex-direction:column;
        align-items:stretch;
    }

    .product-filter-actions .button-link{
        width:100%;
    }

    .product-overview-stats{
        grid-template-columns:1fr;
    }

    .dashboard-bol-alert,
    .dashboard-margin-card,
    .dashboard-bol-dialog-actions{
        align-items:stretch;
        flex-direction:column;
    }

    .dashboard-bol-alert .button-link,
    .dashboard-margin-card .button-link,
    .dashboard-bol-dialog-actions .button-link{
        width:100%;
    }

    .bol-sales-sync{
        align-items:stretch;
        flex-direction:column;
    }

    .bol-sales-account-sync{
        align-items:stretch;
        flex-direction:column;
    }

    .bol-sales-account-sync form{
        justify-items:stretch;
        min-width:0;
    }

    .bol-sales-sync .button-link{
        width:100%;
    }
}

@media(max-width:600px){
    body{
        background:var(--bg);
    }

    .auth-box{
        width:calc(100% - 24px);
        margin:22px auto;
        padding:26px 22px;
        border-radius:22px;
    }

    h1{
        font-size:30px;
    }

    input,
    select,
    textarea,
    button{
        font-size:16px;
    }

    .topbar{
        padding:16px;
    }

    .topbar div:last-child{
        font-size:14px;
        line-height:1.6;
    }

    .container{
        padding:24px 16px;
    }

    .container h1{
        font-size:30px;
    }

    .bol-sales-stats{
        grid-template-columns:1fr;
    }

    .card-grid{
        grid-template-columns:1fr;
        gap:16px;
    }

    .card{
        padding:22px;
        border-radius:22px;
    }

    .card p{
        font-size:32px;
    }
}

@media(max-width:380px){
    .auth-box{
        width:calc(100% - 16px);
        padding:22px 18px;
    }

    h1{
        font-size:27px;
    }

    .card p{
        font-size:28px;
    }
}
.form-grid-3{
    grid-template-columns:2fr 1fr 1fr;
}

.writeoff-value-card{
    height:52px;
    justify-content:center;
    padding:0 16px;
    margin:0;
}

.purchase-order-header-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
}

.exchange-rate-panel{
    display:grid;
    grid-template-columns:minmax(260px,1fr) minmax(180px,.4fr)
        minmax(180px,.4fr) auto;
    gap:18px;
    align-items:end;
    margin-top:22px;
    padding:18px;
    border:1px solid var(--theme-info-border,#bfdbfe);
    border-radius:16px;
    background:var(--theme-info-surface,#eff6ff);
}

.cost-currency-input{
    display:grid;
    grid-template-columns:minmax(0,1fr) 92px;
}

.cost-currency-input input{
    border-radius:10px 0 0 10px;
}

.cost-currency-input select{
    border-left:0;
    border-radius:0 10px 10px 0;
    font-weight:700;
}

.exchange-rate-panel[hidden]{
    display:none;
}

.exchange-rate-panel p{
    margin:5px 0 0;
    color:var(--muted);
}

.exchange-rate-panel .field-note{
    grid-column:1/-1;
    color:var(--theme-info-text,#1d4ed8);
}

.section-heading{
    display:flex;
    justify-content:space-between;
    gap:18px;
    align-items:flex-start;
}

.section-heading h2,
.section-heading p{
    margin-top:0;
}

.purchase-lines{
    display:grid;
    gap:14px;
    margin-top:20px;
}

.purchase-line{
    display:flex;
    gap:12px;
    align-items:end;
    padding:16px;
    border:1px solid var(--border);
    border-radius:16px;
    background:var(--theme-surface-soft,#f8fafc);
}

.purchase-line-grid{
    flex:1;
    display:grid;
    grid-template-columns:minmax(240px,2.2fr) minmax(85px,.55fr)
        minmax(110px,.75fr) minmax(180px,1.2fr) minmax(90px,.55fr)
        minmax(150px,1fr);
    gap:12px;
    align-items:end;
}

.purchase-line .form-group{
    margin:0;
}

.purchase-line.has-open-product-picker{
    position:relative;
    z-index:25;
}

.purchase-product-combobox{
    position:relative;
}

.purchase-product-results{
    position:absolute;
    z-index:60;
    top:calc(100% + 6px);
    right:0;
    left:0;
    max-height:320px;
    overflow-y:auto;
    padding:6px;
    border:1px solid var(--border);
    border-radius:12px;
    background:var(--theme-surface,#fff);
    box-shadow:0 18px 40px rgba(15, 23, 42, .16);
}

.purchase-product-results[hidden]{
    display:none;
}

.purchase-product-result{
    display:flex;
    width:100%;
    padding:10px 12px;
    flex-direction:column;
    align-items:flex-start;
    gap:3px;
    border:0;
    border-radius:8px;
    background:transparent;
    color:var(--theme-text,#0f172a);
    text-align:left;
    cursor:pointer;
}

.purchase-product-result:hover,
.purchase-product-result.is-active{
    background:var(--theme-info-surface,#eef4ff);
}

.purchase-product-result small,
.purchase-product-empty,
.purchase-product-limit{
    color:var(--muted);
}

.purchase-product-empty,
.purchase-product-limit{
    margin:0;
    padding:12px;
    line-height:1.4;
}

.purchase-line-total{
    min-height:70px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:4px;
    padding:10px 12px;
    border-radius:12px;
    background:var(--theme-surface,#fff);
}

.purchase-line-total span,
.purchase-line-total small{
    color:var(--muted);
}

.purchase-price-comparison{
    display:block;
    margin-top:4px;
    color:var(--muted)!important;
    line-height:1.25;
}

.purchase-price-comparison.is-higher{
    color:var(--theme-warning-text,#b45309)!important;
}

.purchase-price-comparison.is-lower{
    color:var(--theme-success-text,#047857)!important;
}

.purchase-line-remove{
    margin-bottom:9px;
}

.purchase-order-summary{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
    margin:24px 0;
}

.purchase-order-summary>div{
    display:flex;
    flex-direction:column;
    gap:6px;
    padding:18px;
    border:1px solid var(--border);
    border-radius:16px;
    background:var(--theme-surface,#fff);
}

.purchase-order-summary span{
    color:var(--muted);
}

.purchase-order-summary .highlight{
    border-color:var(--theme-info-border,#93c5fd);
    background:var(--theme-info-surface,#eff6ff);
}

.purchase-order-meta-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
    margin-bottom:28px;
}

.purchase-order-filters{
    display:grid;
    grid-template-columns:minmax(260px,1fr) 220px auto auto;
}

.supplier-filter-card{
    padding:18px 20px;
}

.supplier-search-form{
    display:grid;
    grid-template-columns:minmax(260px,1fr) 220px auto auto;
}

.supplier-history-list{
    display:grid;
    gap:16px;
    margin-top:24px;
}

.supplier-history-card{
    overflow:hidden;
    border:1px solid var(--border);
    border-radius:18px;
    background:var(--panel);
    box-shadow:0 8px 24px rgba(15,23,42,.05);
}

.supplier-history-card>summary{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    padding:20px 22px;
    cursor:pointer;
    list-style:none;
}

.supplier-history-card>summary::-webkit-details-marker{
    display:none;
}

.supplier-history-card[open]>summary{
    border-bottom:1px solid var(--border);
}

.supplier-history-heading,
.supplier-history-total{
    display:flex;
    flex-direction:column;
    gap:4px;
}

.supplier-history-heading small,
.supplier-history-total small{
    color:var(--muted);
}

.supplier-history-total{
    align-items:flex-end;
    text-align:right;
}

.supplier-order-table{
    min-width:900px;
}

.data-quality-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.data-quality-card{overflow:hidden;border:1px solid var(--border);border-radius:18px;background:var(--panel)}
.data-quality-card>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;cursor:pointer;list-style:none}
.data-quality-card>summary::-webkit-details-marker{display:none}
.data-quality-card>summary span:first-child{display:flex;flex-direction:column;gap:3px}
.data-quality-card>summary small{color:var(--muted)}
.data-quality-body{padding:0 20px 20px;border-top:1px solid var(--border)}
.data-quality-body>p{color:var(--muted)}
.data-quality-body ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.data-quality-body li a{display:flex;justify-content:space-between;gap:14px;padding:10px 12px;border-radius:10px;background:var(--panel-soft);text-decoration:none}
.data-quality-body li small{text-align:right}
.data-quality-ok{padding:12px;border-radius:10px;background:var(--theme-success-surface,#ecfdf5);color:var(--theme-success-text,#166534);font-weight:700}
.data-quality-critical{border-color:var(--theme-danger-border,#fecaca);background:var(--theme-danger-surface,#fff1f2)}
.database-backup-form{display:grid;grid-template-columns:minmax(260px,420px) auto;align-items:end;gap:14px;margin-top:18px}
.database-backup-form>label:first-child{grid-column:1/-1}
.database-backup-form .checkbox-label{grid-column:1/-1}

.table-subtitle{
    display:block;
    margin-top:3px;
    color:var(--muted);
}

.receipt-progress{
    width:100px;
    height:6px;
    overflow:hidden;
    margin-top:6px;
    border-radius:999px;
    background:var(--theme-surface-muted,#e2e8f0);
}

.receipt-progress span{
    display:block;
    height:100%;
    border-radius:inherit;
    background:var(--theme-success-solid,#16a34a);
}

.status-badge{
    display:inline-flex;
    padding:5px 9px;
    border-radius:999px;
    background:var(--theme-surface-muted,#e2e8f0);
    color:var(--theme-text,#334155);
    font-size:12px;
    font-weight:700;
    white-space:nowrap;
}

.status-ordered{
    background:var(--theme-info-surface,#dbeafe);
    color:var(--theme-info-text,#1d4ed8);
}

.status-partially_received{
    background:var(--theme-warning-surface,#fef3c7);
    color:var(--theme-warning-text,#92400e);
}

.status-received{
    background:var(--theme-success-surface,#dcfce7);
    color:var(--theme-success-text,#166534);
}

.status-cancelled{
    background:var(--theme-danger-surface,#fee2e2);
    color:var(--theme-danger-text,#991b1b);
}

.legacy-orders{
    margin-top:28px;
}

.legacy-orders summary{
    cursor:pointer;
    font-weight:700;
}

.legacy-orders>p{
    color:var(--muted);
}

.exchange-rate-detail{
    margin-bottom:28px;
}

.exchange-rate-detail p{
    margin-bottom:0;
}

.purchase-detail-heading{
    padding:20px 20px 0;
}

.purchase-detail-columns{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:22px;
    margin-top:28px;
}

.purchase-cost-list{
    display:grid;
    gap:0;
}

.purchase-cost-list div{
    display:flex;
    justify-content:space-between;
    gap:20px;
    padding:12px 0;
    border-bottom:1px solid var(--border);
}

.purchase-cost-list dt,
.purchase-cost-list dd{
    margin:0;
}

.purchase-cost-list dd{
    font-weight:700;
}

.preserve-lines{
    line-height:1.6;
}

.attachment-list{
    display:grid;
    gap:8px;
    padding:0;
    list-style:none;
}

.attachment-list li{
    display:flex;
    justify-content:space-between;
    gap:12px;
    padding:10px 12px;
    border-radius:10px;
    background:var(--theme-surface-soft,#f8fafc);
}

.attachment-upload{
    display:flex;
    gap:12px;
    align-items:center;
    margin-top:16px;
}

.receive-order-card{
    margin-top:28px;
    border-color:var(--theme-success-border,#86efac);
}

.receive-lines{
    display:grid;
    gap:10px;
    margin:20px 0;
}

.receive-line{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:12px 14px;
    border:1px solid var(--border);
    border-radius:12px;
    background:var(--theme-surface-soft,#f8fafc);
}

.receive-line span{
    display:flex;
    flex-direction:column;
    gap:3px;
}

.receive-line small{
    color:var(--muted);
}

.receive-line input{
    width:120px;
}

.receipt-history{
    display:grid;
    gap:14px;
}

.receipt-history article{
    padding:16px;
    border:1px solid var(--border);
    border-radius:14px;
}

.receipt-history header{
    display:flex;
    gap:12px;
    align-items:center;
}

.receipt-history header span{
    color:var(--muted);
}

.receipt-history ul{
    margin-bottom:0;
}

.purchase-order-actions{
    display:flex;
    justify-content:space-between;
    gap:20px;
    align-items:center;
    margin-top:28px;
}

@media(max-width:1100px){
    .purchase-order-header-grid,
    .purchase-order-meta-grid,
    .purchase-order-summary{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .purchase-line-grid{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
}

@media(max-width:760px){
    .purchase-order-header-grid,
    .purchase-order-meta-grid,
    .purchase-order-summary,
    .purchase-detail-columns,
    .purchase-line-grid,
    .exchange-rate-panel,
    .purchase-order-filters,
    .supplier-search-form{
        grid-template-columns:1fr;
    }

    .supplier-history-card>summary{
        align-items:flex-start;
        flex-direction:column;
    }

    .supplier-history-total{
        align-items:flex-start;
        text-align:left;
    }

    .data-quality-grid{grid-template-columns:1fr}
    .database-backup-form{grid-template-columns:1fr}

    .purchase-line,
    .section-heading,
    .purchase-order-actions,
    .attachment-upload{
        align-items:stretch;
        flex-direction:column;
    }

    .purchase-line-remove{
        margin-bottom:0;
    }

    .receive-line{
        align-items:stretch;
        flex-direction:column;
    }

    .receive-line input{
        width:100%;
    }
}
.bol-account-switcher {
    display: flex;
    align-items: center;
    gap: 8px;
}

.bol-account-switcher label {
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--theme-muted,#475569);
    white-space: nowrap;
}

.bol-account-switcher select {
    min-width: 180px;
    margin: 0;
}

.invoice-settings-account-switcher {
    max-width: 1080px;
    margin: 0 0 20px;
}

.invoice-settings-account-switcher .bol-account-switcher {
    display: grid;
    grid-template-columns: 160px minmax(240px, 420px);
    gap: 16px;
    align-items: center;
    padding: 16px 18px;
    border: 1px solid var(--border);
    border-radius: 16px;
    background: var(--theme-surface,#fff);
    box-shadow: 0 4px 14px rgba(15, 23, 42, .05);
}

.invoice-settings-account-switcher .bol-account-switcher label {
    font-size: 14px;
    font-weight: 800;
    color: var(--text);
}

.invoice-settings-account-switcher .bol-account-switcher select {
    width: 100%;
    min-width: 0;
}

.invoice-filename-prefix {
    max-width: 620px;
    margin-bottom: 0;
}

@media (max-width: 720px) {
    .invoice-settings-account-switcher .bol-account-switcher {
        grid-template-columns: 1fr;
        gap: 8px;
    }
}

.bol-review-channel-switcher {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 9px;
    margin: 18px 0 22px;
}

.bol-review-channel-switcher > span {
    color: var(--theme-muted,#64748b);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.bol-review-channel-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.bol-review-channel-buttons a {
    display: flex;
    min-width: 180px;
    flex-direction: column;
    gap: 2px;
    padding: 11px 15px;
    border: 1px solid var(--border);
    border-radius: 11px;
    background: var(--theme-surface,#fff);
    color: var(--text);
    text-decoration: none;
    box-shadow: var(--shadow-sm);
    transition: background 0.16s ease, border-color 0.16s ease, color 0.16s ease;
}

.bol-review-channel-buttons a:hover {
    border-color: var(--primary-border);
    background: var(--primary-soft);
}

.bol-review-channel-buttons a.is-active {
    border-color: var(--primary);
    background: var(--primary-soft);
    color: var(--primary-dark);
    box-shadow: 0 0 0 1px var(--primary);
}

.bol-review-channel-buttons small {
    color: var(--theme-muted,#64748b);
    font-size: 0.72rem;
    font-weight: 750;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.bol-review-channel-buttons strong {
    font-size: 0.92rem;
}

/* Facturatie */
.invoice-stats { margin-top: 20px; }

.invoice-search-form {
    display: grid;
    grid-template-columns: minmax(280px, 640px) auto auto;
    align-items: end;
    gap: 10px;
    margin: 18px 0 0;
    padding: 16px;
    border: 1px solid var(--border);
    border-radius: 12px;
    background: var(--theme-surface,#fff);
    box-shadow: var(--shadow-sm);
}

.invoice-search-form .form-group { margin: 0; }
.invoice-search-form input { width: 100%; }

.invoice-parties {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    margin: 20px 0;
}

.invoice-parties > div {
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding: 16px;
    border: 1px solid var(--theme-border,#e2e8f0);
    border-radius: 10px;
    background: var(--theme-surface-soft,#f8fafc);
}

.invoice-parties span,
.invoice-parties small { color: var(--theme-muted,#64748b); }
.invoice-lines-table input { min-width: 90px; }
.invoice-lines-table td:first-child input { min-width: 260px; }

.invoice-totals {
    display: flex;
    justify-content: flex-end;
    gap: 22px;
    margin: 18px 0;
    padding: 14px;
    border-top: 2px solid var(--theme-border,#cbd5e1);
}

.invoice-totals span {
    display: flex;
    flex-direction: column;
    gap: 3px;
    color: var(--theme-muted,#64748b);
}

.invoice-totals strong { color: var(--theme-text,#0f172a); font-size: 17px; }

.invoice-finalize-form {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-top: 20px;
    padding: 16px;
    border: 1px solid var(--theme-danger-border,#fecaca);
    border-radius: 10px;
    background: var(--theme-danger-surface,#fff7f7);
}

@media (max-width: 900px) {
    .invoice-search-form { grid-template-columns: 1fr; }
    .invoice-search-form .button-link { width: 100%; }
    .invoice-parties { grid-template-columns: 1fr; }
    .invoice-finalize-form,
    .invoice-totals { align-items: stretch; flex-direction: column; }
}

/* ===========================================================================
   Stuyver Core interface — unified design system
   ========================================================================== */

:root{
    /* Shared type and spacing values; keep existing computed sizes. */
    --font-xs:12px;
    --font-sm:13px;
    --font-label:14px;
    --font-body:15px;
    --font-md:16px;
    --font-lg:18px;
    --font-xl:20px;
    --font-title:24px;
    --space-1:4px;
    --space-2:8px;
    --space-3:12px;
    --space-4:16px;
    --space-5:20px;
    --space-6:24px;
    --space-8:32px;
    --control-padding-y:9px;
    --control-padding-x:15px;

    --bg:#f6f7f9;
    --panel:#ffffff;
    --panel-soft:#f8fafc;
    --panel-muted:#f1f5f9;
    --border:#e2e6ec;
    --border-strong:#cbd2dc;
    --text:#18212f;
    --muted:#5f6b7d;
    --primary:#1769e0;
    --primary-dark:#1056bd;
    --primary-soft:#eaf2ff;
    --danger:#dc3545;
    --danger-dark:#b42331;
    --success:#16835b;
    --sidebar:#101827;
    --sidebar-soft:#172133;
    --sidebar-text:#d7deea;
    --radius-sm:8px;
    --radius:12px;
    --radius-lg:16px;
    --shadow-sm:0 1px 2px rgba(15,23,42,.04),0 1px 4px rgba(15,23,42,.03);
    --shadow:0 8px 24px rgba(15,23,42,.06);
    --sidebar-width:252px;
}

html{
    font-size:var(--font-md,16px);
    scroll-behavior:smooth;
}

body{
    background:var(--bg);
    color:var(--text);
    font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    font-size:var(--font-body,15px);
    line-height:1.5;
    -webkit-font-smoothing:antialiased;
}

body.app-page{
    background:var(--bg);
    overflow-x:hidden;
}

@media(max-width:960px){
    body.sidebar-is-open{
        overflow:hidden;
    }
}

::selection{
    background:var(--theme-info-surface,#cfe1ff);
    color:var(--theme-info-text,#102a51);
}

h1,h2,h3,h4{
    color:var(--text);
    line-height:1.2;
}

h1,
.container h1{
    margin:0 0 var(--space-2,8px);
    font-size:clamp(1.65rem,2.3vw,2.15rem);
    font-weight:750;
    letter-spacing:-.035em;
}

h2{
    letter-spacing:-.02em;
}

p{
    color:var(--muted);
    line-height:1.65;
}

a{
    color:var(--primary);
    font-weight:650;
    text-underline-offset:3px;
}

a:hover{
    color:var(--primary-dark);
}

:where(a,button,input,select,textarea,summary):focus-visible{
    outline:3px solid var(--theme-info-border,rgba(23,105,224,.22));
    outline-offset:2px;
}

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

/* Shell and navigation */

.app-layout{
    min-height:100vh;
    display:block;
}

.sidebar{
    position:fixed;
    inset:0 auto 0 0;
    z-index:300;
    width:var(--sidebar-width);
    height:100vh;
    min-height:0;
    padding:14px var(--space-3,12px) 10px;
    display:flex;
    flex-direction:column;
    overflow:hidden;
    background:var(--sidebar);
    color:var(--sidebar-text);
    border-right:1px solid rgba(255,255,255,.06);
    box-shadow:none;
}

.sidebar-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:44px;
    margin:0 var(--space-1,4px) var(--space-3,12px);
}

.sidebar-logo{
    display:flex;
    align-items:center;
    gap:11px;
    min-width:0;
    margin:0;
    color:#fff;
}

.sidebar-logo:hover{
    color:#fff;
}

.sidebar-logo-mark{
    width:40px;
    height:40px;
    flex:0 0 40px;
    object-fit:cover;
    border:1px solid rgba(255,255,255,.26);
    border-radius:50%;
    background:#fff;
    padding:2px;
    box-shadow:0 6px 16px rgba(0,0,0,.25);
}

.skip-link{
    position:fixed;
    left:18px;
    top:14px;
    z-index:1000;
    padding:10px 14px;
    border-radius:8px;
    background:var(--theme-surface,#fff);
    color:var(--primary-dark);
    box-shadow:var(--shadow);
    transform:translateY(-180%);
    transition:transform .15s ease;
}

.skip-link:focus{
    transform:translateY(0);
}

.main-content:focus{
    outline:none;
}

.sidebar-logo-copy{
    display:flex;
    flex-direction:column;
    min-width:0;
}

.sidebar-logo-copy strong{
    color:#fff;
    font-size:17px;
    font-weight:750;
    line-height:1.2;
    letter-spacing:-.02em;
}

.sidebar-logo-copy span{
    margin-top:2px;
    color:#8f9bad;
    font-size:11px;
    font-weight:550;
    letter-spacing:.02em;
}

.sidebar-close{
    display:none;
    width:36px;
    height:36px;
    padding:0;
    border:0;
    border-radius:9px;
    background:rgba(255,255,255,.07);
    color:#fff;
    font-size:25px;
    line-height:1;
    cursor:pointer;
}

.sidebar-nav{
    display:flex;
    flex-direction:column;
    flex:1 1 auto;
    gap:0;
    min-height:0;
    padding-right:2px;
    overflow-x:hidden;
    overflow-y:auto;
    scrollbar-color:#344258 transparent;
    scrollbar-width:thin;
}

.sidebar-nav-label{
    margin:10px 10px 3px;
    color:#78869a;
    font-size:10px;
    font-weight:750;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.sidebar-nav-label:first-child{
    margin-top:0;
}

.sidebar-link{
    position:relative;
    display:flex!important;
    align-items:center;
    gap:10px;
    min-height:33px;
    width:100%;
    padding:5px 10px!important;
    border-radius:9px!important;
    color:#aeb9c9!important;
    font-size:13.5px;
    font-weight:600!important;
    line-height:1.2;
    transition:background .16s ease,color .16s ease;
}

.sidebar-link:hover{
    background:rgba(255,255,255,.055)!important;
    color:#fff!important;
}

.sidebar-link.is-active{
    background:rgba(23,105,224,.18)!important;
    color:#fff!important;
}

.sidebar-link::before{
    content:"";
    width:6px;
    height:6px;
    flex:0 0 6px;
    border-radius:50%;
    background:#526075;
}

.sidebar-link.is-active::before{
    background:#63a0ff;
    box-shadow:0 0 0 4px rgba(99,160,255,.12);
}

.sidebar-link.is-live::before{
    background:#35c978;
    box-shadow:0 0 0 4px rgba(53,201,120,.13);
}

.sidebar-link.is-problem::before{
    background:#e5484d;
    box-shadow:0 0 0 4px rgba(229,72,77,.15);
}

.sidebar-footer{
    flex:0 0 auto;
    margin-top:var(--space-2,8px);
    padding:var(--space-2,8px) var(--space-1,4px) 0;
    border-top:1px solid rgba(255,255,255,.08);
}

.sidebar-profile{
    display:flex;
    align-items:center;
    gap:10px;
    min-width:0;
    padding:2px 6px 6px;
}

.user-avatar{
    width:32px;
    height:32px;
    flex:0 0 32px;
    display:grid;
    place-items:center;
    border-radius:9px;
    background:var(--primary-soft);
    color:var(--primary-dark);
    font-size:var(--font-sm,13px);
    font-weight:800;
}

.sidebar-profile .user-avatar{
    background:rgba(255,255,255,.1);
    color:#fff;
}

.sidebar-profile-copy{
    display:flex;
    flex-direction:column;
    min-width:0;
}

.sidebar-profile-copy strong{
    overflow:hidden;
    color:#ecf1f8;
    font-size:12.5px;
    font-weight:650;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.sidebar-profile-copy small{
    color:#8491a5;
    font-size:11px;
}

.sidebar-logout{
    margin:0;
}

.sidebar-logout button{
    min-height:30px;
    padding:var(--space-1,4px) var(--space-2,8px)!important;
    color:#8f9bad!important;
    font-size:var(--font-xs,12px);
    font-weight:600;
}

.sidebar-logout button:hover{
    background:rgba(255,255,255,.05)!important;
    color:#fff!important;
}

.main-content{
    width:auto;
    min-width:0;
    margin-left:var(--sidebar-width);
}

.topbar{
    position:sticky;
    top:0;
    z-index:200;
    height:68px;
    padding:0 clamp(22px,3.5vw,52px);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:var(--space-5,20px);
    background:var(--theme-surface,rgba(255,255,255,.92));
    border-bottom:1px solid var(--border);
    backdrop-filter:blur(14px);
}

.topbar-title{
    display:flex;
    flex-direction:column;
}

.topbar-title>span{
    color:var(--theme-muted,#5f6b7d);
    font-size:10px;
    font-weight:700;
    letter-spacing:.09em;
    line-height:1.2;
    text-transform:uppercase;
}

.topbar-title strong{
    color:var(--text);
    font-size:17px;
    font-weight:700;
    letter-spacing:-.015em;
}

.topbar-right{
    display:flex;
    align-items:center;
    gap:10px;
}

.topbar-user{
    max-width:220px;
    overflow:hidden;
    color:var(--theme-muted,#526071);
    font-size:var(--font-sm,13px);
    font-weight:600;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.mobile-menu-button{
    display:none;
    width:40px;
    height:40px;
    padding:10px;
    border:1px solid var(--border);
    border-radius:10px;
    background:var(--theme-surface,#fff);
    cursor:pointer;
}

.mobile-menu-button>span:not(.sr-only){
    display:block;
    width:18px;
    height:2px;
    margin:3px auto;
    border-radius:2px;
    background:var(--theme-surface-muted,#344054);
}

.sidebar-backdrop[hidden]{
    display:none;
}

.container{
    width:100%;
    max-width:1680px;
    margin:0 auto;
    padding:clamp(26px,3.5vw,48px) clamp(22px,3.5vw,52px) 64px;
}

/* Page structure and surfaces */

.page-header{
    align-items:flex-start;
    gap:var(--space-5,20px);
    margin-bottom:var(--space-6,24px);
}

.page-header p{
    max-width:760px;
    margin:5px 0 0;
    overflow-wrap:anywhere;
}

.page-header>div:first-child{
    min-width:0;
}

.page-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:var(--control-padding-y,9px);
    flex-wrap:wrap;
}

.card-grid{
    gap:18px;
    margin-top:22px;
}

.card,
.form-card,
.table-card,
.export-card,
.bol-sales-panel,
.bol-review-card,
.product-overview-card{
    background:var(--panel);
    border:1px solid var(--border);
    border-radius:var(--radius-lg);
    box-shadow:var(--shadow-sm);
    backdrop-filter:none;
}

.card,
.form-card{
    padding:clamp(var(--space-5,20px),2.2vw,28px);
}

.table-card{
    padding:0;
    overflow:hidden;
}

.table-card>.table-header,
.table-card>.purchase-detail-heading{
    margin:0;
    padding:var(--space-5,20px) var(--space-5,20px) 10px;
}

.table-card>details,
.table-card>summary{
    padding:18px var(--space-5,20px);
}

.card h2{
    margin-bottom:10px;
    color:var(--muted);
    font-size:11px;
    font-weight:750;
    letter-spacing:.08em;
}

.card p{
    font-size:clamp(1.7rem,3vw,2.2rem);
    font-weight:750;
}

.card-grid .card h2{
    font-size:17px;
    font-weight:700;
}

.card-grid .card p{
    color:var(--muted);
    font-size:var(--font-label,14px);
}

.grid-2,
.form-grid{
    gap:var(--space-5,20px);
}

.section-heading,
.table-header{
    gap:var(--space-4,16px);
}

/* Controls */

label,
.form-group label{
    margin:0 0 7px;
    color:var(--theme-muted,#3c4858);
    font-size:var(--font-sm,13px);
    font-weight:650;
}

input,
select,
textarea{
    min-height:44px;
    padding:10px 13px;
    border:1px solid var(--border-strong);
    border-radius:var(--radius-sm);
    background:var(--theme-surface,#fff);
    color:var(--text);
    font:inherit;
    box-shadow:0 1px 2px rgba(15,23,42,.02);
    transition:border-color .15s ease,box-shadow .15s ease;
}

textarea{
    min-height:100px;
}

input:hover,
select:hover,
textarea:hover{
    border-color:var(--theme-border,#aab4c2);
}

input:focus,
select:focus,
textarea:focus{
    border-color:var(--primary);
    outline:none;
    box-shadow:0 0 0 3px rgba(23,105,224,.12);
}

input:disabled,
select:disabled,
textarea:disabled{
    background:var(--theme-surface-soft,#f3f5f7);
    color:var(--theme-muted,#8791a0);
    cursor:not-allowed;
}

.form{
    gap:var(--space-4,16px);
}

.form-group{
    gap:0;
}

.form-group input,
.form-group select{
    height:44px;
}

.form-actions{
    margin-top:var(--space-6,24px);
    gap:var(--control-padding-y,9px);
    flex-wrap:wrap;
}

.checkbox-row{
    margin-top:22px;
    gap:22px;
    flex-wrap:wrap;
}

.checkbox-row input[type="checkbox"],
input[type="checkbox"],
input[type="radio"]{
    min-height:0;
    accent-color:var(--primary);
}

.button,
button.button,
a.button,
.btn,
.button-link,
.edit-button,
.product-edit-btn,
.delete-button,
.product-delete-btn,
.secondary-button{
    min-height:40px;
    padding:var(--control-padding-y,9px) var(--control-padding-x,15px);
    border-radius:var(--radius-sm);
    font-size:var(--font-sm,13px);
    font-weight:700;
    line-height:1.2;
    box-shadow:none;
    transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease;
}

.button.primary,
button.button.primary,
.btn.btn-primary,
.button-link:not(.secondary):not(.danger){
    background:var(--theme-action-primary,var(--primary));
    color:#fff;
    box-shadow:none;
}

.button.primary:hover,
button.button.primary:hover,
.btn.btn-primary:hover,
.button-link:not(.secondary):not(.danger):hover{
    background:var(--theme-action-primary-hover,var(--primary-dark));
    color:#fff;
    transform:none;
}

.button.secondary,
a.button.secondary,
.btn.btn-secondary,
.button-link.secondary,
.edit-button,
.product-edit-btn,
.secondary-button{
    border:1px solid var(--border-strong);
    background:var(--theme-surface,#fff);
    color:var(--theme-text,#344054);
}

.button.secondary:hover,
a.button.secondary:hover,
.btn.btn-secondary:hover,
.button-link.secondary:hover,
.edit-button:hover,
.product-edit-btn:hover,
.secondary-button:hover{
    border-color:var(--theme-border,#9ca8b8);
    background:var(--theme-surface-soft,#f8fafc);
    color:var(--text);
    transform:none;
}

.btn.btn-danger,
.button-link.danger,
.delete-button,
.product-delete-btn{
    background:var(--theme-surface,#fff);
    border:1px solid var(--theme-danger-border,#f0b8be);
    color:var(--danger-dark);
}

.btn.btn-danger:hover,
.button-link.danger:hover,
.delete-button:hover,
.product-delete-btn:hover{
    background:var(--theme-danger-surface,#fff1f2);
    border-color:var(--theme-danger-border,#e9969f);
    color:var(--danger-dark);
    transform:none;
}

.btn:disabled,
.button-link:disabled,
.button:disabled{
    opacity:.55;
}

/* Feedback, tabs and badges */

.error,
.success,
.alert{
    position:relative;
    margin:16px 0;
    padding:12px 14px 12px 40px;
    border-radius:var(--radius-sm);
    font-size:13.5px;
    font-weight:600;
    line-height:1.5;
}

.error::before,
.success::before,
.alert::before{
    position:absolute;
    left:14px;
    top:12px;
    font-size:14px;
    font-weight:800;
}

.error::before,
.alert-error::before{content:"!";}
.success::before,
.alert-success::before{content:"✓";}
.alert-info::before{content:"i";}
.alert-warning::before{content:"!";}

.error,
.alert-error{
    background:var(--theme-danger-surface,#fff3f4);
    border-color:var(--theme-danger-border,#f1c1c6);
    color:var(--theme-danger-text,#8f2530);
}

.success,
.alert-success{
    background:var(--theme-surface-soft,#effaf5);
    border-color:var(--theme-border,#b8e2d1);
    color:var(--theme-success-text,#116846);
}

.alert-info{
    background:var(--theme-info-surface,#f0f6ff);
    border-color:var(--theme-info-border,#bed6f7);
    color:var(--theme-info-text,#174f98);
}

.alert-warning{
    background:var(--theme-warning-surface,#fff9eb);
    border-color:var(--theme-warning-border,#efd99e);
    color:var(--theme-warning-text,#795514);
}

.badge,
.status-badge,
.log-status{
    padding:4px 8px;
    border-radius:999px;
    font-size:11px;
    font-weight:700;
    letter-spacing:.01em;
}

/* Tables and data density */

.table-responsive,
.table-wrapper{
    scrollbar-color:var(--theme-border,#c7ced8) transparent;
    scrollbar-width:thin;
    -webkit-overflow-scrolling:touch;
}

.table-responsive:focus-visible,
.table-wrapper:focus-visible,
.logs-table-wrapper:focus-visible{
    border-radius:6px;
    outline:3px solid var(--theme-info-border,rgba(23,105,224,.2));
    outline-offset:-3px;
}

.shipping-options-table{min-width:680px}
.settings-users-table table{min-width:760px}
.product-create-name-label{display:block;margin-top:22px}

table thead th,
.data-table th{
    padding:11px 14px;
    background:var(--theme-surface-soft,#f7f8fa);
    border-bottom:1px solid var(--border);
    color:var(--theme-muted,#667085);
    font-size:10.5px;
    font-weight:750;
    letter-spacing:.06em;
}

table tbody td,
.data-table td{
    padding:13px 14px;
    border-bottom:1px solid var(--theme-border,#edf0f3);
    color:var(--theme-text,#344054);
    font-size:13px;
}

table tbody tr:hover td,
.data-table tbody tr:hover td{
    background:var(--theme-surface-soft,#fafbfd);
}

table tbody tr:last-child td,
.data-table tr:last-child td{
    border-bottom:0;
}

.table-actions,
.product-actions,
.action-buttons{
    gap:7px;
}

.pagination-bar{
    margin-top:14px;
    gap:14px;
    font-size:13px;
}

.pagination{
    gap:7px;
}

.empty-state,
.empty-row{
    padding:28px!important;
    color:var(--muted);
    text-align:center;
}

.search-form{
    gap:9px;
    margin-bottom:18px;
}

/* Auth screens */

body.auth-page{
    min-height:100vh;
    display:grid;
    place-items:center;
    padding:24px;
    background:
        radial-gradient(circle at 15% 10%,var(--theme-info-wash,rgba(23,105,224,.09)),transparent 28rem),
        var(--bg);
}

.auth-box{
    width:100%;
    max-width:430px;
    margin:0;
    padding:36px;
    background:var(--theme-surface,#fff);
    border:1px solid var(--border);
    border-radius:var(--radius-lg);
    box-shadow:0 18px 50px rgba(15,23,42,.09);
    backdrop-filter:none;
}

.auth-box h1{
    margin-bottom:8px;
    font-size:27px;
}

.auth-box>p:first-of-type{
    margin-top:0;
}

.auth-box form{
    margin-top:22px;
}

.auth-box label{
    margin-top:16px;
}

.auth-box button{
    min-height:44px;
    margin-top:22px;
    padding:10px 16px;
    border-radius:var(--radius-sm);
    background:var(--theme-action-primary,var(--primary));
    box-shadow:none;
}

.auth-box button:hover{
    background:var(--theme-action-primary-hover,var(--primary-dark));
    transform:none;
}

.auth-help-link{
    margin:10px 0 -6px;
    font-size:13px;
}

/* Keep specialized modules visually related */

.stat-card,
.cost-card,
.country-select-card,
.country-cost-group,
.mini-cost-row,
.purchase-line,
.purchase-order-summary>div,
.invoice-parties>div,
.receive-line,
.receipt-history article{
    border-color:var(--border);
    border-radius:var(--radius);
    background:var(--panel-soft);
    box-shadow:none;
}

.product-search-results{
    border-color:var(--border);
    border-radius:var(--radius);
    box-shadow:var(--shadow);
}

.product-search-item:hover{
    background:var(--panel-soft);
}

.meta-info{
    border-color:var(--border);
}

@media(max-width:1100px){
    .container{
        padding-right:28px;
        padding-left:28px;
    }
}

@media(max-width:960px){
    .sidebar{
        position:fixed;
        width:min(292px,86vw);
        height:100vh;
        padding:14px 12px 10px;
        overflow:hidden;
        transform:translateX(-105%);
        transition:transform .22s ease;
        box-shadow:18px 0 45px rgba(15,23,42,.2);
    }

    .sidebar-is-open .sidebar{
        transform:translateX(0);
    }

    .sidebar-close{
        display:block;
    }

    .sidebar-nav{
        flex-direction:column;
        overflow-x:hidden;
        overflow-y:auto;
    }

    .sidebar-nav a{
        white-space:normal;
    }

    .sidebar-backdrop{
        position:fixed;
        inset:0;
        z-index:290;
        display:block;
        background:rgba(15,23,42,.46);
        backdrop-filter:blur(2px);
    }

    .main-content{
        margin-left:0;
    }

    .mobile-menu-button{
        display:block;
        flex:0 0 auto;
    }

    .topbar{
        height:64px;
        padding:0 22px;
        flex-direction:row;
        align-items:center;
        gap:13px;
    }

    .topbar-title{
        margin-right:auto;
    }

    .topbar-user{
        display:none;
    }

    .container{
        padding:28px 22px 52px;
    }
}

@media(max-width:700px){
    .page-header{
        margin-bottom:20px;
    }

    .page-actions,
    .page-actions .button-link,
    .page-actions .button{
        width:100%;
    }

    .page-actions>*{
        flex:1 1 auto;
    }

    .card-grid{
        grid-template-columns:1fr;
    }

    .form-actions>*{
        flex:1 1 auto;
    }

    .pagination-bar{
        align-items:flex-start;
        flex-direction:column;
    }
}

@media(max-width:600px){
    .topbar{
        padding:0 14px;
    }

    .topbar-title>span{
        display:none;
    }

    .topbar-title strong{
        max-width:55vw;
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
    }

    .container{
        padding:22px 14px 44px;
    }

    .card,
    .form-card{
        padding:19px;
        border-radius:var(--radius);
    }

    .table-card>.table-header{
        align-items:flex-start;
        flex-direction:column;
    }

    .auth-box{
        width:100%;
        margin:0;
        padding:28px 22px;
        border-radius:var(--radius);
    }

    .search-form .button-link,
    .search-form .button{
        width:100%;
    }

    .invoice-totals{
        gap:12px;
    }
}

@media(prefers-reduced-motion:reduce){
    *,*::before,*::after{
        scroll-behavior:auto!important;
        transition-duration:.01ms!important;
        animation-duration:.01ms!important;
        animation-iteration-count:1!important;
    }
}

/* Bulkbeheer logistieke artikelkosten */

.bulk-logistics-stats{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
    margin-bottom:20px;
}

.bulk-logistics-stats>div{
    display:flex;
    flex-direction:column;
    gap:5px;
    padding:17px 19px;
    border:1px solid var(--border);
    border-radius:var(--radius);
    background:var(--panel);
    box-shadow:var(--shadow-sm);
}

.bulk-logistics-stats span{
    color:var(--muted);
    font-size:12px;
    font-weight:650;
}

.bulk-logistics-stats strong{
    font-size:23px;
    line-height:1.2;
}

.bulk-logistics-stats .margin-negative{
    color:var(--danger-dark);
}

.bulk-logistics-form{
    display:grid;
    gap:18px;
}

.bulk-logistics-settings{
    padding:22px;
}

.bulk-logistics-settings .section-heading p{
    margin:5px 0 0;
}

.bulk-selection-count{
    display:inline-flex;
    align-items:center;
    min-height:30px;
    padding:5px 10px;
    border-radius:999px;
    background:var(--primary-soft);
    color:var(--primary-dark);
    font-size:12px;
    font-weight:750;
    white-space:nowrap;
}

.bulk-logistics-controls{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
    margin-top:20px;
}

.bulk-logistics-control{
    display:flex;
    flex-direction:column;
    gap:10px;
    min-width:0;
    padding:17px;
    border:1px solid var(--border);
    border-radius:var(--radius);
    background:var(--panel-soft);
}

.bulk-control-toggle{
    display:flex;
    align-items:flex-start;
    gap:10px;
    margin:0;
    cursor:pointer;
}

.bulk-control-toggle input{
    width:18px;
    height:18px;
    flex:0 0 18px;
    margin-top:2px;
}

.bulk-control-toggle span,
.bulk-control-toggle strong,
.bulk-control-toggle small{
    display:block;
}

.bulk-control-toggle strong{
    color:var(--text);
    font-size:13.5px;
}

.bulk-control-toggle small,
.bulk-logistics-control>small{
    color:var(--muted);
    font-size:11.5px;
    line-height:1.45;
}

.bulk-money-input{
    display:grid;
    grid-template-columns:40px minmax(0,1fr);
}

.bulk-money-input>span{
    display:grid;
    place-items:center;
    border:1px solid var(--border-strong);
    border-right:0;
    border-radius:var(--radius-sm) 0 0 var(--radius-sm);
    background:var(--theme-surface-muted,#eef1f5);
    color:var(--theme-muted,#475467);
    font-weight:700;
}

.bulk-money-input input{
    border-radius:0 var(--radius-sm) var(--radius-sm) 0;
}

.bulk-logistics-products{
    overflow:visible;
}

.bulk-logistics-toolbar{
    align-items:end;
    padding-bottom:16px!important;
}

.bulk-logistics-toolbar p{
    margin:4px 0 0;
}

.bulk-logistics-filters{
    display:grid;
    grid-template-columns:minmax(240px,1fr) 190px;
    gap:9px;
    width:min(100%,580px);
}

.bulk-select-bar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    min-height:52px;
    padding:9px 20px;
    border-top:1px solid var(--border);
    border-bottom:1px solid var(--border);
    background:var(--theme-surface-soft,#fbfcfd);
}

.bulk-select-bar label{
    display:flex;
    align-items:center;
    gap:9px;
    margin:0;
    cursor:pointer;
}

.bulk-select-bar input,
.bulk-checkbox-column input{
    width:18px;
    height:18px;
    min-height:0;
}

.bulk-select-bar .button-link{
    min-height:34px;
    padding:7px 11px;
}

.bulk-logistics-table{
    min-width:980px;
}

.bulk-logistics-table th:last-child,
.bulk-logistics-table td:last-child{
    width:150px;
    min-width:150px;
}

.bulk-logistics-table .bulk-checkbox-column{
    width:82px;
    min-width:82px;
    text-align:center;
}

.bulk-logistics-table .bulk-checkbox-column label{
    display:inline-flex;
    margin:0;
    cursor:pointer;
}

.bulk-logistics-table td.text-wrap{
    min-width:220px;
    white-space:normal;
}

.bulk-logistics-table td strong,
.bulk-logistics-table td small{
    display:block;
}

.bulk-logistics-table td small{
    margin-top:3px;
    color:var(--muted);
}

.bulk-logistics-table tr:has(.bulk-product-checkbox:checked) td{
    background:var(--theme-info-surface,#f2f7ff);
}

.bulk-logistics-table tr[hidden]{
    display:none;
}

.bulk-logistics-submit-bar{
    position:sticky;
    bottom:16px;
    z-index:40;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:14px 16px;
    border:1px solid var(--theme-border,#c8d8ef);
    border-radius:var(--radius);
    background:var(--theme-surface,rgba(255,255,255,.96));
    box-shadow:0 12px 34px rgba(15,23,42,.14);
    backdrop-filter:blur(12px);
}

.bulk-logistics-submit-bar>div{
    display:flex;
    flex-direction:column;
}

.bulk-logistics-submit-bar small{
    color:var(--muted);
}

@media(max-width:900px){
    .bulk-logistics-controls{
        grid-template-columns:1fr;
    }

    .bulk-logistics-toolbar{
        align-items:stretch;
        flex-direction:column;
    }

    .bulk-logistics-filters{
        width:100%;
    }
}

@media(max-width:700px){
    .bulk-logistics-stats{
        grid-template-columns:1fr;
    }

    .bulk-logistics-filters{
        grid-template-columns:1fr;
    }

    .bulk-select-bar,
    .bulk-logistics-submit-bar{
        align-items:stretch;
        flex-direction:column;
    }

    .bulk-select-bar .button-link,
    .bulk-logistics-submit-bar .button-link{
        width:100%;
    }
}

.inventory-cutover-actions{display:grid;gap:10px;margin:18px 0}
.inventory-cutover-actions form{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--border);border-radius:12px;background:var(--theme-surface-soft,#fafbfc)}
.inventory-cutover-actions form>div{min-width:220px;flex:1}
.inventory-cutover-actions strong,.inventory-cutover-actions small{display:block}
.inventory-cutover-actions small{margin-top:3px;color:var(--muted);font-size:10.5px;line-height:1.45}
.inventory-cutover-password{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:10px;font-weight:750}
.inventory-cutover-password input{width:170px}
.inventory-offer-audit{margin:16px 0 20px;border:1px solid var(--border);border-radius:12px;overflow:hidden}
.inventory-offer-audit>summary{padding:14px 16px;background:var(--theme-surface-soft,#f7f9fc);color:var(--primary-dark);font-size:11.5px;font-weight:800;cursor:pointer}
.inventory-offer-audit .table-responsive{border-top:1px solid var(--border)}
.inventory-offer-table{min-width:1040px}
.inventory-offer-table td{vertical-align:top}
.inventory-offer-table td strong,.inventory-offer-table td small,.inventory-offer-table td a{display:block}
.inventory-offer-table td small,.inventory-offer-table td a{margin-top:4px;font-size:10px}
@media(max-width:800px){
    .inventory-cutover-actions form{align-items:stretch;flex-direction:column}
    .inventory-cutover-actions form>div{min-width:0}
    .inventory-cutover-password{align-items:stretch;flex-direction:column}
    .inventory-cutover-password input{width:100%}
}

/* Prijsoptimalisatie */
.price-publishing-state{
    display:inline-flex;
    align-items:center;
    gap:8px;
    min-height:38px;
    padding:8px 12px;
    border:1px solid var(--theme-warning-border,#f0d59b);
    border-radius:9px;
    background:var(--theme-warning-surface,#fff8e7);
    color:var(--theme-warning-text,#86570a);
    font-size:12px;
    font-weight:750;
    white-space:nowrap;
}

.price-publishing-state>span{
    width:8px;
    height:8px;
    border-radius:50%;
    background:var(--theme-warning-solid,#d88912);
    box-shadow:0 0 0 4px rgba(216,137,18,.13);
}

.price-account-banner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    margin-bottom:20px;
    padding:17px 20px;
    border:1px solid var(--theme-info-border,#cfe0fa);
    border-radius:14px;
    background:linear-gradient(135deg,var(--theme-info-surface,#f4f8ff),var(--theme-surface,#fff));
}

.price-account-banner>div{
    display:flex;
    flex-direction:column;
    min-width:220px;
}

.price-account-banner span{
    color:var(--muted);
    font-size:var(--font-xs);
    font-weight:750;
    letter-spacing:.07em;
    text-transform:uppercase;
}

.price-account-banner strong{font-size:16px}
.price-account-banner small{margin-top:2px;color:var(--muted);font-size:var(--font-xs)}
.price-account-banner p{max-width:680px;margin:0;color:var(--muted);font-size:12.5px}

.price-optimizer-stats .margin-negative,
.price-optimizer-table .margin-negative{color:var(--danger-dark)}
.price-optimizer-table .margin-positive{color:var(--theme-success-text,#067647)}

.price-workflow-card{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:0;
    padding:0;
    overflow:hidden;
}

.price-workflow-card>div{
    display:flex;
    align-items:flex-start;
    gap:12px;
    min-width:0;
    padding:18px 20px;
    border-right:1px solid var(--border);
}

.price-workflow-card>div:last-child{border-right:0}
.price-workflow-card>div>span{
    width:27px;
    height:27px;
    flex:0 0 27px;
    display:grid;
    place-items:center;
    border-radius:8px;
    background:var(--primary-soft);
    color:var(--primary-dark);
    font-size:12px;
    font-weight:800;
}
.price-workflow-card p,.price-workflow-card strong,.price-workflow-card small{display:block;margin:0}
.price-workflow-card strong{font-size:12.5px}
.price-workflow-card small{margin-top:3px;color:var(--muted);font-size:var(--font-xs);line-height:1.4}
.price-workflow-card .is-disabled{background:var(--theme-surface-soft,#fafbfc)}
.price-workflow-card .is-disabled>span{background:var(--theme-surface-muted,#eceff3);color:var(--theme-muted,#7d8795)}
.readiness-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.readiness-check{min-width:0;padding:16px;border:1px solid var(--border);border-radius:11px;background:var(--theme-surface,#fff)}
.readiness-check.is-ready{border-color:var(--theme-border,#b9dfd1);background:var(--theme-surface-soft,#f7fcfa)}
.readiness-check.is-blocked{border-color:var(--theme-warning-border,#efd6a8);background:var(--theme-warning-surface,#fffaf0)}
.readiness-check>strong{display:block;margin:9px 0 4px;font-size:13px}
.readiness-check>p{margin:0;color:var(--muted);font-size:11.5px;line-height:1.45}
.readiness-workflow{grid-template-columns:repeat(4,minmax(0,1fr))}
.section-eyebrow{display:block;margin-bottom:5px;color:var(--primary);font-size:9.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.push-readiness-header{align-items:flex-start}
.push-readiness-header .page-actions{align-items:flex-end;flex-direction:column}
.push-account-banner>p{max-width:610px}
.push-blocker-section .table-header{align-items:flex-start}
.push-component-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.push-component-card{min-width:0;padding:18px;border:1px solid var(--border);border-radius:13px;background:var(--theme-surface,#fff)}
.push-component-card.is-prepared{border-color:var(--theme-warning-border,#e6c77f);background:var(--theme-warning-surface,#fffcf4)}
.push-component-card.is-disabled{background:var(--theme-surface-soft,#fafbfc)}
.push-component-card.is-selected{border-color:var(--theme-info-border,#84adff);box-shadow:0 0 0 3px rgba(21,94,239,.09)}
.push-component-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.push-component-heading h3{margin:0;font-size:15px}
.push-component-card>p{min-height:42px;margin:12px 0 15px;color:var(--muted);font-size:11.5px;line-height:1.5}
.push-request-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0}
.push-request-facts>div{min-width:0;padding:10px 11px;border:1px solid var(--border);border-radius:9px;background:var(--theme-surface,rgba(255,255,255,.78))}
.push-request-facts dt{margin-bottom:4px;color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.push-request-facts dd{min-width:0;margin:0;font-size:11px;line-height:1.45;overflow-wrap:anywhere}
.push-request-facts code{color:var(--theme-text,#29364a);font-size:10.5px}
.push-payload-example{margin-top:13px;border-top:1px solid var(--border);padding-top:12px}
.push-payload-example summary{color:var(--primary-dark);font-size:11px;font-weight:750;cursor:pointer}
.push-payload-example pre,.push-json-grid pre{max-width:100%;margin:10px 0 0;padding:14px;overflow:auto;border-radius:9px;background:#111827;color:#dbeafe;font-size:11px;line-height:1.55;tab-size:2}
.push-local-only-note{margin-bottom:14px;padding:12px 14px;border:1px solid var(--theme-info-border,#cfe0fa);border-radius:10px;background:var(--theme-info-surface,#f4f8ff);color:var(--muted);font-size:11px;line-height:1.5}
.push-local-only-note strong{color:var(--theme-text,#344054)}
.push-component-select-form,.push-attempt-select-form{margin-top:13px;padding-top:12px;border-top:1px solid var(--border)}
.push-component-select-form .button-link,.push-attempt-select-form .button-link{width:100%;min-height:36px}
.push-component-select-form .button-link:disabled,.push-attempt-select-form .button-link:disabled{opacity:.65;cursor:not-allowed}
.push-policy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.push-policy-grid>div{min-width:0;padding:14px;border:1px solid var(--border);border-radius:10px;background:var(--theme-surface-soft,#fafbfc)}
.push-policy-grid span,.push-policy-grid strong,.push-policy-grid small{display:block}
.push-policy-grid span{color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.push-policy-grid strong{margin-top:5px;font-size:13px}
.push-policy-grid small{margin-top:3px;color:var(--muted);font-size:10.5px;line-height:1.4}
.push-rehearsal-candidate{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:17px;border:1px solid var(--theme-info-border,#cfe0fa);border-radius:12px;background:linear-gradient(135deg,var(--theme-info-surface,#f4f8ff),var(--theme-surface,#fff))}
.push-rehearsal-candidate h3{margin:0;font-size:15px}
.push-rehearsal-candidate p{margin:5px 0 0;color:var(--muted);font-size:11px}
.push-rehearsal-form{display:flex;align-items:flex-end;gap:10px}
.push-rehearsal-form label{display:grid;gap:4px;min-width:190px;color:var(--muted);font-size:9.5px;font-weight:750}
.push-rehearsal-form input{min-height:36px}
.push-rehearsal-results{margin-top:13px}
.push-policy-snapshot{margin-top:13px}
.push-contract-card{display:grid;grid-template-columns:minmax(250px,.75fr) minmax(0,1.25fr);align-items:start;gap:20px;padding:18px;border:1px solid var(--theme-info-border,#cfe0fa);border-radius:13px;background:linear-gradient(135deg,var(--theme-info-surface,#f4f8ff),var(--theme-surface,#fff))}
.push-contract-card h3{margin:10px 0 6px;font-size:15px}
.push-contract-card p{margin:0;color:var(--muted);font-size:11.5px;line-height:1.55}
.push-empty-state{margin-top:14px;padding:22px;border:1px dashed var(--border);border-radius:12px;text-align:center;background:var(--theme-surface-soft,#fafbfc)}
.push-empty-state strong{display:block;color:var(--text)}
.push-empty-state p{max-width:680px;margin:6px auto 0;font-size:11.5px;line-height:1.5}
.push-request-list{display:grid;gap:10px;margin-top:14px}
.push-request-preview{overflow:hidden;border:1px solid var(--border);border-radius:11px;background:var(--theme-surface,#fff)}
.push-request-preview>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;cursor:pointer;list-style:none}
.push-request-preview>summary::-webkit-details-marker{display:none}
.push-request-preview>summary>span:first-child{display:flex;flex-direction:column;min-width:0}
.push-request-preview>summary strong{font-size:12.5px}
.push-request-preview>summary small{margin-top:3px;color:var(--muted);font-size:10.5px}
.push-request-summary-meta{display:flex;align-items:center;justify-content:flex-end;gap:9px;min-width:0}
.push-request-summary-meta code{overflow:hidden;color:var(--theme-text,#344054);font-size:10.5px;text-overflow:ellipsis;white-space:nowrap}
.push-request-preview-body{padding:16px;border-top:1px solid var(--border);background:var(--theme-surface-soft,#fafbfc)}
.push-json-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:13px}
.push-json-grid h4{margin:0;font-size:11.5px}
.push-exclusion-note{margin-top:14px;padding:13px 15px;border-radius:10px;background:var(--theme-surface-soft,#f2f4f7);color:var(--muted);font-size:11px;line-height:1.5}
.push-exclusion-note strong{color:var(--theme-text,#344054)}

.price-filter-form{grid-template-columns:minmax(210px,1.4fr) minmax(170px,1fr) 130px minmax(170px,1fr) auto auto}
.price-target-input,.price-input-wrap{position:relative}
.price-target-input input{padding-right:35px}
.price-target-input span{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--muted);font-weight:700}

.price-optimizer-table{min-width:1360px}
.price-optimizer-table th,.price-optimizer-table td{vertical-align:top}
.price-product-cell{min-width:260px}
.price-product-cell>a{display:block;margin-top:6px;font-size:var(--font-xs)}
.price-market-cell{min-width:155px}
.price-market-cell>strong,.price-market-cell>small{display:block}
.price-market-cell>small{margin-top:5px;color:var(--muted);font-size:var(--font-xs)}
.country-chip{
    display:inline-flex;
    margin:6px 3px 0 0;
    padding:2px 6px;
    border-radius:5px;
    background:var(--theme-surface-soft,#eef3f9);
    color:var(--theme-muted,#4f6075);
    font-size:10px;
    font-weight:800;
}
.price-current-value{min-width:110px;white-space:nowrap}
.price-current-value strong,.price-current-value small{display:block}
.price-current-value small{margin-top:3px;color:var(--muted);font-size:var(--font-xs)}
.price-margin-stack{min-width:145px}
.price-margin-stack>div{display:grid;grid-template-columns:28px 1fr auto;align-items:baseline;gap:6px;white-space:nowrap}
.price-margin-stack>div+div{margin-top:7px;padding-top:7px;border-top:1px solid var(--border)}
.price-margin-stack span{color:var(--muted);font-size:var(--font-xs);font-weight:800}
.price-margin-stack strong{font-size:12px}
.price-margin-stack small{color:inherit;font-size:var(--font-xs)}
.price-margin-stack .price-margin-missing{grid-column:2/-1;color:var(--danger-dark);font-size:var(--font-xs);line-height:1.3;white-space:normal}
.price-new-margin{padding-left:16px!important;border-left:2px solid var(--theme-info-border,#cfe0fa)}
.price-new-margin>div:not(.margin-positive):not(.margin-negative){color:var(--muted)}

.price-input-cell{min-width:410px;white-space:normal}
.price-input-wrap span{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--muted);font-weight:700}
.price-input-wrap input{width:125px;min-height:38px;padding-left:27px;font-weight:750}
.price-input-cell>small{display:block;max-width:240px;margin-top:5px;color:var(--muted);font-size:var(--font-xs);white-space:normal}
.price-bundle-editor{margin-top:10px;padding-top:9px;border-top:1px solid var(--border)}
.price-bundle-editor summary{width:max-content;color:var(--primary);font-size:var(--font-xs);font-weight:800;cursor:pointer}
.price-bundle-editor>p{width:100%;max-width:100%;margin:8px 0;color:var(--muted);font-size:var(--font-xs);line-height:1.45;white-space:normal;overflow-wrap:anywhere}
.price-bundle-row{
    display:grid;
    grid-template-columns:58px 10px 88px 10px 96px 72px 20px;
    align-items:end;
    gap:5px;
    margin-top:8px;
    padding:10px;
    border:1px solid var(--border);
    border-radius:8px;
    background:var(--theme-surface,#fff);
}
.price-bundle-row.is-invalid{border-color:var(--theme-danger-border,#efb5ba);background:var(--theme-surface-soft,#fff8f8)}
.price-bundle-row label{display:grid;gap:3px;color:var(--muted);font-size:var(--font-xs);font-weight:750}
.price-bundle-row input{width:100%;min-height:31px;padding:5px 6px;font-size:var(--font-xs)}
.price-bundle-operator{align-self:center;color:var(--theme-muted,#48617c);font-size:14px;text-align:center}
.price-bundle-row>button{width:24px;height:31px;padding:0;border:0;background:transparent;color:var(--muted);font-size:18px;cursor:pointer}
.price-bundle-row>button:hover{color:var(--danger-dark)}
.price-bundle-row>small{min-width:0;min-height:12px;margin:0;color:var(--muted);font-size:var(--font-xs);line-height:1.35;white-space:normal;overflow-wrap:anywhere}
.price-bundle-row>small.price-bundle-result{grid-column:1/-1}
.price-bundle-row>small.price-bundle-result:not(:empty){
    margin-top:2px;
    padding:6px 7px;
    border-radius:6px;
    background:var(--theme-info-surface,#f3f7fd);
    color:var(--theme-muted,#31506f);
    font-size:var(--font-xs);
    font-weight:750;
}
.price-bundle-row>small.price-bundle-result.margin-positive{background:var(--theme-surface-soft,#eef9f4);color:var(--theme-success-text,#087443)}
.price-bundle-row>small.price-bundle-result.margin-negative{background:var(--theme-danger-surface,#fff1f2);color:var(--danger-dark)}
.price-bundle-validation{display:block;max-width:390px;margin-top:8px;color:var(--muted);font-size:var(--font-xs);line-height:1.4;white-space:normal;overflow-wrap:anywhere}
.price-bundle-help{display:block;max-width:390px;margin-top:6px;color:var(--muted);font-size:var(--font-xs);line-height:1.45;white-space:normal;overflow-wrap:anywhere}
.price-delta-cell{min-width:100px;font-weight:750;white-space:nowrap}
.price-action-cell{width:220px;min-width:220px;white-space:normal}
.price-action-cell form{display:flex;align-items:stretch;flex-direction:column;gap:6px;width:100%;min-width:0}
.price-action-cell form>*{box-sizing:border-box;min-width:0;max-width:100%}
.price-action-cell form>small{color:var(--muted);font-size:var(--font-xs);line-height:1.35;white-space:normal;overflow-wrap:anywhere}
.price-action-cell .badge{align-self:flex-start;white-space:normal}
.price-action-cell .alert{width:100%;margin:2px 0;white-space:normal;overflow-wrap:anywhere}
.price-save-button,.price-publish-button{width:100%;min-height:33px;padding:6px 9px;font-size:var(--font-xs);line-height:1.25;text-align:center;white-space:normal}
.price-delete-button{padding:2px 0;border:0;background:transparent;color:var(--danger-dark);font-size:var(--font-xs);font-weight:700;cursor:pointer}
.price-publish-button:disabled{border-color:var(--border);background:var(--theme-surface-soft,#f2f4f7);color:var(--theme-muted,#98a2b3);opacity:1;cursor:not-allowed}
.price-optimizer-table tr.has-price-simulation td{background:var(--theme-surface,#fbfdff)}
.price-table-legend{display:flex;gap:8px}
.price-table-legend span{padding:4px 8px;border-radius:6px;font-size:var(--font-xs);font-weight:750}
.price-table-legend .is-current{background:var(--theme-surface-soft,#f0f2f5);color:var(--theme-muted,#5e6877)}
.price-table-legend .is-proposed{background:var(--primary-soft);color:var(--primary-dark)}
.price-missing-cost-alert{display:flex;align-items:center;justify-content:space-between;gap:18px}
.price-missing-cost-alert .button-link{flex:0 0 auto}

/* Compact API-gereedheidsoverzicht */
.status-badge.success{background:var(--theme-success-surface,#dcfce7);color:var(--theme-success-text,#166534)}
.status-badge.warning{background:var(--theme-warning-surface,#fef3c7);color:var(--theme-warning-text,#92400e)}
.push-overview-header{align-items:flex-start}
.push-overview-header .page-actions{align-items:flex-end;flex-direction:column;gap:7px}
.push-overview-header .page-actions small{color:var(--muted);font-size:10.5px}
.push-overview-stats{grid-template-columns:repeat(4,minmax(0,1fr))}
.push-overview-section .table-header{align-items:flex-start}
.push-live-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.push-live-card{min-width:0;padding:16px;border:1px solid var(--border);border-radius:12px;background:var(--theme-surface,#fff)}
.push-live-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.push-live-card-heading strong,.push-live-card-heading small{display:block}
.push-live-card-heading strong{font-size:13px}
.push-live-card-heading small{margin-top:3px;color:var(--muted);font-size:10px}
.push-live-card>code{display:block;margin:13px 0;padding:9px 10px;overflow-wrap:anywhere;border-radius:7px;background:var(--theme-surface-soft,#f2f4f7);color:var(--theme-text,#344054);font-size:10.5px}
.push-live-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}
.push-live-card dl>div{min-width:0}
.push-live-card dt{margin-bottom:3px;color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.push-live-card dd{margin:0;font-size:10.5px;line-height:1.4;overflow-wrap:anywhere}
.push-account-table{min-width:690px}
.push-account-table td:first-child strong,.push-account-table td:first-child small{display:block}
.push-account-table td:first-child small{margin-top:3px;color:var(--muted);font-size:10px;font-weight:750}
.push-guideline-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.push-guideline-grid article{display:flex;align-items:flex-start;gap:10px;min-width:0;padding:14px;border:1px solid var(--theme-border,#b9dfd1);border-radius:10px;background:var(--theme-surface-soft,#f7fcfa)}
.push-guideline-grid article.is-blocked{border-color:var(--theme-warning-border,#efd6a8);background:var(--theme-warning-surface,#fffaf0)}
.push-guideline-grid article>span{display:grid;place-items:center;width:23px;height:23px;flex:0 0 23px;border-radius:50%;background:var(--theme-success-surface,#dcfce7);color:var(--theme-success-text,#166534);font-size:12px;font-weight:900}
.push-guideline-grid article.is-blocked>span{background:var(--theme-warning-surface,#fef3c7);color:var(--theme-warning-text,#92400e)}
.push-guideline-grid strong{display:block;font-size:12px}
.push-guideline-grid p{margin:4px 0 0;color:var(--muted);font-size:10.5px;line-height:1.45}
.push-doc-links{display:flex;align-items:center;gap:12px;margin-top:13px;padding-top:13px;border-top:1px solid var(--border);font-size:10.5px}
.push-doc-links strong{color:var(--muted)}
.push-pending-list{display:grid;gap:9px}
.push-pending-list article{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:13px 14px;border:1px solid var(--border);border-radius:10px;background:var(--theme-surface-soft,#fafbfc)}
.push-pending-list strong{display:block;font-size:12px}
.push-pending-list p{max-width:900px;margin:4px 0 0;color:var(--muted);font-size:10.5px;line-height:1.45}
.push-overview-actions{display:flex;gap:9px;margin-top:14px}
.push-account-table td>small{display:block;margin-top:5px;color:var(--muted);font-size:10px}
.push-ready-message{padding:14px 16px;border:1px solid var(--theme-border,#b9dfd1);border-radius:10px;background:var(--theme-surface-soft,#f3fbf7);color:var(--theme-success-text,#166534);font-size:12px;font-weight:750}
.push-issue-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.push-issue-list li{padding:11px 13px;border:1px solid var(--theme-warning-border,#efd6a8);border-radius:9px;background:var(--theme-warning-surface,#fffaf0);color:var(--theme-warning-text,#795514);font-size:11.5px;font-weight:700}
.push-capability-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none}
.push-capability-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;border:1px solid var(--border);border-radius:9px;background:var(--theme-surface-soft,#fafbfc);font-size:11.5px}
.push-capability-list strong{color:var(--theme-success-text,#087443);font-size:10px;text-transform:uppercase;letter-spacing:.04em}

/* Samengevoegd operationeel en technisch logboek */
.logs-section-card{margin-top:18px}
.logs-overview-stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:0}
.logs-backup-status{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px;padding:12px 14px;border:1px solid var(--theme-warning-border,#efd6a8);border-radius:10px;background:var(--theme-warning-surface,#fffaf0)}
.logs-backup-status.is-success{border-color:var(--theme-border,#b9dfd1);background:var(--theme-surface-soft,#f3fbf7)}
.logs-backup-status strong,.logs-backup-status span{display:block}
.logs-backup-status>div>span{margin-top:3px;color:var(--muted);font-size:10.5px}
.logs-section-card>.table-header{align-items:flex-start;margin-bottom:14px}
.logs-section-card .logs-table-wrapper{overflow-x:auto}
.logs-operational-table{min-width:1180px}
.logs-operational-table td{vertical-align:top}
.logs-operational-table th:nth-child(1),.logs-operational-table td:nth-child(1){width:125px;white-space:nowrap}
.logs-operational-table th:nth-child(2),.logs-operational-table td:nth-child(2){width:125px}
.logs-operational-table th:nth-child(3),.logs-operational-table td:nth-child(3){width:175px}
.logs-operational-table th:nth-child(4),.logs-operational-table td:nth-child(4){width:135px}
.logs-operational-table th:nth-child(5),.logs-operational-table td:nth-child(5){width:85px}
.logs-operational-table th:nth-child(6),.logs-operational-table td:nth-child(6){width:190px}
.logs-operational-table th:nth-child(7),.logs-operational-table td:nth-child(7){width:auto}
.logs-event-message{display:block;max-width:430px;white-space:normal;overflow-wrap:anywhere}
.logs-event-details{margin-top:5px}
.logs-event-details summary{color:var(--primary);font-size:10px;font-weight:750;cursor:pointer}
.logs-event-details .raw-data-box{max-width:430px;max-height:230px;margin-top:6px;white-space:pre-wrap;overflow:auto}

@media (max-width:900px){
    .push-overview-stats,.push-live-grid,.push-guideline-grid,.logs-overview-stats{grid-template-columns:1fr 1fr}
    .push-overview-header .page-actions{align-items:flex-start}
    .push-live-card dl{grid-template-columns:1fr}
    .push-pending-list article{align-items:flex-start;flex-direction:column}
    .push-doc-links,.push-overview-actions{align-items:flex-start;flex-direction:column}
    .push-capability-list{grid-template-columns:1fr 1fr}
    .price-missing-cost-alert{align-items:flex-start;flex-direction:column}
}

@media (max-width:620px){
    .push-overview-stats,.logs-overview-stats,.push-capability-list{grid-template-columns:1fr}
    .pagination-bar{padding-right:14px;padding-left:14px}
}
.price-policy-summary{display:flex;align-items:center;justify-content:space-between;gap:18px}
.price-policy-summary strong,.price-policy-summary small{display:block}
.price-policy-summary small{margin-top:5px;color:var(--muted)}
.price-password-label{display:grid;gap:4px;width:100%;color:var(--muted);font-size:var(--font-xs);font-weight:750}
.price-password-label input,.price-password-label textarea{width:100%;min-height:34px;padding:6px 8px;font-size:12px}
.price-password-label textarea{min-height:76px;resize:vertical}
.price-admin-override-note{margin:2px 0;padding:8px 10px;font-size:var(--font-xs);line-height:1.4}
.price-admin-override-note::before{content:none}
.price-bulk-approval-card{padding:0;overflow:hidden;border-color:var(--theme-info-border,#bfd5f7);background:var(--theme-surface-soft,#f8fbff)}
.price-bulk-approval-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:18px 20px;border-bottom:1px solid var(--theme-info-border,#d9e6f8)}
.price-bulk-approval-heading>div{min-width:0}
.price-bulk-approval-heading span{display:block;margin-bottom:3px;color:var(--primary);font-size:var(--font-xs);font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.price-bulk-approval-heading h2{margin:0;font-size:19px}
.price-bulk-approval-heading p{margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.45}
.price-bulk-select-all{display:flex;align-items:center;gap:8px;flex:0 0 auto;padding:8px 10px;border:1px solid var(--theme-info-border,#c9daf3);border-radius:9px;background:var(--theme-surface,#fff);font-size:var(--font-xs);font-weight:750;cursor:pointer}
.price-bulk-select-all input,.price-bulk-approval-item>input{width:16px;height:16px;margin:0;accent-color:var(--primary);cursor:pointer}
.price-bulk-approval-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--theme-info-surface,#dfe9f6)}
.price-bulk-approval-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:12px 14px;background:var(--theme-surface,#fff);cursor:pointer}
.price-bulk-approval-item:has(input:checked){background:var(--theme-surface-soft,#f8fbff)}
.price-bulk-approval-item>span{min-width:0}
.price-bulk-approval-item strong,.price-bulk-approval-item small{display:block;white-space:normal;overflow-wrap:anywhere}
.price-bulk-approval-item strong{font-size:12px;line-height:1.35}
.price-bulk-approval-item small{margin-top:3px;color:var(--muted);font-size:var(--font-xs);line-height:1.35}
.price-bulk-change{text-align:right;font-size:var(--font-xs);font-weight:800;white-space:nowrap}
.price-bulk-change small{text-align:right}
.price-bulk-approval-footer{display:flex;align-items:center;justify-content:flex-end;gap:14px;padding:14px 20px;border-top:1px solid var(--theme-info-border,#d9e6f8)}
.price-bulk-approval-footer>span{color:var(--muted);font-size:var(--font-xs);font-weight:700}
.price-bulk-approval-footer .button-link{min-width:250px}
.price-policy-form{margin-top:20px;padding-top:20px;border-top:1px solid var(--border)}
.price-policy-form:first-of-type{padding-top:0;border-top:0}

.processing-header .page-actions{align-items:center}
.processing-safety-note{margin-bottom:18px}
.processing-category-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-bottom:18px}
.processing-category-tabs a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--theme-surface,#fff);color:var(--text);text-decoration:none;box-shadow:var(--shadow-sm)}
.processing-category-tabs a:hover{border-color:var(--primary-border);background:var(--primary-soft)}
.processing-category-tabs a.is-active{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-dark)}
.processing-category-tabs span{font-size:12px;font-weight:750}
.processing-category-tabs strong{display:grid;place-items:center;min-width:26px;height:26px;padding:0 7px;border-radius:999px;background:var(--theme-surface-muted,#eef2f6);font-size:11px}
.processing-category-tabs a.is-active strong{background:var(--theme-surface,#fff)}
.processing-bulk-bar{display:grid;grid-template-columns:minmax(260px,1fr) minmax(240px,360px) auto;align-items:center;gap:14px;margin:18px 0;padding:14px;border:1px solid var(--primary-border);border-radius:12px;background:var(--primary-soft)}
.processing-bulk-bar>label{display:grid;gap:5px;color:var(--muted);font-size:11px;font-weight:700}
.processing-bulk-bar>label:first-child{display:flex;align-items:center;align-self:center;color:var(--text);font-size:12px}
.processing-bulk-bar>span{color:var(--muted);font-size:11px;line-height:1.45}
.processing-verification-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:18px 0;padding:12px 14px;border:1px solid var(--theme-warning-border,#efd99e);border-radius:12px;background:var(--theme-warning-surface,#fff9eb);color:var(--theme-warning-text,#795514);font-size:12px;font-weight:700}
.processing-verification-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
.processing-return-dispatch{margin-top:4px;white-space:nowrap}
.processing-list{display:grid;gap:12px;margin-top:18px}
.processing-list-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:2px;padding:2px 2px 4px}
.processing-list-heading h3{margin:2px 0 0;font-size:17px}
.processing-history-heading{margin-top:18px;padding-top:20px;border-top:1px solid var(--border)}
.processing-item{overflow:hidden;border:1px solid var(--border);border-radius:14px;background:var(--theme-surface,#fff)}
.processing-item.is-selectable{border-color:var(--primary-border)}
.processing-item-main{display:flex;align-items:flex-start;gap:12px;padding:16px}
.processing-row-checkbox{display:grid;place-items:center;flex:0 0 28px;height:28px;margin-top:2px;border-radius:8px;background:var(--primary-soft)}
.processing-row-checkbox input{width:16px;height:16px;margin:0}
.processing-item-copy{min-width:0;flex:1}
.processing-account-label{display:inline-flex;margin-bottom:5px;padding:4px 8px;border:1px solid var(--primary-border);border-radius:999px;background:var(--primary-soft);color:var(--primary-dark);font-size:10px;font-weight:800}
.processing-item-copy h3{margin:4px 0 3px;font-size:16px}
.processing-item-copy p{margin:0 0 5px;font-size:12px}
.processing-item-copy small{display:block;color:var(--muted);font-size:10.5px}
.processing-item-status{display:flex;align-items:flex-end;flex-direction:column;gap:6px;text-align:right}
.processing-item-status small{max-width:240px;color:var(--muted);font-size:10px}
.processing-request-details{border-top:1px solid var(--border);background:var(--theme-surface-soft,#fbfcfd)}
.processing-request-details>summary{padding:11px 16px;color:var(--primary-dark);font-size:11px;font-weight:750;cursor:pointer}
.processing-request-details[open]>summary{border-bottom:1px solid var(--border)}
.processing-request-details>.push-request-facts,.processing-request-details>.push-json-grid{margin:14px 16px}
.processing-stock-comparison{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--border)}
.processing-stock-comparison>div{padding:12px 16px;background:var(--theme-surface,#fff)}
.processing-stock-comparison span,.processing-stock-comparison strong{display:block}
.processing-stock-comparison span{margin-bottom:3px;color:var(--muted);font-size:10px;font-weight:700}
.processing-stock-comparison strong{font-size:13px}
.processing-empty-state{margin-top:18px}
.price-approval-section{padding:16px;border-color:var(--theme-info-border,#bfd5f7);background:var(--theme-surface-soft,#f8fbff)}
.price-approval-section>.table-header{margin-bottom:6px}
.price-approval-section>.table-header h2{font-size:20px}
.price-approval-section>.table-header p{margin-top:3px;font-size:var(--font-xs)}
.price-approval-section>.processing-list{gap:6px;margin-top:7px}
.price-review-bulk-bar{display:flex;align-items:center;gap:10px;margin:0 0 7px;padding:7px 9px;border:1px solid var(--theme-info-border,#bfd5f7);border-radius:8px;background:var(--theme-surface,#fff)}
.price-review-bulk-bar>label{display:flex;align-items:center;gap:8px;font-size:var(--font-xs);font-weight:750;white-space:nowrap}
.price-review-bulk-bar>span{color:var(--muted);font-size:var(--font-xs)}
.price-review-bulk-actions{display:flex;gap:8px;margin-left:auto}
.price-review-bulk-actions .button-link{width:auto;min-width:0;min-height:32px;padding:6px 10px}
.price-approval-item{border-radius:10px}
.price-approval-item .processing-item-main{justify-content:space-between;gap:8px;padding:7px 10px}
.price-approval-select{display:flex;align-items:center;align-self:stretch;padding-right:2px;cursor:pointer}
.price-approval-select input{width:15px;height:15px;margin:0}
.price-approval-item .processing-item-main>div{min-width:0;flex:1}
.price-approval-item .processing-item-main .section-eyebrow{font-size:var(--font-xs)}
.price-approval-item .processing-item-main h3{margin:1px 0;font-size:12px;line-height:1.25;overflow-wrap:anywhere}
.price-approval-item .processing-item-main p{margin:0;color:var(--muted);font-size:var(--font-xs)}
.price-approval-item .processing-account-label{align-items:center;flex:0 0 auto;gap:5px;margin:0;padding:3px 7px;font-size:var(--font-xs)}
.price-approval-item .processing-account-label small{font-size:var(--font-xs)}
.price-approval-summary{display:grid;grid-template-columns:minmax(170px,.85fr) minmax(270px,1.35fr) minmax(160px,.8fr);gap:1px;border-top:1px solid var(--border);background:var(--border)}
.price-approval-summary>div{padding:5px 10px;background:var(--theme-surface,#fff)}
.price-approval-summary span,.price-approval-summary strong{display:block}
.price-approval-summary span{margin-bottom:2px;color:var(--muted);font-size:var(--font-xs);font-weight:750}
.price-approval-summary strong{font-size:var(--font-xs);line-height:1.25;overflow-wrap:anywhere}
.price-approval-summary>div>small{display:block;margin-top:1px;color:var(--muted);font-size:var(--font-xs)}
.price-approval-margins{display:flex;flex-wrap:wrap;gap:4px 12px}
.price-approval-margin-row{display:flex;align-items:center;gap:5px;white-space:nowrap}
.price-approval-margin-row small{padding:1px 3px;border-radius:4px;background:var(--primary-soft);color:var(--primary-dark);font-size:var(--font-xs);font-weight:800}
.price-approval-margin-row strong{font-size:var(--font-xs)}
.price-approval-margin-row em{font-size:var(--font-xs);font-style:normal;font-weight:800}
.price-approval-margin-row em.is-positive{color:var(--theme-success-text,#087a43)}
.price-approval-margin-row em.is-negative{color:var(--theme-danger-text,#b42318)}
.price-approval-bundles{display:flex;align-items:center;flex-wrap:wrap;gap:4px;padding:4px 10px;border-top:1px solid var(--border);background:var(--theme-surface-soft,#fbfcfd)}
.price-approval-bundles span{margin-right:3px;color:var(--muted);font-size:var(--font-xs);font-weight:750}
.price-approval-bundles strong{padding:2px 5px;border-radius:5px;background:var(--primary-soft);color:var(--primary-dark);font-size:var(--font-xs)}
.price-approval-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;padding:5px 10px;border-top:1px solid var(--border)}
.price-approval-actions .rate-info,.price-approval-actions .alert{max-width:720px;margin:0 auto 0 0}
.price-approval-actions form{flex:0 0 auto}
.price-approval-actions .rate-info{font-size:var(--font-xs)}
.price-approval-actions .button-link{min-height:32px;padding:6px 10px;font-size:var(--font-xs)}

@media(max-width:1100px){
    .price-filter-form{grid-template-columns:repeat(2,minmax(0,1fr))}
    .price-bulk-approval-list{grid-template-columns:1fr}
    .readiness-workflow{grid-template-columns:repeat(2,minmax(0,1fr))}
    .push-contract-card{grid-template-columns:1fr}
    .push-policy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .processing-category-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
    .price-approval-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
    .processing-bulk-bar{grid-template-columns:1fr 1fr}
    .processing-bulk-bar button{grid-column:1/-1}
    .readiness-workflow>div:nth-child(2){border-right:0}
    .readiness-workflow>div{border-bottom:1px solid var(--border)}
    .readiness-workflow>div:nth-last-child(-n+2){border-bottom:0}
}

@media(max-width:700px){
    .price-account-banner{align-items:flex-start;flex-direction:column;gap:10px}
    .price-bulk-approval-heading,.price-bulk-approval-footer{align-items:stretch;flex-direction:column}
    .price-bulk-select-all{width:max-content}
    .price-bulk-approval-item{grid-template-columns:auto minmax(0,1fr)}
    .price-bulk-change{grid-column:2;text-align:left}
    .price-bulk-change small{text-align:left}
    .price-review-bulk-bar{align-items:stretch;flex-direction:column;margin:0 12px 14px}
    .price-review-bulk-actions{flex-direction:column;margin-left:0}
    .price-review-bulk-actions .button-link{width:100%}
    .price-approval-item .processing-item-main,.price-approval-actions{align-items:stretch;flex-direction:column}
    .price-approval-select{align-self:flex-start;padding:0}
    .price-approval-item .processing-account-label{align-self:flex-start}
    .price-approval-summary{grid-template-columns:1fr}
    .price-approval-actions form,.price-approval-actions .button-link{width:100%}
    .price-bulk-approval-footer .button-link{width:100%;min-width:0}
    .processing-category-tabs,.processing-stock-comparison{grid-template-columns:1fr}
    .processing-bulk-bar{grid-template-columns:1fr}
    .processing-bulk-bar button{grid-column:auto}
    .processing-verification-bar{align-items:stretch;flex-direction:column}
    .processing-verification-actions{justify-content:flex-start}
    .processing-item-main{flex-wrap:wrap}
    .processing-item-status{align-items:flex-start;width:100%;padding-left:40px;text-align:left}
    .price-workflow-card{grid-template-columns:1fr}
    .price-workflow-card>div{border-right:0;border-bottom:1px solid var(--border)}
    .price-workflow-card>div:last-child{border-bottom:0}
    .price-filter-form{grid-template-columns:1fr}
    .price-publishing-state{width:100%;justify-content:center}
    .price-policy-summary{align-items:flex-start;flex-direction:column}
    .readiness-check-grid,.readiness-workflow{grid-template-columns:1fr}
    .push-component-grid,.push-request-facts,.push-json-grid{grid-template-columns:1fr}
    .push-policy-grid{grid-template-columns:1fr}
    .push-component-card>p{min-height:0}
    .push-component-heading,.push-request-preview>summary,.push-request-summary-meta{align-items:flex-start;flex-direction:column}
    .push-rehearsal-candidate,.push-rehearsal-form{align-items:stretch;flex-direction:column}
    .push-rehearsal-form label{min-width:0}
    .push-request-summary-meta{width:100%}
    .push-request-summary-meta code{max-width:100%;white-space:normal}
    .readiness-workflow>div{border-right:0;border-bottom:1px solid var(--border)}
    .readiness-workflow>div:nth-last-child(2){border-bottom:1px solid var(--border)}
}

/* Inkoophulp */
.page-eyebrow{
    display:block;
    margin-bottom:5px;
    color:var(--primary);
    font-size:10px;
    font-weight:800;
    letter-spacing:.09em;
    text-transform:uppercase;
}

.sourcing-header{align-items:flex-start}
.sourcing-header .page-actions{align-items:flex-end;flex-direction:column}

.sourcing-account-strip{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    margin-bottom:20px;
    overflow:hidden;
    border:1px solid var(--border);
    border-radius:14px;
    background:var(--theme-surface,#fff);
}

.sourcing-account-strip>div{
    min-width:0;
    padding:15px 18px;
    border-right:1px solid var(--border);
}

.sourcing-account-strip>div:last-child{border-right:0}
.sourcing-account-strip span,.sourcing-account-strip strong{display:block}
.sourcing-account-strip span{margin-bottom:4px;color:var(--muted);font-size:9.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.sourcing-account-strip strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}

.sourcing-workspace{
    display:grid;
    grid-template-columns:minmax(0,1.55fr) minmax(330px,.75fr);
    align-items:start;
    gap:20px;
    margin-bottom:22px;
}

.sourcing-form{padding:0;overflow:hidden}
.sourcing-section-heading{
    display:flex;
    align-items:flex-start;
    gap:12px;
    padding:20px 22px 13px;
    border-top:1px solid var(--border);
}
.sourcing-section-heading:first-child{border-top:0}
.sourcing-section-heading>span{
    width:28px;
    height:28px;
    flex:0 0 28px;
    display:grid;
    place-items:center;
    border-radius:8px;
    background:var(--primary-soft);
    color:var(--primary-dark);
    font-size:12px;
    font-weight:800;
}
.sourcing-section-heading h2,.sourcing-section-heading p{margin:0}
.sourcing-section-heading h2{font-size:15px}
.sourcing-section-heading p{margin-top:3px;color:var(--muted);font-size:11px}

.sourcing-form-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px 18px;
    padding:6px 22px 22px;
}
.sourcing-form .form-group{min-width:0;margin:0}
.sourcing-form .form-group label{display:block;margin-bottom:6px}
.sourcing-form .form-group small{display:block;margin-top:5px;color:var(--muted);font-size:10px;line-height:1.4}
.sourcing-form input,.sourcing-form select{width:100%}
.input-suffix{position:relative}
.input-suffix input{padding-right:34px}
.input-suffix>span{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:12px;font-weight:750}

.sourcing-commission-box{
    margin:0 22px 20px;
    padding:15px 16px;
    border:1px solid var(--theme-info-border,#d7e4f6);
    border-radius:11px;
    background:var(--theme-info-surface,#f7faff);
}
.sourcing-commission-box>div:first-child{margin-bottom:12px}
.sourcing-commission-box strong,.sourcing-commission-box p{display:block;margin:0}
.sourcing-commission-box p{max-width:740px;margin-top:3px;color:var(--muted);font-size:10.5px;line-height:1.45}
.sourcing-commission-box>label{display:inline-flex;align-items:center;gap:6px;margin-right:18px;font-size:11px;font-weight:750;cursor:pointer}
.sourcing-commission-box>label input{width:auto}
.sourcing-custom-commission{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
    margin-top:14px;
    padding-top:14px;
    border-top:1px solid var(--theme-info-border,#d7e4f6);
}
.sourcing-custom-commission[hidden]{display:none}

.sourcing-advanced{border-top:1px solid var(--border)}
.sourcing-advanced summary{padding:15px 22px;color:var(--primary-dark);font-size:11.5px;font-weight:800;cursor:pointer}
.sourcing-advanced[open] summary{margin-bottom:2px}
.sourcing-source-url{grid-column:span 1}
.sourcing-actions{margin:0;padding:18px 22px;border-top:1px solid var(--border);background:var(--theme-surface-soft,#fafbfc)}

.sourcing-result-panel{
    position:sticky;
    top:82px;
    overflow:hidden;
    border:1px solid var(--border);
    border-radius:14px;
    background:var(--theme-surface,#fff);
    box-shadow:var(--shadow-sm);
}
.sourcing-result-panel.is-empty{min-height:300px;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:35px;text-align:center}
.sourcing-result-panel.is-empty h2,.sourcing-result-panel.is-empty p{margin:0}
.sourcing-result-panel.is-empty h2{margin-top:12px;font-size:16px}
.sourcing-result-panel.is-empty p{max-width:280px;margin-top:7px;color:var(--muted);font-size:11px;line-height:1.5}
.sourcing-empty-icon{width:50px;height:50px;display:grid;place-items:center;border-radius:15px;background:var(--primary-soft);color:var(--primary-dark);font-size:20px;font-weight:850}

.sourcing-market-verdicts{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
    gap:1px;
    background:var(--theme-surface,#fff);
}
.sourcing-verdict{min-width:0;padding:22px;color:#fff;background:var(--theme-danger-solid,#a12a35)}
.sourcing-verdict.is-positive{background:var(--theme-success-solid,#087443)}
.sourcing-verdict span,.sourcing-verdict strong,.sourcing-verdict small{display:block}
.sourcing-verdict span{font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;opacity:.85}
.sourcing-verdict strong{margin-top:3px;font-size:34px;letter-spacing:-.04em}
.sourcing-verdict small{margin-top:2px;font-size:11px;opacity:.9}
.sourcing-shipping-market{padding:10px 12px;border:1px solid var(--theme-info-border,#d7e4f6);border-radius:10px;background:var(--theme-info-surface,#f7faff)}
.sourcing-range-card{margin:16px 16px 0;padding:13px 14px;border:1px solid var(--theme-info-border,#d7e4f6);border-radius:10px;background:var(--theme-info-surface,#f7faff)}
.sourcing-range-card span,.sourcing-range-card strong,.sourcing-range-card small{display:block}
.sourcing-range-card span{color:var(--muted);font-size:9.5px;font-weight:800;text-transform:uppercase}
.sourcing-range-card strong{margin-top:4px;font-size:12.5px}
.sourcing-range-card small{margin-top:2px;color:var(--muted);font-size:10.5px}
.sourcing-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:8px 16px 16px}
.sourcing-result-grid>div{min-width:0;padding:12px 7px;border-bottom:1px solid var(--border)}
.sourcing-result-grid>div:nth-last-child(-n+2){border-bottom:0}
.sourcing-result-grid span,.sourcing-result-grid strong{display:block}
.sourcing-result-grid span{min-height:24px;color:var(--muted);font-size:9.5px;line-height:1.25}
.sourcing-result-grid strong{margin-top:4px;font-size:12px}
.sourcing-disclaimer{margin:0;padding:14px 16px;border-top:1px solid var(--border);background:var(--theme-surface-soft,#fafbfc);color:var(--muted);font-size:9.5px;line-height:1.5}

.sourcing-scenarios{margin-bottom:14px}
.sourcing-scenarios table{min-width:1080px}
.sourcing-scenarios td{vertical-align:top}
.sourcing-scenarios td strong,.sourcing-scenarios td small,.sourcing-scenarios td>a{display:block}
.sourcing-scenarios td small{margin-top:3px;color:var(--muted);font-size:10px}
.sourcing-scenarios td>a{margin-top:5px;font-size:10.5px}
.sourcing-row-actions{min-width:225px}
.sourcing-row-actions>a{display:inline-flex!important;margin:0 0 7px!important}
.sourcing-row-actions form{display:flex;align-items:center;flex-wrap:wrap;gap:7px}
.sourcing-row-actions form button{padding:0;border:0;background:transparent;color:var(--primary);font-size:10px;font-weight:750;cursor:pointer}
.sourcing-row-actions form .danger-link{color:var(--danger-dark)}
.sourcing-source-note{margin:0 2px 24px;color:var(--muted);font-size:10px;line-height:1.5}

@media(max-width:1100px){
    .sourcing-account-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
    .sourcing-account-strip>div:nth-child(2){border-right:0}
    .sourcing-account-strip>div:nth-child(-n+2){border-bottom:1px solid var(--border)}
    .sourcing-workspace{grid-template-columns:1fr}
    .sourcing-result-panel{position:static}
}

@media(max-width:700px){
    .sourcing-header .page-actions{width:100%;align-items:stretch}
    .sourcing-account-strip,.sourcing-form-grid,.sourcing-custom-commission{grid-template-columns:1fr}
    .sourcing-account-strip>div{border-right:0;border-bottom:1px solid var(--border)}
    .sourcing-account-strip>div:nth-child(2){border-bottom:1px solid var(--border)}
    .sourcing-account-strip>div:last-child{border-bottom:0}
    .sourcing-form-grid{gap:12px}
    .sourcing-commission-box>label{display:flex;margin:8px 0}
    .sourcing-actions{align-items:stretch;flex-direction:column}
    .sourcing-actions .button,.sourcing-actions .button-link{width:100%;justify-content:center}
    .sourcing-market-verdicts{grid-template-columns:1fr}
}
.settings-checkbox {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 12px 0;
    cursor: pointer;
}

.settings-checkbox input[type="checkbox"] {
    width: 18px;
    min-width: 18px;
    height: 18px;
    margin: 0;
    padding: 0;
    flex: 0 0 18px;
}

.mileage-settings-form {
    display: grid;
    gap: 18px;
    margin-top: 20px;
}

.mileage-settings-section {
    padding: 20px;
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    background: var(--panel-soft);
}

.mileage-section-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 16px;
}

.mileage-section-heading h3,
.mileage-address-title h4 {
    margin: 2px 0 0;
}

.mileage-section-heading p,
.mileage-address-title p {
    margin: 4px 0 0;
}

.mileage-address-grid,
.mileage-mail-layout {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.mileage-address-card,
.mileage-mail-source-card,
.mileage-mail-explanation {
    padding: 18px;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    background: var(--theme-surface,#fff);
}

.mileage-address-title {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.mileage-address-title > span {
    display: inline-grid;
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    place-items: center;
    border-radius: 50%;
    background: var(--primary-soft);
    color: var(--primary-dark);
    font-size: 12px;
    font-weight: 800;
}

.mileage-address-line {
    display: grid;
    gap: 12px;
}

.mileage-address-line-street {
    grid-template-columns: minmax(0, 1fr) minmax(110px, .32fr);
}

.mileage-address-line-city {
    grid-template-columns: minmax(120px, .45fr) minmax(0, 1fr);
}

.mileage-address-card .form-group,
.mileage-mail-source-card .form-group {
    margin: 0 0 12px;
}

.mileage-address-card .mileage-address-line:last-of-type .form-group,
.mileage-mail-source-card .form-group:last-child {
    margin-bottom: 0;
}

.mileage-meta-strip {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 16px;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    background: var(--theme-surface,#fff);
}

.mileage-meta-strip > div {
    display: grid;
    gap: 3px;
    padding: 11px 14px;
    border-right: 1px solid var(--border);
}

.mileage-meta-strip > div:last-child {
    border-right: 0;
}

.mileage-meta-strip span {
    color: var(--muted);
    font-size:var(--font-xs);
    font-weight: 700;
}

.mileage-meta-strip strong {
    font-size: 12px;
}

.mileage-mail-source-card .settings-checkbox {
    margin: 0 0 12px;
}

.mileage-mail-explanation {
    border-color: var(--primary-border);
    background: var(--primary-soft);
}

.mileage-mail-explanation ol {
    display: grid;
    gap: 7px;
    margin: 12px 0;
    padding-left: 20px;
    color: var(--text);
    font-size: 12px;
    line-height: 1.45;
}

.mileage-mail-explanation p {
    margin: 0;
    font-size:var(--font-xs);
}

.mileage-mail-explanation code {
    overflow-wrap: anywhere;
}

.mileage-legacy-address {
    display: grid;
    gap: 4px;
    margin-top: 12px;
    padding: 10px 12px;
    border-radius: 8px;
    background: var(--theme-warning-surface,#fffbeb);
    color: var(--theme-warning-text,#92400e);
    font-size:var(--font-xs);
}

.mileage-accounting-note {
    display: flex;
    gap: 12px;
    padding: 13px 15px;
    border: 1px solid var(--primary-border);
    border-radius: var(--radius-sm);
    background: var(--primary-soft);
}

.mileage-accounting-note > span {
    display: inline-grid;
    width: 22px;
    height: 22px;
    flex: 0 0 22px;
    place-items: center;
    border-radius: 50%;
    background: var(--theme-action-primary,var(--primary));
    color: #fff;
    font-size:var(--font-xs);
    font-weight: 800;
}

.mileage-accounting-note p {
    margin: 3px 0 0;
    font-size:var(--font-xs);
}

.mileage-form-actions {
    margin-top: 0;
}

.mileage-rate-periods {
    display: grid;
    gap: 12px;
    margin-top: 18px;
}

.mileage-rate-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(150px, 1fr)) auto;
    align-items: end;
    gap: 12px;
    padding: 16px;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    background: var(--panel-soft);
}

.mileage-rate-row > .button-link {
    min-height: 44px;
}

.mileage-rate-row .form-group {
    margin: 0;
}

.input-prefix {
    display: flex;
    align-items: center;
    min-height: 44px;
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-sm);
    background: var(--theme-surface,#fff);
    overflow: hidden;
}

.input-prefix > span {
    padding-left: 13px;
    color: var(--muted);
    font-weight: 700;
}

.input-prefix input {
    width: 100%;
    border: 0;
    box-shadow: none;
}

.dashboard-mileage-alert {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.dashboard-mileage-alert > div {
    display: grid;
    gap: 3px;
}

@media (max-width: 820px) {
    .mileage-address-grid,
    .mileage-mail-layout,
    .mileage-meta-strip,
    .mileage-rate-row {
        grid-template-columns: 1fr;
    }

    .mileage-meta-strip > div {
        border-right: 0;
        border-bottom: 1px solid var(--border);
    }

    .mileage-meta-strip > div:last-child {
        border-bottom: 0;
    }

    .mileage-rate-row .button-link {
        justify-self: start;
    }

    .dashboard-mileage-alert {
        align-items: stretch;
        flex-direction: column;
    }
}

@media (max-width: 520px) {
    .mileage-settings-section {
        padding: 14px;
    }

    .mileage-address-line-street,
    .mileage-address-line-city {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .mileage-section-heading {
        flex-direction: column;
    }
}

.mileage-imap-form {
    display: grid;
    gap: 14px;
    margin-top: 18px;
}

.mileage-imap-main-fields {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.mileage-imap-main-fields .form-group,
.mileage-imap-advanced .form-group {
    margin: 0;
}

.mileage-imap-advanced {
    padding: 12px 14px;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    background: var(--panel-soft);
}

.mileage-imap-advanced summary {
    color: var(--primary-dark);
    font-size: 12px;
    font-weight: 750;
    cursor: pointer;
}

.mileage-imap-advanced[open] summary {
    margin-bottom: 12px;
}

.mileage-imap-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.mileage-imap-footer p,
.mileage-imap-footer .form-actions {
    margin: 0;
}

.mileage-page-header .page-actions form {
    margin: 0;
}

.mileage-stat-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 18px;
}

.mileage-stat-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 72px;
    padding: 14px 16px;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    background: var(--theme-surface,#fff);
    color: var(--text);
    box-shadow: var(--shadow-sm);
}

.mileage-stat-card.is-active {
    border-color: var(--primary);
    background: var(--primary-soft);
}

.mileage-stat-card span {
    color: var(--muted);
    font-size:var(--font-xs);
    font-weight: 700;
}

.mileage-stat-card strong {
    font-size: 20px;
}

.mileage-import-status {
    display: grid;
    grid-template-columns: minmax(190px, .7fr) minmax(0, 1.3fr);
    align-items: center;
    gap: 20px;
    margin-bottom: 22px;
    padding: 16px 18px;
}

.mileage-import-status > div {
    display: grid;
    gap: 4px;
}

.mileage-import-status dl {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    margin: 0;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 9px;
    background: var(--border);
}

.mileage-import-status dl > div {
    padding: 9px 11px;
    background: var(--theme-surface,#fff);
}

.mileage-import-status dt,
.mileage-import-status dd {
    margin: 0;
}

.mileage-import-status dt {
    color: var(--muted);
    font-size:var(--font-xs);
    font-weight: 750;
}

.mileage-import-status dd {
    margin-top: 3px;
    font-size:var(--font-xs);
    font-weight: 700;
    overflow-wrap: anywhere;
}

.mileage-event-list {
    display: grid;
    gap: 12px;
}

.mileage-event-list > .section-heading {
    margin-bottom: 2px;
}

.mileage-event-card {
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    background: var(--theme-surface,#fff);
    box-shadow: var(--shadow-sm);
}

.mileage-event-card > header,
.mileage-event-card > footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 16px;
}

.mileage-event-card > header h3 {
    margin: 2px 0;
    font-size: 17px;
}

.mileage-event-card > header p {
    margin: 0;
    font-size:var(--font-xs);
}

.mileage-event-badges {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 7px;
}

.mileage-route-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    background: var(--border);
}

.mileage-route-grid > div {
    display: grid;
    gap: 4px;
    min-height: 86px;
    padding: 12px 16px;
    background: var(--panel-soft);
}

.mileage-route-grid .is-service-point {
    background: var(--primary-soft);
}

.mileage-route-grid span,
.mileage-event-details span {
    color: var(--muted);
    font-size:var(--font-xs);
    font-weight: 750;
}

.mileage-route-grid strong {
    font-size:var(--font-xs);
    line-height: 1.45;
}

.mileage-event-details {
    display: grid;
    grid-template-columns: minmax(240px, 1.4fr) repeat(3, minmax(110px, .6fr));
    gap: 12px;
    padding: 11px 16px;
}

.mileage-event-details > div {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.mileage-event-details strong {
    font-size:var(--font-xs);
    overflow-wrap: anywhere;
}

.mileage-event-card > footer {
    border-top: 1px solid var(--border);
    background: var(--panel-soft);
}

.mileage-distance-form {
    display: flex;
    align-items: flex-end;
    flex-wrap: wrap;
    gap: 9px;
}

.mileage-distance-form label {
    width: 180px;
    margin: 0;
}

.mileage-distance-form input {
    margin-top: 5px;
}

.mileage-confirmed-copy {
    color: var(--success-dark);
    font-size:var(--font-xs);
    font-weight: 750;
}

.mileage-month-report {
    padding: 0;
    overflow: hidden;
}

.mileage-month-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 20px 22px;
}

.mileage-month-header h2,
.mileage-month-header p {
    margin: 0;
}

.mileage-month-header h2 {
    margin-top: 3px;
}

.mileage-month-header p {
    margin-top: 5px;
    color: var(--muted);
    font-size: 12px;
}

.mileage-month-controls {
    display: flex;
    align-items: flex-end;
    gap: 8px;
    flex: 0 0 auto;
}

.mileage-month-controls form {
    margin: 0;
}

.mileage-month-controls label {
    display: block;
    margin-bottom: 4px;
    color: var(--muted);
    font-size:var(--font-xs);
    font-weight: 750;
}

.mileage-month-controls select {
    min-width: 190px;
}

.mileage-month-totals {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    padding: 1px 0;
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    background: var(--border);
}

.mileage-month-totals > div {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    padding: 11px 16px;
    background: var(--panel-soft);
}

.mileage-month-totals span {
    color: var(--muted);
    font-size:var(--font-xs);
    font-weight: 700;
}

.mileage-month-totals strong {
    font-size: 14px;
}

.mileage-month-table-wrap {
    border: 0;
    border-radius: 0;
}

.mileage-month-table {
    width: 100%;
    min-width: 900px;
    table-layout: fixed;
}

.mileage-month-table th:nth-child(1) { width: 18%; }
.mileage-month-table th:nth-child(2) { width: 23%; }
.mileage-month-table th:nth-child(3) { width: 28%; }
.mileage-month-table th:nth-child(4) { width: 10%; }
.mileage-month-table th:nth-child(5) { width: 8%; }
.mileage-month-table th:nth-child(6) { width: 13%; }

.mileage-month-table th,
.mileage-month-table td {
    padding: 10px 12px;
    vertical-align: top;
}

.mileage-month-table td > strong,
.mileage-month-table td > small,
.mileage-month-route span {
    display: block;
}

.mileage-month-date,
.mileage-month-date strong {
    white-space: normal;
}

.mileage-month-date strong span {
    display: block;
    white-space: nowrap;
}

.mileage-month-table td > small,
.mileage-month-route span {
    margin-top: 3px;
    color: var(--muted);
    font-size:var(--font-xs);
    line-height: 1.35;
}

.mileage-month-route {
    min-width: 320px;
    max-width: 560px;
}

.mileage-month-table form {
    margin: 0;
}

.mileage-month-address,
.mileage-month-location {
    min-width: 210px;
    line-height: 1.45;
}

.mileage-month-location strong,
.mileage-month-location small {
    display: block;
}

.mileage-month-location small {
    margin-top: 3px;
    color: var(--muted);
    font-size:var(--font-xs);
}

.mileage-month-edit-row > td {
    padding: 0;
    background: var(--panel-soft);
}

.mileage-confirmed-edit-form {
    width: 100%;
    min-width: 0;
    padding: 18px;
    border-top: 2px solid var(--primary);
}

.mileage-confirmed-edit-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.mileage-confirmed-edit-grid label {
    display: grid;
    min-width: 0;
    gap: 5px;
    margin: 0;
}

.mileage-confirmed-edit-grid label.is-wide {
    grid-column: span 3;
}

.mileage-confirmed-edit-grid input,
.mileage-confirmed-edit-grid textarea {
    display: block;
    min-width: 0;
    width: 100%;
    margin: 0;
}

.mileage-confirmed-edit-grid textarea {
    min-height: 70px;
}

.mileage-confirmed-address-fields {
    grid-column: 1 / -1;
    min-width: 0;
    margin: 0;
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    background: var(--theme-surface,#fff);
}

.mileage-confirmed-address-fields legend {
    padding: 0 6px;
    color: var(--text);
    font-size: 12px;
    font-weight: 750;
}

.mileage-confirmed-address-fields > div {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    gap: 12px;
}

.mileage-confirmed-address-fields > small {
    display: block;
    margin-top: 10px;
    color: var(--muted);
    font-size:var(--font-xs);
}

.mileage-confirmed-edit-service-point,
.mileage-confirmed-edit-tracking {
    display: grid;
    gap: 4px;
    min-width: 0;
    max-width: 100%;
    margin-top: 16px;
    padding: 12px 14px;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    background: var(--theme-surface,#fff);
}

.mileage-confirmed-edit-service-point > span,
.mileage-confirmed-edit-tracking > span {
    color: var(--muted);
    font-size:var(--font-xs);
    font-weight: 750;
}

.mileage-confirmed-edit-service-point strong {
    font-size:var(--font-xs);
    line-height: 1.5;
}

.mileage-confirmed-edit-service-point small {
    color: var(--muted);
    font-size:var(--font-xs);
}

.mileage-confirmed-edit-tracking {
    overflow: hidden;
}

.mileage-confirmed-edit-tracking-numbers {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    min-width: 0;
    max-width: 100%;
}

.mileage-tracking-number {
    display: block;
    max-width: 100%;
    padding: 4px 7px;
    border-radius: 5px;
    background: var(--panel-soft);
    font-size:var(--font-xs);
    font-weight: 700;
    overflow-wrap: anywhere;
    word-break: break-all;
    white-space: normal;
}

@media (max-width: 1000px) {
    .mileage-stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .mileage-imap-main-fields,
    .mileage-route-grid,
    .mileage-event-details {
        grid-template-columns: 1fr;
    }

    .mileage-import-status {
        grid-template-columns: 1fr;
    }

    .mileage-month-header {
        align-items: stretch;
        flex-direction: column;
    }

    .mileage-month-controls {
        align-items: flex-end;
    }

    .mileage-confirmed-edit-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .mileage-confirmed-edit-grid label.is-wide {
        grid-column: span 2;
    }

    .mileage-confirmed-address-fields > div {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .mileage-imap-main-fields,
    .mileage-stat-grid,
    .mileage-import-status dl {
        grid-template-columns: 1fr;
    }

    .mileage-imap-footer,
    .mileage-event-card > header,
    .mileage-event-card > footer {
        align-items: stretch;
        flex-direction: column;
    }

    .mileage-event-badges {
        justify-content: flex-start;
    }

    .mileage-distance-form,
    .mileage-distance-form label,
    .mileage-distance-form .button {
        width: 100%;
    }

    .mileage-month-controls,
    .mileage-month-controls form,
    .mileage-month-controls select {
        width: 100%;
    }

    .mileage-month-controls .button {
        flex: 0 0 auto;
    }

    .mileage-month-totals {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .mileage-confirmed-edit-grid {
        grid-template-columns: 1fr;
    }

    .mileage-confirmed-edit-grid label.is-wide {
        grid-column: auto;
    }

    .mileage-confirmed-address-fields > div {
        grid-template-columns: 1fr;
    }
}

.settings-user-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    min-width: 220px;
}

.settings-user-actions form {
    margin: 0;
}

.settings-users-table input,
.settings-users-table select {
    min-width: 150px;
}

.permission-picker{
    margin:24px 0 0;
    padding:0;
    border:0;
}

.permission-picker>legend{
    padding:0;
    color:var(--text);
    font-size:16px;
    font-weight:750;
}

.permission-picker>.rate-info{
    margin:6px 0 14px;
}

.permission-groups{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
}

.permission-group{
    padding:16px;
    border:1px solid var(--border);
    border-radius:var(--radius-md);
    background:var(--theme-surface,#fbfcfe);
}

.permission-group h3{
    margin:0 0 10px;
    color:var(--theme-muted,#475467);
    font-size:12px;
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase;
}

.permission-option{
    display:flex;
    align-items:flex-start;
    gap:10px;
    margin:0;
    padding:9px 0;
    border-top:1px solid var(--theme-border,#edf0f3);
    cursor:pointer;
}

.permission-group h3+.permission-option{
    border-top:0;
}

.permission-option input{
    width:18px;
    min-width:18px;
    height:18px;
    margin:2px 0 0;
}

.permission-option span,
.permission-option strong,
.permission-option small{
    display:block;
}

.permission-option strong{
    color:var(--text);
    font-size:13px;
}

.permission-option small{
    margin-top:3px;
    color:var(--muted);
    font-size:11.5px;
    font-weight:400;
    line-height:1.4;
}

.user-edit-layout{
    display:grid;
    grid-template-columns:minmax(0,2fr) minmax(280px,1fr);
    gap:20px;
    align-items:start;
}

.user-account-actions{
    position:sticky;
    top:20px;
}

.user-account-actions form{
    margin-top:10px;
}

.user-account-actions .button-link{
    width:100%;
}

.user-account-facts{
    margin:14px 0 20px;
}

.user-account-facts>div{
    display:flex;
    justify-content:space-between;
    gap:16px;
    padding:10px 0;
    border-bottom:1px solid var(--border);
}

.user-account-facts dt{
    color:var(--muted);
}

.user-account-facts dd{
    margin:0;
    color:var(--text);
    font-weight:700;
    text-align:right;
}

@media(max-width:900px){
    .permission-groups,
    .user-edit-layout{
        grid-template-columns:1fr;
    }
    .user-account-actions{
        position:static;
    }
}

/* Centrale voorraadmodule */
.inventory-kpi-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
    margin:0 0 20px;
}

.inventory-kpi-grid>div{
    padding:18px 20px;
    border:1px solid var(--border);
    border-radius:16px;
    background:var(--theme-surface,#fff);
    box-shadow:var(--shadow-sm);
}

.inventory-kpi-grid span,
.inventory-kpi-grid strong{
    display:block;
}

.inventory-kpi-grid span{
    color:var(--muted);
    font-size:11px;
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase;
}

.inventory-kpi-grid strong{
    margin-top:8px;
    color:var(--primary-dark);
    font-size:28px;
}

.inventory-filter-form{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    align-items:end;
    margin-bottom:20px;
    padding:14px 16px;
    border:1px solid var(--border);
    border-radius:14px;
    background:var(--theme-surface,#fff);
    box-shadow:var(--shadow-sm);
}

.inventory-filter-form .form-group{
    flex:1 1 145px;
    min-width:0;
    margin:0;
}

.inventory-filter-form .inventory-search-field{
    flex:2 1 300px;
}

.inventory-filter-form label{
    display:block;
    margin-bottom:5px;
    color:var(--muted);
    font-size:12px;
    font-weight:700;
}

.inventory-filter-form input,
.inventory-filter-form select{
    width:100%;
    min-width:0;
    min-height:42px;
    padding:8px 11px;
    border-color:var(--theme-border,#d7e0ea);
    border-radius:9px;
    background:var(--theme-surface-soft,#f8fafc);
}

.inventory-filter-actions{
    display:flex;
    flex:0 0 auto;
    gap:8px;
}

.inventory-filter-actions .button-link{
    min-height:42px;
    padding:9px 13px;
    box-shadow:none;
}

.inventory-table-card>.table-header{
    padding:22px 22px 0;
}

.inventory-table{
    width:100%;
    min-width:0;
    table-layout:auto;
}

.inventory-table th,
.inventory-table td{
    min-width:0;
    white-space:normal;
}

.inventory-table th:first-child,
.inventory-table td:first-child{
    width:38%;
}

.inventory-table th:nth-child(2),
.inventory-table td:nth-child(2),
.inventory-table th:nth-child(3),
.inventory-table td:nth-child(3){
    width:10%;
}

.inventory-table th:nth-child(4),
.inventory-table td:nth-child(4){
    width:14%;
}

.inventory-table th:nth-child(5),
.inventory-table td:nth-child(5){
    width:15%;
}

.inventory-table th:last-child,
.inventory-table td:last-child{
    width:13%;
    min-width:120px;
}

.inventory-table td{
    vertical-align:top;
}

.inventory-product-cell .product-name-line{
    align-items:center;
}

.inventory-product-cell .product-name-line>div,
.inventory-product-cell .product-name-line strong{
    min-width:0;
    white-space:normal;
    overflow-wrap:anywhere;
}

.inventory-quantity-cell strong{
    display:block;
    color:var(--text);
    font-size:16px;
    line-height:1.25;
}

.inventory-table td small,
.inventory-history-table td small,
.inventory-availability-cell span{
    display:block;
    margin-top:5px;
    color:var(--muted);
    font-size:12px;
    line-height:1.45;
}

.inventory-availability-cell{
    min-width:0;
    white-space:normal;
}

.inventory-availability-cell>strong{
    display:block;
}

.inventory-table td>.badge+.badge{
    margin-top:5px;
}

.inventory-status-cell{
    overflow-wrap:anywhere;
    white-space:normal;
}

.inventory-status-cell .badge{
    display:table;
    max-width:100%;
    white-space:normal;
}

.inventory-row-actions{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    min-width:0;
}

.inventory-adjust-layout{
    display:grid;
    grid-template-columns:minmax(0,1.6fr) minmax(280px,.8fr);
    gap:20px;
    align-items:start;
}

.inventory-adjust-card,
.inventory-adjust-context{
    margin:0;
}

.inventory-adjust-product{
    display:flex;
    gap:14px;
    align-items:center;
}

.inventory-adjust-product h2,
.inventory-adjust-product p{
    margin:3px 0 0;
}

.inventory-stock-summary{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:12px;
    margin:22px 0;
}

.inventory-stock-summary-item{
    display:grid;
    grid-template-columns:1fr auto;
    gap:4px 12px;
    align-items:center;
    min-width:0;
    padding:16px;
    border:1px solid var(--theme-border,#dbe4f0);
    border-radius:14px;
    background:var(--theme-surface-soft,#f8fafc);
}

.inventory-stock-summary-item-primary{
    border-color:var(--theme-border,#b8ccea);
    background:var(--theme-info-surface,#f1f5fb);
}

.inventory-stock-summary-item-available{
    border-color:var(--theme-border,#bddfc9);
    background:var(--theme-surface-soft,#f4fbf6);
}

.inventory-stock-summary-item span,
.inventory-stock-summary-item small{
    color:var(--muted);
}

.inventory-stock-summary-item strong{
    grid-row:1/3;
    grid-column:2;
    color:var(--primary-dark);
    font-size:32px;
}

.inventory-stock-summary-note{
    margin:-12px 0 22px;
    color:var(--muted);
    font-size:13px;
    line-height:1.5;
}

.inventory-adjust-bundles{
    margin:0 0 22px;
    padding:16px 18px;
    border:1px solid var(--border);
    border-radius:14px;
    background:var(--theme-surface,#fbfcfe);
}

.inventory-adjust-bundles-heading h3,
.inventory-adjust-bundles-heading p{
    margin:0;
}

.inventory-adjust-bundles-heading p{
    margin-top:4px;
    color:var(--muted);
    font-size:12px;
}

.inventory-adjust-bundle-list{
    display:grid;
    max-height:300px;
    margin-top:14px;
    overflow-y:auto;
    scrollbar-color:var(--theme-border,#c7ced8) transparent;
    scrollbar-width:thin;
}

.inventory-adjust-bundle{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:16px;
    align-items:center;
    padding:11px 0;
    border-top:1px solid var(--border);
}

.inventory-adjust-bundle:first-child{
    padding-top:0;
    border-top:0;
}

.inventory-adjust-bundle>div>strong,
.inventory-adjust-bundle>div>small{
    display:block;
}

.inventory-adjust-bundle>div>strong{
    overflow-wrap:anywhere;
}

.inventory-adjust-bundle>div>small{
    margin-top:3px;
    color:var(--muted);
}

.inventory-adjust-bundle dl{
    display:grid;
    grid-template-columns:repeat(2,minmax(90px,auto));
    gap:8px;
    margin:0;
}

.inventory-adjust-bundle dl>div{
    padding:7px 10px;
    border-radius:9px;
    background:var(--theme-info-surface,#f1f5fb);
}

.inventory-adjust-bundle dt{
    color:var(--muted);
    font-size:10px;
    font-weight:750;
    text-transform:uppercase;
}

.inventory-adjust-bundle dd{
    margin:3px 0 0;
    color:var(--primary-dark);
    font-size:15px;
    font-weight:800;
}

.inventory-correction-form textarea{
    resize:vertical;
}

.inventory-adjust-context-heading h2,
.inventory-adjust-context-heading p{
    margin:0;
}

.inventory-adjust-context-heading p,
.inventory-adjust-history-empty{
    margin-top:5px;
    color:var(--muted);
}

.inventory-adjust-history{
    display:grid;
    max-height:620px;
    margin-top:16px;
    padding-right:5px;
    overflow-y:auto;
    scrollbar-color:var(--theme-border,#c7ced8) transparent;
    scrollbar-width:thin;
}

.inventory-adjust-movement{
    padding:14px 0;
    border-top:1px solid var(--border);
}

.inventory-adjust-movement:first-child{
    padding-top:0;
    border-top:0;
}

.inventory-adjust-movement-heading{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
}

.inventory-adjust-movement-heading>strong{
    font-size:16px;
}

.inventory-adjust-movement p{
    margin:8px 0 5px;
    color:var(--text);
    line-height:1.4;
    overflow-wrap:anywhere;
}

.inventory-adjust-movement small{
    color:var(--muted);
}

@media(max-width:1100px){
    .inventory-filter-form .form-group{
        flex-basis:180px;
    }
}

@media(max-width:800px){
    .inventory-kpi-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .inventory-adjust-layout{
        grid-template-columns:1fr;
    }
    .inventory-filter-form .form-group,
    .inventory-filter-form .inventory-search-field{
        flex:1 1 100%;
    }
    .inventory-filter-actions{
        width:100%;
        flex-direction:column;
    }
    .inventory-filter-actions .button-link{
        width:100%;
    }
    .inventory-adjust-bundle{
        grid-template-columns:1fr;
    }
    .inventory-stock-summary{
        grid-template-columns:1fr;
    }
}

@media(max-width:520px){
    .inventory-kpi-grid{
        grid-template-columns:1fr;
    }
}

/* Verzendlabelkeuze: na de algemene formulierregels om radio's compact te houden. */
.bol-label-option{
    min-width:0;
    min-height:0;
    margin:0;
}

.bol-label-option>input[type="radio"]{
    width:18px;
    height:18px;
    min-width:18px;
    min-height:18px;
    margin:2px 0 0;
    padding:0;
    border-radius:50%;
    box-shadow:none;
}

.bol-label-option-copy{
    flex:1 1 auto;
    width:auto;
    overflow-wrap:anywhere;
}

.bol-label-create-form>button{
    justify-self:start;
    width:auto;
}

.bol-label-auto-status{
    display:inline-flex;
    align-items:center;
    gap:9px;
    color:var(--muted);
    font-size:13px;
    font-weight:700;
}

.bol-label-status-spinner{
    width:16px;
    height:16px;
    border:2px solid var(--theme-info-border,#bfdbfe);
    border-top-color:var(--primary);
    border-radius:50%;
    animation:bol-label-spin .8s linear infinite;
}

@keyframes bol-label-spin{
    to{transform:rotate(360deg)}
}

@media(prefers-reduced-motion:reduce){
    .bol-label-status-spinner{animation:none}
}

@media(max-width:720px){
    .bol-label-options{
        grid-template-columns:1fr;
    }
}
/* Kilometerregistratie: automatische autoroute */
.mileage-routing-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:16px}
.mileage-routing-toggle{margin-top:14px}
.mileage-routing-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px;padding-top:16px;border-top:1px solid var(--border)}
.mileage-routing-footer p,.mileage-routing-footer .form-actions{margin:0}
.mileage-event-details small{display:block;margin-top:4px;color:var(--muted)}
.mileage-route-error{margin:0 24px 16px}
.mileage-route-source{margin:0;padding:9px 24px;color:var(--muted);font-size:12px;border-top:1px solid var(--border)}
@media(max-width:800px){.mileage-routing-grid{grid-template-columns:1fr}.mileage-routing-footer{align-items:stretch;flex-direction:column}}

/* Automatisering */
.automation-job-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.automation-job-card{border:1px solid var(--theme-border,#dbe3ef);border-radius:14px;padding:18px;background:var(--theme-surface,#fff)}.automation-job-card.is-ready{border-color:var(--theme-border,#a7e0c1);background:var(--theme-surface-soft,#f5fcf8)}.automation-job-card.is-danger{border-color:var(--theme-danger-border,#f1a7a7);background:var(--theme-danger-surface,#fff7f7)}.automation-job-title,.automation-account-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.automation-job-title h3,.automation-account-head h3{margin:0}.automation-job-card dl{display:grid;gap:8px;margin:16px 0 0}.automation-job-card dl div{display:flex;justify-content:space-between;gap:12px}.automation-job-card dt{color:var(--theme-muted,#60708a)}.automation-job-card dd{margin:0;text-align:right}.automation-error{color:var(--theme-danger-text,#a51d2d)}.automation-account-block{padding:20px 0;border-top:1px solid var(--theme-border,#e1e7f0)}.automation-account-block:first-of-type{border-top:0}.automation-metrics{display:flex;flex-wrap:wrap;gap:12px;margin:14px 0}.automation-metrics span{padding:8px 12px;border-radius:10px;background:var(--theme-surface-soft,#f2f5f9)}.automation-actions{display:flex;align-items:end;flex-wrap:wrap;gap:12px}.automation-canary-form{display:flex;align-items:end;gap:10px;flex:1;min-width:320px}.automation-canary-form label{flex:1}.automation-canary-form select{width:100%}.status-pill{display:inline-flex;padding:5px 9px;border-radius:999px;background:var(--theme-surface-muted,#edf2f7);font-size:.78rem;font-weight:700;white-space:nowrap}

.core-automation-strip{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:7px;
    width:fit-content;
    max-width:100%;
    margin:-8px 0 18px;
    padding:7px 10px;
    border:1px solid var(--theme-border,#dbe3ef);
    border-radius:10px;
    background:var(--theme-surface-soft,#f8fafc);
    color:var(--theme-muted,#475569);
    font-size:.78rem;
    line-height:1.35;
}
.core-automation-strip-list{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:-8px 0 18px}
.core-automation-strip-list .core-automation-strip{margin:0}
.core-automation-strip-dot{width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:#94a3b8}
.core-automation-strip strong{color:var(--theme-text,#334155);font-size:.78rem}
.core-automation-strip small{font-size:.75rem;color:var(--theme-muted,#64748b)}
.core-automation-strip a{font-weight:750;text-decoration:none}
.core-automation-strip.is-success{border-color:var(--theme-success-border,#bbf7d0);background:var(--theme-success-surface,#f0fdf4)}
.core-automation-strip.is-success .core-automation-strip-dot{background:#16a34a}
.core-automation-strip.is-success strong{color:var(--theme-success-text,#166534)}
.core-automation-strip.is-running{border-color:var(--theme-info-border,#bfdbfe);background:var(--theme-info-surface,#eff6ff)}
.core-automation-strip.is-running .core-automation-strip-dot{background:#2563eb}
.core-automation-strip.is-running strong{color:var(--theme-info-text,#1d4ed8)}
.core-automation-strip.is-danger{border-color:var(--theme-danger-border,#fecaca);background:var(--theme-danger-surface,#fef2f2)}
.core-automation-strip.is-danger .core-automation-strip-dot{background:#dc2626}
.core-automation-strip.is-danger strong{color:var(--theme-danger-text,#991b1b)}
@media(max-width:640px){.core-automation-strip-list{width:100%;align-items:stretch}.core-automation-strip{width:100%;align-items:flex-start}.core-automation-strip small{flex-basis:calc(100% - 18px);margin-left:15px}}

/* Help & uitleg */
.help-page-header{align-items:flex-end}
.help-header-stats{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
.help-header-stats span{display:flex;align-items:baseline;gap:5px;padding:8px 12px;border:1px solid var(--theme-border,#dbe4f0);border-radius:999px;background:var(--theme-surface,#fff);color:var(--muted);font-size:12px;font-weight:700}
.help-header-stats strong{color:var(--text);font-size:14px}
.help-search-panel{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(360px,1.3fr);gap:20px 32px;align-items:end;padding:22px;border:1px solid var(--theme-border,#dbe4f0);border-radius:16px;background:linear-gradient(135deg,var(--theme-surface-soft,#f8fbff) 0%,var(--theme-surface,#fff) 62%);box-shadow:0 8px 22px rgba(15,23,42,.05)}
.help-search-copy h2{margin:0;font-size:20px}
.help-search-copy p{margin:6px 0 0;color:var(--muted);font-size:13px;line-height:1.5}
.help-search-controls{display:grid;gap:10px}
.help-search-field label{display:block;margin-bottom:6px;color:var(--theme-text,#334155);font-size:12px;font-weight:800}
.help-search-field>div{position:relative}
.help-search-field input{width:100%;min-height:48px;padding-right:80px;border-color:var(--theme-border,#cbd5e1);background:var(--theme-surface,#fff)}
.help-search-field input:focus{border-color:var(--theme-info-border,#60a5fa);box-shadow:0 0 0 3px rgba(59,130,246,.13)}
.help-search-clear{position:absolute;top:50%;right:8px;width:auto;min-height:32px;padding:5px 9px;transform:translateY(-50%);border:0;border-radius:8px;background:var(--theme-surface-soft,#eef2f7);color:var(--theme-text,#334155);box-shadow:none;font-size:12px}
.help-availability-toggle{display:flex;align-items:center;gap:8px;width:max-content;max-width:100%;color:var(--theme-muted,#475569);font-size:12px;font-weight:700}
.help-availability-toggle input{width:17px;height:17px;min-width:17px;margin:0}
.help-result-status{grid-column:1/-1;margin:0;padding-top:14px;border-top:1px solid var(--theme-border,#e2e8f0);color:var(--muted);font-size:12px}
.help-result-status strong{color:var(--theme-info-text,#1d4ed8)}
.help-section-nav{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 26px}
.help-section-nav a{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid var(--theme-border,#dbe4f0);border-radius:10px;background:var(--theme-surface,#fff);color:var(--theme-text,#334155);font-size:12px;font-weight:800;text-decoration:none}
.help-section-nav a:hover{border-color:var(--theme-info-border,#93c5fd);color:var(--theme-info-text,#1d4ed8)}
.help-section-nav a span{color:var(--theme-info-text,#2563eb);font-size:10px}
.help-no-results{margin:24px 0;padding:36px;border:1px dashed var(--theme-border,#cbd5e1);border-radius:16px;background:var(--theme-surface,#fff)}
.help-no-results p{margin:7px 0 0}
.help-sections{display:grid;gap:34px}
.help-section{scroll-margin-top:20px}
.help-section-heading{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;align-items:start;margin-bottom:13px}
.help-section-heading>span{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--theme-info-surface,#e8f0ff);color:var(--theme-info-text,#1d4ed8);font-size:12px;font-weight:900}
.help-section-heading h2{margin:1px 0 0;font-size:22px}
.help-section-heading p{margin:4px 0 0;color:var(--muted);font-size:13px;line-height:1.5}
.help-module-list{display:grid;gap:9px}
.help-module{overflow:hidden;border:1px solid var(--theme-border,#dbe4f0);border-radius:14px;background:var(--theme-surface,#fff);box-shadow:0 4px 14px rgba(15,23,42,.035)}
.help-module[open]{border-color:var(--theme-info-border,#b9cef5);box-shadow:0 9px 24px rgba(37,99,235,.07)}
.help-module>summary{display:grid;grid-template-columns:34px minmax(0,1fr) auto 14px;gap:12px;align-items:center;padding:16px 18px;cursor:pointer;list-style:none}
.help-module>summary::-webkit-details-marker{display:none}
.help-module>summary:hover{background:var(--theme-surface-soft,#f8fbff)}
.help-module-number{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--theme-surface-soft,#f1f5f9);color:var(--theme-muted,#64748b);font-size:10px;font-weight:900}
.help-module-summary{display:grid;gap:3px;min-width:0}
.help-module-summary strong{color:var(--text);font-size:15px}
.help-module-summary small{overflow:hidden;color:var(--muted);font-size:12px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}
.help-access-badge{display:inline-flex;align-items:center;min-height:26px;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:850;white-space:nowrap}
.help-access-badge.is-available{background:var(--theme-success-surface,#dcfce7);color:var(--theme-success-text,#166534)}
.help-access-badge.is-locked{background:var(--theme-surface-soft,#f1f5f9);color:var(--theme-muted,#64748b)}
.help-module-chevron{width:9px;height:9px;border-right:2px solid var(--theme-border,#64748b);border-bottom:2px solid var(--theme-border,#64748b);transform:rotate(45deg) translate(-2px,-2px);transition:transform .16s ease}
.help-module[open] .help-module-chevron{transform:rotate(225deg) translate(-1px,-1px)}
.help-module-body{padding:0 18px 18px 64px;border-top:1px solid var(--theme-border,#edf1f6)}
.help-module-columns{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:28px;padding:20px 0}
.help-module-columns h3{margin:0 0 10px;color:var(--theme-text,#334155);font-size:13px}
.help-module-columns ul,.help-module-columns ol{display:grid;gap:7px;margin:0;padding-left:20px;color:var(--theme-muted,#475569);font-size:12.5px;line-height:1.5}
.help-module-columns li::marker{color:var(--theme-info-text,#2563eb);font-weight:800}
.help-module-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:14px;border-top:1px solid var(--theme-border,#edf1f6)}
.help-module-footer .button-link{min-height:38px;padding:8px 12px}
.help-permission-note{color:var(--theme-muted,#64748b);font-size:12px;line-height:1.45}
.help-back-link{flex:0 0 auto;color:var(--theme-muted,#64748b);font-size:11px;font-weight:750;text-decoration:none}
.help-back-link:hover{color:var(--theme-info-text,#1d4ed8)}
.help-module.is-unavailable>summary{background:var(--theme-surface,#fbfcfe)}
@media(max-width:820px){.help-search-panel,.help-module-columns{grid-template-columns:1fr}.help-search-panel{align-items:stretch}.help-module-columns{gap:20px}}
@media(max-width:620px){.help-page-header{align-items:stretch}.help-header-stats{justify-content:flex-start}.help-search-panel{padding:17px}.help-section-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.help-section-nav a{min-width:0}.help-module>summary{grid-template-columns:32px minmax(0,1fr) 12px;padding:14px}.help-access-badge{grid-column:2;justify-self:start}.help-module-chevron{grid-column:3;grid-row:1/3}.help-module-summary small{white-space:normal}.help-module-body{padding:0 14px 16px}.help-module-footer{align-items:flex-start;flex-direction:column}}
@media print{.help-search-panel,.help-section-nav,.help-back-link,.help-module-footer .button-link{display:none!important}.help-module{break-inside:avoid;box-shadow:none}.help-module>summary{grid-template-columns:34px 1fr auto}.help-module-chevron{display:none}}
/* E-mailautomatisering */
.email-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.email-page-header h1{margin-bottom:8px}.email-page-header p{max-width:760px}.email-policy-note{display:flex;gap:12px;align-items:center;padding:14px 18px;margin:0 0 18px;border:1px solid var(--theme-info-border,#b9d3ff);border-radius:12px;background:var(--theme-info-surface,#eef5ff);color:var(--theme-info-text,#173968)}.email-policy-note strong{white-space:nowrap}.email-account-picker{display:grid;grid-template-columns:auto minmax(240px,460px);align-items:center;gap:12px;margin:18px 0}.email-account-picker label{font-weight:700}.email-account-picker select{margin:0}.email-global-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px 24px;padding:22px;margin-bottom:24px}.email-global-card h2,.email-global-card p{margin:0}.email-global-card details,.email-global-card>button{grid-column:1/-1}.email-global-card summary{cursor:pointer;color:var(--theme-info-text,#2563eb);font-weight:700}.email-settings-row{display:flex;flex-wrap:wrap;gap:18px;margin-top:14px;align-items:center}.email-settings-row label{display:flex;gap:8px;align-items:center}.email-settings-row input[type=number]{width:80px;margin:0}.email-rule-list{display:grid;gap:14px}.email-rule-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px 28px;padding:22px;border-left:4px solid var(--theme-success-border,#20a45b)}.email-rule-card.is-paused{border-left-color:var(--theme-border,#a8b2c1)}.email-rule-title{display:flex;align-items:center;gap:10px;margin-bottom:12px}.email-rule-card .status-dot{width:9px;height:9px;border-radius:50%;background:#20a45b}.email-rule-card.is-paused .status-dot{background:#a8b2c1}.email-rule-sentence{font-size:16px;line-height:2.15;margin:0}.email-rule-sentence button,.email-rule-sentence a,.email-fixed-pill{display:inline;padding:5px 9px;border:0;border-radius:7px;background:var(--theme-info-surface,#e9f1ff);color:var(--theme-info-text,#1759c8);font:inherit;font-weight:700;text-decoration:none;cursor:pointer}.email-fixed-pill{background:var(--theme-surface-muted,#eef1f5);color:var(--theme-muted,#3d4c62);cursor:default}.email-rule-stats{display:flex;gap:20px;align-self:center}.email-rule-stats span{display:grid;text-align:center;color:var(--theme-muted,#66758b);font-size:12px;min-width:58px}.email-rule-stats b{font-size:18px;color:var(--theme-info-text,#132643)}.email-rule-actions{grid-column:1/-1;display:flex;gap:10px;border-top:1px solid var(--theme-border,#e3e8ef);padding-top:14px}.email-add-button{margin-top:20px}.email-dialog{border:0;border-radius:16px;padding:0;width:min(760px,calc(100% - 28px));max-height:90vh;box-shadow:0 24px 70px rgba(16,35,69,.28)}.email-dialog::backdrop{background:rgba(13,27,48,.55)}.email-dialog form{padding:24px}.dialog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.dialog-head h2{margin:0}.dialog-head button{border:0;background:none;font-size:28px;cursor:pointer}.email-dialog-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.email-dialog-grid label{display:grid;gap:7px;font-weight:700}.email-dialog-grid .span-2{grid-column:1/-1}.email-dialog-grid input,.email-dialog-grid select,.email-test-dialog input{margin:0}.email-check-grid,.email-country-grid{border:1px solid var(--theme-border,#dbe3ef);border-radius:10px;padding:12px;max-height:210px;overflow:auto}.email-check-grid label{display:flex;grid-template-columns:auto 1fr;align-items:flex-start;font-weight:500;padding:6px}.email-check-grid small{display:block;color:var(--theme-muted,#78879a)}.email-country-grid{display:flex;gap:14px;flex-wrap:wrap}.email-required-attachment{display:flex;justify-content:space-between;padding:13px;border-radius:9px;background:var(--theme-surface-soft,#f2f5f9)}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.email-delete-form{padding-top:0!important}.text-danger{border:0;background:none;color:var(--theme-danger-text,#b42318);cursor:pointer}.email-test-dialog label{display:grid;gap:7px;margin-top:14px;font-weight:700}.email-editor-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:22px;align-items:start}.email-editor-panel,.email-preview-panel{padding:22px}.email-editor-panel>label{display:grid;gap:7px;margin-bottom:14px;font-weight:700}.email-tag-list,.email-block-toolbar{display:flex;flex-wrap:wrap;gap:7px;margin:18px 0}.email-tag-list strong,.email-block-toolbar strong{width:100%;margin-bottom:3px}.email-tag-list button,.email-block-toolbar button,.email-block-row-head button{border:1px solid var(--theme-border,#c9d5e5);background:var(--theme-surface,#fff);color:var(--theme-info-text,#1759c8);border-radius:7px;padding:6px 9px;cursor:pointer}.email-block-list{display:grid;gap:12px}.email-block-row{border:1px solid var(--theme-border,#dbe3ef);border-radius:10px;padding:14px;background:var(--theme-surface-soft,#f8fafc)}.email-block-row-head{display:flex;justify-content:space-between;margin-bottom:10px}.email-block-row label{display:grid;gap:5px;margin-top:8px;font-weight:600}.email-block-row textarea,.email-block-row input{margin:0}.email-preview-panel{position:sticky;top:20px}.email-preview-panel h2{margin-top:0}.email-preview-panel iframe{width:100%;height:650px;border:1px solid var(--theme-border,#dbe3ef);border-radius:10px;background:white}.muted{font-weight:400;color:var(--theme-muted,#718096)}
@media(max-width:900px){.email-page-header{display:grid}.email-rule-card,.email-editor-layout{grid-template-columns:1fr}.email-rule-stats{justify-content:space-between;overflow:auto}.email-preview-panel{position:static}.email-dialog-grid{grid-template-columns:1fr}.email-dialog-grid .span-2{grid-column:auto}.email-account-picker{grid-template-columns:1fr}.email-global-card{grid-template-columns:1fr}.email-global-card details,.email-global-card>button{grid-column:auto}}

/* Reviewmails: lokale typografie en bediening, los van dashboard-statistiekkaarten. */
.email-page-header{justify-content:flex-start}
.email-template-section{margin:0 0 22px}
.email-section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:12px}
.email-section-heading h2{margin:0 0 4px;font-size:20px;color:var(--text)}
.email-section-heading p{margin:0;color:var(--muted);font-size:14px}
.email-template-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:12px}
.email-template-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border:1px solid var(--border);border-radius:14px;background:var(--theme-surface,#fff);box-shadow:var(--shadow-sm)}
.email-template-card>div{display:flex;align-items:center;gap:12px;min-width:0}
.email-template-card strong,.email-template-card small{display:block}
.email-template-card strong{color:var(--text);font-size:14px}
.email-template-card small{margin-top:3px;color:var(--muted);font-size:12px}
.email-template-icon{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:10px;background:var(--theme-info-surface,#e9f1ff);color:var(--theme-info-text,#1759c8);font-size:18px}
.email-template-card .button{flex:0 0 auto}
.email-global-card h2{margin:0 0 5px;color:var(--text);font-size:18px;font-weight:750;letter-spacing:0;text-transform:none}
.email-global-card p.email-global-description,.email-test-dialog p.email-test-description,.email-test-dialog p.email-test-empty{margin:0;color:var(--muted);font-size:14px;font-weight:400;line-height:1.5;letter-spacing:0}
.email-master-toggle{position:relative;display:grid;grid-template-columns:42px auto;align-items:center;gap:9px;cursor:pointer}
.email-master-toggle input{position:absolute;width:1px;height:1px;margin:0;opacity:0;pointer-events:none}
.email-master-toggle>span{position:relative;width:42px;height:24px;border-radius:999px;background:var(--theme-surface-muted,#cbd5e1);transition:.18s ease}
.email-master-toggle>span::before{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(15,23,42,.24);transition:.18s ease}
.email-master-toggle input:checked+span{background:var(--theme-success-solid,#22a52a)}
.email-master-toggle input:checked+span::before{transform:translateX(18px)}
.email-master-toggle input:focus-visible+span{outline:3px solid var(--theme-info-border,rgba(37,99,235,.25));outline-offset:2px}
.email-extra-settings{border-top:1px solid var(--border);padding-top:14px}
.email-extra-settings summary{cursor:pointer;color:var(--theme-info-text,#2563eb);font-size:14px;font-weight:700}
.email-settings-list{display:grid;gap:12px;margin-top:14px;max-width:780px}
.email-settings-list>label{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;padding:12px;border:1px solid var(--theme-border,#e2e8f0);border-radius:10px;background:var(--theme-surface-soft,#f8fafc)}
.email-settings-list input[type=checkbox]{width:17px;height:17px;margin:2px 0 0}
.email-settings-list strong,.email-settings-list small{display:block}
.email-settings-list strong{font-size:14px;color:var(--text)}
.email-settings-list small{margin-top:3px;color:var(--muted);font-size:12px;line-height:1.45}
.email-settings-list .email-age-setting{grid-template-columns:minmax(0,1fr) auto;align-items:center}
.email-age-setting>span:last-child{display:flex;align-items:center;gap:7px;white-space:nowrap;font-size:13px}
.email-age-setting input[type=number]{width:72px;margin:0}
.email-rule-card p.email-rule-sentence{margin:0;color:var(--text);font-size:16px;font-weight:400;line-height:2.2;letter-spacing:0}
.email-test-dialog label select{margin:0}
.email-test-empty{margin-top:10px!important;color:var(--theme-danger-text,#a23a2a)!important}
.email-global-card>.button,.email-add-button,.email-dialog .dialog-actions .button[type=submit]{background:linear-gradient(135deg,var(--theme-action-primary,var(--primary)),var(--theme-action-primary-hover,var(--primary-dark)));color:#fff;box-shadow:0 8px 20px rgba(37,99,235,.18)}
.email-template-card .button,.email-rule-actions .button,.email-dialog .dialog-actions .button.button-secondary{background:var(--theme-info-surface,#e9f1ff);color:var(--theme-info-text,#1759c8);box-shadow:none}
.email-dialog .button:disabled{opacity:.5;cursor:not-allowed}
.email-review-names{margin:0 0 22px;padding:0;overflow:hidden}
.email-review-names>summary{display:grid;grid-template-columns:minmax(0,1fr) auto 20px;align-items:center;gap:16px;padding:18px 20px;cursor:pointer;list-style:none}
.email-review-names>summary::-webkit-details-marker{display:none}
.email-review-names>summary strong,.email-review-names>summary small{display:block}
.email-review-names>summary strong{color:var(--text);font-size:16px}
.email-review-names>summary small{margin-top:4px;color:var(--muted);font-size:13px;font-weight:400}
.email-review-name-count{padding:5px 9px;border-radius:999px;background:var(--theme-info-surface,#eef4ff);color:var(--theme-info-text,#1759c8);font-size:12px;font-weight:750;white-space:nowrap}
.email-review-name-chevron{color:var(--theme-muted,#64748b);font-size:20px;line-height:1;transition:transform .18s ease}
.email-review-names[open] .email-review-name-chevron{transform:rotate(180deg)}
.email-review-names>form{border-top:1px solid var(--border);padding:18px 20px 20px}
.email-review-name-toolbar{display:grid;grid-template-columns:minmax(0,420px) auto;align-items:end;gap:6px 12px;margin-bottom:14px}
.email-review-name-toolbar label{grid-column:1;color:var(--text);font-size:13px;font-weight:700}
.email-review-name-toolbar input{grid-column:1;margin:0}
.email-review-name-toolbar small{grid-column:2;grid-row:2;color:var(--muted);font-size:12px}
.email-review-name-list{display:grid;gap:10px;max-height:720px;overflow:auto;padding-right:4px}
.email-review-name-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));align-items:center;gap:14px;padding:14px;border:1px solid var(--theme-border,#e2e8f0);border-radius:12px;background:var(--theme-surface-soft,#f8fafc)}
.email-review-name-product{display:flex;align-items:center;gap:12px;min-width:0}
.email-review-name-product>span{min-width:0}
.email-review-name-product strong,.email-review-name-product small{display:block}
.email-review-name-product strong{overflow:hidden;color:var(--text);font-size:13px;text-overflow:ellipsis;white-space:nowrap}
.email-review-name-product small{margin-top:4px;color:var(--muted);font-size:11px}
.email-review-name-row label{display:grid;gap:5px;color:var(--text);font-size:12px;font-weight:700}
.email-review-name-row input{min-width:0;margin:0}
.email-review-name-row input[readonly]{background:var(--theme-surface-muted,#edf1f6);color:var(--theme-muted,#64748b);cursor:default}
.email-review-name-actions{position:sticky;bottom:0;display:flex;justify-content:flex-end;margin:16px -20px -20px;padding:14px 20px;border-top:1px solid var(--border);background:var(--theme-surface,rgba(255,255,255,.96))}
.email-review-name-empty{margin:0;color:var(--muted);font-size:14px}
@media(max-width:720px){.email-template-card{align-items:stretch;flex-direction:column}.email-template-card .button{width:100%}.email-settings-list .email-age-setting{grid-template-columns:1fr}.email-rule-card p.email-rule-sentence{line-height:2}}
@media(max-width:980px){.email-review-name-row{grid-template-columns:1fr}.email-review-name-product strong{white-space:normal}.email-review-name-list{max-height:none}.email-review-name-toolbar{grid-template-columns:1fr}.email-review-name-toolbar small{grid-column:1;grid-row:auto}.email-review-names>summary{grid-template-columns:minmax(0,1fr) auto}.email-review-name-chevron{display:none}}
.email-preview-panel>p{margin:0 0 14px;color:var(--muted);font-size:14px;font-weight:400;line-height:1.5;letter-spacing:0}

/* Dashboard theme preference. Hidden until the theme script binds the controls. */
/* Kleurmodus: één compacte schakelaar met zon en maan; de status staat als tooltip en voor schermlezers. */
.theme-controls{display:inline-flex;align-items:center;gap:var(--space-2)}
.theme-controls[hidden],.theme-controls [hidden]{display:none!important}
.theme-switch{position:relative;display:inline-flex;align-items:center;margin:0;cursor:pointer}
.theme-switch input{position:absolute;inset:0;z-index:2;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.theme-switch-track{position:relative;display:flex;align-items:center;justify-content:space-between;box-sizing:border-box;width:58px;height:32px;flex:0 0 58px;padding:0 8px;border:1px solid var(--border-strong);border-radius:999px;background:var(--panel-muted);color:var(--muted);transition:background .2s,border-color .2s}
.theme-switch-track::before{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.3);transition:transform .2s}
.theme-switch-track svg{position:relative;z-index:1;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.theme-switch input:not(:checked)+.theme-switch-track .theme-icon-sun{color:#18212f}
.theme-switch input:checked+.theme-switch-track{border-color:#1769e0;background:#1769e0;color:#fff}
.theme-switch input:checked+.theme-switch-track::before{transform:translateX(26px)}
.theme-switch input:checked+.theme-switch-track .theme-icon-moon{color:#18212f}
.theme-switch input:focus-visible+.theme-switch-track{outline:3px solid var(--primary);outline-offset:3px}
.theme-controls small{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
button.theme-system-button{display:inline-grid;place-items:center;width:32px;height:32px;min-height:32px;margin:0;padding:0;border:1px solid var(--border-strong);border-radius:50%;background:transparent;color:var(--muted);box-shadow:none}
button.theme-system-button:hover{background:var(--panel-muted);color:var(--text);box-shadow:none}
button.theme-system-button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@media (prefers-reduced-motion:reduce){.theme-switch-track,.theme-switch-track::before{transition:none}}

/* Only screen media gets dark tokens. Existing literal fallbacks preserve light
   mode and printed documents exactly, including when the screen is dark. */
html{color-scheme:light}
@media screen{
    html[data-theme="dark"]{
        color-scheme:dark;
        --bg:#101722;
        --panel:#192332;
        --panel-soft:#1e2b3c;
        --panel-muted:#283649;
        --border:#3d5068;
        --border-strong:#5a6e86;
        --text:#edf2f8;
        --muted:#b0bdd0;
        --primary:#8bbcff;
        --primary-dark:#b7d5ff;
        --primary-soft:#213a5b;
        --primary-border:#4e79a7;
        --danger:#ffabb2;
        --danger-dark:#ffc4ca;
        --success:#80dbac;
        --success-dark:#a7ebc5;
        --shadow-sm:0 1px 4px rgba(0,0,0,.2);
        --shadow:0 8px 24px rgba(0,0,0,.25);
        --theme-text:var(--text);
        --theme-muted:var(--muted);
        --theme-surface:var(--panel);
        --theme-surface-soft:var(--panel-soft);
        --theme-surface-muted:var(--panel-muted);
        --theme-border:var(--border);
        --theme-wash:rgba(176,189,208,.12);
        --theme-info-text:#a6ccff;
        --theme-info-surface:#213a5b;
        --theme-info-border:#507eae;
        --theme-info-solid:#215caa;
        --theme-info-wash:rgba(112,176,255,.15);
        --theme-success-text:#99e5bb;
        --theme-success-surface:#193c30;
        --theme-success-border:#418366;
        --theme-success-solid:#14633f;
        --theme-success-wash:rgba(84,209,147,.16);
        --theme-warning-text:#f7d18a;
        --theme-warning-surface:#45351d;
        --theme-warning-border:#987844;
        --theme-warning-solid:#765016;
        --theme-danger-text:#ffb4bd;
        --theme-danger-surface:#462933;
        --theme-danger-border:#a05b6b;
        --theme-danger-solid:#a52d3a;
        --theme-danger-wash:rgba(255,126,149,.15);
        --theme-action-primary:#1769e0;
        --theme-action-primary-hover:#1056bd;
        --theme-action-danger:#b42331;
        --theme-action-danger-hover:#941c29;
    }
    html[data-theme="dark"] :where(a,button,input,select,textarea,summary):focus-visible{outline-color:#8bbcff}
    html[data-theme="dark"] input::placeholder,
    html[data-theme="dark"] textarea::placeholder{color:#a2b0c3;opacity:1}
    html[data-theme="dark"] dialog{background:var(--panel);color:var(--text)}
}
/* Meldingsontvangers (instellingen) */
.notification-recipient{margin:0 0 16px;padding:16px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--theme-surface,#fbfcfe)}
.notification-recipient h3{margin:0 0 10px;font-size:15px;overflow-wrap:anywhere}
.notification-recipient .badge{margin-left:8px;vertical-align:middle}
.notification-recipient .permission-picker{margin-top:8px}
.notification-active{margin-top:4px;border-top:1px solid var(--theme-border,#edf0f3)}
.notification-recipient-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.notification-recipient-actions form{margin:0}
.company-mail-settings .table-header .badge{white-space:nowrap}
/* Exports: Excel- en PDF-knop naast elkaar, stapelen op smal scherm */
.export-card-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.export-card-actions .button-link{margin:0}
@media print{
    html{color-scheme:light}
    .theme-controls{display:none!important}
}
@media (max-width:640px){
    .topbar-title{min-width:0}
    .topbar-title strong,.topbar-title span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}


/* AFBOEKINGEN (pilot): snelle invoerregel, filterrij en compacte tabel. Alleen bestaande tokens. */
.writeoff-entry{
    background:var(--panel);
    border:1px solid var(--border);
    border-radius:var(--radius);
    padding:var(--space-5) var(--space-6);
    margin-bottom:var(--space-6);
}
.writeoff-entry.is-editing{
    border-color:var(--primary);
    box-shadow:0 0 0 3px var(--primary-soft);
}
.writeoff-entry-head{
    display:flex;
    align-items:center;
    gap:var(--space-3);
    margin-bottom:var(--space-4);
}
.writeoff-entry-head h2{
    margin:0;
    font-size:var(--font-lg);
}
.writeoff-fields{
    display:grid;
    grid-template-columns:repeat(12,minmax(0,1fr));
    gap:var(--space-4);
    align-items:start;
}
.writeoff-field{
    position:relative;
    display:flex;
    flex-direction:column;
    gap:var(--space-2);
    min-width:0;
}
.writeoff-field label,
.writeoff-label{
    font-size:var(--font-sm);
    font-weight:700;
    color:var(--text);
}
.writeoff-field .optional-label{
    margin-left:var(--space-1);
    color:var(--muted);
    font-weight:400;
}
.writeoff-field-product{grid-column:span 5}
.writeoff-field-reason{grid-column:span 3}
.writeoff-field-quantity{grid-column:span 1}
.writeoff-field-date{grid-column:span 3}
.writeoff-field-note{grid-column:span 9}
.writeoff-field-value{grid-column:span 3}
.writeoff-field input,
.writeoff-field select{
    height:44px;
    margin:0;
}
.writeoff-footer{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:var(--space-3) var(--space-5);
    margin-top:var(--space-5);
}
.writeoff-actions{
    display:flex;
    flex-wrap:wrap;
    gap:var(--space-3);
}
.writeoff-actions [hidden]{display:none}
.writeoff-field-value output{
    display:flex;
    align-items:center;
    min-height:44px;
    font-size:var(--font-lg);
    font-weight:700;
    font-variant-numeric:tabular-nums;
}
.writeoff-help{
    margin:0;
    color:var(--muted);
    font-size:var(--font-sm);
    line-height:1.45;
}
.writeoff-help:empty,
.writeoff-field-error:empty{display:none}
.writeoff-field-error{
    margin:0;
    color:var(--danger-dark);
    font-size:var(--font-sm);
    font-weight:700;
}
.writeoff-overview-head{
    display:flex;
    flex-wrap:wrap;
    align-items:baseline;
    justify-content:space-between;
    gap:var(--space-2) var(--space-4);
    margin-bottom:var(--space-3);
}
.writeoff-overview-head h2{
    margin:0;
    font-size:var(--font-lg);
}
.writeoff-summary{
    margin:0;
    color:var(--text);
    font-size:var(--font-body);
}
.writeoff-summary strong{color:var(--text)}
.writeoff-filters{
    display:grid;
    grid-template-columns:minmax(0,1fr) 110px 120px auto;
    gap:var(--space-3);
    align-items:center;
    margin-bottom:var(--space-5);
}
.writeoff-filters .button-link{white-space:nowrap}
.writeoff-table-wrap{
    background:var(--panel);
    border:1px solid var(--border);
    border-radius:var(--radius);
    overflow-x:auto;
}
.writeoff-table{
    width:100%;
    min-width:0;
    border-collapse:collapse;
}
.writeoff-table th,
.writeoff-table td{
    padding:var(--space-3) var(--space-4);
    text-align:left;
    vertical-align:middle;
}
.writeoff-table tbody td{
    border-bottom:0;
    white-space:normal;
}
.writeoff-table tbody tr+tr td{border-top:1px solid var(--border)}
.writeoff-table th.num,
.writeoff-table td.num{
    text-align:right;
    white-space:nowrap;
    font-variant-numeric:tabular-nums;
}
.writeoff-table .num small{
    display:block;
    color:var(--muted);
    font-size:var(--font-sm);
    font-weight:400;
}
.writeoff-table tbody .writeoff-col-date{white-space:nowrap}
.writeoff-table td.writeoff-col-actions{
    width:1%;
    white-space:nowrap;
    text-align:right;
}
.writeoff-article{
    display:flex;
    flex-direction:column;
    gap:2px;
    min-width:0;
}
.writeoff-article strong{overflow-wrap:anywhere}
.writeoff-article small{
    color:var(--muted);
    font-size:var(--font-sm);
    overflow-wrap:anywhere;
}
.writeoff-article .writeoff-meta{display:none}
.writeoff-empty{
    display:flex;
    flex-direction:column;
    gap:var(--space-1);
    align-items:center;
    padding:var(--space-8) var(--space-4);
    background:var(--panel);
    border:1px dashed var(--border-strong);
    border-radius:var(--radius);
    text-align:center;
    color:var(--muted);
}
.writeoff-empty strong{color:var(--text)}
.writeoff-dialog{
    width:calc(100% - 32px);
    max-width:460px;
    padding:var(--space-6);
    border:1px solid var(--border);
    border-radius:var(--radius);
    background:var(--panel);
    color:var(--text);
    box-shadow:var(--shadow);
}
.writeoff-dialog::backdrop{background:rgba(15,23,42,.5)}
.writeoff-dialog h2{
    margin:0 0 var(--space-3);
    font-size:var(--font-lg);
}
.writeoff-dialog p{
    margin:0 0 var(--space-5);
    color:var(--muted);
    font-size:var(--font-body);
    line-height:1.5;
}
.writeoff-dialog-actions{
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:var(--space-3);
}
.writeoff-dialog .delete-button.is-solid{
    background:var(--danger-dark);
    color:#fff;
}
@media (max-width:1280px){
    .writeoff-fields{grid-template-columns:repeat(6,minmax(0,1fr))}
    .writeoff-field-product{grid-column:span 6}
    .writeoff-field-reason,
    .writeoff-field-date{grid-column:span 2}
    .writeoff-field-quantity{grid-column:span 1}
    .writeoff-field-note{grid-column:span 4}
    .writeoff-field-value{grid-column:span 2}
}
@media (max-width:700px){
    .writeoff-entry{padding:var(--space-4)}
    .writeoff-field-reason,
    .writeoff-field-date,
    .writeoff-field-note{grid-column:span 6}
    .writeoff-field-quantity,
    .writeoff-field-value{grid-column:span 3}
    .writeoff-actions{width:100%}
    .writeoff-actions .button-link,
    .writeoff-actions .delete-button{flex:1 1 100%}
    .writeoff-col-qty{display:none}
    .writeoff-table,
    .writeoff-table tbody{display:block}
    .writeoff-table thead{
        position:absolute;
        width:1px;
        height:1px;
        overflow:hidden;
        clip:rect(0 0 0 0);
        white-space:nowrap;
    }
    .writeoff-table tbody tr{
        display:grid;
        grid-template-columns:minmax(0,1fr) auto;
        gap:var(--space-2) var(--space-3);
        padding:var(--space-3) var(--space-4);
    }
    .writeoff-table tbody tr+tr{border-top:1px solid var(--border)}
    .writeoff-table tbody td,
    .writeoff-table tbody tr+tr td{
        display:block;
        padding:0;
        border-top:0;
    }
    .writeoff-table tbody td.writeoff-col-date,
    .writeoff-table tbody td.writeoff-col-reason,
    .writeoff-table tbody td.writeoff-col-qty{display:none}
    .writeoff-table td.writeoff-col-actions{
        grid-column:1 / -1;
        width:auto;
        text-align:left;
    }
    .writeoff-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
    .writeoff-filter-search{grid-column:1 / -1}
    .writeoff-col-date,
    .writeoff-col-reason{display:none}
    .writeoff-article .writeoff-meta{display:block}
}

/* VERZENDPRIJZEN (periodes): acties per periode en verborgen knoppen */
.shipping-period-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.shipping-period-actions form{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0}
.shipping-period-actions input[type="date"]{width:auto;min-width:0;margin:0}
#cancelEditButton[hidden]{display:none}

/* ==========================================================================
   ARTIKELEN (pilot): snelfilters, kolomsortering, kenmerken, kaartlayout op smal scherm
   ========================================================================== */
.product-overview-stats{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
    margin:0 0 16px;
}

.product-stat{
    display:flex;
    flex-direction:column;
    gap:2px;
    min-height:44px;
    padding:12px 16px;
    border:1px solid var(--theme-border,#e2e8f0);
    border-radius:14px;
    background:var(--theme-surface,#fff);
    color:var(--text);
    text-decoration:none;
}

.product-stat span{
    color:var(--text);
    font-size:13px;
    font-weight:700;
}

.product-stat strong{
    color:var(--text);
    font-size:22px;
    line-height:1.2;
}

.product-stat-alert strong{
    color:var(--theme-danger-text,#b42318);
}

.product-stat:hover{
    border-color:var(--theme-info-text,#2563eb);
}

.product-stat[aria-current="true"]{
    border-color:var(--theme-info-text,#2563eb);
    box-shadow:inset 0 0 0 1px var(--theme-info-text,#2563eb);
}

.product-stat:focus-visible,
.product-sort-link:focus-visible{
    outline:3px solid var(--theme-info-border,rgba(37,99,235,.45));
    outline-offset:2px;
}

.product-filter-form label{
    font-size:12px;
}

.product-filter-form input,
.product-filter-form select{
    min-height:44px;
}

.product-filter-form .button-link{
    min-height:44px;
}

.product-summary{
    margin:0 0 10px;
    color:var(--text);
    font-size:13px;
}

.product-list-table{
    width:100%;
    min-width:0;
}

.product-list-table th,
.product-list-table td,
.product-list-table td.text-wrap{
    min-width:0;
    white-space:normal;
    vertical-align:top;
}

.product-list-table th:first-child,
.product-list-table td:first-child{
    width:44%;
    background:var(--theme-surface,#fbfdff);
}

.product-list-table th:nth-child(2),
.product-list-table td:nth-child(2){
    width:21%;
}

.product-list-table th:nth-child(3),
.product-list-table td:nth-child(3){
    width:23%;
}

.product-list-table th:last-child,
.product-list-table td:last-child{
    width:12%;
    min-width:104px;
}

.product-list-table tbody tr:hover{
    background:var(--theme-surface-soft,#f8fafc);
}

.product-list-table .product-sub-row{
    background:var(--theme-surface,#fbfdff);
}

.product-list-table td > small{
    display:block;
    margin-top:4px;
    color:var(--theme-muted,#64748b);
}

.product-list-table td .badge{
    margin:0 4px 4px 0;
}

.product-sort-link{
    display:inline-flex;
    align-items:center;
    gap:4px;
    min-height:24px;
    color:inherit;
    font:inherit;
    letter-spacing:inherit;
    text-decoration:none;
    text-transform:inherit;
}

.product-sort-link:hover{
    text-decoration:underline;
}

th[aria-sort="ascending"] .product-sort-link,
th[aria-sort="descending"] .product-sort-link{
    color:var(--text);
}

.product-no-traits{
    color:var(--theme-muted,#64748b);
}

.product-empty{
    padding:40px 16px;
    text-align:center;
}

.product-empty strong{
    display:block;
    margin-bottom:6px;
    color:var(--text);
    font-size:16px;
}

.product-empty p{
    margin:0 0 14px;
    color:var(--text);
}

.product-empty-actions{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:10px;
}

.product-row-actions .edit-button{
    min-height:36px;
}

.product-per-page{
    display:flex;
    align-items:center;
    gap:8px;
    color:var(--text);
    font-size:13px;
}

.product-per-page select{
    width:auto;
    min-width:72px;
    min-height:44px;
}

.product-pagination{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:6px;
}

.product-pagination .button-link{
    min-height:44px;
}

.product-page-number{
    min-width:44px;
    justify-content:center;
}

.product-page-gap{
    padding:0 4px;
    color:var(--text);
}

@media (max-width:1100px){
    .product-list-table th:first-child,
    .product-list-table td:first-child{
        width:40%;
    }
}

@media (max-width:700px){
    .product-page-actions{
        flex-direction:column-reverse;
        align-items:stretch;
    }

    .product-page-actions .button-link{
        min-height:44px;
        justify-content:center;
    }

    .product-overview-stats{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:8px;
    }

    /* Rijen worden kaarten; de tabelsemantiek blijft in de markup staan. */
    .product-list-table,
    .product-list-table thead,
    .product-list-table tbody{
        display:block;
    }

    .product-list-table thead tr{
        display:flex;
        flex-wrap:wrap;
        gap:6px 18px;
        padding:10px 14px;
        border-bottom:1px solid var(--theme-border,#e2e8f0);
    }

    .product-list-table thead th{
        display:block;
        width:auto;
        padding:0;
        border:0;
        background:transparent;
    }

    .product-list-table thead th:nth-child(n+3){
        display:none;
    }

    .product-list-table tbody tr{
        display:grid;
        grid-template-columns:minmax(0,1fr);
        gap:8px;
        padding:14px;
        border-bottom:1px solid var(--theme-border,#e2e8f0);
    }

    .product-list-table tbody td{
        display:block;
        width:auto;
        min-width:0;
        padding:0;
        border:0;
        background:transparent;
    }

    .product-list-table td[data-label]::before{
        content:attr(data-label);
        display:block;
        margin-bottom:3px;
        color:var(--text);
        font-size:12px;
        font-weight:700;
    }

    .product-list-table th:first-child,
    .product-list-table td:first-child,
    .product-list-table th:nth-child(2),
    .product-list-table td:nth-child(2),
    .product-list-table th:nth-child(3),
    .product-list-table td:nth-child(3),
    .product-list-table th:last-child,
    .product-list-table td:last-child{
        width:auto;
        min-width:0;
        background:transparent;
    }

    .product-row-actions .edit-button{
        display:flex;
        justify-content:center;
        width:100%;
        min-height:44px;
    }

    .product-row-actions form,
    .product-row-actions .edit-button{
        width:100%;
    }

    .pagination-bar{
        flex-direction:column;
        align-items:stretch;
    }
}

/* ==========================================================================
   ORDERARCHIEF: voortgang per order (vinkjes), snelfilters en reviewmailacties
   ========================================================================== */
.order-progress-filters{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin:0 0 10px;
}

.order-progress-filter{
    display:inline-flex;
    align-items:center;
    gap:6px;
    min-height:36px;
    padding:6px 12px;
    border:1px solid var(--theme-border,#e2e8f0);
    border-radius:999px;
    background:var(--theme-surface,#fff);
    color:var(--text);
    font-size:13px;
    text-decoration:none;
}

.order-progress-filter:hover{
    border-color:var(--theme-info-text,#2563eb);
}

.order-progress-filter[aria-current="true"]{
    border-color:var(--theme-info-text,#2563eb);
    box-shadow:inset 0 0 0 1px var(--theme-info-text,#2563eb);
    font-weight:700;
}

.order-progress-filter-alert strong{
    color:var(--theme-danger-text,#b42318);
}

.order-progress-filter:focus-visible,
.order-progress-badge:focus-visible{
    outline:3px solid var(--theme-info-border,rgba(37,99,235,.45));
    outline-offset:2px;
}

.order-progress-legend{
    margin:0 0 12px;
    color:var(--text);
    font-size:13px;
}

.order-progress-legend .badge{
    margin:0 2px;
}

.order-progress-table th.order-progress-head{
    max-width:92px;
    white-space:normal;
    text-align:center;
    line-height:1.25;
}

.order-progress-table td.order-progress-cell{
    text-align:center;
}

.order-progress-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:28px;
    min-height:28px;
    margin:0;
    padding:0 6px;
    font-weight:800;
    cursor:help;
}

.order-progress-actions-cell{
    min-width:150px;
    white-space:normal;
}

.order-progress-actions{
    position:relative;
}

.order-progress-actions summary{
    display:inline-flex;
    min-height:36px;
    list-style:none;
    cursor:pointer;
}

.order-progress-actions summary::-webkit-details-marker{
    display:none;
}

.order-progress-actions-panel{
    position:absolute;
    z-index:20;
    top:calc(100% + 6px);
    right:0;
    display:grid;
    gap:10px;
    min-width:220px;
    padding:12px;
    border:1px solid var(--theme-border,#dbe3ef);
    border-radius:14px;
    background:var(--theme-surface,#fff);
    box-shadow:0 18px 40px rgba(15,23,42,.14);
}

.order-progress-job{
    display:grid;
    gap:6px;
}

.order-progress-job form{
    margin:0;
}

.order-progress-job .edit-button{
    width:100%;
    min-height:36px;
}

@media (max-width:700px){
    .order-progress-filter{
        min-height:44px;
    }

    .order-progress-actions-panel{
        right:auto;
        left:0;
    }

    .order-progress-job .edit-button{
        min-height:44px;
    }
}

.order-progress-table tbody tr:last-child .order-progress-actions-panel{
    top:auto;
    bottom:calc(100% + 6px);
}

/* Orderarchief: orders, kwartaal en verzendingen in één compacte rij naast de verkoopaccounts */
.bol-sales-archive-summary{
    grid-template-columns:minmax(220px,280px) auto auto minmax(0,1fr);
    gap:12px;
}

.bol-sales-archive-summary>div,
.bol-sales-archive-summary ul{
    padding:14px 18px;
}

.bol-sales-archive-summary>.bol-sales-archive-stat{
    align-content:start;
    min-width:130px;
}

.bol-sales-archive-summary>.bol-sales-archive-stat>strong{
    color:var(--text);
    font-size:26px;
}

@media (max-width:1100px){
    .bol-sales-archive-summary{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }

    .bol-sales-archive-summary ul{
        grid-column:1 / -1;
    }
}

@media (max-width:700px){
    .bol-sales-archive-summary{
        grid-template-columns:1fr;
    }
}


/* ==========================================================================
   VOORRAAD: tabel die past, statuscel zonder overlap, kaartlayout op smal scherm
   (hergebruikt de gedeelde Artikelen-componenten: product-stat, product-sort-link, product-empty)
   ========================================================================== */
.inventory-negative{
    color:var(--theme-danger-text,#b42318);
}

.inventory-table td>.badge{
    margin:0 4px 4px 0;
    padding:3px 9px;
    font-size:12px;
    line-height:1.3;
}

.inventory-table .badge+.badge{
    margin-top:0;
}

.inventory-table tbody tr:hover{
    background:var(--theme-surface-soft,#f8fafc);
}

.inventory-guidance{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px 12px;
    margin:-6px 0 16px;
    color:var(--text);
    font-size:13px;
}

@media (max-width:1100px){
    .inventory-table,
    .inventory-table thead,
    .inventory-table tbody{
        display:block;
    }

    .inventory-table thead tr{
        display:flex;
        flex-wrap:wrap;
        gap:6px 18px;
        padding:10px 14px;
        border-bottom:1px solid var(--theme-border,#e2e8f0);
    }

    .inventory-table thead th{
        display:block;
        width:auto;
        padding:0;
        border:0;
        background:transparent;
    }

    .inventory-table thead th:nth-child(n+5){
        display:none;
    }

    .inventory-table tbody tr{
        display:grid;
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:8px 12px;
        padding:14px;
        border-bottom:1px solid var(--theme-border,#e2e8f0);
    }

    .inventory-table tbody td{
        display:block;
        width:auto;
        min-width:0;
        padding:0;
        border:0;
        background:transparent;
    }

    .inventory-table tbody td:first-child,
    .inventory-table tbody td.inventory-status-cell,
    .inventory-table tbody td:last-child,
    .inventory-table tbody td.empty-row{
        grid-column:1 / -1;
    }

    .inventory-table td[data-label]::before{
        content:attr(data-label);
        display:block;
        margin-bottom:3px;
        color:var(--text);
        font-size:12px;
        font-weight:700;
    }

    .inventory-table th:first-child,
    .inventory-table td:first-child,
    .inventory-table th:last-child,
    .inventory-table td:last-child{
        width:auto;
        min-width:0;
    }

    .inventory-row-actions .edit-button{
        min-height:44px;
    }
}

@media (max-width:700px){
    .inventory-row-actions .edit-button{
        display:flex;
        justify-content:center;
        width:100%;
    }
}

/* ==========================================================================
   MENU: groepen op gebruik, ingeklapte groep Systeem en scrollaanwijzing
   ========================================================================== */
.sidebar-nav-wrap{
    position:relative;
    display:flex;
    flex-direction:column;
    flex:1 1 auto;
    min-height:0;
}

.sidebar-nav-wrap::after{
    content:"";
    position:absolute;
    right:0;
    bottom:0;
    left:0;
    height:44px;
    background:linear-gradient(to bottom,transparent,var(--sidebar));
    opacity:0;
    pointer-events:none;
    transition:opacity .16s ease;
}

.sidebar-nav-wrap.has-more-below::after{
    opacity:1;
}

.sidebar-nav-group{
    display:flex;
    flex-direction:column;
}

.sidebar-nav-summary{
    display:flex;
    align-items:center;
    gap:8px;
    min-height:32px;
    padding:0;
    border-radius:8px;
    cursor:pointer;
    list-style:none;
}

.sidebar-nav-summary::-webkit-details-marker{
    display:none;
}

.sidebar-nav-summary::after{
    content:"▸";
    margin-left:auto;
    color:#9aa7ba;
    font-size:11px;
}

.sidebar-nav-group[open]>.sidebar-nav-summary::after{
    content:"▾";
}

.sidebar-nav-summary:hover{
    color:#c3cdda;
}

.sidebar-nav-summary:focus-visible{
    outline:2px solid #fff;
    outline-offset:-2px;
}

.sidebar-group-alert{
    width:8px;
    height:8px;
    border-radius:50%;
    background:#f87171;
}

@media (prefers-reduced-motion:reduce){
    .sidebar-nav-wrap::after{
        transition:none;
    }
}

/* MENU: teller voor wat op goedkeuring wacht (bijvoorbeeld Wijzigingen goedkeuren) */
.sidebar-count{
    margin-left:auto;
    min-width:22px;
    padding:1px 7px;
    border-radius:999px;
    background:#2f6fe4;
    color:#fff;
    font-size:12px;
    font-weight:700;
    line-height:1.5;
    text-align:center;
}

/* ==========================================================================
   MELDINGEN: matrix ontvangers x soorten; kaarten per ontvanger op smal scherm
   ========================================================================== */
.notification-matrix{
    width:100%;
    min-width:0;
    table-layout:auto;
}

.notification-matrix th,
.notification-matrix td{
    min-width:0;
    padding:10px 8px;
    vertical-align:middle;
    white-space:normal;
}

.notification-matrix thead th,
.notification-matrix tbody th{
    font-size:13px;
    letter-spacing:0;
    line-height:1.3;
    text-transform:none;
}

.notification-matrix thead th{
    overflow-wrap:normal;
    hyphens:auto;
}

.notification-matrix th:last-child,
.notification-matrix td:last-child{
    width:1%;
    min-width:0;
}

.notification-matrix thead th{
    text-align:center;
}

.notification-matrix thead th:first-child,
.notification-matrix tbody th{
    text-align:left;
}

.notification-matrix tbody th{
    min-width:170px;
    overflow-wrap:anywhere;
}

.notification-matrix tbody th small{
    display:block;
    margin-top:3px;
    color:var(--text);
    font-size:12px;
    font-weight:400;
}

.notification-matrix tbody th .badge{
    margin-left:8px;
    vertical-align:middle;
}

.notification-matrix tbody th input[type="text"]{
    display:block;
    width:100%;
    margin-top:6px;
    min-height:36px;
}

.notification-matrix td{
    text-align:center;
}

.notification-matrix input[type="checkbox"]{
    width:20px;
    height:20px;
    margin:0;
}

.notification-matrix-always{
    color:var(--theme-success-text,#15803d);
    font-weight:700;
}

.notification-matrix-default{
    background:var(--theme-surface-soft,#f8fafc);
}

.notification-matrix-actions{
    white-space:normal;
}

.notification-matrix-actions .button-link{
    display:flex;
    justify-content:center;
    width:100%;
}

.notification-matrix-actions .button-link + .button-link{
    margin-top:6px;
}

.notification-matrix-actions .button-link{
    min-height:36px;
}

.notification-row-form{
    display:none;
}

.notification-legend{
    margin:16px 0;
    padding:10px 14px;
    border:1px solid var(--border);
    border-radius:var(--radius-md);
}

.notification-legend summary{
    min-height:32px;
    cursor:pointer;
    font-weight:700;
}

.notification-legend dt{
    margin-top:10px;
    font-weight:700;
}

.notification-legend dd{
    margin:2px 0 0;
}

@media (max-width:1280px){
    .notification-matrix,
    .notification-matrix thead,
    .notification-matrix tbody{
        display:block;
    }

    .notification-matrix thead{
        position:absolute;
        width:1px;
        height:1px;
        overflow:hidden;
        clip:rect(0 0 0 0);
    }

    .notification-matrix tbody tr{
        display:grid;
        grid-template-columns:minmax(0,1fr);
        gap:10px;
        margin:0 0 14px;
        padding:14px;
        border:1px solid var(--border);
        border-radius:var(--radius-md);
    }

    .notification-matrix tbody th,
    .notification-matrix tbody td{
        display:block;
        min-width:0;
        padding:0;
        border:0;
        background:transparent;
        text-align:left;
    }

    .notification-matrix td[data-label]{
        display:flex;
        align-items:center;
        gap:10px;
    }

    .notification-matrix td[data-label]::before{
        content:attr(data-label);
        order:2;
        flex:1;
        color:var(--text);
        font-size:14px;
    }

    .notification-matrix td[data-label] > *{
        order:1;
    }

    .notification-matrix th:last-child,
    .notification-matrix td:last-child{
        width:auto;
    }

    .notification-matrix-actions{
        display:flex;
        flex-wrap:wrap;
        gap:8px;
    }

    .notification-matrix-actions .button-link{
        width:auto;
        min-width:120px;
        min-height:44px;
    }

    .notification-matrix-actions .button-link + .button-link{
        margin-top:0;
    }
}

/* FACTURATIE: weergaven (tabs) en de klassen die de inline styles vervangen */
.invoice-tabs{
    margin-top:20px;
}

.invoice-tabs a{
    min-height:44px;
    display:inline-flex;
    align-items:center;
}

.invoice-tabs a[aria-current="page"]{
    background:var(--theme-info-surface,#e5edff);
    border-color:var(--theme-info-border,#bfdbfe);
    color:var(--theme-info-text,#1d4ed8);
}

.invoice-cell-shrink{
    width:1%;
    white-space:nowrap;
}

.invoice-nowrap{
    white-space:nowrap;
}

.invoice-check-badges{
    display:inline-flex;
    gap:.3rem;
    align-items:center;
    white-space:nowrap;
}

.invoice-check-badges .badge{
    margin-right:0;
}

.invoice-archive > summary{
    min-height:44px;
    display:flex;
    align-items:center;
    cursor:pointer;
    font-weight:700;
}

/* ==========================================================================
   AAN DE SLAG: compacte onboardingkaart op het dashboard
   ========================================================================== */
.onboarding-card{
    margin:0 0 24px;
    padding:20px 22px;
    border:1px solid var(--theme-info-border,#bfdbfe);
    border-radius:16px;
    background:var(--theme-info-surface,#f1f5fb);
}

.onboarding-head{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:space-between;
    gap:10px 20px;
}

.onboarding-head h2{
    margin:0;
    font-size:18px;
}

.onboarding-head p{
    margin:2px 0 0;
    color:var(--text);
    font-size:14px;
}

.onboarding-progress{
    width:min(240px,100%);
    height:10px;
    accent-color:var(--theme-info-text,#1d4ed8);
}

.onboarding-next{
    margin-top:14px;
    padding-top:14px;
    border-top:1px solid var(--theme-info-border,#bfdbfe);
}

.onboarding-next-label{
    display:block;
    color:var(--text);
    font-size:12px;
    font-weight:700;
}

.onboarding-next strong{
    display:block;
    margin-top:2px;
    font-size:16px;
}

.onboarding-next p{
    max-width:70ch;
    margin:4px 0 12px;
    color:var(--text);
    font-size:14px;
}

.onboarding-next .onboarding-ask{
    margin-bottom:0;
}

.onboarding-all{
    margin-top:12px;
}

.onboarding-all > summary{
    display:flex;
    align-items:center;
    min-height:44px;
    cursor:pointer;
    font-weight:700;
}

.onboarding-steps{
    display:grid;
    gap:8px;
    margin:6px 0 0;
    padding:0;
    list-style:none;
}

.onboarding-step{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:2px 12px;
    align-items:center;
    padding:10px 12px;
    border-radius:10px;
    background:var(--theme-surface,#fff);
}

.onboarding-step small{
    grid-column:1 / -1;
    color:var(--text);
    font-size:13px;
}

.onboarding-step a{
    grid-column:1 / -1;
    justify-self:start;
    min-height:44px;
    display:inline-flex;
    align-items:center;
}

.onboarding-step-title{
    font-weight:700;
}

.onboarding-step.is-done .onboarding-step-title{
    font-weight:600;
}

.onboarding-next .button-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
}


/* ==========================================================================
   DASHBOARD: rust en leesbaarheid (geen eyebrows, geen verweesde vijfde kaart, tekst minimaal 12 px)
   ========================================================================== */
.dashboard-priority-grid{
    grid-template-columns:repeat(auto-fit,minmax(min(100%,176px),1fr));
}

.dashboard-priority-card{
    min-height:160px;
}

.dashboard-priority-card > span{
    font-size:13px;
}

.dashboard-priority-card > small{
    font-size:12px;
}

.dashboard-priority-card > b{
    font-size:13px;
}

.dashboard-section-note{
    font-size:12px;
}

.dashboard-summary-panel > header span{
    font-size:12px;
}

.dashboard-summary-panel dt{
    font-size:13px;
}

.dashboard-summary-panel dd{
    font-size:14px;
}

.dashboard-summary-panel > p{
    font-size:12px;
}

/* ==========================================================================
   BEVESTIGINGSDIALOOG (assets/confirmation-dialog.js): vervangt native confirm() met een toegankelijke <dialog>
   ========================================================================== */
.core-confirm{
    width:min(480px,calc(100vw - 32px));
    padding:24px;
    border:1px solid var(--theme-border,#d7e0ea);
    border-radius:16px;
    background:var(--theme-surface,#fff);
    color:var(--text);
    box-shadow:0 20px 60px rgba(15,23,42,.35);
}

.core-confirm::backdrop{
    background:rgba(15,23,42,.55);
}

.core-confirm h2{
    margin:0 0 8px;
    font-size:18px;
}

.core-confirm p{
    margin:0 0 20px;
    font-size:15px;
    line-height:1.5;
    overflow-wrap:anywhere;
}

.core-confirm-actions{
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:10px;
}

.core-confirm-actions .button-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    min-width:120px;
}

@media (max-width:520px){
    .core-confirm-actions{
        flex-direction:column-reverse;
    }

    .core-confirm-actions .button-link{
        width:100%;
    }
}

/* RECHTENPROFIELEN: snelkeuze boven de rechtenlijst */
.permission-profiles{
    margin:0 0 16px;
}

.permission-profiles .rate-info{
    margin:0 0 10px;
    text-align:left;
    font-size:14px;
}

.permission-profile-buttons{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.permission-profile-buttons .button-link{
    min-height:44px;
}

.permission-profile-status{
    margin:10px 0 0;
    font-size:14px;
    min-height:1.4em;
}


/* ==========================================================================
   AANBOD: koopblokstatus per artikel, verkoopaccount en markt (chip met icoon en tekst)
   ========================================================================== */
.bol-market-account{
    flex-wrap:wrap;
}

.bol-buybox{
    position:relative;
    display:inline-flex;
    align-items:center;
    gap:5px;
    padding:2px 9px 2px 6px;
    border:1px solid var(--theme-border,#e2e8f0);
    border-radius:999px;
    background:var(--theme-surface-soft,#f8fafc);
    color:var(--text);
    font-size:12px;
    font-weight:700;
    line-height:1.4;
    white-space:nowrap;
}

.bol-buybox-icon{
    flex:none;
}

.bol-buybox-ours{
    border-color:var(--theme-success-border,#a7f3d0);
    background:var(--theme-success-surface,#ecfdf5);
    color:var(--theme-success-text,#166534);
}

.bol-buybox-lost{
    border-color:var(--theme-danger-border,#fecaca);
    background:var(--theme-danger-surface,#fff1f2);
    color:var(--theme-danger-text,#b42318);
}

.bol-buybox-check{
    border-color:var(--theme-warning-border,#efd6a8);
    background:var(--theme-warning-surface,#fffaf0);
    color:var(--theme-warning-text,#92400e);
}

.bol-buybox-other{
    border-color:var(--theme-info-border,#bfdbfe);
    background:var(--theme-info-surface,#eff6ff);
    color:var(--theme-info-text,#1d4ed8);
}

.bol-buybox-muted{
    color:var(--text);
}

.bol-buybox.is-stale{
    border-style:dashed;
}

.bol-buybox-legend{
    margin-top:12px;
    padding:10px 14px;
    border:1px solid var(--border);
    border-radius:var(--radius-md);
}

.bol-buybox-legend > summary{
    min-height:32px;
    cursor:pointer;
    font-weight:700;
}

.bol-buybox-legend ul{
    display:grid;
    gap:8px;
    margin:10px 0;
    padding:0;
    list-style:none;
}

.bol-buybox-legend li{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px 12px;
}

.bol-buybox-legend p{
    margin:8px 0 0;
    font-size:14px;
}
/* Bol-bestellingen: kop met accountwisselaar en Meer-menu; banner zolang de vakantiemodus actief is. */
.bol-header-more{position:relative}
.bol-header-more>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px}
.bol-header-more>summary::-webkit-details-marker{display:none}
.bol-header-more-panel{
    position:absolute;
    right:0;
    z-index:20;
    display:grid;
    gap:12px;
    min-width:260px;
    margin-top:6px;
    padding:14px;
    border:1px solid var(--border);
    border-radius:12px;
    background:var(--panel);
    box-shadow:0 10px 30px rgba(15,23,42,.14);
}
.bol-header-more-link{color:var(--primary);font-size:14px;font-weight:700;text-decoration:none}
.bol-header-more-panel .bol-vacation-mode-form{justify-content:flex-start}
.bol-vacation-banner{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px}
.bol-vacation-banner-actions{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px 16px}
.bol-vacation-banner .bol-vacation-compact-export{padding-left:0;border-left:0;font-size:13px}
.bol-vacation-banner-privacy{flex-basis:100%;font-size:12px}

/* Artikel bewerken: ankernavigatie, vaste opslaanbalk en ingeklapte verwijdersectie. */
.product-edit-nav{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0 0 16px;padding:0 0 10px;border-bottom:1px solid var(--border)}
.product-edit-nav a{color:var(--primary);font-size:14px;font-weight:700;text-decoration:none}
.product-edit-nav a:hover{text-decoration:underline}
#product-voorraad,#product-kanalen,#product-gegevens,#product-verwijderen{scroll-margin-top:84px}
.product-save-bar{position:sticky;bottom:0;z-index:5;margin-top:20px;padding:12px 0;border-top:1px solid var(--border);background:var(--panel)}
.product-danger-zone{display:block}
.product-danger-zone>summary{cursor:pointer;color:var(--theme-danger-text,#991b1b);font-size:16px;font-weight:800}
.product-danger-zone .product-danger-body{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-top:12px}
@media (max-width:720px){
    .product-danger-zone .product-danger-body{flex-direction:column}
}
/* Lijsten als kaarten op smalle schermen (Inkooporders, Afboekingen). De tabelrollen blijven in de markup;
   de kolomkoppen met sortering blijven als zichtbare chips boven de kaarten bereikbaar. */
@media (max-width:768px){
    .orders-table,
    .orders-table tbody{display:block}
    .orders-table thead{display:block;margin-bottom:var(--space-3)}
    .orders-table thead tr{display:flex;flex-wrap:wrap;gap:var(--space-2)}
    .orders-table thead th{display:block;padding:0;border:0;text-align:left}
    .orders-table thead th:not([aria-sort]){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
    .orders-table tbody tr{display:block;margin-bottom:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius);background:var(--panel)}
    .orders-table tbody td{display:block;padding:var(--space-1) 0;border:0;text-align:left;white-space:normal}
    .orders-table tbody td[data-label]{display:grid;grid-template-columns:minmax(96px,34%) minmax(0,1fr);gap:var(--space-2);align-items:start}
    .orders-table tbody td[data-label]::before{content:attr(data-label);color:var(--muted);font-size:var(--font-xs);font-weight:600}
}
@media (max-width:768px){
    .writeoff-table,
    .writeoff-table tbody{display:block}
    .writeoff-table thead{position:static;display:block;width:auto;height:auto;margin:var(--space-3) var(--space-4) 0;overflow:visible;clip:auto;white-space:normal}
    .writeoff-table thead tr{display:flex;flex-wrap:wrap;gap:var(--space-2)}
    .writeoff-table thead th{display:block;padding:0;border:0;text-align:left}
    .writeoff-table thead th:not([aria-sort]){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
    .writeoff-table tbody tr{display:block;margin:var(--space-3) var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius)}
    .writeoff-table tbody tr+tr{border-top:1px solid var(--border)}
    .writeoff-table tbody td,
    .writeoff-table tbody tr+tr td{display:block;padding:var(--space-1) 0;border-top:0;text-align:left;white-space:normal}
    .writeoff-table tbody td[data-label]{display:grid;grid-template-columns:minmax(96px,34%) minmax(0,1fr);gap:var(--space-2);align-items:start}
    .writeoff-table tbody td[data-label]::before{content:attr(data-label);color:var(--muted);font-size:var(--font-xs);font-weight:600}
    .writeoff-table td.writeoff-col-actions{width:auto;text-align:left}
    .writeoff-article .writeoff-meta{display:none}
}
@media (max-width:768px){
    .orders-table thead th[aria-sort] a,
    .writeoff-table thead th[aria-sort] a{padding:var(--space-1) var(--space-3);border:1px solid var(--border);border-radius:999px;background:var(--panel)}
    .orders-table thead th[aria-sort="ascending"] a,
    .orders-table thead th[aria-sort="descending"] a,
    .writeoff-table thead th[aria-sort="ascending"] a,
    .writeoff-table thead th[aria-sort="descending"] a{border-color:var(--primary)}
}
/* Toegankelijk contrast voor het label in de gemarkeerde kostenkaart (was 4,37:1). */
.cost-card.highlight>span{color:var(--text)}
/* Verwerkingsvenster Bol-bestellingen: bevestiging, live voortgang en resultaat in één dialoog. */
.bol-process-dialog{width:min(560px,calc(100vw - 32px))}
.bol-process-dialog button[hidden],.bol-process-dialog p[hidden]{display:none}
.bol-process-list{display:grid;gap:var(--space-3);margin:0 0 var(--space-4);padding:0;list-style:none}
.bol-process-row{padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm,8px);background:var(--panel-soft)}
.bol-process-row-head{font-size:var(--font-sm)}
.bol-process-state{color:var(--muted)}
.bol-process-bar{display:block;width:100%;height:8px;margin-top:var(--space-2);accent-color:var(--primary)}
.bol-process-dialog .bol-process-total{margin:0 0 var(--space-4);font-weight:700}
.bol-process-dialog .bol-process-error{margin:0 0 var(--space-4);color:var(--theme-danger-text,var(--text));font-weight:600}
/* Instellingen: statusbolletje per tab (nog in te stellen of ingesteld). Kleur plus vorm, nooit alleen kleur. */
.settings-tab-status{display:inline-block;margin-left:var(--space-2);font-size:var(--font-label);font-weight:700;line-height:1}
.settings-tab-status.is-todo{color:var(--theme-warning-text,#9a3412)}
.settings-tab-status.is-done{color:var(--theme-success-text,#166534)}
/* Kilometerregistratie: de maandtabel scrolt binnen het paneel in plaats van achter de rand te verdwijnen (de kolom Bewerken viel bij ±1024 px weg). */
.mileage-month-table-wrap{overflow-x:auto}
@media (max-width:680px){
    /* Maandkeuze: vorige, maandlijst en volgende passen naast elkaar tot 320 px (de volgende-knop stak er ±22 px uit). */
    .mileage-month-controls form{width:auto;flex:1 1 0;min-width:0}
}
/* Instellingen › Kilometerregistratie: de badge naast de titel loopt op 320 px niet meer buiten de kaart. */
#mileage-settings .table-header{flex-wrap:wrap;gap:var(--space-2)}

/* Dashboard: eerst het antwoord op "is alles goed?". Kleur plus teken, nooit alleen kleur. */
.dashboard-summary{display:flex;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-5);padding:var(--space-4) var(--space-5);border:1px solid var(--border);border-left-width:6px;border-radius:var(--radius);background:var(--panel)}
.dashboard-summary>div{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}
.dashboard-summary strong{font-size:var(--font-lg)}
.dashboard-summary-mark{display:inline-grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:50%;font-weight:800;color:#fff}
.dashboard-summary.is-ok{border-left-color:var(--theme-success-text,#166534)}
.dashboard-summary.is-ok .dashboard-summary-mark{background:var(--theme-success-text,#166534)}
.dashboard-summary.has-attention{border-left-color:var(--theme-warning-text,#9a3412)}
.dashboard-summary.has-attention .dashboard-summary-mark{background:var(--theme-warning-text,#9a3412)}
.dashboard-summary>div>span{color:var(--muted)}
.dashboard-summary-list{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0;padding:0;list-style:none}
.dashboard-summary-list a{display:inline-flex;align-items:center;gap:var(--space-2);min-height:32px;padding:var(--space-1) var(--space-3);border:1px solid var(--border-strong);border-radius:999px;background:var(--panel-soft);color:var(--text);font-size:var(--font-sm);font-weight:600;text-decoration:none}
.dashboard-summary-list a:hover{border-color:var(--primary)}
.dashboard-summary-list a:focus-visible{outline:3px solid var(--primary);outline-offset:2px}
.dashboard-summary-list b{font-weight:800}

/* Snel zoeken: zichtbare knop in de topbar (Ctrl+K of / werkt ook) en een venster met een lijst; aanvulling op het menu. */
.topbar-search{display:inline-flex;align-items:center;gap:var(--space-2);min-height:36px;margin:0;padding:0 var(--space-3);border:1px solid var(--border-strong);border-radius:999px;background:var(--panel);color:var(--muted);font:inherit;font-size:var(--font-sm);cursor:pointer;box-shadow:none}
.topbar-search[hidden]{display:none}
.topbar-search:hover{border-color:var(--primary);color:var(--text);background:var(--panel)}
.topbar-search svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.topbar-search kbd{padding:1px var(--space-2);border:1px solid var(--border-strong);border-radius:6px;background:var(--panel-soft);font:inherit;font-size:var(--font-xs);color:var(--muted)}
.quick-search{width:min(640px,calc(100vw - 32px));max-height:min(520px,calc(100vh - 96px));margin:72px auto auto;padding:0;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--panel);color:var(--text);box-shadow:0 20px 60px rgba(15,23,42,.35)}
.quick-search::backdrop{background:rgba(15,23,42,.5)}
.quick-search[open]{display:flex;flex-direction:column}
.quick-search-input{display:block;width:100%;margin:0;padding:var(--space-4) var(--space-5);border:0;border-bottom:1px solid var(--border);border-radius:var(--radius) var(--radius) 0 0;background:transparent;color:var(--text);font-size:var(--font-md)}
.quick-search-input:focus-visible{outline:3px solid var(--primary);outline-offset:-3px}
.quick-search-list{flex:1 1 auto;margin:0;padding:var(--space-2);overflow-y:auto;list-style:none}
.quick-search-option{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);min-height:44px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm,8px);cursor:pointer}
.quick-search-option[aria-selected="true"]{background:var(--primary-soft);outline:2px solid var(--primary);outline-offset:-2px}
.quick-search-option small{flex:0 0 auto;color:var(--muted);font-size:var(--font-xs)}
.quick-search-option.is-search .quick-search-label{font-weight:600}
.quick-search-hint{margin:0;padding:var(--space-2) var(--space-5);border-top:1px solid var(--border);color:var(--muted);font-size:var(--font-xs)}
@media (max-width:640px){
    .topbar-search{width:36px;padding:0;justify-content:center}
    .topbar-search-label,.topbar-search kbd{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
    .quick-search{margin-top:16px;max-height:calc(100vh - 32px)}
}
