/* پنل مرکزی — RTL، فونت IRANYekan self-hosted، پالت Espresso/Cream/Caramel/Sage */

@font-face{font-family:'IRANYekan';font-style:normal;font-weight:300;src:url('fonts/woff/iranyekanweblightfanum.woff') format('woff'),url('fonts/ttf/iranyekanweblightfanum.ttf') format('truetype');font-display:swap;}
@font-face{font-family:'IRANYekan';font-style:normal;font-weight:400;src:url('fonts/woff/iranyekanwebregularfanum.woff') format('woff'),url('fonts/ttf/iranyekanwebregularfanum.ttf') format('truetype');font-display:swap;}
@font-face{font-family:'IRANYekan';font-style:normal;font-weight:500;src:url('fonts/woff/iranyekanwebmediumfanum.woff') format('woff'),url('fonts/ttf/iranyekanwebmediumfanum.ttf') format('truetype');font-display:swap;}
@font-face{font-family:'IRANYekan';font-style:normal;font-weight:700;src:url('fonts/woff/iranyekanwebboldfanum.woff') format('woff'),url('fonts/ttf/iranyekanwebboldfanum.ttf') format('truetype');font-display:swap;}
@font-face{font-family:'IRANYekan';font-style:normal;font-weight:800;src:url('fonts/woff/iranyekanwebextraboldfanum.woff') format('woff'),url('fonts/ttf/iranyekanwebextraboldfanum.ttf') format('truetype');font-display:swap;}

:root{
  --espresso:#3b2a1e; --cream:#f6f1e7; --caramel:#b07d4f; --sage:#6f8f6a;
  --primary:#3f7a5c; --primary-dark:#2f5f47; --danger:#c0392b;
  --surface:#fff; --surface-2:#faf7f2; --border:#e6e1da;
  --text:#2a231d; --muted:#8a7d6f;
  --radius:10px; --shadow:0 2px 10px rgba(40,28,15,.07);
}
*{box-sizing:border-box;}
body{margin:0;font-family:'IRANYekan',Tahoma,"Vazirmatn",Arial,sans-serif;background:var(--cream);color:var(--text);font-size:14px;line-height:1.8;}
a{color:var(--primary);text-decoration:none;}
a:hover{text-decoration:underline;}
h1,h2,h3{margin:0 0 12px;color:var(--espresso);}
h1{font-size:22px;} h2{font-size:18px;} h3{font-size:15px;}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;direction:ltr;text-align:left;}

table{width:100%;border-collapse:collapse;background:var(--surface);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);}
th,td{padding:10px 12px;text-align:right;border-bottom:1px solid var(--border);font-size:13px;vertical-align:middle;}
th{background:var(--surface-2);font-size:12px;color:var(--muted);font-weight:700;}
tr:last-child td{border-bottom:none;}
.table-wrap{overflow-x:auto;}

.btn{display:inline-block;padding:8px 14px;border-radius:8px;border:1px solid transparent;cursor:pointer;font-family:inherit;font-size:13px;font-weight:700;line-height:1.6;}
.btn:hover{text-decoration:none;}
.btn-primary{background:var(--primary);color:#fff;}
.btn-primary:hover{background:var(--primary-dark);}
.btn-danger{background:var(--danger);color:#fff;}
.btn-warn{background:#a3651a;color:#fff;}
.btn-outline{background:transparent;border-color:var(--border);color:var(--text);}
.btn-outline:hover{border-color:var(--caramel);}
.btn-sm{padding:4px 9px;font-size:12px;}
.btn-block{width:100%;}

.badge{display:inline-block;padding:2px 9px;border-radius:20px;font-size:11px;font-weight:700;white-space:nowrap;}
.badge-success{background:#e7f7ee;color:#1f7a4a;}
.badge-warning{background:#fdf1de;color:#a3651a;}
.badge-danger{background:#fbe9e9;color:#a22;}
.badge-muted{background:#efece7;color:#777;}
.badge-info{background:#e8f0fe;color:#2456a3;}

.app-shell{display:grid;grid-template-columns:238px 1fr;min-height:100vh;}
.sidebar{background:var(--surface);border-inline-end:1px solid var(--border);display:flex;flex-direction:column;}
.sidebar-brand{display:flex;gap:10px;align-items:center;padding:18px;border-bottom:1px solid var(--border);}
.sidebar-brand .logo{width:38px;height:38px;border-radius:11px;background:var(--caramel);color:#fff;display:flex;align-items:center;justify-content:center;font-size:19px;}
.sidebar-brand b{display:block;font-size:14px;color:var(--espresso);}
.sidebar-brand span{font-size:11px;color:var(--muted);}
.sidebar nav{padding:10px;display:flex;flex-direction:column;gap:2px;}
.sidebar nav a{display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:9px;color:var(--text);font-size:13px;font-weight:600;}
.sidebar nav a:hover{background:var(--surface-2);text-decoration:none;}
.sidebar nav a.active{background:#eef5f0;color:var(--primary-dark);}
.sidebar-foot{margin-top:auto;padding:12px;border-top:1px solid var(--border);font-size:11px;color:var(--muted);}
.main{min-width:0;display:flex;flex-direction:column;}
.topbar{background:rgba(255,255,255,.92);backdrop-filter:blur(6px);border-bottom:1px solid var(--border);padding:12px 18px;display:flex;align-items:center;gap:12px;position:sticky;top:0;z-index:20;}
.topbar h1{margin:0;font-size:17px;}
.topbar .spacer{margin-inline-start:auto;}
.content{padding:18px;display:flex;flex-direction:column;gap:16px;}

.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px;}
.card-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;}
.card-title h2,.card-title h3{margin:0;}
.grid{display:grid;gap:14px;}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr));}
@media(max-width:1000px){.grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:760px){
  .app-shell{grid-template-columns:1fr;}
  .sidebar{position:fixed;inset-inline-start:0;top:0;bottom:0;width:238px;transform:translateX(110%);transition:transform .2s;z-index:50;}
  body.nav-open .sidebar{transform:none;}
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr;}
}

.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px;box-shadow:var(--shadow);}
.stat .label{font-size:12px;color:var(--muted);}
.stat .value{font-size:21px;font-weight:800;color:var(--espresso);margin-top:4px;}
.stat .hint{font-size:11px;color:var(--muted);}

label.lbl{display:block;font-size:12px;font-weight:700;color:var(--muted);margin-bottom:5px;}
.input,select.input,textarea.input{width:100%;padding:9px 11px;border:1px solid var(--border);border-radius:9px;font-family:inherit;font-size:13px;background:var(--surface-2);color:var(--text);}
.input:focus{outline:2px solid #cfe3d7;border-color:var(--primary);}
.field{margin-bottom:12px;}
.field-row{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));}
@media(max-width:760px){.field-row{grid-template-columns:1fr;}}
.hint{font-size:11px;color:var(--muted);}

.alert{padding:11px 14px;border-radius:10px;font-size:13px;border:1px solid transparent;}
.alert-success{background:#e7f7ee;border-color:#bfe6d1;color:#1f7a4a;}
.alert-error{background:#fbe9e9;border-color:#f0c7c7;color:#a22;}
.alert-warn{background:#fdf1de;border-color:#f0dcb8;color:#a3651a;}
.alert-info{background:#e8f0fe;border-color:#c8daf7;color:#2456a3;}

.filters{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;}
.filters .field{margin:0;min-width:150px;flex:1;}
.pagination{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:14px;font-size:12px;}
.pagination a,.pagination span{padding:5px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);}
.pagination .current{background:var(--primary);color:#fff;border-color:var(--primary);}
.empty{padding:26px;text-align:center;color:var(--muted);font-size:13px;}
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:radial-gradient(circle at 30% 20%,#5a4030,var(--espresso) 70%);}
.login-card{width:100%;max-width:390px;background:var(--surface);border-radius:16px;box-shadow:0 18px 40px rgba(0,0,0,.28);padding:24px;}
.login-card .logo{width:58px;height:58px;margin:0 auto 12px;border-radius:16px;background:var(--caramel);color:#fff;display:flex;align-items:center;justify-content:center;font-size:28px;}
.chip{display:inline-block;padding:2px 8px;border-radius:8px;background:var(--surface-2);border:1px solid var(--border);font-size:11px;color:var(--muted);}
.kv{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:13px;}
.kv dt{color:var(--muted);font-size:12px;}
.kv dd{margin:0;font-weight:600;}
.timeline{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
.timeline li{border-inline-start:3px solid var(--border);padding:2px 12px;font-size:12px;}
.timeline li b{font-size:12px;}
.timeline li span{color:var(--muted);}
.receipt-thumb{max-width:180px;border:1px solid var(--border);border-radius:8px;}
.actions{display:flex;flex-wrap:wrap;gap:8px;}
.inline{display:inline;}
