/* Admin Panel — Cali Flavorz */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
:root{--dark:#1c1b1b;--cyan:#5ecee9;--yellow:#FCE340;--green:#4caf50;--red:#ef5350;--orange:#ff9800;--purple:#ab47bc;--pink:#ec407a;--blue:#42a5f5;}
body{font-family:'Poppins',sans-serif;background:#111;color:#fff;min-height:100vh;}

/* Login */
.admin-login{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px;background:linear-gradient(135deg,#111 0%,#1a1a2e 100%);}
.login-card{background:var(--dark);border-radius:20px;padding:40px 32px;max-width:380px;width:100%;text-align:center;border:1px solid rgba(255,255,255,.08);}
.login-logo{width:80px;margin-bottom:12px;}
.login-card h1{font-family:'Jost',sans-serif;font-size:22px;font-weight:800;margin-bottom:4px;}
.login-card p{color:rgba(255,255,255,.4);font-size:13px;margin-bottom:20px;}
.login-card input{width:100%;padding:12px 14px;border-radius:10px;border:1.5px solid rgba(255,255,255,.15);background:rgba(255,255,255,.06);color:#fff;font-size:14px;font-family:inherit;margin-bottom:10px;outline:none;transition:.2s;}
.login-card input:focus{border-color:var(--cyan);background:rgba(255,255,255,.1);}
.login-card input::placeholder{color:rgba(255,255,255,.3);}
.btn-login{width:100%;padding:13px;border-radius:10px;background:var(--yellow);color:var(--dark);font-size:14px;font-weight:700;text-transform:uppercase;border:none;cursor:pointer;font-family:inherit;letter-spacing:.04em;transition:.2s;margin-top:6px;}
.btn-login:hover{background:#fff;}
.btn-login:disabled{opacity:.5;cursor:not-allowed;}
.login-error{color:var(--red);font-size:13px;margin-top:12px;min-height:20px;}

/* Admin Shell */
.admin-header{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:var(--dark);border-bottom:1px solid rgba(255,255,255,.08);position:sticky;top:0;z-index:100;}
.admin-header-left{display:flex;align-items:center;gap:10px;}
.admin-logo{height:36px;}
.admin-title{font-family:'Jost',sans-serif;font-size:14px;font-weight:800;color:var(--yellow);letter-spacing:.1em;}
.admin-header-right{display:flex;align-items:center;gap:12px;}
.admin-user{font-size:12px;color:rgba(255,255,255,.5);}
.btn-logout{padding:8px 16px;border-radius:8px;background:rgba(255,255,255,.08);color:rgba(255,255,255,.6);font-size:12px;font-weight:600;border:none;cursor:pointer;font-family:inherit;transition:.2s;}
.btn-logout:hover{background:rgba(255,255,255,.15);color:#fff;}

/* Tabs */
.admin-tabs{display:flex;background:var(--dark);border-bottom:1px solid rgba(255,255,255,.08);overflow-x:auto;-webkit-overflow-scrolling:touch;position:sticky;top:60px;z-index:99;}
.admin-tabs::-webkit-scrollbar{display:none;}
.admin-tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:rgba(255,255,255,.4);background:none;border:none;border-bottom:3px solid transparent;cursor:pointer;font-family:inherit;transition:.2s;white-space:nowrap;min-width:80px;}
.admin-tab:hover{color:rgba(255,255,255,.7);}
.admin-tab.active{color:var(--yellow);border-bottom-color:var(--yellow);}
.admin-tab svg{stroke:currentColor;}

/* Panels */
.admin-panel{display:none;padding:20px;max-width:1200px;margin:0 auto;}
.admin-panel.active{display:block;}

/* Stats Grid */
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:24px;}
.stat-card{padding:14px;border-radius:12px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);text-align:center;transition:.2s;}
.stat-card:hover{border-color:rgba(255,255,255,.15);}
.stat-number{font-family:'Jost',sans-serif;font-size:24px;font-weight:800;line-height:1.2;}
.stat-label{font-size:11px;font-weight:600;color:rgba(255,255,255,.5);margin-top:2px;text-transform:uppercase;letter-spacing:.04em;}
.stat-card.cyan .stat-number{color:var(--cyan);}
.stat-card.yellow .stat-number{color:var(--yellow);}
.stat-card.green .stat-number{color:var(--green);}
.stat-card.orange .stat-number{color:var(--orange);}
.stat-card.red .stat-number{color:var(--red);}
.stat-card.purple .stat-number{color:var(--purple);}
.stat-card.blue .stat-number{color:var(--blue);}
.stat-card.pink .stat-number{color:var(--pink);}

/* Quick Actions */
.quick-actions h2{font-family:'Jost',sans-serif;font-size:16px;font-weight:800;margin-bottom:10px;}
.action-buttons{display:flex;gap:8px;flex-wrap:wrap;}
.action-btn{padding:10px 18px;border-radius:10px;background:rgba(255,255,255,.08);color:#fff;font-size:13px;font-weight:600;border:1.5px solid rgba(255,255,255,.15);cursor:pointer;font-family:inherit;transition:.2s;}
.action-btn:hover{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.3);}
.action-btn.yellow{background:var(--yellow);color:var(--dark);border-color:var(--yellow);}
.action-btn.yellow:hover{background:#fff;}

/* Panel Header */
.panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:10px;}
.panel-header h2{font-family:'Jost',sans-serif;font-size:18px;font-weight:800;}
.admin-select{padding:10px 16px;border-radius:10px;background:rgba(255,255,255,.08);color:#fff;border:1.5px solid rgba(255,255,255,.15);font-size:14px;font-family:inherit;cursor:pointer;outline:none;}
.admin-select option{background:#222;color:#fff;}

/* Inventory List */
.inv-product{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:14px;margin-bottom:12px;overflow:hidden;}
.inv-product-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;cursor:pointer;transition:.15s;}
.inv-product-header:hover{background:rgba(255,255,255,.04);}
.inv-product-title{font-size:13px;font-weight:700;}
.inv-product-meta{display:flex;align-items:center;gap:8px;font-size:12px;}
.inv-badge{padding:3px 10px;border-radius:8px;font-size:11px;font-weight:700;text-transform:uppercase;}
.inv-badge.stocked{background:rgba(76,175,80,.15);color:var(--green);}
.inv-badge.low{background:rgba(255,152,0,.15);color:var(--orange);}
.inv-badge.oos{background:rgba(239,83,80,.15);color:var(--red);}
.inv-badge.category{background:rgba(94,206,233,.15);color:var(--cyan);}
.inv-arrow{color:rgba(255,255,255,.3);font-size:18px;transition:transform .2s;}
.inv-product.open .inv-arrow{transform:rotate(180deg);}
.inv-product-body{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.inv-product.open .inv-product-body{max-height:2000px;}
.inv-strain-row{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;border-top:1px solid rgba(255,255,255,.05);gap:8px;}
.inv-strain-row:hover{background:rgba(255,255,255,.03);}
.inv-strain-info{flex:1;min-width:0;}
.inv-strain-name{font-size:13px;font-weight:600;}
.inv-strain-type{font-size:10px;color:rgba(255,255,255,.4);}
.inv-qty-controls{display:flex;align-items:center;gap:6px;}
.inv-qty-btn{width:30px;height:30px;border-radius:6px;background:rgba(255,255,255,.08);color:#fff;font-size:16px;font-weight:700;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.15s;}
.inv-qty-btn:hover{background:rgba(255,255,255,.15);}
.inv-qty-btn:active{transform:scale(.9);}
.inv-qty-input{width:50px;text-align:center;padding:6px;border-radius:6px;background:rgba(255,255,255,.06);color:#fff;border:1.5px solid rgba(255,255,255,.15);font-size:14px;font-weight:700;font-family:inherit;outline:none;}
.inv-qty-input:focus{border-color:var(--cyan);}
.inv-qty-input.zero{color:var(--red);border-color:rgba(239,83,80,.3);}
.inv-qty-input.low{color:var(--orange);border-color:rgba(255,152,0,.3);}
.inv-save-row{padding:12px 18px;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:flex-end;}
.inv-save-btn{padding:10px 24px;border-radius:10px;background:var(--green);color:#fff;font-size:13px;font-weight:700;border:none;cursor:pointer;font-family:inherit;transition:.2s;}
.inv-save-btn:hover{background:#66bb6a;}
.inv-save-btn:disabled{opacity:.5;}

/* Orders List */
.order-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:14px;margin-bottom:12px;overflow:hidden;}
.order-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;cursor:pointer;flex-wrap:wrap;gap:8px;}
.order-header:hover{background:rgba(255,255,255,.04);}
.order-number{font-size:14px;font-weight:700;color:var(--yellow);}
.order-date{font-size:11px;color:rgba(255,255,255,.4);}
.order-total{font-size:14px;font-weight:700;}
.order-status{padding:4px 12px;border-radius:8px;font-size:11px;font-weight:700;text-transform:uppercase;}
.order-status.pending{background:rgba(255,152,0,.15);color:var(--orange);}
.order-status.confirmed{background:rgba(94,206,233,.15);color:var(--cyan);}
.order-status.processing{background:rgba(171,71,188,.15);color:var(--purple);}
.order-status.shipped{background:rgba(66,165,245,.15);color:var(--blue);}
.order-status.delivered{background:rgba(76,175,80,.15);color:var(--green);}
.order-status.cancelled{background:rgba(239,83,80,.15);color:var(--red);}
.order-body{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.order-card.open .order-body{max-height:1000px;}
.order-detail{padding:14px 18px;border-top:1px solid rgba(255,255,255,.05);}
.order-detail-label{font-size:11px;font-weight:700;color:rgba(255,255,255,.4);text-transform:uppercase;margin-bottom:4px;}
.order-detail-value{font-size:14px;font-weight:600;}
.order-items-table{width:100%;border-collapse:collapse;margin:8px 0;}
.order-items-table th{text-align:left;font-size:11px;font-weight:700;color:rgba(255,255,255,.4);text-transform:uppercase;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.08);}
.order-items-table td{font-size:13px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.04);}
.order-actions{padding:14px 18px;border-top:1px solid rgba(255,255,255,.08);display:flex;gap:8px;flex-wrap:wrap;}
.order-action-btn{padding:10px 18px;border-radius:10px;font-size:12px;font-weight:700;border:none;cursor:pointer;font-family:inherit;transition:.2s;text-transform:uppercase;}
.order-action-btn.confirm{background:var(--cyan);color:var(--dark);}
.order-action-btn.ship{background:var(--blue);color:#fff;}
.order-action-btn.deliver{background:var(--green);color:#fff;}
.order-action-btn.cancel{background:transparent;color:var(--red);border:1.5px solid var(--red);}

/* Subscription cards */
.sub-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:18px;margin-bottom:12px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;}
.sub-info h3{font-size:15px;font-weight:700;margin-bottom:2px;}
.sub-info p{font-size:12px;color:rgba(255,255,255,.4);}
.sub-actions{display:flex;gap:6px;}
.sub-action-btn{padding:8px 14px;border-radius:8px;font-size:11px;font-weight:700;border:none;cursor:pointer;font-family:inherit;transition:.2s;text-transform:uppercase;}
.sub-action-btn.pause{background:rgba(255,152,0,.15);color:var(--orange);}
.sub-action-btn.cancel{background:rgba(239,83,80,.15);color:var(--red);}

/* Toast */
.toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%) translateY(100px);padding:14px 28px;border-radius:12px;background:var(--green);color:#fff;font-size:14px;font-weight:700;z-index:9999;transition:transform .3s cubic-bezier(.32,.72,0,1);pointer-events:none;white-space:nowrap;}
.toast.show{transform:translateX(-50%) translateY(0);}
.toast.error{background:var(--red);}

/* Loading & Empty */
.loading,.empty-state{text-align:center;padding:40px;color:rgba(255,255,255,.3);font-size:15px;}

/* Responsive */
@media(max-width:768px){
  .stats-grid{grid-template-columns:repeat(2,1fr);gap:8px;}
  .stat-number{font-size:20px;}
  .admin-panel{padding:12px;}
  .panel-header{flex-direction:column;align-items:flex-start;}
  .action-buttons{flex-direction:column;}
  .action-btn{width:100%;text-align:center;}
  .order-actions{flex-direction:column;}
  .order-action-btn{width:100%;text-align:center;padding:12px;}
}
@media(max-width:480px){
  .stats-grid{grid-template-columns:repeat(2,1fr);gap:6px;}
  .stat-card{padding:10px 8px;}
  .stat-number{font-size:18px;}
  .stat-label{font-size:9px;}
}

/* Product Form */
.form-section{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:16px;margin-bottom:14px;}
.form-section-title{font-family:'Jost',sans-serif;font-size:14px;font-weight:700;color:var(--cyan);text-transform:uppercase;letter-spacing:.04em;margin-bottom:12px;}
.pf-row{display:flex;gap:10px;margin-bottom:10px;}
.pf-field{flex:1;min-width:0;}
.pf-field.full{flex:1 1 100%;}
.pf-field label{display:block;font-size:11px;font-weight:600;color:rgba(255,255,255,.45);text-transform:uppercase;letter-spacing:.03em;margin-bottom:4px;}
.pf-field input,.pf-field select,.pf-field textarea{width:100%;padding:10px 12px;border-radius:8px;border:1.5px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:#fff;font-size:13px;font-family:inherit;outline:none;transition:.2s;}
.pf-field input:focus,.pf-field select:focus,.pf-field textarea:focus{border-color:var(--cyan);background:rgba(255,255,255,.08);}
.pf-field input::placeholder,.pf-field textarea::placeholder{color:rgba(255,255,255,.2);}
.pf-field select option{background:#222;color:#fff;}
.add-row-btn{padding:8px 14px;border-radius:8px;background:rgba(255,255,255,.06);color:var(--cyan);font-size:12px;font-weight:600;border:1.5px dashed rgba(94,206,233,.3);cursor:pointer;font-family:inherit;transition:.2s;width:100%;margin-top:4px;}
.add-row-btn:hover{background:rgba(94,206,233,.08);border-color:var(--cyan);}

/* Dynamic rows (sizes, strains) */
.dyn-row{display:flex;gap:8px;align-items:center;margin-bottom:8px;padding:8px 10px;background:rgba(255,255,255,.03);border-radius:8px;border:1px solid rgba(255,255,255,.06);}
.dyn-row input,.dyn-row select{flex:1;min-width:0;padding:8px 10px;border-radius:6px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:#fff;font-size:12px;font-family:inherit;outline:none;}
.dyn-row input:focus,.dyn-row select:focus{border-color:var(--cyan);}
.dyn-row input::placeholder{color:rgba(255,255,255,.2);}
.dyn-row .dyn-price{max-width:80px;}
.dyn-row .dyn-type{max-width:100px;}
.dyn-remove{width:28px;height:28px;border-radius:6px;background:rgba(239,83,80,.1);color:var(--red);border:none;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:.15s;}
.dyn-remove:hover{background:rgba(239,83,80,.2);}

/* Image previews */
.img-preview{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:8px;margin:0 6px 6px 0;}
.img-preview img{width:40px;height:40px;border-radius:6px;object-fit:cover;}
.img-preview span{font-size:11px;color:rgba(255,255,255,.5);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

/* Product list cards */
.prod-list-item{display:flex;align-items:center;gap:12px;padding:10px 14px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:10px;margin-bottom:8px;cursor:pointer;transition:.15s;}
.prod-list-item:hover{border-color:rgba(255,255,255,.15);background:rgba(255,255,255,.05);}
.prod-list-img{width:44px;height:44px;border-radius:8px;object-fit:cover;background:#222;flex-shrink:0;}
.prod-list-info{flex:1;min-width:0;}
.prod-list-title{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.prod-list-meta{font-size:11px;color:rgba(255,255,255,.4);}
.prod-list-price{font-size:13px;font-weight:700;color:var(--yellow);white-space:nowrap;}
.prod-list-badge{padding:2px 8px;border-radius:6px;font-size:10px;font-weight:700;text-transform:uppercase;background:rgba(94,206,233,.12);color:var(--cyan);}

.pf-actions{padding-top:8px;}
.btn-save-product{width:100%;padding:14px;border-radius:10px;background:var(--green);color:#fff;font-size:14px;font-weight:700;text-transform:uppercase;border:none;cursor:pointer;font-family:inherit;transition:.2s;}
.btn-save-product:hover{background:#66bb6a;}
.btn-save-product:disabled{opacity:.5;cursor:not-allowed;}

@media(max-width:480px){
  .pf-row{flex-direction:column;gap:0;}
  .dyn-row{flex-wrap:wrap;}
  .dyn-row input,.dyn-row select{min-width:calc(50% - 20px);}
}
