/* ══════════════════════════════════════════════
   J&R RENTALS — SHARED STYLES (main.css)
   Used by both public site and admin dashboard
══════════════════════════════════════════════ */

*{box-sizing:border-box;margin:0;padding:0;}
:root{
  --dark:#1a1a1a;--dark2:#242424;--dark3:#2e2e2e;--dark4:#383838;
  --gold:#e8a020;--gold2:#f5c060;--gold-dim:rgba(232,160,32,0.15);
  --gold-glow:rgba(232,160,32,0.35);
  --white:#fff;--muted:#a0a0a0;--border:rgba(255,255,255,0.1);
  --green:#6fcf97;--green-bg:rgba(45,110,78,0.2);
  --red:#f87171;--red-bg:rgba(248,113,113,0.15);
  --blue:#60a5fa;--blue-bg:rgba(96,165,250,0.15);
  --orange:#fb923c;
}
body{font-family:'DM Sans',sans-serif;background:var(--dark);color:#fff;font-size:14px;}

/* ── BUTTONS ── */
.btn-gold{background:var(--gold);color:#111;border:none;font-family:'DM Sans',sans-serif;font-weight:600;font-size:13px;padding:10px 22px;border-radius:7px;cursor:pointer;transition:all .15s;}
.btn-gold:hover{background:var(--gold2);}
.btn-outline{background:none;color:#fff;border:1px solid rgba(255,255,255,0.25);font-family:'DM Sans',sans-serif;font-weight:500;font-size:13px;padding:10px 22px;border-radius:7px;cursor:pointer;transition:all .15s;}
.btn-outline:hover{border-color:var(--gold);color:var(--gold);}
.btn-hero-primary{background:linear-gradient(135deg,#e8a020,#d4901a);color:#111;border:none;font-family:'DM Sans',sans-serif;font-weight:700;font-size:14px;padding:13px 28px;border-radius:10px;cursor:pointer;transition:all .2s;box-shadow:0 4px 20px rgba(232,160,32,0.3);display:flex;align-items:center;gap:7px;}
.btn-hero-primary:hover{transform:translateY(-2px);box-shadow:0 6px 28px rgba(232,160,32,0.45);}
.btn-hero-secondary{background:rgba(255,255,255,0.06);color:#fff;border:1px solid rgba(255,255,255,0.15);font-family:'DM Sans',sans-serif;font-weight:600;font-size:14px;padding:13px 24px;border-radius:10px;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:7px;}
.btn-hero-secondary:hover{border-color:var(--gold);color:var(--gold);background:rgba(232,160,32,0.06);}

/* ── SECTION TITLES ── */
.sec-title{font-family:'Bebas Neue',sans-serif;font-size:1.5rem;letter-spacing:.06em;color:#fff;}
.sec-title em{color:var(--gold);font-style:normal;}
.sec-sub{font-size:12px;color:var(--muted);margin-top:2px;margin-bottom:1.25rem;}
.section{padding:1.75rem 1.25rem;}

/* ── BADGES ── */
.badge{display:inline-block;font-size:10px;padding:2px 8px;border-radius:20px;}
.badge-green{background:var(--green-bg);color:var(--green);}
.badge-amber{background:var(--gold-dim);color:var(--gold);}
.badge-red{background:var(--red-bg);color:var(--red);}

/* ── STATUS ── */
.status{font-size:10px;padding:3px 9px;border-radius:20px;font-weight:500;white-space:nowrap;}
.status-pending{background:var(--gold-dim);color:var(--gold);}
.status-confirmed{background:var(--green-bg);color:var(--green);}
.status-completed{background:var(--blue-bg);color:var(--blue);}
.status-signed{background:var(--green-bg);color:var(--green);}
.status-awaiting,.status-awaiting-signature{background:var(--gold-dim);color:var(--gold);}
.status-cancelled{background:var(--red-bg);color:var(--red);}
.status-paid{background:rgba(192,132,252,0.15);color:#c084fc;}
.status-out{background:rgba(251,146,60,0.15);color:#fb923c;}
.status-out-rented{background:rgba(251,146,60,0.15);color:#fb923c;}
.status-returned{background:var(--green-bg);color:var(--green);}

/* ── LOADING + SPINNER ── */
.loading{display:flex;align-items:center;justify-content:center;padding:2rem;color:var(--muted);gap:8px;font-size:13px;}
.spinner{width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--gold);border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0;}
@keyframes spin{to{transform:rotate(360deg);}}

/* ── TOAST ── */
.toast{position:fixed;bottom:1.5rem;right:1rem;left:1rem;max-width:360px;margin:0 auto;background:var(--dark2);border:1px solid var(--border);border-radius:10px;padding:12px 16px;font-size:13px;z-index:9999;transform:translateY(100px);opacity:0;transition:all .3s;text-align:center;}
.toast.show{transform:translateY(0);opacity:1;}
.toast.success{border-color:var(--green);color:var(--green);}
.toast.error{border-color:var(--red);color:var(--red);}

/* ── MODAL ── */
.modal-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.85);z-index:999;align-items:center;justify-content:center;padding:1rem;}
.modal-overlay.open{display:flex;}
.modal-box{background:var(--dark2);border:1px solid var(--border);border-radius:16px;padding:2rem 1.5rem;max-width:360px;width:100%;text-align:center;}
.modal-icon{font-size:2.5rem;margin-bottom:.75rem;}
.modal-box h3{font-family:'Bebas Neue',sans-serif;font-size:1.2rem;letter-spacing:.05em;margin-bottom:.5rem;}
.modal-box p{font-size:13px;color:var(--muted);line-height:1.6;margin-bottom:1.25rem;}
.modal-close{background:var(--gold);color:#111;border:none;font-family:'DM Sans',sans-serif;font-size:14px;font-weight:600;padding:11px 28px;border-radius:7px;cursor:pointer;}

/* ── ITEM MODAL ── */
.item-modal{background:var(--dark2);border:1px solid var(--border);border-radius:16px;padding:1.5rem;max-width:480px;width:100%;max-height:92vh;overflow-y:auto;}
.item-modal-title{font-family:'Bebas Neue',sans-serif;font-size:1.25rem;letter-spacing:.06em;margin-bottom:1.25rem;display:flex;align-items:center;justify-content:space-between;}
.item-modal-title em{color:var(--gold);font-style:normal;}
.modal-x{background:none;border:none;color:var(--muted);font-size:20px;cursor:pointer;padding:0 4px;}
.modal-btns{display:flex;gap:8px;margin-top:1rem;}
.btn-cancel{flex:1;background:none;border:1px solid var(--border);color:var(--muted);font-family:'DM Sans',sans-serif;font-size:13px;font-weight:500;padding:11px;border-radius:8px;cursor:pointer;}
.btn-save{flex:2;background:var(--gold);color:#111;border:none;font-family:'DM Sans',sans-serif;font-size:13px;font-weight:700;padding:11px;border-radius:8px;cursor:pointer;}
.btn-save:disabled{background:var(--dark4);color:var(--muted);cursor:not-allowed;}

/* ── FORMS ── */
.form-card{background:var(--dark2);border:1px solid var(--border);border-radius:14px;padding:1.5rem;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;}
.form-full{grid-column:1/-1;}
.fg{display:flex;flex-direction:column;gap:5px;}
.fg label{font-size:10px;font-weight:600;color:var(--muted);letter-spacing:.08em;}
.fg input,.fg select,.fg textarea{background:var(--dark3);border:1px solid var(--border);border-radius:7px;padding:10px 11px;font-family:'DM Sans',sans-serif;font-size:14px;color:#fff;outline:none;transition:border .15s;-webkit-appearance:none;}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--gold);}
.fg select option{background:var(--dark3);}
.fg textarea{resize:vertical;min-height:80px;}
.item-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:1rem;}
.if-full{grid-column:1/-1;}
.ifg{display:flex;flex-direction:column;gap:5px;}
.ifg label{font-size:10px;font-weight:600;color:var(--muted);letter-spacing:.08em;}
.ifg input,.ifg select,.ifg textarea{background:var(--dark3);border:1px solid var(--border);border-radius:7px;padding:9px 11px;font-family:'DM Sans',sans-serif;font-size:13px;color:#fff;outline:none;transition:border .15s;width:100%;}
.ifg input:focus,.ifg select:focus,.ifg textarea:focus{border-color:var(--gold);}
.ifg select option{background:var(--dark3);}
.ifg textarea{resize:vertical;min-height:70px;}

/* ── CONSENT ── */
.consent-wrap{background:var(--dark3);border:1.5px solid rgba(232,160,32,0.3);border-radius:10px;padding:12px 14px;margin:14px 0;}
.consent-row{display:flex;align-items:flex-start;gap:10px;}
.consent-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--gold);flex-shrink:0;margin-top:3px;cursor:pointer;}
.consent-row label{font-size:12px;color:var(--muted);line-height:1.6;cursor:pointer;}
.consent-row label a{color:var(--gold);text-decoration:underline;cursor:pointer;}

/* ── FILTER TABS ── */
.bk-filter{background:var(--dark3);border:1px solid var(--border);color:var(--muted);font-family:'DM Sans',sans-serif;font-size:11px;font-weight:600;padding:5px 12px;border-radius:20px;cursor:pointer;transition:all .15s;}
.bk-filter:hover{border-color:var(--gold);color:var(--gold);}
.bk-filter.active{background:var(--gold-dim);border-color:var(--gold);color:var(--gold);}

/* ── CONFIRM MODAL ── */
.confirm-modal{background:var(--dark2);border:1px solid var(--red-bg);border-radius:16px;padding:1.75rem;max-width:360px;width:100%;text-align:center;}
.confirm-btns{display:flex;gap:8px;margin-top:1.25rem;}
.btn-no{flex:1;background:none;border:1px solid var(--border);color:var(--muted);font-family:'DM Sans',sans-serif;font-size:13px;padding:10px;border-radius:8px;cursor:pointer;}
.btn-yes-del{flex:1;background:var(--red-bg);color:var(--red);border:1px solid rgba(248,113,113,0.3);font-family:'DM Sans',sans-serif;font-size:13px;font-weight:600;padding:10px;border-radius:8px;cursor:pointer;}

/* ── TABLES ── */
.tbl-wrap{background:var(--dark2);border:1px solid var(--border);border-radius:12px;overflow-x:auto;-webkit-overflow-scrolling:touch;}
.data-table{width:100%;border-collapse:collapse;font-size:12px;min-width:500px;}
.data-table th{text-align:left;font-size:10px;font-weight:600;letter-spacing:.08em;color:var(--muted);padding:10px 12px;border-bottom:1px solid var(--border);white-space:nowrap;}
.data-table td{padding:10px 12px;border-bottom:1px solid rgba(255,255,255,0.05);color:#fff;vertical-align:middle;}
.data-table tr:last-child td{border-bottom:none;}
.data-table tr:hover td{background:rgba(255,255,255,0.02);}

/* ── SMALL BUTTONS ── */
.btn-sm{flex:1;border:none;font-family:'DM Sans',sans-serif;font-size:11px;font-weight:600;padding:7px;border-radius:6px;cursor:pointer;touch-action:manipulation;}
.btn-edit{background:var(--blue-bg);color:var(--blue);}
.btn-confirm{background:var(--green-bg);color:var(--green);}
.btn-del{background:var(--red-bg);color:var(--red);}
.btn-add{background:var(--gold);color:#111;border:none;font-family:'DM Sans',sans-serif;font-size:13px;font-weight:600;padding:9px 20px;border-radius:8px;cursor:pointer;margin-bottom:1rem;display:inline-flex;align-items:center;gap:6px;}

/* ── PRICE TYPE TOGGLE ── */
.price-type-toggle{display:flex;gap:6px;margin-top:4px;}
.ptt-btn{flex:1;background:var(--dark3);border:1px solid var(--border);color:var(--muted);font-family:'DM Sans',sans-serif;font-size:12px;padding:7px;border-radius:7px;cursor:pointer;transition:all .15s;}
.ptt-btn.active{background:var(--gold-dim);border-color:var(--gold);color:var(--gold);}

/* ── IMAGE UPLOAD ── */
.img-upload-area{border:2px dashed var(--border);border-radius:10px;padding:1rem;text-align:center;cursor:pointer;transition:border .15s;background:var(--dark3);}
.img-upload-area:hover{border-color:var(--gold);}
.img-upload-area.has-img{border-style:solid;border-color:var(--gold);}
.img-preview{width:100%;height:120px;object-fit:cover;border-radius:6px;margin-bottom:.5rem;}
.img-upload-hint{font-size:11px;color:var(--muted);}
.img-upload-hint strong{color:var(--gold);}
.url-input-row{margin-top:8px;}
.url-input-row input{width:100%;background:var(--dark3);border:1px solid var(--border);border-radius:7px;padding:8px 10px;font-family:'DM Sans',sans-serif;font-size:12px;color:#fff;outline:none;}
.url-input-row input:focus{border-color:var(--gold);}
.file-input{display:none;}

/* ── LOGIN ── */
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:var(--dark);}
.login-card{background:var(--dark2);border:1px solid var(--border);border-radius:18px;padding:2rem 1.5rem;width:100%;max-width:380px;}
.login-logo-ring{width:70px;height:70px;border-radius:50%;background:#fff;border:3px solid var(--gold);margin:0 auto 1rem;overflow:hidden;display:flex;align-items:center;justify-content:center;}
.login-logo-ring img{width:100%;height:100%;object-fit:cover;}
.login-logo-fallback{font-family:'Bebas Neue',sans-serif;font-size:22px;color:#111;}
.login-title{font-family:'Bebas Neue',sans-serif;font-size:1.4rem;letter-spacing:.06em;text-align:center;}
.login-title em{color:var(--gold);font-style:normal;}
.login-sub{font-size:11px;color:var(--muted);text-align:center;margin-top:4px;margin-bottom:2rem;}
.login-fg{display:flex;flex-direction:column;gap:5px;margin-bottom:14px;}
.login-fg label{font-size:10px;font-weight:600;color:var(--muted);letter-spacing:.08em;}
.login-fg input{background:var(--dark3);border:1px solid var(--border);border-radius:8px;padding:12px;font-family:'DM Sans',sans-serif;font-size:16px;color:#fff;outline:none;width:100%;}
.login-fg input:focus{border-color:var(--gold);}
.login-err{font-size:12px;color:var(--red);margin-bottom:10px;display:none;text-align:center;}
.btn-login{width:100%;background:var(--gold);color:#111;border:none;font-family:'DM Sans',sans-serif;font-size:15px;font-weight:700;padding:13px;border-radius:8px;cursor:pointer;margin-top:6px;}
.btn-login:hover{background:var(--gold2);}
