:root{
  --bg:#0f1115;
  --panel:#171a21;
  --panel-2:#1e222b;
  --border:#272c37;
  --text:#e8eaef;
  --text-dim:#9aa1b1;
  --primary:#f5a524;
  --primary-dark:#c9840f;
  --green:#28c76f;
  --red:#ea5455;
  --blue:#4d9dff;
  --radius:14px;
  font-family:'Segoe UI',system-ui,-apple-system,sans-serif;
}
*{box-sizing:border-box;}
body{
  margin:0;background:var(--bg);color:var(--text);font-size:14.5px;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none;}
.layout{display:flex;min-height:100vh;}

/* Sidebar */
.sidebar{
  width:230px;background:var(--panel);border-right:1px solid var(--border);
  position:fixed;top:0;left:0;bottom:0;overflow-y:auto;z-index:50;
  transition:transform .25s ease;
}
.sidebar .brand{padding:22px 20px 16px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--border);}
.sidebar .brand .brand-logo{width:36px;height:36px;object-fit:contain;flex-shrink:0;}
.sidebar .brand strong{font-size:15px;letter-spacing:.3px;}
.sidebar .brand span{display:block;font-size:11px;color:var(--text-dim);}
.nav-group{padding:14px 10px;}
.nav-group .label{font-size:10.5px;text-transform:uppercase;letter-spacing:1px;color:var(--text-dim);padding:10px 12px 6px;}
.nav-item{
  display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;
  color:var(--text-dim);font-size:13.6px;margin-bottom:2px;
}
.nav-item:hover{background:var(--panel-2);color:var(--text);}
.nav-item.active{background:linear-gradient(90deg,rgba(245,165,36,.16),transparent);color:var(--primary);font-weight:600;}
.nav-item .ic{width:18px;text-align:center;font-size:15px;}

/* Main */
.main{margin-left:230px;flex:1;min-height:100vh;display:flex;flex-direction:column;}
.topbar{
  height:64px;display:flex;align-items:center;justify-content:space-between;
  padding:0 26px;border-bottom:1px solid var(--border);background:rgba(15,17,21,.85);
  position:sticky;top:0;z-index:40;backdrop-filter:blur(6px);
}
.topbar h1{font-size:18px;margin:0;font-weight:700;}
.topbar .user{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text-dim);}
.burger{display:none;background:none;border:none;color:var(--text);font-size:20px;cursor:pointer;}
.content{padding:24px 26px 60px;flex:1;}

/* Cards & grid */
.grid{display:grid;gap:16px;}
.grid-4{grid-template-columns:repeat(4,1fr);}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-2{grid-template-columns:repeat(2,1fr);}
@media(max-width:1100px){.grid-4{grid-template-columns:repeat(2,1fr);}.grid-3{grid-template-columns:repeat(2,1fr);}}
@media(max-width:680px){.grid-4,.grid-3,.grid-2{grid-template-columns:1fr;}}

.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;}
.kpi{position:relative;overflow:hidden;}
.kpi .top{display:flex;justify-content:space-between;align-items:flex-start;}
.kpi .lbl{font-size:12.5px;color:var(--text-dim);margin-bottom:6px;}
.kpi .val{font-size:24px;font-weight:800;letter-spacing:-.5px;}
.kpi .ic{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:17px;}
.ic-orange{background:rgba(245,165,36,.15);color:var(--primary);}
.ic-green{background:rgba(40,199,111,.15);color:var(--green);}
.ic-red{background:rgba(234,84,85,.15);color:var(--red);}
.ic-blue{background:rgba(77,157,255,.15);color:var(--blue);}
.trend{font-size:12px;margin-top:8px;}
.trend.up{color:var(--green);}
.trend.down{color:var(--red);}

.panel-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;}
.panel-title h3{margin:0;font-size:15px;}
.panel-title .more{font-size:12.5px;color:var(--primary);}

/* Tables */
table{width:100%;border-collapse:collapse;}
th{text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim);padding:10px 12px;border-bottom:1px solid var(--border);}
td{padding:11px 12px;border-bottom:1px solid var(--border);font-size:13.6px;}
tr:last-child td{border-bottom:none;}
.table-wrap{overflow-x:auto;}
tbody tr:hover{background:var(--panel-2);}

/* Badges */
.badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:11.5px;font-weight:600;}
.badge-green{background:rgba(40,199,111,.15);color:var(--green);}
.badge-red{background:rgba(234,84,85,.15);color:var(--red);}
.badge-orange{background:rgba(245,165,36,.15);color:var(--primary);}
.badge-blue{background:rgba(77,157,255,.15);color:var(--blue);}
.badge-gray{background:var(--panel-2);color:var(--text-dim);}

/* Buttons */
.btn{
  display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border-radius:10px;
  font-size:13.6px;font-weight:600;border:1px solid transparent;cursor:pointer;
}
.btn-primary{background:var(--primary);color:#1a1200;}
.btn-primary:hover{background:var(--primary-dark);}
.btn-outline{background:transparent;border-color:var(--border);color:var(--text);}
.btn-outline:hover{background:var(--panel-2);}
.btn-red{background:rgba(234,84,85,.15);color:var(--red);}
.btn-green{background:rgba(40,199,111,.15);color:var(--green);}
.btn-sm{padding:6px 11px;font-size:12.5px;border-radius:8px;}
.btn-icon{width:32px;height:32px;padding:0;justify-content:center;border-radius:8px;}

/* Forms */
label{display:block;font-size:12.5px;color:var(--text-dim);margin-bottom:5px;font-weight:600;}
input,select,textarea{
  width:100%;background:var(--panel-2);border:1px solid var(--border);color:var(--text);
  padding:10px 12px;border-radius:10px;font-size:13.8px;font-family:inherit;
}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);}
.field{margin-bottom:14px;}
.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;}
@media(max-width:680px){.form-row{grid-template-columns:1fr;}}

/* Misc */
.muted{color:var(--text-dim);}
.text-right{text-align:right;}
.text-center{text-align:center;}
.flash{padding:12px 16px;border-radius:10px;margin-bottom:18px;font-size:13.6px;}
.flash-success{background:rgba(40,199,111,.15);color:var(--green);border:1px solid rgba(40,199,111,.3);}
.flash-error{background:rgba(234,84,85,.15);color:var(--red);border:1px solid rgba(234,84,85,.3);}
.empty{text-align:center;padding:40px 20px;color:var(--text-dim);}
.tag-material{padding:2px 9px;border-radius:6px;font-size:11.5px;background:var(--panel-2);border:1px solid var(--border);}
.thumb{width:52px;height:52px;border-radius:8px;object-fit:cover;border:1px solid var(--border);}
.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;}
.photo-card{background:var(--panel-2);border:1px solid var(--border);border-radius:12px;overflow:hidden;}
.photo-card img{width:100%;height:140px;object-fit:cover;display:block;}
.photo-card .info{padding:10px 12px;font-size:12.5px;}
.tabs{display:flex;gap:6px;border-bottom:1px solid var(--border);margin-bottom:18px;flex-wrap:wrap;}
.tab{padding:10px 16px;font-size:13.4px;color:var(--text-dim);border-bottom:2px solid transparent;font-weight:600;}
.tab.active{color:var(--primary);border-color:var(--primary);}
.modal-bg{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:100;align-items:center;justify-content:center;}
.modal-bg.show{display:flex;}
.modal{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:24px;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;}
.modal h3{margin-top:0;}
.close-modal{position:absolute;top:16px;right:20px;cursor:pointer;color:var(--text-dim);font-size:18px;}
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 30% 20%,#1c2029,#0f1115 60%);}
.login-card{width:360px;background:var(--panel);border:1px solid var(--border);border-radius:18px;padding:34px;}
.login-card .logo{text-align:center;margin-bottom:22px;}
.login-card .logo .dot{width:14px;height:14px;border-radius:50%;background:var(--primary);display:inline-block;margin-bottom:10px;box-shadow:0 0 16px var(--primary);}
.progress{height:7px;background:var(--panel-2);border-radius:6px;overflow:hidden;}
.progress .bar{height:100%;background:var(--primary);}

@media(max-width:900px){
  .sidebar{transform:translateX(-100%);}
  .sidebar.open{transform:translateX(0);}
  .main{margin-left:0;}
  .burger{display:block;}
}
