:root{
  --plum:#141414;--plum-dark:#000000;--mustard:#FF7A00;--coral:#FF9142;--cream:#F7F5F2;--forest:#CC5200;--line:rgba(0,0,0,0.15);
}
*{box-sizing:border-box;}
body{margin:0;background:var(--cream);font-family:'Inter',sans-serif;color:var(--plum-dark);}
h1,h2,h3{font-family:'Fredoka',sans-serif;}
a{color:var(--plum);}
code{background:#eee;padding:2px 6px;border-radius:4px;}

/* Login */
.login-body{display:flex;align-items:center;justify-content:center;min-height:100vh;}
.login-box{background:white;border:3px solid var(--plum-dark);border-radius:16px;padding:30px;width:340px;}
.login-box .hint{font-size:12px;color:#777777;margin-top:16px;}

/* Layout */
.admin-shell{display:flex;min-height:100vh;}
.sidebar{width:220px;background:var(--plum);color:white;padding:20px 0;flex-shrink:0;}
.sidebar .brand{font-family:'Fredoka',sans-serif;font-weight:700;font-size:20px;padding:0 20px 20px;border-bottom:1px solid rgba(255,255,255,0.15);margin-bottom:10px;}
.sidebar a{display:block;color:rgba(255,255,255,0.85);padding:10px 20px;font-size:14px;font-weight:600;text-decoration:none;}
.sidebar a:hover,.sidebar a.active{background:rgba(255,255,255,0.12);color:white;}
.sidebar .logout{margin-top:20px;border-top:1px solid rgba(255,255,255,0.15);padding-top:14px;}
.main{flex-grow:1;padding:30px 34px;}

.topline{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;}

/* Buttons / forms shared with frontend look */
.btn{border:none;border-radius:8px;padding:9px 16px;font-weight:700;font-family:'Fredoka',sans-serif;cursor:pointer;text-decoration:none;display:inline-block;font-size:14px;}
.btn-forest{background:var(--forest);color:white;}
.btn-coral{background:var(--coral);color:#000;}
.btn-outline{background:white;border:2px solid var(--plum-dark);color:var(--plum-dark);}
.btn-sm{padding:5px 10px;font-size:12px;}
label{display:block;font-size:12px;font-weight:600;color:var(--plum);margin:12px 0 4px;}
input,select,textarea{width:100%;padding:9px 11px;border-radius:8px;border:2px solid var(--line);font-family:'Inter',sans-serif;font-size:14px;}
input:focus,select:focus{outline:2px solid var(--coral);border-color:var(--coral);}

.pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin:18px 0;}
.pagination .pg-info{font-family:'Fredoka',sans-serif;font-weight:600;font-size:13px;color:var(--plum);}
.pagination .pg-disabled{opacity:.4;pointer-events:none;}

/* Tables */
table{width:100%;border-collapse:collapse;background:white;border:2px solid var(--plum-dark);border-radius:10px;overflow:hidden;}
table.wrap-table{overflow:visible;border-radius:10px;}
th,td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;font-size:14px;vertical-align:top;}
th{background:var(--plum);color:white;font-family:'Fredoka',sans-serif;font-size:13px;}
tr:last-child td{border-bottom:none;}

.card-box{background:white;border:2px solid var(--plum-dark);border-radius:14px;padding:20px;margin-bottom:20px;}
.alert-error{background:#fff0e6;border:2px solid var(--coral);border-radius:10px;padding:10px 14px;margin-bottom:14px;font-size:14px;}
.alert-ok{background:#fbeadd;border:2px solid var(--forest);border-radius:10px;padding:10px 14px;margin-bottom:14px;font-size:14px;}

.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin-bottom:24px;}
.stat-card{background:white;border:2px solid var(--plum-dark);border-radius:12px;padding:18px;text-align:center;}
.stat-card .num{font-family:'Fredoka',sans-serif;font-size:30px;font-weight:700;color:var(--forest);}
.stat-card .label{font-size:12px;color:#555555;}

/* Variation group builder */
.vgroup-block{border:2px dashed var(--line);border-radius:12px;padding:14px;margin-bottom:14px;background:var(--cream);}
.vgroup-block .vgroup-head{display:flex;gap:10px;align-items:end;margin-bottom:10px;}
.vopt-row{display:flex;gap:8px;align-items:center;margin-bottom:6px;}
.vopt-row input{flex:1;}
.vopt-row input.price{max-width:110px;flex:none;}
.remove-btn{background:var(--coral);color:white;border:none;border-radius:6px;width:28px;height:28px;cursor:pointer;flex-shrink:0;}
.add-link{color:var(--forest);font-weight:700;cursor:pointer;font-size:13px;}
