/* Fonts loaded via <link> in HTML */

:root {
  --adm-bg:      #0d1117;
  --adm-card:    #161b27;
  --adm-card2:   #1c2333;
  --adm-border:  #263044;
  --adm-text:    #e2e8f0;
  --adm-text2:   #8892a4;
  --adm-text3:   #4a5568;
  --adm-primary: #3d6640;
  --adm-green:   #3aab62;
  --adm-green2:  #5a8c5e;
  --adm-gold:    #d4a843;
  --adm-red:     #e05252;
  --adm-amber:   #d4922a;
  --adm-sidebar: #0f1a10;
  --adm-r:       8px;
  --font: 'DM Sans','Hind Siliguri',sans-serif;
  --mono: 'DM Mono',monospace;
}
[data-theme="light"] {
  --adm-bg:     #f0f4f8;
  --adm-card:   #ffffff;
  --adm-card2:  #f7f9fc;
  --adm-border: #dde3ec;
  --adm-text:   #1a202c;
  --adm-text2:  #4a5568;
  --adm-text3:  #a0aec0;
  --adm-sidebar:#1a2e1c;
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{font-size:15px}
body{font-family:var(--font);background:var(--adm-bg);color:var(--adm-text);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button{cursor:pointer;font-family:var(--font)}
input,select,textarea{font-family:var(--font)}

/* Layout */
.adm-wrap{display:flex;min-height:100vh}
.adm-sidebar{width:240px;background:var(--adm-sidebar);border-right:1px solid rgba(255,255,255,.05);flex-shrink:0;display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:50;overflow-y:auto}
.adm-main{flex:1;margin-left:240px;display:flex;flex-direction:column;min-height:100vh}
.adm-content{flex:1;padding:1.5rem}

/* Logo */
.adm-logo{padding:1.2rem 1rem;display:flex;align-items:center;gap:10px;border-bottom:1px solid rgba(255,255,255,.06)}
.adm-logo-icon{width:36px;height:36px;background:linear-gradient(135deg,#3d6640,#5a8c5e);border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:17px;color:#fff;flex-shrink:0}
.adm-logo-name{font-size:14px;font-weight:700;color:#e2e8f0}
.adm-logo-sub{font-size:10px;color:rgba(255,255,255,.35);text-transform:uppercase;letter-spacing:.5px}

/* Nav */
.adm-nav{padding:.6rem .6rem}
.adm-nav-section{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:rgba(255,255,255,.25);padding:10px 8px 4px}
.adm-nav-item{display:flex;align-items:center;gap:9px;padding:9px 10px;border-radius:7px;font-size:13px;color:rgba(255,255,255,.55);transition:all .2s;margin-bottom:1px;position:relative}
.adm-nav-item:hover{background:rgba(255,255,255,.06);color:rgba(255,255,255,.85)}
.adm-nav-item.active{background:rgba(61,102,64,.35);color:#a8d4ac;font-weight:600}
.adm-badge{background:var(--adm-red);color:#fff;font-size:10px;font-weight:700;padding:2px 6px;border-radius:10px;margin-left:auto}

/* Topbar */
.adm-topbar{height:56px;background:var(--adm-card);border-bottom:1px solid var(--adm-border);display:flex;align-items:center;padding:0 1.5rem;gap:12px;position:sticky;top:0;z-index:40}
.adm-menu-btn{display:none;background:none;border:none;color:var(--adm-text2);font-size:18px}

/* Cards */
.adm-card{background:var(--adm-card);border:1px solid var(--adm-border);border-radius:var(--adm-r);overflow:hidden;margin-bottom:1.2rem}
.adm-card-body{padding:1.2rem}
.adm-card-title{font-size:14px;font-weight:700;padding:1rem 1.2rem;border-bottom:1px solid var(--adm-border);display:flex;align-items:center;justify-content:space-between;gap:10px}

/* Stats */
.adm-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:1.5rem}
.adm-stat{background:var(--adm-card);border:1px solid var(--adm-border);border-radius:var(--adm-r);padding:1.2rem;position:relative;overflow:hidden}
.adm-stat-val{font-size:28px;font-weight:700;font-family:var(--mono);margin-bottom:4px}
.adm-stat-lbl{font-size:11px;color:var(--adm-text2);text-transform:uppercase;letter-spacing:.5px}
.adm-stat-icon{position:absolute;right:14px;top:14px;font-size:22px;opacity:.15}

/* Table */
.adm-table-wrap{overflow-x:auto}
.adm-table{width:100%;border-collapse:collapse;font-size:13px}
.adm-table th{text-align:left;padding:10px 14px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--adm-text3);border-bottom:2px solid var(--adm-border);white-space:nowrap;background:var(--adm-card2)}
.adm-table td{padding:11px 14px;border-bottom:1px solid var(--adm-border);vertical-align:middle;color:var(--adm-text2)}
.adm-table tr:hover td{background:rgba(255,255,255,.02)}
.adm-table tr:last-child td{border:none}

/* Buttons */
.adm-btn{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border-radius:var(--adm-r);font-size:13px;font-weight:600;cursor:pointer;border:none;font-family:var(--font);transition:all .2s;text-decoration:none}
.adm-btn-primary{background:linear-gradient(135deg,var(--adm-primary),var(--adm-green2));color:#fff}
.adm-btn-primary:hover{opacity:.9}
.adm-btn-danger{background:rgba(224,82,82,.15);color:var(--adm-red);border:1px solid rgba(224,82,82,.25)}
.adm-btn-danger:hover{background:rgba(224,82,82,.25)}
.adm-btn-ghost{background:var(--adm-card2);color:var(--adm-text2);border:1px solid var(--adm-border)}
.adm-btn-ghost:hover{border-color:var(--adm-green2);color:var(--adm-text)}
.adm-btn-sm{padding:5px 11px;font-size:12px}
.adm-btn-success{background:rgba(58,171,98,.15);color:var(--adm-green);border:1px solid rgba(58,171,98,.25)}
.adm-btn-warn{background:rgba(212,168,67,.15);color:var(--adm-gold);border:1px solid rgba(212,168,67,.25)}

/* Status badges */
.adm-status{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:10px;font-size:11px;font-weight:700;white-space:nowrap}
.adm-status-pending{background:rgba(212,168,67,.15);color:var(--adm-gold)}
.adm-status-active,.adm-status-approved,.adm-status-complete,.adm-status-delivered{background:rgba(58,171,98,.15);color:var(--adm-green)}
.adm-status-processing,.adm-status-in_review{background:rgba(59,130,246,.15);color:#60a5fa}
.adm-status-cancel,.adm-status-rejected,.adm-status-inactive{background:rgba(224,82,82,.15);color:var(--adm-red)}
.adm-status-hold{background:rgba(156,163,175,.15);color:#9ca3af}

/* Forms */
.adm-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.adm-form-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}
.form-group{margin-bottom:14px}
.form-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--adm-text2);display:block;margin-bottom:6px}
.form-input,.form-select,.form-textarea{width:100%;background:var(--adm-card2);border:1px solid var(--adm-border);border-radius:7px;padding:9px 12px;color:var(--adm-text);font-size:13px;outline:none;transition:border .2s}
.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--adm-green2);box-shadow:0 0 0 3px rgba(90,140,94,.1)}
.form-textarea{resize:vertical;min-height:90px}
.form-select option{background:var(--adm-card)}
.form-section{background:var(--adm-card);border:1px solid var(--adm-border);border-radius:var(--adm-r);padding:1.2rem;margin-bottom:1rem}
.form-section-title{font-size:13px;font-weight:700;margin-bottom:1rem;padding-bottom:8px;border-bottom:1px solid var(--adm-border);color:var(--adm-text)}

/* Inline status select */
.status-sel{background:var(--adm-card2);border:1px solid var(--adm-border);border-radius:6px;padding:5px 8px;font-size:12px;color:var(--adm-text);outline:none;cursor:pointer}

/* Alert */
.adm-alert-success{background:rgba(58,171,98,.1);border:1px solid rgba(58,171,98,.3);color:var(--adm-green);padding:10px 14px;border-radius:var(--adm-r);font-size:13px;margin-bottom:1rem}
.adm-alert-error{background:rgba(224,82,82,.1);border:1px solid rgba(224,82,82,.3);color:var(--adm-red);padding:10px 14px;border-radius:var(--adm-r);font-size:13px;margin-bottom:1rem}

/* Image upload preview */
.img-preview{width:100%;max-height:160px;object-fit:cover;border-radius:8px;margin-bottom:8px;display:block}
.thumb-sm{width:42px;height:42px;border-radius:6px;object-fit:cover}

/* Toast */
.adm-toast{position:fixed;bottom:20px;right:20px;background:var(--adm-green);color:#fff;padding:11px 18px;border-radius:var(--adm-r);font-size:13px;font-weight:600;z-index:9999;transform:translateY(100px);transition:transform .3s;box-shadow:0 4px 20px rgba(0,0,0,.4)}
.adm-toast.show{transform:translateY(0)}
.adm-toast.error{background:var(--adm-red)}

/* Top filters */
.adm-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:1rem;align-items:center}
.adm-filter-btn{padding:6px 14px;border-radius:20px;font-size:12px;font-weight:600;border:1.5px solid var(--adm-border);color:var(--adm-text2);background:var(--adm-card2);cursor:pointer;transition:all .2s;text-decoration:none}
.adm-filter-btn:hover,.adm-filter-btn.active{background:var(--adm-primary);color:#fff;border-color:var(--adm-primary)}

/* Mono */
.mono{font-family:var(--mono);font-size:12px}

/* Responsive */
@media(max-width:900px){
  .adm-sidebar{transform:translateX(-100%);transition:transform .3s}
  .adm-sidebar.open{transform:translateX(0)}
  .adm-main{margin-left:0}
  .adm-menu-btn{display:flex}
  .adm-form-grid{grid-template-columns:1fr}
  .adm-form-grid-3{grid-template-columns:1fr 1fr}
  .adm-stats{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:480px){
  .adm-stats{grid-template-columns:1fr 1fr}
  .adm-form-grid-3{grid-template-columns:1fr}
}
