:root{--usl-primary:#6366f1;--usl-success:#22c55e;--usl-warning:#f59e0b;--usl-danger:#ef4444;--usl-bg:#f8fafc;--usl-card:#fff;--usl-border:#e2e8f0;--usl-text:#1e293b;--usl-muted:#64748b;--usl-radius:14px;--usl-shadow:0 4px 24px rgba(99,102,241,.08)}
.usl-dashboard{font-family:'Inter',system-ui,sans-serif;color:var(--usl-text);max-width:680px;margin:0 auto;padding:0 0 40px}
.usl-lock-banner{background:linear-gradient(135deg,#fef2f2,#fee2e2);border:1.5px solid #fca5a5;border-radius:var(--usl-radius);padding:16px 20px;margin-bottom:24px;display:flex;align-items:center;gap:12px}
.usl-lock-banner .usl-lock-icon{font-size:24px;flex-shrink:0}
.usl-lock-banner h4{margin:0 0 4px;color:#b91c1c;font-size:15px;font-weight:700}
.usl-lock-banner p{margin:0;color:#dc2626;font-size:13px}
.usl-pending-notice{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1.5px solid #93c5fd;border-radius:var(--usl-radius);padding:14px 18px;margin-bottom:20px;display:flex;align-items:center;gap:10px;color:#1d4ed8;font-size:13px}
.usl-caps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:28px}
@media(max-width:600px){.usl-caps-grid{grid-template-columns:1fr}}
.usl-cap-card{background:var(--usl-card);border:1.5px solid var(--usl-border);border-radius:var(--usl-radius);padding:18px;box-shadow:var(--usl-shadow);transition:transform .2s}
.usl-cap-card:hover{transform:translateY(-2px)}
.usl-cap-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.usl-cap-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--usl-muted)}
.usl-cap-badge{font-size:11px;font-weight:600;padding:2px 8px;border-radius:20px;background:#f1f5f9;color:var(--usl-muted)}
.usl-cap-badge.safe{background:#dcfce7;color:#16a34a}
.usl-cap-badge.warn{background:#fef9c3;color:#a16207}
.usl-cap-badge.danger{background:#fee2e2;color:#b91c1c}
.usl-progress-wrap{margin-bottom:10px}
.usl-progress-bar{height:8px;background:#f1f5f9;border-radius:99px;overflow:hidden}
.usl-progress-fill{height:100%;border-radius:99px;transition:width .6s ease;background:var(--usl-success)}
.usl-progress-fill.warn{background:var(--usl-warning)}
.usl-progress-fill.danger{background:var(--usl-danger)}
.usl-cap-amounts{display:flex;justify-content:space-between;font-size:12px;color:var(--usl-muted);margin-top:4px}
.usl-cap-spent{font-weight:700;color:var(--usl-text);font-size:15px;margin-bottom:2px}
.usl-form-section{background:var(--usl-card);border:1.5px solid var(--usl-border);border-radius:var(--usl-radius);padding:24px;box-shadow:var(--usl-shadow)}
.usl-form-section h3{margin:0 0 6px;font-size:17px;font-weight:700;color:var(--usl-text)}
.usl-form-section p.usl-form-desc{margin:0 0 20px;font-size:13px;color:var(--usl-muted)}
.usl-field-group{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px}
@media(max-width:600px){.usl-field-group{grid-template-columns:1fr}}
.usl-field label{display:block;font-size:12px;font-weight:600;color:var(--usl-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}
.usl-field input[type=number]{width:100%;box-sizing:border-box;padding:10px 12px;border:1.5px solid var(--usl-border);border-radius:10px;font-size:14px;color:var(--usl-text);background:#fff;transition:border-color .2s,box-shadow .2s;outline:none}
.usl-field input[type=number]:focus{border-color:var(--usl-primary);box-shadow:0 0 0 3px rgba(99,102,241,.12)}
.usl-field input[type=number]:disabled{background:#f8fafc;cursor:not-allowed;opacity:.6}
.usl-hint{font-size:11px;color:var(--usl-muted);margin-top:5px}
.usl-btn{display:inline-flex;align-items:center;gap:8px;padding:11px 24px;background:linear-gradient(135deg,var(--usl-primary),#818cf8);color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:opacity .2s,transform .2s}
.usl-btn:hover{opacity:.9;transform:translateY(-1px)}
.usl-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}
.usl-response{margin-top:14px;padding:12px 16px;border-radius:10px;font-size:13px;font-weight:500;display:none}
.usl-response.success{background:#dcfce7;color:#15803d;border:1px solid #86efac}
.usl-response.error{background:#fee2e2;color:#b91c1c;border:1px solid #fca5a5}
.usl-response.info{background:#eff6ff;color:#1d4ed8;border:1px solid #93c5fd}

/* ── Cart / Checkout limit banner ── */
.usl-cart-banner{display:flex;align-items:flex-start;gap:14px;background:linear-gradient(135deg,#fff1f2,#ffe4e6);border:2px solid #fca5a5;border-radius:14px;padding:18px 20px;margin-bottom:20px;animation:usl-banner-in .3s ease;box-shadow:0 4px 20px rgba(239,68,68,.12)}
@keyframes usl-banner-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
.usl-cart-banner-icon{font-size:26px;flex-shrink:0;line-height:1;margin-top:1px}
.usl-cart-banner-body{display:flex;flex-direction:column;gap:4px}
.usl-cart-banner-body strong{font-size:15px;font-weight:800;color:#b91c1c;font-family:'Inter',system-ui,sans-serif}
.usl-cart-banner-body span{font-size:13px;color:#dc2626;line-height:1.5;font-family:'Inter',system-ui,sans-serif}
/* Disabled checkout/order buttons */
a.checkout-button.usl-btn-disabled,
button#place_order.usl-btn-disabled{opacity:.45!important;cursor:not-allowed!important;pointer-events:none!important;filter:grayscale(.4)}
@keyframes usl-fspin{to{transform:rotate(360deg)}}

