:root{
  color-scheme:dark;
  --sp-bg:#070707;
  --sp-surface:#171514;
  --sp-panel:#1b1917;
  --sp-panel-raised:#211e1d;
  --sp-line:#403936;
  --sp-text:#f7f4ee;
  --sp-muted:#9e958d;
  --sp-gold:#c7a661;
  --sp-green:#59b879;
  --sp-red:#e4474c;
  --sp-orange:#ed8b32;
  --sp-radius:3px;
  font-family:Inter,"Segoe UI",Arial,sans-serif;
}
*{box-sizing:border-box}

/* Gedeelde beheeromgeving */
body>.layout{grid-template-columns:260px minmax(0,1fr) 290px!important}
.sp-admin-sidebar{position:sticky!important;top:0!important;display:flex!important;flex-direction:column!important;width:auto!important;height:100vh!important;border-right:1px solid #4a4038!important;background:linear-gradient(#111,#171411)!important;box-shadow:12px 0 35px #0005}
.sp-admin-sidebar .sidebar-logo{min-height:112px!important;padding:19px 20px!important;border-bottom:1px solid #b48e4b!important;background:#050505!important}
.sp-admin-sidebar .sidebar-logo img{display:block!important;width:195px!important;max-height:48px!important;object-fit:contain!important;object-position:left center!important}
.sp-admin-sidebar .sidebar-logo>span{display:block!important;margin-top:8px!important;color:var(--sp-gold)!important;font-size:10px!important;font-weight:800!important;letter-spacing:.15em!important;text-transform:uppercase!important}
.sp-admin-sidebar .sidebar-logo .logo-glow{position:relative!important;width:195px!important;overflow:hidden!important}
.sp-admin-sidebar .sidebar-logo .logo-glow::after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(110deg,transparent 30%,#fff3 42%,#fff4cb 50%,#c7a66194 58%,transparent 70%);background-size:280% 100%;-webkit-mask:url('/assets/sushipoint-logo.png') left center/195px auto no-repeat;mask:url('/assets/sushipoint-logo.png') left center/195px auto no-repeat;animation:spLogoGlow 4.8s ease-in-out infinite}
@keyframes spLogoGlow{0%,24%{background-position:180% 0;opacity:0}31%{opacity:1}62%{background-position:-80% 0;opacity:1}68%,100%{background-position:-80% 0;opacity:0}}
.sp-admin-sidebar .sidebar-head{padding:18px 17px 14px!important;border-bottom:1px solid #37312f!important}
.sp-admin-sidebar .sidebar-head strong{display:block!important;color:var(--sp-text)!important;font-size:15px!important}
.sp-admin-sidebar .sidebar-head span{display:block!important;margin-top:4px!important;color:#968d85!important;font-size:11px!important;letter-spacing:0!important;text-transform:uppercase!important}
.sp-admin-sidebar .menu{display:flex!important;flex:1!important;flex-direction:column!important;gap:3px!important;align-content:initial!important;padding:11px 9px!important}
.sp-admin-sidebar .menu-item{display:flex!important;align-items:center!important;gap:11px!important;min-height:46px!important;padding:0 11px!important;color:#d5cec6!important;border:1px solid transparent!important;border-radius:var(--sp-radius)!important;background:transparent!important;text-decoration:none!important;font-size:14px!important;font-weight:750!important}
.sp-admin-sidebar .menu-item:hover{color:#fff!important;border-color:#4b433e!important;background:#292422!important}
.sp-admin-sidebar .menu-item.active{color:#fff!important;border-color:#b48e4b!important;background:linear-gradient(90deg,#3a3022,#29231e)!important}
.sp-admin-sidebar .menu-icon{display:grid!important;place-items:center!important;flex:0 0 29px!important;width:29px!important;height:29px!important;color:var(--sp-gold)!important;border:1px solid #554936!important;background:#211d19!important}
.sp-admin-sidebar .menu-item.active .menu-icon{color:#111!important;background:var(--sp-gold)!important}
.sp-admin-sidebar .menu-icon svg{display:block;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sp-admin-sidebar .menu-item.vehicle{margin-top:auto}
.sp-admin-sidebar .soon{margin-left:auto!important;padding:2px 5px!important;color:#8e857e!important;border:1px solid var(--sp-line)!important;font-size:8px!important;font-weight:700!important;text-transform:uppercase!important}
.sp-admin-sidebar .menu-note{margin:0;padding:13px 17px 18px;color:#817870;border-top:1px solid #37312f;font-size:10px;line-height:1.5}

/* Herbruikbare atomen */
.sp-button{display:inline-grid;place-items:center;min-height:40px;padding:0 14px;border:1px solid transparent;border-radius:var(--sp-radius);font:inherit;font-size:10px;font-weight:900;text-align:center;text-decoration:none;cursor:pointer}
.sp-button--primary{color:#171109;background:var(--sp-gold)}
.sp-button--secondary{color:#e5cc91;border-color:#6b5834;background:#282117}
.sp-button--success{color:#eaffef;border-color:#376647;background:#1a3523}
.sp-button--danger{color:#fff;border-color:#713639;background:#a72e33}
.sp-button:disabled,.sp-button[aria-disabled="true"]{cursor:not-allowed;opacity:.5}
.sp-badge{display:inline-flex;align-items:center;width:max-content;padding:5px 8px;border:1px solid #66532f;background:#2b2418;color:#f1cf89;font-size:8px;font-weight:900;text-transform:uppercase}
.sp-badge--success{color:#bce8c8;border-color:#376647;background:#1a3523}
.sp-badge--danger{color:#ffb0b2;border-color:#713639;background:#2b1718}
.sp-badge--muted{color:#b8b0a8;border-color:#514943;background:#24211f}
.sp-card{border:1px solid var(--sp-line);background:var(--sp-panel)}
.sp-empty,.sp-loading{padding:32px;color:var(--sp-muted);border:1px dashed #49413b;background:var(--sp-surface);text-align:center;font-size:11px}
.sp-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.sp-detail{padding:11px;border:1px solid #39332f;background:#12110f}
.sp-detail>span{display:block;color:#8f867d;font-size:8px;font-weight:900;text-transform:uppercase}
.sp-detail>strong{display:block;margin-top:6px;font-size:11px;line-height:1.45}

/* Nederlandse kentekencomponent */
.sp-license-plate{position:relative;display:inline-flex;align-items:center;min-width:92px;height:27px;padding:0 8px 0 21px;color:#111;border:2px solid #111;border-radius:4px;background:#f2c500;box-shadow:inset 0 0 0 1px #ffe45c,0 1px 2px #0008;font-family:"Arial Narrow",Arial,sans-serif;font-size:11px;font-weight:950;letter-spacing:.08em;white-space:nowrap}
.sp-license-plate::before{content:"NL";position:absolute;inset:0 auto 0 0;display:flex;align-items:flex-end;width:16px;padding:0 0 3px 2px;color:#fff;border-radius:2px 0 0 2px;background:#164194;font-size:6px;letter-spacing:0}
.sp-license-plate::after{content:"★";position:absolute;top:2px;left:4px;color:#ffe600;font-size:6px}
.sp-license-plate--unknown{min-width:auto;padding:0 9px;color:#777;background:#d7d4c8}
.sp-license-plate--unknown::before,.sp-license-plate--unknown::after{display:none}

/* Koeriersavatarcomponent */
.sp-avatar{display:inline-grid;place-items:center;flex:0 0 var(--sp-avatar-size,42px);width:var(--sp-avatar-size,42px);height:var(--sp-avatar-size,42px);margin:0;color:#171109;border:2px solid #e3c675;border-radius:50%;background:linear-gradient(145deg,#e2c271,#a77c37);font-size:calc(var(--sp-avatar-size,42px) * .29);font-weight:950;line-height:1}

/* Modalbasis */
.sp-modal-backdrop{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;padding:28px;background:#000d;backdrop-filter:blur(4px)}
.sp-modal-backdrop[hidden]{display:none}
.sp-modal{width:min(760px,calc(100vw - 56px));max-height:calc(100vh - 56px);overflow:auto;border:1px solid #5a5048;border-top:4px solid var(--sp-gold);background:#191716;box-shadow:0 30px 90px #000}
.sp-modal__header{position:sticky;z-index:2;top:0;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:19px 22px;border-bottom:1px solid var(--sp-line);background:#211e1c}
.sp-modal__body{padding:18px 22px 23px}
.sp-modal__close{display:grid;place-items:center;width:34px;height:34px;color:#ddd3ca;border:1px solid #514943;background:#292522;font-size:19px;cursor:pointer}

/* Gedeelde AI-assistent */
.ai-sidebar{position:sticky;top:0;display:flex;flex-direction:column;height:100vh;padding:22px 17px 17px;border-left:1px solid #4a4038;background:radial-gradient(circle at 60% 5%,#c7a6611f,transparent 25%),linear-gradient(180deg,#151310,#0d0c0b);box-shadow:-12px 0 35px #0005}
.ai-sidebar .ai-header{display:flex;align-items:center;gap:12px;padding-bottom:18px;border-bottom:1px solid #403936}
.ai-sidebar .ai-orb{position:relative;isolation:isolate;display:grid;place-items:center;width:36px;height:36px;color:#16110a;border-radius:50%;background:radial-gradient(circle at 35% 28%,#fff9df 0 8%,#ead08f 20%,#c7a661 52%,#674b1f 100%);box-shadow:0 0 14px #c7a66161;font-size:17px;animation:spAiBreathe 3.1s ease-in-out infinite}
.ai-sidebar .ai-orb::before{content:"";position:absolute;z-index:-1;inset:-7px;border-radius:50%;background:conic-gradient(from 0deg,transparent 0 18%,#ffe6a6 27%,transparent 38% 65%,#c7a661bf 76%,transparent 88%);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 0);mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 0);animation:spAiOrbit 3.8s linear infinite}
.ai-sidebar .ai-orb::after{content:"";position:absolute;z-index:-2;inset:-4px;border:1px solid #e7c77e8c;border-radius:50%;animation:spAiPulse 2.6s ease-out infinite}
.ai-sidebar .ai-copy{min-width:0}.ai-sidebar .ai-copy strong{display:block;font-size:12px}.ai-sidebar .ai-copy span{display:block;margin-top:3px;color:#9f968e;font-size:9px}
.ai-sidebar .ai-state{margin-left:auto;padding:3px 5px;color:var(--sp-gold);border:1px solid #5a4a30;font-size:7px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.ai-sidebar .ai-welcome{margin:18px 0 12px;color:#ddd4ca;font-size:13px;line-height:1.55}
.ai-sidebar .ai-conversation-controls{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:10px 0}
.ai-sidebar .ai-conversation-controls .sp-button{min-height:34px;padding:0 6px}
.ai-sidebar .ai-chat{display:flex;flex:1;flex-direction:column;gap:8px;min-height:100px;margin:15px -3px 12px 0;padding-right:4px;overflow-y:auto}
.ai-sidebar .ai-message{max-width:88%;padding:9px 10px;border-radius:5px;font-size:11px;line-height:1.45;overflow-wrap:anywhere}
.ai-sidebar .ai-message.assistant{align-self:flex-start;color:#bdb5ac;border:1px solid #38322f;background:#1b1816}.ai-sidebar .ai-message.user{align-self:flex-end;color:#171109;border:1px solid #b48e4b;background:var(--sp-gold)}
.ai-sidebar .ai-input-form{display:grid;grid-template-columns:minmax(0,1fr) 34px;gap:7px;padding:6px;border:1px solid #4b433d;border-radius:4px;background:#181614}
.ai-sidebar .ai-input-form input{width:100%;min-height:34px;padding:0 5px;color:#eee7df;border:0;outline:0;background:transparent;font:inherit;font-size:11px}.ai-sidebar .ai-input-form input::placeholder{color:#716a64}
.ai-sidebar .ai-send{display:grid;place-items:center;width:34px;height:34px;padding:0;color:#1a1409;border:0;border-radius:3px;background:#b48e4b;font-size:16px;font-weight:900;line-height:1;cursor:pointer}.ai-sidebar .ai-send:hover{background:#d0ac63}
.ai-sidebar .ai-footnote{margin:8px 0 0;color:#716a64;font-size:9px;text-align:center}
.ai-sidebar .ai-state.is-error,.ai-sidebar .ai-message.is-error{color:#ff9295!important}
.ai-sidebar .ai-message.assistant p{margin:0 0 8px}.ai-sidebar .ai-message.assistant p:last-child{margin-bottom:0}
.ai-sidebar .ai-message.assistant ul{margin:3px 0 9px;padding-left:18px}.ai-sidebar .ai-message.assistant li{margin:5px 0}
.ai-sidebar .ai-message.assistant strong{color:#f3eee7}.ai-sidebar .ai-message.assistant a{color:#e2be70;font-weight:800;text-decoration:underline;text-underline-offset:2px}
.ai-sidebar .ai-message.assistant a:hover{color:#ffe0a0}
@keyframes spAiOrbit{to{transform:rotate(360deg)}}@keyframes spAiBreathe{50%{transform:scale(1.08);filter:brightness(1.14);box-shadow:0 0 22px #c7a66194}}@keyframes spAiPulse{0%{opacity:.85;transform:scale(.9)}70%,100%{opacity:0;transform:scale(1.35)}}

@media(max-width:1500px){body{min-width:1100px!important}body>.layout{grid-template-columns:260px minmax(0,1fr)!important}body>.layout>aside.ai,body>.layout>aside.ai-sidebar{display:none!important}}
@media(prefers-reduced-motion:reduce){.sp-admin-sidebar .sidebar-logo .logo-glow::after{animation:none;display:none}.ai-sidebar .ai-orb,.ai-sidebar .ai-orb::before,.ai-sidebar .ai-orb::after{animation:none}}
