:root{
  --fu-danger:#a52121;
  --fu-danger-soft:#fff1f1;
  --fu-success:#176b43;
  --fu-success-soft:#eef8f2;
  --fu-info-soft:#f3f6fb;
}

body.fu-modal-open{overflow:hidden}
body.fu-mobile-nav-open{overflow:hidden}
.mobile-nav-toggle,.mobile-nav-layer{display:none}
.mobile-nav-toggle{align-items:center;justify-content:center;gap:7px;min-width:78px}
.fu-dialog-layer{position:fixed;inset:0;z-index:300;display:none;place-items:center;padding:20px;background:rgba(0,0,0,.62)}
.fu-dialog-layer.open{display:grid}
.fu-dialog{width:min(560px,100%);max-height:min(88vh,760px);overflow:auto;background:#fff;border:1px solid #e7e7e7;border-radius:22px;box-shadow:0 28px 80px rgba(0,0,0,.28);padding:24px}
.fu-dialog-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.fu-dialog-head h2{margin:5px 0 0;font-size:27px;letter-spacing:-.5px}
.fu-dialog-close{width:40px;height:40px;flex:0 0 40px;border:1px solid #dedede;border-radius:50%;background:#fff;font-size:22px;line-height:1}
.fu-dialog-message{white-space:pre-line;color:#5f5f5f;line-height:1.6;margin:16px 0}
.fu-dialog-fields{display:grid;gap:13px;margin:16px 0}
.fu-dialog-field label{display:block;font-size:12px;font-weight:850;margin-bottom:7px}
.fu-dialog-field input,.fu-dialog-field select,.fu-dialog-field textarea{width:100%;min-height:46px;border:1px solid #d8d8d8;border-radius:11px;padding:10px 12px;background:#fff;color:#181818}
.fu-dialog-field textarea{min-height:88px;resize:vertical}
.fu-dialog-error{display:none;padding:11px 13px;border:1px solid #f0b9b9;border-radius:11px;background:var(--fu-danger-soft);color:var(--fu-danger);font-size:13px;line-height:1.45}
.fu-dialog-error.show{display:block}
.fu-dialog-actions{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap;margin-top:20px}
.fu-dialog-actions .btn{min-height:44px}
.fu-dialog-danger{background:var(--fu-danger)!important;color:#fff!important}
.fu-toast-region{position:fixed;z-index:400;right:18px;bottom:18px;display:grid;gap:10px;width:min(390px,calc(100vw - 28px));pointer-events:none}
.fu-toast{pointer-events:none;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:start;background:#111;color:#fff;border-radius:14px;padding:14px 15px;box-shadow:0 18px 50px rgba(0,0,0,.22);font-size:13px;line-height:1.5}
.fu-toast.success{background:var(--fu-success)}
.fu-toast.error{background:#861f1f}
.fu-toast button{pointer-events:auto;border:0;background:transparent;color:inherit;font-size:18px;padding:0 2px}
.fu-inline-state{border:1px solid #dbe2ec;background:var(--fu-info-soft);border-radius:12px;padding:12px 14px;color:#4f5968;font-size:13px;line-height:1.5}
.fu-inline-state.success{border-color:#badcc8;background:var(--fu-success-soft);color:var(--fu-success)}
.fu-inline-state.error{border-color:#f0b9b9;background:var(--fu-danger-soft);color:var(--fu-danger)}
.fu-status-badge{display:inline-flex;align-items:center;min-height:28px;padding:5px 9px;border-radius:999px;background:#f0f0f0;color:#555;font-size:10px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.fu-status-badge.vip{background:#fff2d9;color:#8a5700}
.fu-status-badge.guest{background:#202020;color:#fff}
.fu-status-badge.success{background:#eaf7ef;color:#176b43}
.fu-owner-detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 0}
.fu-owner-stat{border:1px solid #e8e8e8;border-radius:13px;padding:13px;background:#fafafa}
.fu-owner-stat small{display:block;color:#777;margin-bottom:6px}.fu-owner-stat strong{font-size:18px}
.fu-owner-section{border-top:1px solid #ececec;padding-top:16px;margin-top:16px}
.fu-owner-section h4{margin:0 0 10px}
.fu-action-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.fu-action-row .btn{min-height:42px}
.fu-vehicle-item{border:1px solid #e7e7e7;border-radius:14px;padding:14px;margin:9px 0;background:#fff}
.fu-vehicle-title{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;flex-wrap:wrap}
.fu-processing{position:relative;pointer-events:none;opacity:.7}
.fu-processing:after{content:"";display:inline-block;width:14px;height:14px;margin-left:8px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;vertical-align:-2px;animation:fu-spin .7s linear infinite}
@keyframes fu-spin{to{transform:rotate(360deg)}}

@media(max-width:700px){
  .fu-dialog-layer{padding:8px;align-items:end}
  .fu-dialog{max-height:94vh;border-radius:20px 20px 12px 12px;padding:18px}
  .fu-dialog-actions{display:grid;grid-template-columns:1fr}
  .fu-dialog-actions .btn{width:100%}
  .fu-owner-detail-grid{grid-template-columns:1fr 1fr}
  .fu-toast-region{right:14px;bottom:14px}
}
@media(max-width:1100px){
  .modal{overflow-y:auto;overscroll-behavior:contain}
  .modal>.modalbox{max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);margin:12px auto;overflow-y:auto;overscroll-behavior:contain}
  .mobile-nav-toggle{display:inline-flex!important}
  .mobile-nav-layer{position:fixed;inset:0;z-index:250}
  .mobile-nav-layer.open{display:block}
  .mobile-nav-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.56)}
  .mobile-nav-panel{position:absolute;top:0;right:0;width:min(340px,calc(100vw - 34px));height:100%;overflow-y:auto;background:#fff;border-left:1px solid #e2e2e2;box-shadow:-20px 0 55px rgba(0,0,0,.2);padding:20px}
  .mobile-nav-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:15px;border-bottom:1px solid #ececec}
  .mobile-nav-head h2{margin:0;font-size:24px}
  .mobile-nav-head button{width:42px;height:42px;border:1px solid #ddd;border-radius:50%;background:#fff;font-size:25px;line-height:1}
  .mobile-nav-links{display:grid;gap:9px;padding-top:16px}
  .mobile-nav-links a,.mobile-nav-links button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:50px;padding:12px 14px;border:1px solid #e5e5e5;border-radius:12px;background:#fff;color:#181818;text-align:left;font:inherit;font-weight:850}
  .mobile-nav-links [hidden]{display:none!important}
  .mobile-nav-links [aria-current="page"]{border-color:#ff6b00;background:#fff4eb;color:#a64800}
  .mobile-nav-links [aria-current="page"]:after{content:"Current";font-size:10px;letter-spacing:.06em;text-transform:uppercase}
}
@media(max-width:600px){
  .container.nav{width:calc(100% - 20px);gap:8px}
  .network-pill{display:none!important}
  .header-actions>:not(.mobile-nav-toggle){display:none!important}
  .brand-v12{font-size:18px!important}
}
@media(prefers-reduced-motion:reduce){.fu-processing:after{animation-duration:1.5s}}
