/* LeadBörse — shared design system. Tokens and shapes follow LeadAhoi (resources/sass/leadahoi). */
:root{
  --navy:#12203A; --navy-2:#1B2D4F; --gold:#C4922A; --gold-light:#E8B84B;
  --bg:#F7F5F0; --surface:#fff; --border:#E8E4DC;
  --green:#16A34A; --red:#DC2626; --orange:#D97706; --blue:#1A6DB5; --violet:#7C3AED;
  --t1:#12203A; --t2:#475569; --t3:#64748B;
  --shadow-sm:0 2px 12px rgba(0,0,0,.04); --shadow-md:0 8px 28px rgba(0,0,0,.08); --shadow-lg:0 20px 60px rgba(0,0,0,.18);
  --ring:0 0 0 3px rgba(196,146,42,.14);
  --sidebar-w:256px; --topbar-h:64px;
}
*{box-sizing:border-box;}
html,body{min-height:100%;}
body{font-family:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:var(--bg);color:var(--t1);margin:0;font-size:14px;line-height:1.5;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;}
a{text-decoration:none;color:inherit;}
button{font-family:inherit;}
h1,h2,h3,h4,p{margin:0;}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:4px;}
.muted{color:var(--t3);} .t2{color:var(--t2);} .b{font-weight:700;} .sm{font-size:12px;} .xs{font-size:11px;} .right{text-align:right;} .center{text-align:center;} .nowrap{white-space:nowrap;}
.mono{white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;}
.hide{display:none!important;}

/* utilities */
.flex{display:flex;} .wrap{flex-wrap:wrap;} .between{justify-content:space-between;} .items-c{align-items:center;} .items-s{align-items:flex-start;} .col{flex-direction:column;} .grow{flex:1;min-width:0;}
.gap4{gap:4px;} .gap8{gap:8px;} .gap12{gap:12px;} .gap16{gap:16px;} .gap24{gap:24px;}
.mt4{margin-top:4px;} .mt8{margin-top:8px;} .mt12{margin-top:12px;} .mt16{margin-top:16px;} .mt24{margin-top:24px;} .mb0{margin-bottom:0!important;} .mb16{margin-bottom:16px;}
.grid{display:grid;gap:16px;} .g2{grid-template-columns:repeat(2,1fr);} .g3{grid-template-columns:repeat(3,1fr);} .g4{grid-template-columns:repeat(4,1fr);}
.split{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:22px;align-items:start;}
.split.wide-r{grid-template-columns:minmax(0,1fr) 400px;}
.sticky{position:sticky;top:calc(var(--topbar-h) + 20px);}

/* ===== SHELL ===== */
.ad-sidebar{position:fixed;top:0;left:0;width:var(--sidebar-w);height:100vh;background:var(--navy);box-shadow:4px 0 24px rgba(0,0,0,.18);z-index:1040;display:flex;flex-direction:column;transition:transform .3s ease;}
.ad-sidebar-head{display:flex;flex-direction:column;align-items:center;padding:20px 12px 14px;gap:10px;position:relative;}
.lb-logo{display:flex;align-items:center;gap:10px;color:#fff;font-weight:800;font-size:19px;letter-spacing:-.3px;}
.lb-logo .mark{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,var(--gold),var(--gold-light));color:var(--navy);display:grid;place-items:center;font-size:17px;}
.lb-logo b{color:var(--gold-light);font-weight:800;}
.lb-chip{font-size:10.5px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--gold-light);background:rgba(232,184,75,.12);border:1px solid rgba(232,184,75,.28);padding:4px 12px;border-radius:20px;}
.ad-sidebar-close{display:none;position:absolute;top:14px;right:12px;width:36px;height:36px;border-radius:9px;border:1.5px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:#fff;font-size:18px;cursor:pointer;}
.ad-nav{padding:4px 8px 16px 12px;display:flex;flex-direction:column;gap:6px;flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent;}
.ad-nav-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:rgba(255,255,255,.35);padding:16px 10px 4px;}
.ad-nav-label:first-child{padding-top:6px;}
.ad-nav-item{display:flex;align-items:center;gap:11px;height:40px;padding:0 12px;border-radius:10px;color:rgba(255,255,255,.72);font-size:13px;font-weight:600;transition:background .15s,color .15s;position:relative;}
.ad-nav-item i{font-size:16px;width:18px;text-align:center;}
.ad-nav-item:hover{background:rgba(255,255,255,.08);color:#fff;}
.ad-nav-item.active{background:linear-gradient(135deg,var(--gold),var(--gold-light));color:var(--navy);font-weight:700;box-shadow:0 4px 14px rgba(196,146,42,.3);}
.ad-nav-item .count{margin-left:auto;font-size:10.5px;font-weight:700;background:rgba(255,255,255,.14);color:#fff;border-radius:20px;padding:1px 8px;}
.ad-nav-item.active .count{background:rgba(18,32,58,.16);color:var(--navy);}
.ad-sidebar-footer{display:flex;align-items:center;gap:10px;padding:14px 16px;border-top:1px solid rgba(255,255,255,.1);}
.avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--gold-light));color:var(--navy);font-weight:800;font-size:12px;display:grid;place-items:center;flex-shrink:0;}
.ad-sidebar-footer .name{color:#fff;font-size:12.5px;font-weight:700;line-height:1.2;}
.ad-sidebar-footer .role{color:rgba(255,255,255,.45);font-size:10.5px;font-weight:600;}
.ad-main{margin-left:var(--sidebar-w);min-height:100vh;display:flex;flex-direction:column;}
.ad-topbar{position:sticky;top:0;height:var(--topbar-h);background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:16px;padding:0 28px;z-index:1020;}
.ad-hamburger{display:none;width:36px;height:36px;border-radius:9px;border:1.5px solid var(--border);background:#fff;color:var(--t2);align-items:center;justify-content:center;font-size:16px;cursor:pointer;}
.ad-breadcrumb{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;color:var(--t3);min-width:0;white-space:nowrap;overflow:hidden;}
.ad-breadcrumb i{font-size:11px;}
.ad-breadcrumb .current{color:var(--t1);font-weight:700;}
.ad-topbar-right{margin-left:auto;display:flex;align-items:center;gap:10px;}
.top-btn{height:38px;min-width:38px;padding:0 10px;border-radius:10px;border:none;background:transparent;color:var(--t2);display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:17px;position:relative;cursor:pointer;font-weight:600;}
.top-btn:hover{background:var(--bg);}
.top-btn.notif{background:#FDF4E7;color:var(--gold);}
.top-btn .dot{position:absolute;top:8px;right:9px;width:8px;height:8px;border-radius:50%;background:var(--red);border:2px solid #fff;}
.back-link{font-size:12.5px;font-weight:700;color:var(--navy);border:1.5px solid var(--border);border-radius:10px;padding:7px 12px;display:inline-flex;gap:6px;align-items:center;}
.back-link:hover{background:var(--bg);}
.pop{position:absolute;top:calc(100% + 8px);right:0;width:320px;background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-md);padding:6px;display:none;z-index:1060;}
.pop.show{display:block;}
.pop-wrap{position:relative;}
.pop-item{display:flex;gap:10px;padding:10px;border-radius:10px;font-size:13px;color:var(--t2);}
.pop-item:hover{background:var(--bg);}
.pop-item i{color:var(--gold);font-size:16px;margin-top:2px;}
.pop-head{padding:8px 10px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--t3);}
.ad-content{padding:28px;flex:1;max-width:1480px;width:100%;}
.ad-backdrop{display:none;position:fixed;inset:0;background:rgba(18,32,58,.5);z-index:1030;}
.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:22px;}
.page-head h1{font-size:24px;font-weight:800;letter-spacing:-.4px;}
.page-head p{color:var(--t3);font-weight:500;margin-top:2px;}
.page-head .actions{display:flex;gap:10px;flex-wrap:wrap;}

/* ===== BUTTONS ===== */
.ad-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 18px;border-radius:10px;border:1.5px solid transparent;font-size:13.5px;font-weight:700;cursor:pointer;transition:transform .12s,box-shadow .15s,background .15s;white-space:nowrap;background:linear-gradient(135deg,var(--gold),var(--gold-light));color:var(--navy);box-shadow:0 4px 14px rgba(196,146,42,.28);}
.ad-btn:hover{box-shadow:0 6px 18px rgba(196,146,42,.4);transform:translateY(-1px);}
.ad-btn:active{transform:translateY(0) scale(.98);}
.ad-btn.outline{background:#fff;color:var(--navy);border-color:var(--border);box-shadow:none;}
.ad-btn.outline:hover{background:var(--bg);border-color:#d8d2c6;}
.ad-btn.navy{background:var(--navy);color:#fff;box-shadow:none;}
.ad-btn.navy:hover{background:var(--navy-2);}
.ad-btn.danger{background:var(--red);color:#fff;box-shadow:none;}
.ad-btn.danger-o{background:#fff;color:var(--red);border-color:#FECACA;box-shadow:none;}
.ad-btn.danger-o:hover{background:#FEF2F2;}
.ad-btn.ghost{background:transparent;color:var(--t2);box-shadow:none;}
.ad-btn.ghost:hover{background:var(--bg);}
.ad-btn.sm{height:32px;padding:0 12px;font-size:12.5px;border-radius:8px;}
.ad-btn.lg{height:46px;padding:0 24px;font-size:14.5px;}
.ad-btn.block{width:100%;}
.ad-btn[disabled],.ad-btn.is-disabled{opacity:.45;pointer-events:none;box-shadow:none;}
.ad-btn.loading::after{content:'';width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}
.ad-icon-btn{width:32px;height:32px;border-radius:8px;border:1.5px solid var(--border);display:inline-grid;place-items:center;font-size:13.5px;background:#fff;color:var(--t2);cursor:pointer;transition:transform .12s,box-shadow .15s;}
.ad-icon-btn:hover{transform:translateY(-1px);box-shadow:0 4px 10px rgba(0,0,0,.08);}
.ad-icon-btn.view{color:#3B82F6;background:#EFF6FF;border-color:#DBEAFE;}
.ad-icon-btn.edit{color:#F97316;background:#FFF7ED;border-color:#FFEDD5;}
.ad-icon-btn.approve{color:#10B981;background:#ECFDF5;border-color:#D1FAE5;}
.ad-icon-btn.reject{color:#EF4444;background:#FEF2F2;border-color:#FEE2E2;}
.ad-row-actions{display:flex;gap:6px;}

/* ===== CARDS ===== */
.ad-card{background:#fff;border-radius:18px;margin-bottom:22px;overflow:hidden;box-shadow:var(--shadow-sm);}
.ad-card.flat{box-shadow:none;border:1px solid var(--border);}
.ad-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:16px 22px;background:var(--navy);}
.ad-card-title{font-size:15px;font-weight:700;color:#fff;}
.ad-card-sub{font-size:11.5px;font-weight:600;color:rgba(255,255,255,.55);margin-top:2px;}
.ad-card-header .ad-btn.outline{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.22);color:#fff;}
.ad-card-body{padding:20px 22px;}
.ad-card-body.no-pad{padding:0;}
.ad-card-foot{padding:14px 22px;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;background:#FBFAF7;}
.section-title{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;color:var(--t2);margin:6px 0 12px;}

/* KPI */
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px;}
.kpi{background:var(--navy);color:#fff;border-radius:18px;padding:18px 20px;display:block;position:relative;transition:transform .15s,box-shadow .15s;}
a.kpi:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);}
.kpi .label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:rgba(255,255,255,.55);}
.kpi .value{font-size:28px;font-weight:800;letter-spacing:-.6px;margin-top:6px;}
.kpi .note{font-size:12px;color:rgba(255,255,255,.6);margin-top:2px;font-weight:500;}
.kpi i.ico{position:absolute;right:18px;top:18px;font-size:20px;color:var(--gold-light);opacity:.85;}
.kpi.light{background:#fff;color:var(--t1);box-shadow:var(--shadow-sm);}
.kpi.light .label,.kpi.light .note{color:var(--t3);}
.kpi.light i.ico{color:var(--gold);}

/* ===== TABLE ===== */
.ad-table-wrap{overflow-x:auto;scrollbar-width:thin;}
table.ad-table{width:100%;border-collapse:collapse;font-size:13px;font-weight:500;color:var(--t2);}
table.ad-table thead th{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--gold-light);padding:14px 16px;text-align:left;white-space:nowrap;background:var(--navy);}
table.ad-table tbody td{padding:14px 16px;border-bottom:1px solid var(--border);vertical-align:middle;}
table.ad-table tbody tr:hover{background:#FAF8F3;}
table.ad-table tbody tr:last-child td{border-bottom:none;}
table.ad-table tr.clickable{cursor:pointer;}
table.ad-table tr.is-bad{background:#FEF6F6;}
.cell-primary{color:var(--t1);font-weight:700;}
.cell-meta{color:var(--t3);font-size:11.5px;font-weight:600;}
.pager{display:flex;justify-content:space-between;align-items:center;padding:14px 22px;border-top:1px solid var(--border);font-size:12.5px;color:var(--t3);font-weight:600;flex-wrap:wrap;gap:10px;}
.pager .pages{display:flex;gap:4px;}
.pager .pages button{min-width:32px;height:32px;border-radius:8px;border:1.5px solid var(--border);background:#fff;font-weight:700;color:var(--t2);cursor:pointer;}
.pager .pages button.on{background:var(--navy);color:#fff;border-color:var(--navy);}

/* ===== BADGES ===== */
.ad-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:700;white-space:nowrap;}
.ad-badge .dot{width:5px;height:5px;border-radius:50%;background:currentColor;}
.ad-badge.green{background:#DCFCE7;color:var(--green);}
.ad-badge.amber{background:#FEF3C7;color:var(--orange);}
.ad-badge.red{background:#FEE2E2;color:var(--red);}
.ad-badge.violet{background:#EDE9FE;color:var(--violet);}
.ad-badge.blue{background:#E8F1F8;color:var(--blue);}
.ad-badge.gray{background:#EFEDE7;color:#64748B;}
.ad-badge.gold{background:#FBF1D8;color:#9A6F14;}

/* ===== FORMS ===== */
.ad-form-label{font-size:12px;font-weight:700;color:var(--t2);margin-bottom:6px;display:block;}
.ad-form-label .req{color:var(--red);}
.ad-form-group{margin-bottom:18px;}
.ad-form-hint{font-size:11.5px;color:var(--t3);margin-top:6px;font-weight:500;}
.ad-form-error{font-size:11.5px;color:var(--red);margin-top:6px;font-weight:600;display:none;}
.has-error .ad-input,.has-error .ad-select{border-color:var(--red);}
.has-error .ad-form-error{display:block;}
.ad-input,.ad-select,textarea.ad-input{border:1.5px solid var(--border);border-radius:10px;padding:9px 14px;font-size:13.5px;font-family:inherit;width:100%;color:var(--t1);background:#fff;transition:border-color .15s,box-shadow .15s;min-height:40px;}
.ad-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%2364748B' viewBox='0 0 16 16'%3E%3Cpath d='M1.6 5.3a.75.75 0 0 1 1.06 0L8 10.64l5.34-5.34a.75.75 0 1 1 1.06 1.06l-5.87 5.87a.75.75 0 0 1-1.06 0L1.6 6.36a.75.75 0 0 1 0-1.06z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px;}
.ad-input:focus,.ad-select:focus{outline:none;border-color:var(--gold);box-shadow:var(--ring);}
.ad-input::placeholder{color:var(--t3);}
.ad-input[readonly],.ad-input:disabled{background:#F8FAFC;color:var(--t2);cursor:not-allowed;}
textarea.ad-input{min-height:90px;resize:vertical;}
.input-icon{position:relative;}
.input-icon>i{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--t3);font-size:15px;pointer-events:none;}
.input-icon .ad-input{padding-left:40px;}
.input-icon .toggle-vis{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--t3);cursor:pointer;font-size:15px;padding:6px;}
.field-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 18px;}
.field-grid .full{grid-column:1/-1;}
.check{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--t2);font-weight:500;cursor:pointer;margin-bottom:12px;line-height:1.45;}
.check input{appearance:none;width:18px;height:18px;border:1.5px solid #b7b0a1;border-radius:5px;background:#fff;display:grid;place-items:center;flex-shrink:0;margin:1px 0 0;cursor:pointer;}
.check input[type=radio]{border-radius:50%;}
.check input:checked{background:var(--navy);border-color:var(--navy);}
.check input:checked::after{content:'';width:8px;height:8px;background:var(--gold-light);border-radius:2px;}
.check input[type=radio]:checked::after{border-radius:50%;}
.radio-cards{display:grid;gap:12px;}
.radio-card{display:flex;gap:12px;border:1.5px solid var(--border);border-radius:14px;padding:14px 16px;cursor:pointer;background:#fff;transition:border-color .15s,background .15s;}
.radio-card:hover{border-color:#d8d2c6;}
.radio-card.on,.radio-card:has(input:checked){border-color:var(--gold);background:#FFFBF2;box-shadow:var(--ring);}
.radio-card input{margin-top:3px;accent-color:var(--navy);}
.radio-card .t{font-weight:700;color:var(--t1);}
.radio-card .d{font-size:12.5px;color:var(--t3);margin-top:2px;}
.switch{position:relative;width:42px;height:24px;flex-shrink:0;display:inline-block;}
.switch input{opacity:0;width:0;height:0;position:absolute;}
.switch span{position:absolute;inset:0;background:#CBD5E1;border-radius:20px;transition:.2s;cursor:pointer;}
.switch span::before{content:'';position:absolute;width:18px;height:18px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s;box-shadow:0 1px 3px rgba(0,0,0,.25);}
.switch input:checked+span{background:var(--navy);}
.switch input:checked+span::before{transform:translateX(18px);background:var(--gold-light);}
.row-setting{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid var(--border);}
.row-setting:last-child{border-bottom:none;}
.row-setting .t{font-weight:700;color:var(--t1);}
.row-setting .d{font-size:12.5px;color:var(--t3);}
.upload{border:2px dashed #d3ccbc;border-radius:14px;padding:22px;text-align:center;color:var(--t3);background:#FBFAF7;font-weight:600;font-size:13px;cursor:pointer;}
.upload:hover{border-color:var(--gold);color:var(--t1);}
.upload i{font-size:24px;color:var(--gold);display:block;margin-bottom:4px;}

/* ===== FEEDBACK ===== */
.lb-alert{display:flex;gap:12px;align-items:flex-start;border-radius:12px;padding:13px 16px;font-size:13px;font-weight:500;margin-bottom:18px;border:1px solid;}
.lb-alert i{font-size:17px;margin-top:1px;flex-shrink:0;}
.lb-alert b{font-weight:700;}
.lb-alert.info{background:#EFF6FF;border-color:#BFDBFE;color:#1E3A8A;}
.lb-alert.warn{background:#FFFBEB;border-color:#FDE68A;color:#92400E;}
.lb-alert.danger{background:#FEF2F2;border-color:#FECACA;color:#991B1B;}
.lb-alert.ok{background:#F0FDF4;border-color:#BBF7D0;color:#166534;}
.lb-alert .grow{flex:1;}
.lb-alert a{font-weight:700;text-decoration:underline;}
.empty{text-align:center;padding:48px 20px;color:var(--t3);}
.empty i{font-size:38px;color:var(--gold);opacity:.8;}
.empty h3{color:var(--t1);font-size:16px;margin:10px 0 4px;}
.empty p{max-width:380px;margin:0 auto 16px;}
.skel{background:linear-gradient(90deg,#EFEBE2 25%,#F7F4EC 37%,#EFEBE2 63%);background-size:400% 100%;animation:shimmer 1.3s ease infinite;border-radius:8px;}
@keyframes shimmer{0%{background-position:100% 50%}100%{background-position:0 50%}}
.skel-row{height:46px;margin:12px 16px;}
.skel-card{height:200px;border-radius:18px;}
.skel-kpi{height:96px;border-radius:18px;}
body[data-state] [data-s]{display:none;}
body[data-state=ready] [data-s~=ready],body[data-state=loading] [data-s~=loading],body[data-state=empty] [data-s~=empty],body[data-state=error] [data-s~=error]{display:block;}
.statebar{position:fixed;right:16px;bottom:16px;z-index:1050;background:var(--navy);color:#fff;border-radius:14px;padding:6px;display:flex;gap:2px;box-shadow:var(--shadow-lg);align-items:center;}
.statebar span{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;padding:0 8px;color:rgba(255,255,255,.5);}
.statebar button{background:transparent;border:none;color:rgba(255,255,255,.75);font-size:12px;font-weight:700;padding:6px 10px;border-radius:9px;cursor:pointer;}
.statebar button.on{background:var(--gold);color:var(--navy);}
.toast-wrap{position:fixed;top:78px;right:20px;z-index:2000;display:flex;flex-direction:column;gap:10px;}
.toast{background:var(--navy);color:#fff;padding:12px 16px;border-radius:12px;font-weight:600;font-size:13px;box-shadow:var(--shadow-lg);display:flex;gap:10px;align-items:center;animation:slidein .25s ease;max-width:360px;}
.toast i{color:var(--gold-light);font-size:16px;}
@keyframes slidein{from{transform:translateX(30px);opacity:0}to{transform:none;opacity:1}}

/* ===== MODAL / DRAWER ===== */
.lb-overlay{position:fixed;inset:0;background:rgba(18,32,58,.55);z-index:1500;display:none;align-items:center;justify-content:center;padding:20px;}
.lb-overlay.show{display:flex;}
.lb-modal{background:#fff;border-radius:18px;width:100%;max-width:480px;box-shadow:var(--shadow-lg);overflow:hidden;max-height:92vh;display:flex;flex-direction:column;}
.lb-modal.lg{max-width:680px;}
.lb-modal-head{padding:16px 22px;background:var(--navy);color:#fff;font-weight:700;display:flex;justify-content:space-between;align-items:center;}
.lb-modal-head button{background:none;border:none;color:#fff;font-size:18px;cursor:pointer;}
.lb-modal-body{padding:22px;overflow-y:auto;}
.lb-modal-foot{padding:14px 22px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:10px;background:#FBFAF7;}
.lb-drawer-wrap{position:fixed;inset:0;z-index:1500;background:rgba(18,32,58,.5);display:none;justify-content:flex-end;}
.lb-drawer-wrap.show{display:flex;}
.lb-drawer{width:100%;max-width:520px;background:#fff;height:100%;overflow-y:auto;box-shadow:var(--shadow-lg);animation:drawer .25s ease;}
@keyframes drawer{from{transform:translateX(40px);opacity:0}to{transform:none;opacity:1}}
.lb-drawer-head{padding:18px 22px;background:var(--navy);color:#fff;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:2;}
.lb-drawer-head h3{font-size:16px;}
.lb-drawer-head button{background:none;border:none;color:#fff;font-size:20px;cursor:pointer;}
.lb-drawer-body{padding:22px;}

/* ===== TABS / STEPS / MISC ===== */
.lb-tabs{display:flex;gap:4px;border-bottom:1.5px solid var(--border);margin-bottom:20px;overflow-x:auto;scrollbar-width:none;}
.lb-tabs button{background:none;border:none;padding:10px 16px;font-weight:700;font-size:13.5px;color:var(--t3);cursor:pointer;border-bottom:2.5px solid transparent;margin-bottom:-1.5px;white-space:nowrap;display:flex;gap:8px;align-items:center;}
.lb-tabs button:hover{color:var(--t1);}
.lb-tabs button.on{color:var(--navy);border-bottom-color:var(--gold);}
.lb-tabs .n{background:#EFEDE7;border-radius:20px;font-size:11px;padding:0 8px;line-height:18px;color:var(--t2);}
.lb-tabs button.on .n{background:var(--gold);color:var(--navy);}
.tab-panel{display:none;} .tab-panel.on{display:block;}
.filters{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;padding:16px 22px;border-bottom:1px solid var(--border);background:#FBFAF7;}
.filters .ad-form-group{margin:0;min-width:150px;flex:1;max-width:240px;}
.filters .ad-form-label{margin-bottom:4px;}
.progress{height:8px;background:#EFEDE7;border-radius:8px;overflow:hidden;}
.progress>i{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--gold-light));border-radius:8px;}
.progress.green>i{background:var(--green);} .progress.red>i{background:var(--red);}
.lb-steps{display:flex;gap:6px;margin-bottom:8px;}
.lb-steps i{flex:1;height:6px;border-radius:6px;background:#E8E4DC;}
.lb-steps i.done{background:var(--gold);}
.stepper{display:flex;align-items:center;gap:0;margin-bottom:24px;}
.stepper .st{display:flex;align-items:center;gap:10px;font-weight:700;color:var(--t3);font-size:13px;}
.stepper .st b{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#EFEDE7;color:var(--t3);font-size:13px;}
.stepper .st.on{color:var(--t1);} .stepper .st.on b{background:var(--navy);color:var(--gold-light);}
.stepper .st.done b{background:var(--green);color:#fff;}
.stepper .line{flex:1;height:2px;background:var(--border);margin:0 12px;min-width:20px;}
.tl{list-style:none;margin:0;padding:0;position:relative;}
.tl li{position:relative;padding:0 0 18px 34px;}
.tl li::before{content:'';position:absolute;left:11px;top:22px;bottom:-2px;width:2px;background:var(--border);}
.tl li:last-child::before{display:none;}
.tl li .pt{position:absolute;left:0;top:0;width:24px;height:24px;border-radius:50%;background:#EFEDE7;color:var(--t3);display:grid;place-items:center;font-size:12px;}
.tl li.done .pt{background:var(--green);color:#fff;}
.tl li.now .pt{background:var(--gold);color:var(--navy);box-shadow:0 0 0 4px rgba(196,146,42,.2);}
.tl li .t{font-weight:700;color:var(--t1);font-size:13.5px;}
.tl li .d{font-size:12.5px;color:var(--t3);}
.kv{display:grid;grid-template-columns:150px minmax(0,1fr);gap:10px 16px;font-size:13px;}
.kv dt{color:var(--t3);font-weight:600;} .kv dd{margin:0;color:var(--t1);font-weight:600;}
.sum-row{display:flex;justify-content:space-between;padding:8px 0;font-size:13.5px;color:var(--t2);font-weight:500;}
.sum-row.total{border-top:1.5px solid var(--border);margin-top:6px;padding-top:14px;font-size:16px;font-weight:800;color:var(--t1);}
.bar-row{display:grid;grid-template-columns:140px 1fr 56px;gap:12px;align-items:center;padding:8px 0;font-size:13px;font-weight:600;color:var(--t2);}
.bar-row .progress{height:10px;}
.bars{display:flex;align-items:flex-end;gap:10px;height:150px;padding-top:10px;}
.bars .bc{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;justify-content:flex-end;font-size:11px;color:var(--t3);font-weight:700;}
.bars .bc i{display:block;width:100%;max-width:38px;background:linear-gradient(180deg,var(--gold-light),var(--gold));border-radius:8px 8px 3px 3px;}
.code{background:#0E1830;color:#D6E2FF;border-radius:12px;padding:16px;font-family:ui-monospace,Menlo,monospace;font-size:12.5px;overflow-x:auto;line-height:1.6;white-space:pre;}
.code .k{color:var(--gold-light);} .code .s{color:#8BE9B5;}
.pill-tabs{display:inline-flex;background:#EFEDE7;border-radius:12px;padding:4px;gap:2px;}
.pill-tabs button{border:none;background:transparent;padding:7px 14px;border-radius:9px;font-weight:700;font-size:12.5px;color:var(--t3);cursor:pointer;}
.pill-tabs button.on{background:#fff;color:var(--navy);box-shadow:var(--shadow-sm);}

/* ===== MARKETPLACE ===== */
.lead-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:18px;}
.lead-card{background:#fff;border-radius:18px;padding:18px;box-shadow:var(--shadow-sm);border:1px solid transparent;display:flex;flex-direction:column;gap:12px;transition:transform .15s,box-shadow .15s,border-color .15s;position:relative;}
.lead-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:#EADFC6;}
.lead-card .top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;}
.cat-ico{width:42px;height:42px;border-radius:12px;background:#FBF1D8;color:#9A6F14;display:grid;place-items:center;font-size:19px;flex-shrink:0;}
.lead-card h3{font-size:15px;font-weight:700;}
.lead-card .mask{background:var(--bg);border-radius:10px;padding:10px 12px;font-size:12.5px;color:var(--t2);display:grid;gap:4px;}
.lead-card .mask span{display:flex;gap:8px;align-items:center;}
.lead-card .mask i{color:var(--t3);}
.lead-card .price{font-size:24px;font-weight:800;letter-spacing:-.5px;}
.lead-card .price small{font-size:12px;color:var(--t3);font-weight:600;letter-spacing:0;}
.lead-card .price s{font-size:13px;color:var(--t3);font-weight:600;margin-right:6px;}
.fresh{font-size:11.5px;font-weight:700;display:flex;gap:6px;align-items:center;color:var(--t3);}
.fresh.warn{color:var(--orange);}
.tag{display:inline-block;background:#EFEDE7;color:var(--t2);font-size:11.5px;font-weight:700;padding:2px 9px;border-radius:6px;}
.mask-val{filter:blur(4px);user-select:none;}

/* ===== AUTH ===== */
body.auth{background:var(--navy);min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 16px;background-image:radial-gradient(circle at 15% 10%,rgba(196,146,42,.18),transparent 40%),radial-gradient(circle at 90% 90%,rgba(232,184,75,.1),transparent 40%);}
.auth-top{display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:24px;}
.auth-card{background:#fff;border-radius:20px;width:100%;max-width:440px;padding:32px;box-shadow:var(--shadow-lg);}
.auth-card.wide{max-width:720px;}
.auth-card h1{font-size:22px;font-weight:800;letter-spacing:-.3px;}
.auth-card .sub{color:var(--t3);margin:4px 0 22px;font-weight:500;}
.auth-foot{margin-top:18px;text-align:center;font-size:13px;color:var(--t3);font-weight:500;}
.auth-foot a{color:var(--navy);font-weight:700;text-decoration:underline;}
.auth-links{position:fixed;bottom:12px;left:0;right:0;text-align:center;font-size:11.5px;color:rgba(255,255,255,.4);}
.auth-links a{color:rgba(255,255,255,.65);text-decoration:underline;margin:0 6px;}
.hero-icon{width:64px;height:64px;border-radius:50%;background:#FBF1D8;color:var(--gold);display:grid;place-items:center;font-size:28px;margin:0 auto 14px;}

/* ===== RESPONSIVE ===== */
@media(max-width:1200px){.kpis{grid-template-columns:repeat(2,1fr);} .split,.split.wide-r{grid-template-columns:1fr;} .sticky{position:static;}}
@media(max-width:991px){
  .ad-sidebar{transform:translateX(-100%);} .ad-sidebar.open{transform:none;}
  .ad-sidebar-close{display:grid;place-items:center;}
  .ad-backdrop.show{display:block;}
  .ad-main{margin-left:0;} .ad-hamburger{display:inline-flex;} .ad-topbar{padding:0 16px;} .ad-content{padding:20px 16px;}
  .g3,.g4{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:767px){
  .g2,.g3,.g4,.field-grid,.kpis{grid-template-columns:1fr;}
  .page-head h1{font-size:21px;} .kv{grid-template-columns:1fr;gap:2px 0;} .kv dd{margin-bottom:8px;}
  .bar-row{grid-template-columns:100px 1fr 44px;} .auth-card{padding:24px 20px;}
  .stepper .st span{display:none;} .pop{position:fixed;left:12px;right:12px;top:68px;width:auto;}
  .filters .ad-form-group{max-width:none;min-width:130px;}
  .back-link span{display:none;}
}
@media(max-width:767px){.statebar{left:12px;right:12px;justify-content:center;bottom:10px;}.statebar span{display:none;}}
.kv dd .ad-badge{white-space:normal;text-align:left;}
.kv dd{overflow-wrap:anywhere;}

/* ===== Sidebar, exactly as in LeadAhoi (wood texture, logo image, nav, footer) ===== */
.ad-sidebar{overflow:hidden;}
.ad-sidebar::before{content:'';position:absolute;inset:0;background:url('../assets/img/shipwooden.jpg') center / cover no-repeat;opacity:.14;mix-blend-mode:soft-light;pointer-events:none;z-index:0;}
.ad-sidebar > *{position:relative;z-index:1;}
.ad-sidebar-head{position:relative;display:flex;flex-direction:row;align-items:flex-start;justify-content:center;padding:0 12px;gap:0;flex-shrink:0;}
.ad-logo{position:relative;align-self:center;display:flex;align-items:center;justify-content:center;background:transparent;margin:20px 0 10px;padding:0 10px;}
.ad-logo-img{width:100%;max-width:135px;height:auto;display:block;filter:drop-shadow(0 2px 6px rgba(0,0,0,.25));}
.lb-chip-row{display:flex;justify-content:center;margin:0 0 16px;}
.ad-nav{padding:4px 8px 24px 12px;gap:8px;scrollbar-gutter:stable;}
.ad-nav-item{height:40px;padding:0 12px;border-radius:10px;gap:11px;color:rgba(255,255,255,.72);font-size:13px;font-weight:600;}
.ad-nav-item i{font-size:15px;width:18px;text-align:center;flex-shrink:0;}
.ad-nav-item:hover{background:rgba(255,255,255,.08);color:#fff;}
.ad-nav-item.active{background:var(--gold);color:#fff;box-shadow:none;font-weight:600;}
.ad-nav-item.active::before{content:'';position:absolute;left:-12px;top:6px;bottom:6px;width:3px;border-radius:0 3px 3px 0;background:var(--gold);}
.ad-nav-badge{margin-left:auto;flex-shrink:0;background:#EC4899;color:#fff;font-size:10px;font-weight:700;padding:1px 7px;border-radius:20px;line-height:1.5;}
.ad-nav-badge.blue{background:var(--blue);} .ad-nav-badge.orange{background:var(--orange);} .ad-nav-badge.red{background:var(--red);}
.ad-nav-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:rgba(255,255,255,.35);padding:18px 10px 4px;}
.ad-nav-label:first-child{padding-top:8px;}
.ad-sidebar-footer{flex-shrink:0;margin:10px 12px 18px;padding:12px;border-radius:12px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);}
.ad-sidebar-footer .avatar{width:34px;height:34px;border-radius:9px;background:linear-gradient(135deg,#0D9488,#1A6DB5);color:#fff;font-weight:700;font-size:12.5px;}
/* card header: navy with the steering wheel mark, like LeadAhoi */
.ad-card-header{background-color:var(--navy);background-image:url('../assets/img/fadesteering.png');background-repeat:no-repeat;background-blend-mode:soft-light;background-position:right 4px center;background-size:88px 68px;}
.ad-card-header .ad-btn.outline{background:linear-gradient(135deg,var(--gold),var(--gold-light));color:#fff;border:none;box-shadow:0 4px 14px rgba(196,146,42,.3);}

/* demo-only controls are hidden unless the page is opened with ?demo=1 */
body:not(.demo) .demo-only{display:none!important;}

/* buttons never overflow their container: long German labels wrap instead */
.ad-btn{max-width:100%;}
.ad-btn.block{white-space:normal;height:auto;min-height:40px;padding-top:8px;padding-bottom:8px;text-align:center;}

/* two-column pages (form + side panel) stack on tablets and phones, even when a page sets its own columns inline */
@media(max-width:1100px){.split,.split.wide-r{grid-template-columns:minmax(0,1fr)!important;}.sticky{position:static;}}

/* right-aligned headers must beat the default left alignment of table headers */
table.ad-table thead th.right{text-align:right;}
table.ad-table.compact thead th,table.ad-table.compact tbody td{padding:11px 10px;}
table.ad-table.compact td:first-child,table.ad-table.compact th:first-child{padding-left:12px;}
table.ad-table.compact td:last-child,table.ad-table.compact th:last-child{padding-right:12px;}

.ad-nav-item.is-disabled{opacity:.4;pointer-events:none;}

/* Login polish: readable link colour, balanced copy, in-flow footer links, mobile-safe */
.auth-card .sub{text-wrap:balance;line-height:1.5;margin-bottom:24px;}
.auth-card .link-gold{color:#8A5A00;font-weight:700;text-decoration:none;border-radius:4px;}
.auth-card .link-gold:hover{text-decoration:underline;}
.auth-card .link-gold:focus-visible,.auth-foot a:focus-visible{outline:2px solid var(--gold);outline-offset:2px;}
.auth-card .ad-form-group{margin-bottom:16px;}
.auth-card .ad-form-group .flex.between{margin-bottom:6px;align-items:baseline;}
.auth-card .ad-btn.lg{margin-top:6px;min-height:46px;}
.auth-card .ad-btn:active{transform:translateY(1px);}
.auth-note{display:flex;gap:8px;align-items:flex-start;margin-top:18px;padding-top:16px;border-top:1px solid var(--border);font-size:12.5px;color:var(--t2);font-weight:500;line-height:1.5;}
.auth-note i{color:var(--t3);margin-top:1px;}
.auth-links{position:static;margin-top:28px;padding-bottom:20px;}
main#content:has(.auth-card){min-height:100dvh;justify-content:center;padding:32px 16px 0;}
@media (max-width:480px){.auth-top{margin-bottom:18px;} .auth-card{padding:24px 18px;border-radius:16px;}}
