/* CannaGlass Admin */
:root{
  --cream:#f4e8ce; --paper:#fbf5e6; --forest:#283320; --forest-2:#34431f;
  --olive:#6b7b3e; --orange:#cc5a2a; --gold:#e3a93c; --rust:#a23e2a;
  --ink:#2a2118; --ink-soft:#5a4e3c; --line:#ddc aa; --line:#e0cfa6;
  --sidebar:#283320; --radius:14px; --shadow:0 6px 20px rgba(40,33,24,.12);
  --font:'DM Sans',system-ui,sans-serif; --display:'Alfa Slab One',Georgia,serif; --script:'Pacifico',cursive;
}
*{box-sizing:border-box}
body{margin:0;font-family:var(--font);background:#efe6d0;color:var(--ink);}
a{color:var(--rust);text-decoration:none}
img{max-width:100%}

/* Layout */
.admin{display:grid;grid-template-columns:248px 1fr;min-height:100vh}
.sidebar{background:var(--sidebar);color:var(--cream);padding:1.2rem 0;position:sticky;top:0;height:100vh;overflow-y:auto}
.sidebar .brand{font-family:var(--script);font-size:1.7rem;color:var(--gold);padding:0 1.4rem 1rem;display:block}
.sidebar .brand small{display:block;font-family:var(--font);font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--olive);opacity:.9}
.nav-group{padding:.4rem 0}
.nav-group .label{font-size:.66rem;text-transform:uppercase;letter-spacing:.16em;color:#9aa861;padding:.6rem 1.4rem .2rem}
.sidebar a.nav-item{display:flex;align-items:center;gap:.7rem;padding:.6rem 1.4rem;color:#e7dcc0;font-size:.9rem;font-weight:500;border-left:3px solid transparent}
.sidebar a.nav-item:hover{background:rgba(255,255,255,.06);color:#fff}
.sidebar a.nav-item.active{background:rgba(227,169,60,.16);border-left-color:var(--gold);color:#fff}
.sidebar a.nav-item svg{flex:0 0 18px}

.main{display:flex;flex-direction:column;min-width:0}
.topbar{background:var(--paper);border-bottom:2px solid #e3d3aa;padding:.9rem 1.6rem;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10}
.topbar h1{font-size:1.2rem;margin:0;font-family:var(--display);color:var(--forest)}
.topbar .right{display:flex;align-items:center;gap:1rem;font-size:.88rem}
.content{padding:1.6rem;flex:1}

/* Cards / tables */
.card{background:var(--paper);border:1px solid #e3d3aa;border-radius:var(--radius);box-shadow:var(--shadow)}
.card .card-head{padding:1rem 1.3rem;border-bottom:1px solid #ece0c2;display:flex;align-items:center;justify-content:space-between}
.card .card-head h2{margin:0;font-size:1.05rem;font-family:var(--display);color:var(--forest)}
.card .card-body{padding:1.3rem}

.table{width:100%;border-collapse:collapse;background:var(--paper);border-radius:var(--radius);overflow:hidden}
.table th,.table td{padding:.8rem 1rem;text-align:left;border-bottom:1px solid #ece0c2;font-size:.9rem;vertical-align:middle}
.table th{background:#f0e6cd;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft)}
.table tr:hover td{background:#faf4e4}
.table .thumb{width:46px;height:46px;object-fit:cover;border-radius:8px;border:1px solid #ddcfa8}

/* Stats */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.6rem}
.stat{background:var(--paper);border:1px solid #e3d3aa;border-radius:var(--radius);padding:1.2rem 1.3rem;box-shadow:var(--shadow)}
.stat .n{font-family:var(--display);font-size:1.9rem;color:var(--rust);line-height:1}
.stat .l{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);margin-top:.3rem}
.stat.green .n{color:var(--olive)} .stat.gold .n{color:var(--gold)} .stat.forest .n{color:var(--forest)}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:.45rem;font-family:var(--font);font-weight:700;font-size:.82rem;
  padding:.55rem 1.1rem;border-radius:10px;border:2px solid var(--ink);cursor:pointer;background:var(--cream);color:var(--ink);transition:.15s}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--orange);color:#fff;border-color:var(--ink)}
.btn-forest{background:var(--forest);color:var(--cream)}
.btn-danger{background:var(--rust);color:#fff}
.btn-sm{padding:.35rem .7rem;font-size:.74rem}
.btn-ghost{background:transparent;border-color:#d8c79e}

/* Forms */
.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.fg{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1.1rem}
.fg.full{grid-column:1/-1}
.fg label{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft)}
.fg input,.fg select,.fg textarea{padding:.6rem .8rem;border:2px solid #d8c79e;border-radius:10px;background:#fff;font-family:var(--font);font-size:.92rem;color:var(--ink)}
.fg input:focus,.fg select:focus,.fg textarea:focus{outline:none;border-color:var(--gold)}
.fg .hint{font-size:.74rem;color:var(--ink-soft)}

/* Badges */
.badge{display:inline-block;padding:.2rem .6rem;border-radius:999px;font-size:.72rem;font-weight:700}
.badge.published,.badge.paid,.badge.completed{background:#e2efce;color:#4a6b1f}
.badge.draft,.badge.pending,.badge.unpaid{background:#f6e4c4;color:#9a6b1f}
.badge.cancelled{background:#f3d3cc;color:var(--rust)}
.badge.shipped{background:#d3e3f3;color:#2a5a8a}

/* Flash */
.flash{padding:.8rem 1.1rem;border-radius:10px;margin-bottom:1rem;font-weight:600;font-size:.9rem;border:2px solid}
.flash.success{background:#e2efce;border-color:#9bbf6a;color:#3f5a1f}
.flash.error{background:#f3d3cc;border-color:#d99;color:var(--rust)}
.flash.info{background:#f6e8c8;border-color:var(--gold);color:#7a5a1f}

/* Read-only demo mode */
.demo-banner{display:flex;align-items:center;gap:.5rem;background:var(--gold);color:var(--ink);border:2px solid var(--ink);border-radius:10px;padding:.7rem 1.1rem;font-weight:700;font-size:.9rem;margin-bottom:1.2rem}
.demo .content form button,
.demo .content .btn-danger,
.demo .content .btn-primary{opacity:.45;pointer-events:none;cursor:not-allowed;filter:grayscale(.3)}
.demo .content input,
.demo .content select,
.demo .content textarea{background:#f3eddd}

.toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.2rem;gap:1rem;flex-wrap:wrap}
.muted{color:var(--ink-soft)}
.empty{text-align:center;padding:3rem 1rem;color:var(--ink-soft)}

/* Login */
.login-wrap{min-height:100vh;display:grid;place-items:center;background:var(--forest);
  background-image:radial-gradient(circle at 20% 20%,rgba(227,169,60,.2),transparent 40%),radial-gradient(circle at 80% 80%,rgba(204,90,42,.2),transparent 40%)}
.login-card{background:var(--paper);border:3px solid var(--ink);border-radius:20px;padding:2.5rem;width:380px;box-shadow:0 20px 60px rgba(0,0,0,.4)}
.login-card .brand{font-family:var(--script);font-size:2.4rem;color:var(--forest);text-align:center;display:block}
.login-card h1{font-size:1.1rem;text-align:center;color:var(--ink-soft);font-weight:500;margin:.2rem 0 1.5rem}

@media(max-width:860px){
  .admin{grid-template-columns:1fr}
  .sidebar{position:static;height:auto}
  .form-row{grid-template-columns:1fr}
}
