/* ═══════════════════════════════════════
   SublimoPress — style.css v3 (Mobile-First)
═══════════════════════════════════════ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}
body{font-family:'Outfit',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif;background:#0a1628;color:#e2e8f0;min-height:100vh;overflow-x:hidden;line-height:1.5}
button{font-family:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}
input,select,textarea{font-family:inherit}
::-webkit-scrollbar{width:4px;height:4px}
::-webkit-scrollbar-thumb{background:rgba(255,255,255,.1);border-radius:99px}

/* ─── VARIABLES ─── */
:root{
  --bg:#0a1628;--bg2:#0f1e38;--card:#152240;--card2:#1a2b4a;
  --border:rgba(255,255,255,.07);--border2:rgba(255,255,255,.13);
  --text:#e2e8f0;--text2:#94a3b8;--text3:#4b5e7a;
  --accent:#3b82f6;--accent2:#60a5fa;
  --gold:#f59e0b;--green:#10b981;--red:#ef4444;
  --r:12px;--r2:8px;--r3:6px;
  --sh:0 8px 32px rgba(0,0,0,.45);
  --t:all .2s cubic-bezier(.4,0,.2,1);
  --safe-bottom: env(safe-area-inset-bottom, 0px);
}

/* ─── LOGIN ─── */
@keyframes loginIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
.login-box{
  background:var(--card);border:1px solid var(--border2);
  border-radius:20px;padding:36px 28px;width:100%;max-width:400px;
  box-shadow:0 32px 80px rgba(0,0,0,.6);animation:loginIn .4s cubic-bezier(.34,1.3,.64,1);
}
.login-logo{text-align:center;margin-bottom:24px}
.login-logo img{width:72px;height:72px;border-radius:14px;object-fit:contain;background:var(--card2);padding:8px}
.login-app-name{font-size:20px;font-weight:900;color:var(--text);margin-top:8px}
.login-sub{font-size:11px;color:var(--text3);text-transform:uppercase;letter-spacing:2px;margin-top:3px}
.login-title{font-size:15px;font-weight:700;margin-bottom:18px;color:var(--text2)}
.login-group{margin-bottom:13px}
.login-group label{font-size:11px;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:.8px;display:block;margin-bottom:5px}
.login-group input{width:100%;background:var(--card2);border:1px solid var(--border2);border-radius:var(--r2);color:var(--text);padding:12px 14px;font-size:15px;outline:none;transition:var(--t)}
.login-group input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(59,130,246,.12)}
.login-error{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.25);border-radius:var(--r2);padding:10px 14px;font-size:13px;color:#f87171;margin-bottom:14px;display:none}
.login-btn{width:100%;padding:13px;border:none;border-radius:var(--r2);background:linear-gradient(135deg,var(--accent),#1d4ed8);color:#fff;font-size:15px;font-weight:700;cursor:pointer;transition:var(--t);margin-top:4px}
.login-btn:active{opacity:.9;transform:scale(.98)}
.login-creds{margin-top:16px;padding:12px 14px;background:rgba(16,185,129,.08);border:1px solid rgba(16,185,129,.2);border-radius:var(--r2);font-size:12px;color:#6ee7b7}

/* ─── APP LAYOUT ─── */
#app{display:none}
#app.visible{display:flex;min-height:100vh}

/* ─── SIDEBAR ─── */
.sidebar{
  width:245px;min-width:245px;background:var(--bg2);
  border-right:1px solid var(--border);display:flex;flex-direction:column;
  position:fixed;top:0;left:0;bottom:0;z-index:200;
  transition:transform .28s cubic-bezier(.4,0,.2,1);
  overflow-y:auto;overflow-x:hidden;
  -webkit-overflow-scrolling:touch;
}
.sb-brand{padding:18px 14px 14px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px;flex-shrink:0}
.sb-icon{width:34px;height:34px;border-radius:8px;overflow:hidden;flex-shrink:0;background:var(--card2);display:flex;align-items:center;justify-content:center}
.sb-icon img{width:34px;height:34px;object-fit:contain}
.sb-name{font-size:15px;font-weight:900;color:var(--text);letter-spacing:-.3px}
.sb-sub{font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:1.5px;margin-top:1px}
.nav-block{padding:10px 8px 4px}
.nav-sec-lbl{font-size:10px;font-weight:800;color:var(--text3);text-transform:uppercase;letter-spacing:1.8px;padding:0 8px 6px;display:block}
.nav-item{
  display:flex;align-items:center;gap:9px;padding:10px 10px;
  border-radius:var(--r2);font-size:13.5px;font-weight:500;color:var(--text2);
  cursor:pointer;transition:var(--t);margin-bottom:2px;border:1px solid transparent;
  min-height:44px;/* touch target */
}
.nav-item:hover{background:var(--card);color:var(--text)}
.nav-item.active{background:linear-gradient(135deg,rgba(59,130,246,.18),rgba(245,158,11,.06));color:var(--accent2);border-color:rgba(59,130,246,.2);font-weight:600}
.nav-item .ni{width:20px;text-align:center;font-size:16px;flex-shrink:0}
.nav-badge{margin-left:auto;background:var(--accent);color:#fff;font-size:10px;font-weight:800;padding:2px 7px;border-radius:99px;min-width:20px;text-align:center}
.ps-switcher{margin-top:auto;padding:10px 8px;border-top:1px solid var(--border);flex-shrink:0}
.ps-lbl{font-size:10px;font-weight:800;color:var(--text3);text-transform:uppercase;letter-spacing:1.8px;padding:0 8px 8px;display:block}
.ps-btn{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:var(--r2);font-size:13px;font-weight:500;color:var(--text2);cursor:pointer;transition:var(--t);margin-bottom:3px;border:1px solid transparent;min-height:40px}
.ps-btn:hover{background:var(--card);color:var(--text)}
.ps-btn.active{background:var(--card2);border-color:var(--border2);color:var(--text)}
.ps-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}
#pwa-bar{background:linear-gradient(135deg,rgba(59,130,246,.15),rgba(245,158,11,.1));border-top:1px solid rgba(59,130,246,.2);padding:10px 12px;display:none;align-items:center;gap:8px;flex-shrink:0}
#pwa-bar.show{display:flex}
.pwa-text{font-size:11.5px;color:var(--text2);flex:1;line-height:1.3}
.pwa-btn{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:6px 10px;font-size:12px;font-weight:700;cursor:pointer;flex-shrink:0}

/* ─── MAIN / TOPBAR ─── */
.main{margin-left:245px;flex:1;display:flex;flex-direction:column;min-height:100vh;min-width:0}
.topbar{
  background:var(--bg2);border-bottom:1px solid var(--border);
  padding:0 18px;height:56px;
  display:flex;align-items:center;justify-content:space-between;
  position:sticky;top:0;z-index:100;gap:8px;
}
.topbar-left{display:flex;align-items:center;gap:10px;min-width:0}
.hamburger{display:none;background:none;border:none;color:var(--text);font-size:22px;padding:6px;flex-shrink:0;min-height:44px;min-width:44px;align-items:center;justify-content:center}
.page-title{font-size:16px;font-weight:800;color:var(--text);letter-spacing:-.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.topbar-right{display:flex;align-items:center;gap:6px;flex-shrink:0}
.tb-btn{display:flex;align-items:center;gap:5px;background:var(--card2);border:1px solid var(--border2);color:var(--text);border-radius:var(--r2);padding:7px 12px;font-size:13px;font-weight:600;transition:var(--t);min-height:38px;cursor:pointer}
.tb-btn:hover{border-color:var(--accent)}
.tb-btn.primary{background:linear-gradient(135deg,var(--accent),#1d4ed8);border-color:transparent;color:#fff}
.tb-btn.primary:active{opacity:.9;transform:scale(.98)}
.user-pill{display:flex;align-items:center;gap:7px;background:var(--card2);border:1px solid var(--border2);border-radius:99px;padding:4px 10px 4px 4px;cursor:pointer;transition:var(--t);min-height:38px}
.user-avatar{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--gold));display:flex;align-items:center;justify-content:center;font-weight:800;font-size:12px;flex-shrink:0;overflow:hidden}
.user-avatar img{width:100%;height:100%;object-fit:cover}
.user-name{font-size:12.5px;font-weight:600;color:var(--text2);max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.content{padding:16px;flex:1}

/* ─── SECTIONS ─── */
.section{display:none;animation:fadeUp .25s ease}
.section.active{display:block}
@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* ─── CARDS ─── */
.card{background:var(--card);border:1px solid var(--border);border-radius:var(--r);padding:16px}
.card-hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;flex-wrap:wrap;gap:8px}
.card-title{font-size:14px;font-weight:700;color:var(--text)}
.card-link{font-size:12px;color:var(--accent2);cursor:pointer;font-weight:600}
.card-link:hover{text-decoration:underline}

/* ─── STATS ─── */
.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:16px}
.stat-card{background:var(--card);border:1px solid var(--border);border-radius:var(--r);padding:14px 16px;position:relative;overflow:hidden;cursor:pointer;transition:var(--t)}
.stat-card:hover{transform:translateY(-2px);box-shadow:var(--sh);border-color:var(--border2)}
.stat-card::after{content:'';position:absolute;right:-16px;top:-16px;width:64px;height:64px;border-radius:50%;background:var(--c,var(--accent));opacity:.1}
.stat-ico{font-size:18px;margin-bottom:6px;display:block}
.stat-val{font-size:22px;font-weight:900;color:var(--text);line-height:1}
.stat-lbl{font-size:11.5px;color:var(--text2);margin-top:3px}
.stat-delta{font-size:11px;margin-top:4px;font-weight:600}
.stat-delta.up{color:var(--green)}
.stat-delta.neutral{color:var(--text3)}
.dash-grid{display:grid;grid-template-columns:1fr;gap:14px}
.prog-item{margin-bottom:10px}
.prog-hd{display:flex;justify-content:space-between;font-size:12px;color:var(--text2);margin-bottom:5px}
.prog-bar{height:6px;background:var(--card2);border-radius:99px;overflow:hidden}
.prog-fill{height:100%;border-radius:99px;transition:width .5s ease}

/* ─── TABLES ─── */
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--r2)}
table{width:100%;border-collapse:collapse;font-size:13px;min-width:600px}
th{padding:9px 11px;text-align:left;font-size:10px;font-weight:800;color:var(--text3);text-transform:uppercase;letter-spacing:1px;border-bottom:1px solid var(--border);white-space:nowrap}
td{padding:10px 11px;border-bottom:1px solid var(--border);vertical-align:middle}
tr:last-child td{border-bottom:none}
tbody tr{transition:var(--t)}
tbody tr:hover td{background:rgba(255,255,255,.02)}
.td-bold{font-weight:700;color:var(--text)}
.td-muted{color:var(--text2);font-size:11.5px}

/* ─── MOBILE CARDS (tables → cards on small screens) ─── */
@media(max-width:600px){
  table{min-width:unset}
  thead{display:none}
  table,tbody,tr,td{display:block;width:100%}
  tr{background:var(--card2);border-radius:var(--r2);margin-bottom:8px;padding:10px 12px;border:1px solid var(--border)}
  tr:last-child{margin-bottom:0}
  td{padding:4px 0;border:none;display:flex;align-items:flex-start;gap:8px;font-size:13px}
  td::before{content:attr(data-label);font-size:10px;font-weight:800;color:var(--text3);text-transform:uppercase;letter-spacing:.8px;flex-shrink:0;width:90px;padding-top:2px}
  td:empty{display:none}
  td[data-label="Actions"]{flex-wrap:wrap;margin-top:6px;padding-top:8px;border-top:1px solid var(--border)}
  td[data-label="Actions"]::before{display:none}
  .table-wrap{overflow:visible}
}

/* ─── BADGES ─── */
.badge{display:inline-flex;align-items:center;padding:2px 9px;border-radius:99px;font-size:11px;font-weight:700;letter-spacing:.3px;white-space:nowrap}
.b-green{background:rgba(16,185,129,.14);color:#34d399}
.b-blue{background:rgba(59,130,246,.14);color:#60a5fa}
.b-yellow{background:rgba(245,158,11,.14);color:#fbbf24}
.b-red{background:rgba(239,68,68,.14);color:#f87171}
.b-purple{background:rgba(139,92,246,.14);color:#c084fc}
.b-gray{background:rgba(100,116,139,.14);color:#94a3b8}
.b-lmm{background:rgba(45,58,140,.22);color:#818cf8}
.b-imperial{background:rgba(212,175,55,.18);color:#fbbf24}
.b-sublimo{background:rgba(14,116,144,.18);color:#38bdf8}
.b-professo{background:rgba(139,92,246,.18);color:#c084fc}

/* ─── BUTTONS ─── */
.btn{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border-radius:var(--r2);font-size:13px;font-weight:600;border:none;transition:var(--t);white-space:nowrap;cursor:pointer;min-height:38px}
.btn-primary{background:linear-gradient(135deg,var(--accent),#1d4ed8);color:#fff}
.btn-primary:hover{opacity:.9;box-shadow:0 4px 14px rgba(59,130,246,.35)}
.btn-primary:active{transform:scale(.97)}
.btn-success{background:linear-gradient(135deg,var(--green),#059669);color:#fff}
.btn-success:active{transform:scale(.97)}
.btn-gold{background:linear-gradient(135deg,var(--gold),#d97706);color:#fff}
.btn-ghost{background:var(--card2);border:1px solid var(--border2);color:var(--text)}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent2)}
.btn-danger{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.22);color:var(--red)}
.btn-danger:hover{background:rgba(239,68,68,.2)}
.btn-sm{padding:6px 12px;font-size:12.5px}
.btn-xs{padding:5px 10px;font-size:12px;min-height:32px}
.btn:disabled{opacity:.5;cursor:not-allowed}

/* ─── FORMS ─── */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form-group{display:flex;flex-direction:column}
.form-group.span2{grid-column:span 2}
.flbl{font-size:11px;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:.8px;margin-bottom:5px}
.finp{background:var(--card2);border:1px solid var(--border2);border-radius:var(--r2);color:var(--text);padding:10px 12px;font-size:14px;outline:none;transition:var(--t);width:100%}
.finp:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(59,130,246,.1)}
textarea.finp{resize:vertical;min-height:72px}
select.finp{cursor:pointer}

/* ─── ACTIONS BAR ─── */
.actions-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;flex-wrap:wrap}
.actions-r{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.search-wrap{position:relative;flex:1;min-width:180px}
.search-ico{position:absolute;left:10px;top:50%;transform:translateY(-50%);font-size:14px;pointer-events:none}
.search-wrap input{width:100%;background:var(--card);border:1px solid var(--border2);border-radius:var(--r2);color:var(--text);padding:9px 12px 9px 32px;font-size:13.5px;outline:none;transition:var(--t);min-height:40px}
.search-wrap input:focus{border-color:var(--accent)}

/* ─── MODALS ─── */
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:500;display:none;align-items:flex-end;justify-content:center;backdrop-filter:blur(4px)}
.overlay.open{display:flex;animation:fadeIn .15s ease}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.modal{
  background:var(--card);border:1px solid var(--border2);
  border-radius:16px 16px 0 0;width:100%;max-width:100%;
  box-shadow:0 -8px 40px rgba(0,0,0,.5);
  animation:slideUp .25s cubic-bezier(.34,1.2,.64,1);
  max-height:92vh;display:flex;flex-direction:column;
}
@keyframes slideUp{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}
.modal-hd{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--border);flex-shrink:0}
.modal-title{font-size:15px;font-weight:800;color:var(--text)}
.modal-close{background:none;border:none;color:var(--text3);font-size:20px;cursor:pointer;padding:4px 8px;border-radius:6px;transition:var(--t);min-width:36px;min-height:36px;display:flex;align-items:center;justify-content:center}
.modal-close:hover{background:var(--card2);color:var(--text)}
.modal-body{padding:16px 18px;overflow-y:auto;flex:1;-webkit-overflow-scrolling:touch}
.modal-ft{padding:12px 18px;border-top:1px solid var(--border);display:flex;gap:8px;justify-content:flex-end;flex-shrink:0;flex-wrap:wrap}

/* ─── ORDER ITEMS ─── */
.items-wrap{background:var(--card2);border:1px solid var(--border);border-radius:var(--r2);overflow:hidden;margin-bottom:8px}
.items-hd{display:grid;grid-template-columns:1fr 70px 100px 100px 36px;gap:6px;padding:8px 10px;border-bottom:1px solid var(--border);font-size:10px;font-weight:800;color:var(--text3);text-transform:uppercase;letter-spacing:.8px}
.item-row{display:grid;grid-template-columns:1fr 70px 100px 100px 36px;gap:6px;padding:8px 10px;border-bottom:1px solid var(--border);align-items:center}
.item-row:last-child{border-bottom:none}
.del-row{background:none;border:none;color:var(--text3);font-size:18px;cursor:pointer;border-radius:6px;padding:2px 6px;transition:var(--t);min-height:36px;display:flex;align-items:center;justify-content:center}
.del-row:hover{background:rgba(239,68,68,.1);color:var(--red)}
.totals-box{background:var(--card2);border:1px solid var(--border);border-radius:var(--r2);padding:12px 14px}
.totals-row{display:flex;justify-content:space-between;font-size:13px;color:var(--text2);padding:3px 0}
.totals-row.grand{font-size:16px;font-weight:900;color:var(--text);border-top:1px solid var(--border);margin-top:6px;padding-top:10px}

/* ─── CUSTOM SELECT ─── */
.csel-control{background:var(--card2);border:1px solid var(--border2);border-radius:var(--r2);color:var(--text);padding:10px 34px 10px 12px;font-size:14px;cursor:pointer;transition:var(--t);user-select:none;display:flex;align-items:center;justify-content:space-between;min-height:42px;position:relative}
.csel-control:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(59,130,246,.1)}
.csel-control.open{border-color:var(--accent)}
.csel-value{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.csel-value.placeholder{color:var(--text3)}
.csel-arrow{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:11px;color:var(--text3);pointer-events:none;transition:transform .2s}
.csel-control.open .csel-arrow{transform:translateY(-50%) rotate(180deg)}
.csel-dropdown{position:fixed;background:var(--card);border:1px solid var(--border2);border-radius:var(--r2);box-shadow:0 8px 32px rgba(0,0,0,.5);z-index:9999;overflow:hidden;display:none;flex-direction:column;min-width:160px}
.csel-dropdown.open{display:flex}
.csel-search-wrap{padding:8px;border-bottom:1px solid var(--border)}
.csel-search{width:100%;background:var(--card2);border:1px solid var(--border);border-radius:6px;color:var(--text);padding:8px 10px;font-size:13.5px;outline:none;min-height:38px}
.csel-list{overflow-y:auto;max-height:220px;-webkit-overflow-scrolling:touch}
.csel-opt{padding:10px 12px;font-size:13.5px;color:var(--text2);cursor:pointer;transition:background .1s;white-space:nowrap;min-height:42px;display:flex;align-items:center}
.csel-opt:hover,.csel-opt.focused{background:var(--card2);color:var(--text)}
.csel-opt.selected{color:var(--accent2);font-weight:600}
.csel-group-lbl{padding:6px 12px 4px;font-size:10px;font-weight:800;color:var(--text3);text-transform:uppercase;letter-spacing:1.2px;background:var(--card)}
.csel-empty{padding:14px;font-size:13px;color:var(--text3);text-align:center}

/* ─── USER MENU ─── */
.user-menu{position:fixed;top:60px;right:12px;background:var(--card);border:1px solid var(--border2);border-radius:var(--r);box-shadow:var(--sh);width:240px;z-index:400;display:none;animation:dropIn .15s ease}
.user-menu.open{display:block}
@keyframes dropIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.um-header{padding:14px;border-bottom:1px solid var(--border);display:flex;gap:10px;align-items:center}
.um-avatar{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;flex-shrink:0;overflow:hidden}
.um-avatar img{width:100%;height:100%;object-fit:cover}
.um-fullname{font-size:13px;font-weight:700;color:var(--text)}
.um-role,.um-email{font-size:11px;color:var(--text3);margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:150px}
.um-item{display:flex;align-items:center;gap:9px;padding:11px 14px;font-size:13.5px;color:var(--text2);cursor:pointer;transition:var(--t);min-height:44px}
.um-item:hover{background:var(--card2);color:var(--text)}
.um-item.danger{color:var(--red)}
.um-item.danger:hover{background:rgba(239,68,68,.08)}
.um-item-ico{font-size:16px}
.um-sep{height:1px;background:var(--border);margin:2px 0}

/* ─── NOTIFICATIONS ─── */
.notif-dot{width:8px;height:8px;border-radius:50%;background:var(--red);position:absolute;top:4px;right:4px;display:none;border:2px solid var(--bg2)}
.notif-dot.show{display:block}
.notif-panel{position:fixed;top:60px;right:12px;background:var(--card);border:1px solid var(--border2);border-radius:var(--r);box-shadow:var(--sh);width:310px;z-index:400;display:none;flex-direction:column;max-height:400px;overflow:hidden}
.notif-panel.open{display:flex;animation:dropIn .15s ease}
.notif-panel-hd{padding:12px 14px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;flex-shrink:0}
.notif-panel-title{font-size:13px;font-weight:700;color:var(--text)}
.notif-clear{font-size:12px;color:var(--accent2);cursor:pointer}
#notif-list{overflow-y:auto;flex:1;-webkit-overflow-scrolling:touch}
.notif-empty{padding:20px;text-align:center;font-size:13px;color:var(--text3)}
.notif-item{padding:10px 14px;border-bottom:1px solid var(--border)}
.notif-item.unread{background:rgba(59,130,246,.04)}
.notif-item-title{font-size:12.5px;font-weight:700;color:var(--text);margin-bottom:2px}
.notif-item-body{font-size:12px;color:var(--text2)}
.notif-item-time{font-size:10.5px;color:var(--text3);margin-top:3px}

/* ─── TOAST ─── */
.toast{
  position:fixed;bottom:calc(20px + var(--safe-bottom));right:16px;
  background:var(--card);border:1px solid var(--border2);border-radius:var(--r2);
  padding:12px 14px;display:flex;align-items:center;gap:10px;
  box-shadow:var(--sh);z-index:9000;
  transform:translateY(20px);opacity:0;transition:all .3s cubic-bezier(.34,1.3,.64,1);
  pointer-events:none;max-width:calc(100vw - 32px);width:340px;
}
.toast.show{transform:translateY(0);opacity:1}
.toast-ico{font-size:20px;flex-shrink:0}
.toast-title{font-size:13px;font-weight:700;color:var(--text)}
.toast-msg{font-size:12px;color:var(--text2);margin-top:2px}
.toast.t-success{border-left:3px solid var(--green)}
.toast.t-warn{border-left:3px solid var(--gold)}
.toast.t-error{border-left:3px solid var(--red)}
.toast.t-info{border-left:3px solid var(--accent)}

/* ─── SETTINGS ─── */
.settings-layout{display:grid;grid-template-columns:180px 1fr;gap:16px;align-items:start}
.sn{display:flex;flex-direction:column;gap:2px;position:sticky;top:72px}
.sn-item{padding:9px 12px;border-radius:var(--r2);font-size:13.5px;color:var(--text2);cursor:pointer;transition:var(--t);min-height:42px;display:flex;align-items:center}
.sn-item:hover{background:var(--card);color:var(--text)}
.sn-item.active{background:var(--card2);color:var(--text);font-weight:600}
.sp{display:none}
.sp.active{display:block}
.sp-title{font-size:15px;font-weight:800;color:var(--text);margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border)}
.toggle-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--border);gap:12px}
.tg-lbl{font-size:13.5px;font-weight:600;color:var(--text)}
.tg-desc{font-size:12px;color:var(--text3);margin-top:2px}
.tgl{position:relative;display:inline-block;width:42px;height:24px;flex-shrink:0}
.tgl input{opacity:0;width:0;height:0}
.tgl-sl{position:absolute;cursor:pointer;inset:0;background:var(--card2);border-radius:99px;transition:.25s;border:1px solid var(--border2)}
.tgl-sl:before{content:'';position:absolute;height:18px;width:18px;left:2px;bottom:2px;background:var(--text3);border-radius:50%;transition:.25s}
.tgl input:checked+.tgl-sl{background:var(--accent);border-color:var(--accent)}
.tgl input:checked+.tgl-sl:before{transform:translateX(18px);background:#fff}

/* ─── PRESSINGS GRID ─── */
.pressing-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.pc{background:var(--card);border:1px solid var(--border);border-radius:var(--r);overflow:hidden;cursor:pointer;transition:var(--t)}
.pc:hover{transform:translateY(-3px);box-shadow:var(--sh);border-color:var(--border2)}
.pc-top{padding:18px;display:flex;align-items:center;gap:12px}
.pc-logo{width:52px;height:52px;border-radius:9px;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}
.pc-logo img{width:100%;height:100%;object-fit:contain}
.pc-name{font-size:15px;font-weight:800;color:#fff}
.pc-slogan{font-size:10.5px;color:rgba(255,255,255,.7);text-transform:uppercase;letter-spacing:1px;margin-top:2px}
.pc-body{padding:14px 18px}
.pc-stats{display:flex;gap:18px;margin-bottom:10px}
.pc-stat{text-align:center}
.pc-stat-v{font-size:19px;font-weight:900;color:var(--text)}
.pc-stat-l{font-size:11px;color:var(--text3);margin-top:1px}
.pc-info{font-size:12px;color:var(--text2);line-height:1.6}

/* ─── PROFILE ─── */
.profile-card{display:flex;align-items:flex-start;gap:16px;margin-bottom:18px;flex-wrap:wrap}
.profile-big-avatar{width:76px;height:76px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:900;color:#fff;cursor:pointer;flex-shrink:0;position:relative;overflow:hidden}
.profile-big-avatar:hover .avatar-overlay{opacity:1}
.avatar-overlay{position:absolute;inset:0;background:rgba(0,0,0,.5);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;opacity:0;transition:opacity .2s;border-radius:50%}
.avatar-overlay-ico{font-size:16px}
.avatar-overlay-txt{font-size:10px;font-weight:700;color:#fff}
.profile-meta-name{font-size:17px;font-weight:800;color:var(--text)}
.profile-meta-email{font-size:12.5px;color:var(--text2);margin-top:2px}
.profile-meta-tel,.profile-meta-poste{font-size:12px;color:var(--text3);margin-top:2px}
.role-admin{font-size:11px;font-weight:700;color:#818cf8;background:rgba(129,140,248,.12);padding:2px 9px;border-radius:99px;display:inline-block}
.role-manager{font-size:11px;font-weight:700;color:#fbbf24;background:rgba(251,191,36,.12);padding:2px 9px;border-radius:99px;display:inline-block}
.role-agent{font-size:11px;font-weight:700;color:#34d399;background:rgba(52,211,153,.12);padding:2px 9px;border-radius:99px;display:inline-block}
.photo-options{background:var(--card2);border:1px solid var(--border2);border-radius:var(--r2);padding:14px;margin-bottom:16px;display:none}
.photo-options.show{display:block;animation:fadeUp .2s ease}
.photo-opts-title{font-size:12px;font-weight:700;color:var(--text);margin-bottom:10px}
.photo-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.photo-opts-divider{height:1px;background:var(--border);margin-bottom:10px}
.avatar-colors{display:flex;gap:8px;flex-wrap:wrap}
.av-color{width:30px;height:30px;border-radius:50%;cursor:pointer;transition:var(--t);border:2px solid transparent}
.av-color:hover{transform:scale(1.15)}
.av-color.selected{border-color:#fff;box-shadow:0 0 0 2px var(--accent)}

/* ─── HISTORY ─── */
.tl-item{display:flex;gap:12px;padding:10px 0}
.tl-left{display:flex;flex-direction:column;align-items:center;width:16px;flex-shrink:0}
.tl-dot{width:10px;height:10px;border-radius:50%;background:var(--accent);flex-shrink:0;margin-top:4px}
.tl-line{flex:1;width:2px;background:var(--border);margin-top:4px;margin-bottom:-4px}
.tl-action{font-size:13px;font-weight:700;color:var(--text)}
.tl-meta{font-size:12px;color:var(--text2);margin-top:2px}
.tl-user{font-size:11px;color:var(--text3);margin-top:3px}

/* ═══════════════════════════════════════
   RESPONSIVE BREAKPOINTS
═══════════════════════════════════════ */

/* Tablettes */
@media(min-width:769px){
  .stats-grid{grid-template-columns:repeat(4,1fr)}
  .dash-grid{grid-template-columns:1fr 320px}
  .overlay{align-items:center;padding:30px 16px}
  .modal{border-radius:16px;max-width:820px;max-height:90vh}
  #m-order .modal{max-width:820px}
  #m-client .modal{max-width:520px}
  #m-user .modal{max-width:500px}
  #m-invoice .modal{max-width:740px}
  .content{padding:20px}
}

/* Mobile */
@media(max-width:768px){
  /* Sidebar as drawer */
  .sidebar{transform:translateX(-100%)}
  .sidebar.open{transform:translateX(0)}
  .main{margin-left:0}
  .hamburger{display:flex}
  .topbar{padding:0 12px;height:52px}
  .content{padding:12px;padding-bottom:calc(12px + var(--safe-bottom))}

  /* Stats 2 cols on mobile */
  .stats-grid{grid-template-columns:repeat(2,1fr);gap:8px}
  .stat-val{font-size:20px}
  .stat-lbl{font-size:11px}

  /* Order items form - stack on mobile */
  .items-hd{display:none}
  .item-row{display:flex;flex-direction:column;gap:6px;padding:10px;background:var(--card2);border-radius:var(--r2);margin-bottom:6px;border:1px solid var(--border)}
  .item-row input{width:100%}
  .del-row{align-self:flex-end}

  /* Actions bar stack */
  .actions-bar{flex-direction:column;align-items:stretch}
  .search-wrap{max-width:100%}
  .actions-r{justify-content:flex-end}

  /* Form grid single col */
  .form-grid{grid-template-columns:1fr}
  .form-group.span2{grid-column:span 1}

  /* Settings */
  .settings-layout{grid-template-columns:1fr}
  .sn{position:static;flex-direction:row;flex-wrap:wrap;gap:4px;margin-bottom:12px}
  .sn-item{padding:6px 10px;font-size:12px;min-height:36px}

  /* Pressings */
  .pressing-grid{grid-template-columns:1fr}

  /* User menu + notif panel full width on mobile */
  .user-menu{width:calc(100vw - 24px);right:12px;left:12px}
  .notif-panel{width:calc(100vw - 24px);right:12px;left:12px}

  /* Toast full width */
  .toast{width:calc(100vw - 32px);right:16px;left:16px}

  /* Modal full screen bottom sheet */
  .modal{max-height:96vh;border-radius:20px 20px 0 0}

  /* Hide text on some topbar buttons */
  .tb-text{display:none}
  .user-name{display:none}
}

@media(max-width:420px){
  .stats-grid{gap:6px}
  .stat-card{padding:12px}
  .stat-val{font-size:18px}
  .stat-ico{font-size:16px}
}
