/* ── SimpleLaundry — Modern Sidebar Design System ───────────── */
:root {
  --blue:    #2563eb; --blue-lt:  #dbeafe; --blue-dk:  #1d4ed8;
  --cyan:    #0891b2; --cyan-lt:  #cffafe;
  --green:   #16a34a; --green-lt: #dcfce7;
  --orange:  #ea580c; --orange-lt:#ffedd5;
  --purple:  #7c3aed; --purple-lt:#ede9fe;
  --red:     #dc2626; --red-lt:   #fee2e2;
  --teal:    #0d9488; --teal-lt:  #ccfbf1;
  --gray:    #6b7280; --gray-lt:  #f3f4f6;
  --txt:     #1e293b; --dim:      #64748b;
  --bdr:     #e2e8f0; --bg:       #f1f5fb;
  --card:    #ffffff; --rad:      12px;
  --sidebar: 240px;
  --topbar:  58px;
  --shadow:  0 2px 12px rgba(37,99,235,.10);
  /* Sidebar palette */
  --sb-bg:   #0f2044;
  --sb-item: rgba(255,255,255,.08);
  --sb-active:rgba(255,255,255,.18);
  --sb-txt:  rgba(255,255,255,.80);
  --sb-txt-active:#fff;
  --sb-border:rgba(255,255,255,.10);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{font-size:15px;-webkit-text-size-adjust:100%;}
body{font-family:'Sora','Segoe UI',Arial,sans-serif;background:var(--bg);color:var(--txt);min-height:100vh;}
a{color:var(--blue);text-decoration:none;}
input,select,textarea,button{font-family:inherit;font-size:1rem;}

/* ═══════════════════════════════════════════════
   SIDEBAR
═══════════════════════════════════════════════ */
.sidebar{
  position:fixed;top:0;left:0;bottom:0;
  width:var(--sidebar);
  background:var(--sb-bg);
  z-index:300;
  display:flex;flex-direction:column;
  transform:translateX(-100%);
  transition:transform .28s cubic-bezier(.4,0,.2,1);
  box-shadow:4px 0 24px rgba(0,0,0,.22);
}
.sidebar.open{transform:translateX(0);}

/* Desktop: always visible */
@media(min-width:900px){
  .sidebar{transform:translateX(0)!important;}
}

.sidebar-logo{
  display:flex;align-items:center;gap:10px;
  padding:18px 18px 12px;
  border-bottom:1px solid var(--sb-border);
  flex-shrink:0;
}
.sidebar-logo .sl-icon{font-size:28px;line-height:1;}
.sidebar-logo .sl-brand{font-size:15px;font-weight:800;color:#fff;letter-spacing:-.2px;line-height:1.2;}
.sidebar-logo .sl-sub{font-size:10px;color:rgba(255,255,255,.5);font-weight:400;}

.sidebar-section{padding:10px 10px 4px;font-size:10px;font-weight:700;letter-spacing:1px;color:rgba(255,255,255,.35);text-transform:uppercase;}

.sidebar nav{flex:1;overflow-y:auto;padding:6px 10px;}
.sidebar nav a{
  display:flex;align-items:center;gap:11px;
  padding:10px 12px;
  border-radius:9px;
  color:var(--sb-txt);
  font-size:13px;font-weight:600;
  text-decoration:none;
  margin-bottom:2px;
  transition:all .16s;
}
.sidebar nav a .s-ico{font-size:18px;width:24px;text-align:center;flex-shrink:0;}
.sidebar nav a:hover{background:var(--sb-item);color:#fff;}
.sidebar nav a.active{background:linear-gradient(135deg,#2563eb,#0891b2);color:#fff;box-shadow:0 4px 14px rgba(37,99,235,.35);}
.sidebar nav a.active .s-ico{filter:drop-shadow(0 2px 4px rgba(255,255,255,.3));}

.sidebar-divider{border:none;border-top:1px solid var(--sb-border);margin:8px 10px;}

.sidebar-footer{
  padding:12px 14px;
  border-top:1px solid var(--sb-border);
  flex-shrink:0;
}
.sidebar-user{display:flex;align-items:center;gap:10px;}
.sb-avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#2563eb,#0891b2);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;color:#fff;flex-shrink:0;}
.sb-uinfo .sb-name{font-size:12px;font-weight:700;color:#fff;}
.sb-uinfo .sb-role{font-size:10px;color:rgba(255,255,255,.45);}
.sb-logout{margin-left:auto;color:rgba(255,255,255,.5);font-size:18px;text-decoration:none;width:30px;height:30px;border-radius:7px;display:flex;align-items:center;justify-content:center;transition:all .15s;}
.sb-logout:hover{background:rgba(255,255,255,.12);color:#fff;}

/* ── Sidebar overlay (mobile) ── */
.sidebar-overlay{
  display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:299;
}
.sidebar-overlay.show{display:block;}

/* ═══════════════════════════════════════════════
   TOPBAR
═══════════════════════════════════════════════ */
.topbar{
  position:fixed;top:0;
  left:0;right:0;
  height:var(--topbar);
  background:#fff;
  border-bottom:1px solid var(--bdr);
  display:flex;align-items:center;
  padding:0 16px;gap:12px;
  z-index:250;
  box-shadow:0 2px 10px rgba(0,0,0,.06);
  transition:left .28s cubic-bezier(.4,0,.2,1);
}
@media(min-width:900px){
  .topbar{left:var(--sidebar);}
}
.hamburger{
  width:38px;height:38px;border:none;background:var(--gray-lt);
  border-radius:9px;cursor:pointer;font-size:19px;
  display:flex;align-items:center;justify-content:center;
  color:var(--txt);flex-shrink:0;transition:background .15s;
}
.hamburger:hover{background:var(--blue-lt);color:var(--blue);}
@media(min-width:900px){.hamburger{display:none;}}

.topbar-center{flex:1;}
.topbar-page-title{font-size:16px;font-weight:800;color:var(--txt);}
.topbar-page-sub{font-size:11px;color:var(--dim);}

.topbar-right{display:flex;align-items:center;gap:8px;}
.tb-chip{display:flex;align-items:center;gap:6px;background:var(--gray-lt);padding:5px 10px 5px 5px;border-radius:20px;}
.tb-chip .av{width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--cyan));font-weight:700;font-size:11px;color:#fff;display:flex;align-items:center;justify-content:center;}
.tb-chip .uname{font-size:12px;font-weight:600;color:var(--txt);}

/* ═══════════════════════════════════════════════
   MAIN LAYOUT
═══════════════════════════════════════════════ */
.main-content{
  padding-top:var(--topbar);
  transition:margin-left .28s cubic-bezier(.4,0,.2,1);
}
@media(min-width:900px){
  .main-content{margin-left:var(--sidebar);}
}
.wrap{padding:20px 16px 32px;}
@media(min-width:768px){.wrap{padding:24px 28px 40px;max-width:1240px;}}
@media(min-width:900px){.wrap{margin:0 auto;}}

/* ═══════════════════════════════════════════════
   GREETING CARD (dashboard hero)
═══════════════════════════════════════════════ */
.greeting-card{
  background:linear-gradient(135deg,#1e40af 0%,#0891b2 100%);
  border-radius:16px;
  padding:22px 22px 20px;
  color:#fff;
  margin-bottom:20px;
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  box-shadow:0 6px 24px rgba(37,99,235,.28);
  position:relative;overflow:hidden;
}
.greeting-card::after{content:'👕';position:absolute;right:-10px;bottom:-14px;font-size:96px;opacity:.10;line-height:1;pointer-events:none;}
.greeting-card .gc-greeting{font-size:20px;font-weight:800;line-height:1.2;}
.greeting-card .gc-sub{font-size:13px;opacity:.78;margin-top:4px;}
.greeting-card .gc-time{text-align:right;flex-shrink:0;}
.greeting-card .gc-clock{font-size:28px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1;}
.greeting-card .gc-date{font-size:12px;opacity:.72;margin-top:2px;}

/* ═══════════════════════════════════════════════
   STAT CARDS
═══════════════════════════════════════════════ */
.stat-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px;}
@media(min-width:640px){.stat-row{grid-template-columns:repeat(4,1fr);}}

.stat-card{
  background:var(--card);border-radius:var(--rad);
  padding:16px;border:1px solid var(--bdr);
  display:flex;align-items:center;gap:14px;
  box-shadow:var(--shadow);transition:transform .15s,box-shadow .15s;
  cursor:default;
}
.stat-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(37,99,235,.14);}
.stat-ico{width:50px;height:50px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0;}
.stat-ico.blue{background:#dbeafe;} .stat-ico.green{background:#dcfce7;}
.stat-ico.orange{background:#ffedd5;} .stat-ico.teal{background:#ccfbf1;}
.stat-ico.cyan{background:#cffafe;} .stat-ico.purple{background:#ede9fe;}
.stat-ico.red{background:#fee2e2;}
.stat-val{font-size:26px;font-weight:800;color:var(--txt);line-height:1;}
.stat-lbl{font-size:11px;color:var(--dim);font-weight:500;margin-top:3px;}
.stat-info{flex:1;}

/* Legacy stat-card color variant (reports page) */
.stat-card.stat-blue{border-top:3px solid var(--blue);}
.stat-card.stat-green{border-top:3px solid var(--green);}
.stat-card.stat-orange{border-top:3px solid var(--orange);}
.stat-card.stat-cyan{border-top:3px solid var(--cyan);}

/* ═══════════════════════════════════════════════
   QUICK LAUNCH GRID
═══════════════════════════════════════════════ */
.quick-launch{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:20px;}
@media(min-width:480px){.quick-launch{grid-template-columns:repeat(4,1fr);}}
@media(min-width:768px){.quick-launch{grid-template-columns:repeat(6,1fr);}}
.ql-item{
  background:var(--card);border:1px solid var(--bdr);
  border-radius:12px;padding:14px 8px 12px;
  display:flex;flex-direction:column;align-items:center;gap:7px;
  cursor:pointer;transition:all .16s;text-decoration:none;color:var(--txt);
  box-shadow:0 1px 4px rgba(0,0,0,.05);
}
.ql-item:hover{border-color:var(--blue);box-shadow:0 4px 16px rgba(37,99,235,.15);transform:translateY(-2px);}
.ql-ico{font-size:26px;line-height:1;}
.ql-lbl{font-size:11px;font-weight:700;color:var(--dim);text-align:center;line-height:1.2;}

/* ═══════════════════════════════════════════════
   CARDS
═══════════════════════════════════════════════ */
.card{background:var(--card);border-radius:var(--rad);border:1px solid var(--bdr);box-shadow:var(--shadow);overflow:hidden;margin-bottom:14px;}
.card-head{padding:14px 16px;border-bottom:1px solid var(--bdr);display:flex;align-items:center;justify-content:space-between;gap:8px;font-weight:700;font-size:14px;color:var(--txt);}
.card-body{padding:14px 16px;}

/* ═══════════════════════════════════════════════
   FORMS
═══════════════════════════════════════════════ */
.form-group{margin-bottom:12px;position:relative;}
.form-label,.form-group label{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--dim);margin-bottom:5px;}
.form-control{width:100%;height:42px;border:1.5px solid var(--bdr);border-radius:8px;padding:0 12px;font-size:14px;color:var(--txt);background:#fff;transition:border .2s;outline:none;}
.form-control:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(37,99,235,.09);}
.form-control.sm,.form-control-sm{height:34px;font-size:13px;padding:0 8px;}
textarea.form-control{height:80px;padding:10px 12px;resize:vertical;}
select.form-control{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236b7280' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.form-row.cols3{grid-template-columns:1fr 1fr 1fr;}
.form-full{grid-column:1/-1;}

/* ═══════════════════════════════════════════════
   BUTTONS
═══════════════════════════════════════════════ */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:42px;padding:0 18px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;border:none;transition:all .15s;white-space:nowrap;text-decoration:none;}
.btn-primary{background:var(--blue);color:#fff;} .btn-primary:hover{background:var(--blue-dk);}
.btn-success,.btn-green{background:var(--green);color:#fff;} .btn-success:hover,.btn-green:hover{filter:brightness(1.08);}
.btn-cyan{background:var(--cyan);color:#fff;} .btn-cyan:hover{filter:brightness(1.08);}
.btn-orange{background:var(--orange);color:#fff;} .btn-orange:hover{filter:brightness(1.08);}
.btn-outline{background:#fff;border:1.5px solid var(--bdr);color:var(--txt);} .btn-outline:hover{border-color:var(--blue);color:var(--blue);}
.btn-danger{background:var(--red);color:#fff;} .btn-danger:hover{filter:brightness(1.08);}
.btn-ghost{background:none;border:none;color:var(--blue);padding:0 8px;} .btn-ghost:hover{text-decoration:underline;}
.btn-wa{background:#25D366;color:#fff;} .btn-wa:hover{filter:brightness(1.08);}
.btn-sms{background:var(--purple);color:#fff;} .btn-sms:hover{filter:brightness(1.08);}
.btn-sm{height:32px;padding:0 12px;font-size:12px;border-radius:6px;}
.btn-xs{height:26px;padding:0 8px;font-size:11px;border-radius:5px;}
.btn-lg{height:50px;padding:0 24px;font-size:16px;border-radius:10px;}
.btn-full,.btn-block{width:100%;}

/* ═══════════════════════════════════════════════
   BADGES
═══════════════════════════════════════════════ */
.badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:3px 8px;border-radius:20px;white-space:nowrap;}
.badge-blue{background:var(--blue-lt);color:#1d4ed8;} .badge-green{background:var(--green-lt);color:#15803d;}
.badge-orange{background:var(--orange-lt);color:#c2410c;} .badge-red{background:var(--red-lt);color:#b91c1c;}
.badge-gray{background:var(--gray-lt);color:#374151;} .badge-teal{background:var(--teal-lt);color:#0f766e;}
.badge-cyan{background:var(--cyan-lt);color:#0e7490;} .badge-purple{background:var(--purple-lt);color:#6d28d9;}

/* ═══════════════════════════════════════════════
   TABLE
═══════════════════════════════════════════════ */
.tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}
.tbl{width:100%;border-collapse:collapse;font-size:13px;}
.tbl th{background:#f8fafc;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--dim);padding:10px 12px;text-align:left;border-bottom:1px solid var(--bdr);white-space:nowrap;}
.tbl td{padding:10px 12px;border-bottom:1px solid #f1f5f9;vertical-align:middle;}
.tbl tr:last-child td{border-bottom:none;}
.tbl tr:hover td{background:#f9fbff;}
.tbl tfoot td{font-weight:700;background:#f8fafc;border-top:2px solid var(--bdr);}

/* ═══════════════════════════════════════════════
   ORDER CARDS
═══════════════════════════════════════════════ */
.order-list{display:flex;flex-direction:column;gap:0;}
.order-card{background:var(--card);border-radius:var(--rad);border:1px solid var(--bdr);box-shadow:var(--shadow);padding:14px;margin-bottom:10px;display:flex;flex-direction:column;gap:8px;cursor:pointer;transition:box-shadow .15s;}
.order-card:hover{box-shadow:0 4px 20px rgba(37,99,235,.15);}
.order-card-head{display:flex;justify-content:space-between;align-items:center;gap:8px;}
.order-card-body{display:flex;gap:12px;font-size:13px;color:var(--dim);flex-wrap:wrap;}
.order-card-foot{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.order-no{font-size:15px;font-weight:800;color:var(--blue);}
.order-amount{font-size:16px;font-weight:700;color:var(--green);}

/* ═══════════════════════════════════════════════
   MODAL
═══════════════════════════════════════════════ */
.modal{display:none;position:fixed;inset:0;z-index:500;align-items:flex-end;justify-content:center;background:rgba(15,23,42,.5);}
.modal.active{display:flex;}
.modal-box{background:#fff;border-radius:20px 20px 0 0;width:100%;max-width:600px;max-height:92vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 -8px 40px rgba(0,0,0,.18);}
.modal-lg{max-width:760px;}
.modal-head{padding:16px 20px;border-bottom:1px solid var(--bdr);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;font-size:15px;font-weight:700;}
.modal-close{background:none;border:none;font-size:22px;cursor:pointer;color:var(--dim);width:32px;height:32px;border-radius:6px;display:flex;align-items:center;justify-content:center;}
.modal-close:hover{background:var(--gray-lt);}
.modal-body{padding:16px 20px;overflow-y:auto;flex:1;}
.modal-foot{padding:14px 20px;border-top:1px solid var(--bdr);display:flex;gap:10px;justify-content:flex-end;flex-shrink:0;flex-wrap:wrap;}
@media(min-width:768px){
  .modal{align-items:center;}
  .modal-box{border-radius:16px;align-self:center;}
}

/* ═══════════════════════════════════════════════
   LINE ITEMS TABLE (order form)
═══════════════════════════════════════════════ */
.line-item-table{width:100%;border-collapse:collapse;font-size:13px;margin-bottom:8px;}
.line-item-table th{font-size:10px;font-weight:700;text-transform:uppercase;color:var(--dim);padding:6px 8px;background:#f8fafc;border-bottom:1px solid var(--bdr);}
.line-item-table td{padding:5px 6px;border-bottom:1px solid var(--bdr);}
.line-item-table td input,.line-item-table td select{width:100%;height:34px;border:1px solid var(--bdr);border-radius:6px;padding:0 8px;font-size:13px;background:#fff;outline:none;}
.line-item-table td input:focus,.line-item-table td select:focus{border-color:var(--blue);}
.line-item-table .del-btn{background:none;border:none;color:var(--red);font-size:16px;cursor:pointer;width:28px;height:28px;border-radius:5px;display:flex;align-items:center;justify-content:center;}
.line-item-table .del-btn:hover{background:var(--red-lt);}
.li-amount{text-align:right;font-weight:700;color:var(--txt);min-width:60px;}

/* ═══════════════════════════════════════════════
   ITEM STATUS ROW (operations)
═══════════════════════════════════════════════ */
.item-list{padding:0;}
.item-row{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--bdr);}
.item-row:last-child{border-bottom:none;}
.item-row-name{flex:1;}
.item-row-name strong{display:block;font-size:13px;font-weight:600;}
.item-row-name span{font-size:11px;color:var(--dim);}
.item-row-status{display:flex;align-items:center;gap:6px;flex-shrink:0;}

/* ═══════════════════════════════════════════════
   TABS
═══════════════════════════════════════════════ */
.tabs{display:flex;border-bottom:2px solid var(--bdr);margin-bottom:14px;gap:4px;flex-wrap:wrap;}
.tab-item{padding:8px 14px;font-size:13px;font-weight:600;color:var(--dim);cursor:pointer;border-radius:6px 6px 0 0;border-bottom:2px solid transparent;background:none;border-top:none;border-left:none;border-right:none;transition:all .15s;margin-bottom:-2px;white-space:nowrap;}
.tab-item.active{color:var(--blue);border-bottom-color:var(--blue);background:var(--blue-lt);}
.tab-panel{display:block;}

/* ═══════════════════════════════════════════════
   TOAST
═══════════════════════════════════════════════ */
.toast-wrap{position:fixed;top:calc(var(--topbar) + 10px);left:50%;transform:translateX(-50%);z-index:999;display:flex;flex-direction:column;gap:8px;width:90%;max-width:380px;pointer-events:none;}
@media(min-width:900px){.toast-wrap{left:calc(var(--sidebar) + 50%);}}
.toast{padding:12px 16px;border-radius:10px;font-size:13px;font-weight:600;color:#fff;box-shadow:0 4px 16px rgba(0,0,0,.18);opacity:0;transform:translateY(-12px);transition:opacity .3s,transform .3s;pointer-events:auto;}
.toast.show{opacity:1;transform:none;}
.toast-success{background:var(--green);} .toast-error{background:var(--red);} .toast-info{background:var(--blue);}

/* ═══════════════════════════════════════════════
   AUTOCOMPLETE
═══════════════════════════════════════════════ */
.autocomplete-list{position:absolute;z-index:9000;width:100%;background:#fff;border:1.5px solid var(--blue);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.12);max-height:220px;overflow-y:auto;margin-top:2px;}
.ac-item{padding:10px 14px;cursor:pointer;font-size:13px;border-bottom:1px solid var(--bdr);}
.ac-item:hover{background:var(--blue-lt);}
.ac-none{padding:10px 14px;color:var(--dim);font-size:13px;}
.selected-badge{display:inline-flex;align-items:center;gap:6px;background:var(--blue-lt);color:var(--blue);padding:5px 10px;border-radius:20px;font-size:12px;font-weight:600;margin-top:4px;}

/* ═══════════════════════════════════════════════
   MISC UTILITIES
═══════════════════════════════════════════════ */
.p0{padding:0!important;}
.divider{border:none;border-top:1px solid var(--bdr);margin:14px 0;}
.empty-state{text-align:center;padding:40px 20px;color:var(--dim);font-size:14px;}
.page-title{font-size:20px;font-weight:800;color:var(--txt);margin-bottom:4px;}
.page-sub{font-size:12px;color:var(--dim);margin-bottom:16px;}
.page-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:10px;margin-bottom:16px;}
.sec-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
.sec-head h4{font-size:14px;font-weight:700;}
.amt-row{display:flex;justify-content:space-between;align-items:center;padding:5px 0;}
.amt-row.total{font-size:17px;font-weight:800;border-top:2px solid var(--bdr);padding-top:10px;margin-top:6px;}
.amt-label{color:var(--dim);font-size:13px;}
.amt-val{font-weight:700;font-size:14px;}
.send-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;}
.pipeline-row{display:flex;flex-wrap:wrap;gap:8px;}
.pipeline-item{display:flex;align-items:center;gap:4px;}
.pipeline-cnt{font-size:14px;font-weight:700;color:var(--txt);}
.filter-bar,.ops-filter{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap;}
.filter-bar .form-control,.ops-filter .form-control{flex:1;min-width:120px;}
.deliver-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
@media(max-width:480px){.deliver-form .form-row{grid-template-columns:1fr;}}

/* Alerts */
.alert{padding:10px 14px;border-radius:8px;font-size:13px;margin-bottom:10px;}
.alert-danger{background:var(--red-lt);color:var(--red);border:1px solid #fca5a5;}
.alert-info{background:var(--blue-lt);color:#1d4ed8;border:1px solid #93c5fd;}

/* Login */
.login-wrap{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;background:linear-gradient(135deg,#1e40af 0%,#0891b2 100%);}
.login-card{background:#fff;border-radius:20px;padding:32px 28px;width:100%;max-width:400px;box-shadow:0 24px 60px rgba(0,0,0,.22);}
.login-logo{text-align:center;margin-bottom:24px;}
.login-logo .ico{font-size:52px;line-height:1;margin-bottom:8px;}
.login-logo h1{font-size:22px;font-weight:800;color:var(--txt);}
.login-logo p{font-size:12px;color:var(--dim);margin-top:2px;}
.input-eye{position:relative;}
.input-eye .form-control{padding-right:44px;}
.eye-btn{position:absolute;right:0;top:0;height:42px;width:42px;background:none;border:none;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;color:var(--dim);}

/* ═══════════════════════════════════════════════
   PRINT
═══════════════════════════════════════════════ */
@media print {
  body{background:#fff;padding:0;}
  .sidebar,.sidebar-overlay,.topbar,.main-content>.toast-wrap,.no-print,.toast-wrap,.print-btn{display:none!important;}
  .main-content{margin-left:0!important;padding-top:0!important;}
  .wrap{padding:0;margin:0;}
  .card{box-shadow:none;border:1px solid #ccc;}
}
