/* =========================================================
   Version 12 — Clean enterprise UI + Vazirmatn + Persian Calendar
   ========================================================= */
:root{
  --ui-bg:#f4f6f9;
  --ui-surface:#ffffff;
  --ui-surface-soft:#f8fafc;
  --ui-text:#172033;
  --ui-muted:#6f7b8f;
  --ui-line:#e4e9f0;
  --ui-line-strong:#d5dde7;
  --ui-primary:var(--primary,#2563eb);
  --ui-secondary:var(--secondary,#06b6d4);
  --ui-radius:16px;
  --ui-radius-lg:20px;
  --ui-shadow:0 8px 26px rgba(15,23,42,.055);
  --ui-shadow-hover:0 14px 34px rgba(15,23,42,.09);
}
html{font-family:"Vazirmatn",Tahoma,Arial,sans-serif!important}
body,button,input,select,textarea,table{font-family:"Vazirmatn",Tahoma,Arial,sans-serif!important}
body{font-size:13px;line-height:1.85;background:var(--ui-bg)!important;color:var(--ui-text)!important}
h1,h2,h3,h4,h5,h6{font-family:"Vazirmatn",Tahoma,Arial,sans-serif!important;letter-spacing:-.015em}

/* App shell */
.admin-body{background:var(--ui-bg)!important}
.layout{background:var(--ui-bg)}
.sidebar{
  width:258px!important;
  background:linear-gradient(180deg,#101827 0%,#121d30 58%,#14243a 100%)!important;
  border-left:1px solid rgba(255,255,255,.055);
  padding:16px 14px!important;
  box-shadow:none!important;
}
.content{padding:22px 24px 46px!important;max-width:calc(100vw - 258px)!important}
.brand{padding:2px 3px 13px!important}
.brand-icon{width:42px!important;height:42px!important;border-radius:13px!important;background:rgba(255,255,255,.08)!important;box-shadow:none!important}
.brand>div{font-size:15px!important;font-weight:800}.brand small{font-size:9.5px!important;color:#91a0b7!important}
.userbox{border-radius:14px!important;padding:11px!important;background:rgba(255,255,255,.055)!important;border-color:rgba(255,255,255,.07)!important;box-shadow:none!important}
.avatar-img,.avatar-fallback{border-radius:11px!important}
.sidebar nav{gap:2px!important}
.sidebar nav a{min-height:48px;padding:8px 9px!important;border-radius:12px!important;color:#cbd5e1!important}
.sidebar nav a>span{width:32px!important;height:32px!important;flex-basis:32px!important;border-radius:10px!important;background:rgba(255,255,255,.045)!important;font-size:15px!important}
.sidebar nav a b{font-size:12px!important}.sidebar nav a small{font-size:8.7px!important;color:#8190a6!important}
.sidebar nav a:hover{background:rgba(255,255,255,.065)!important;border-color:rgba(255,255,255,.06)!important}
.sidebar nav a.active{background:rgba(70,112,255,.15)!important;border-color:rgba(117,152,255,.18)!important;box-shadow:none!important;color:#fff!important}
.sidebar nav a.active:before{right:-14px!important;top:11px!important;bottom:11px!important;width:3px!important;background:#74a2ff!important}
.sidebar nav a.active>span{background:rgba(91,130,255,.22)!important}.sidebar nav a.active small{color:#a9bce8!important}
.nav-divider{margin:9px 3px 4px!important;color:#637188!important}

/* Clean page header */
.admin-page-header{
  background:#fff!important;
  color:var(--ui-text)!important;
  border:1px solid var(--ui-line)!important;
  border-radius:18px!important;
  padding:16px 18px!important;
  margin:0 0 16px!important;
  box-shadow:var(--ui-shadow)!important;
  overflow:visible!important;
}
.admin-page-header:before,.admin-page-header:after{display:none!important}
.admin-page-header *{color:inherit!important}
.admin-page-left{gap:12px!important}.admin-page-icon{width:48px!important;height:48px!important;border-radius:14px!important;background:color-mix(in srgb,var(--ui-primary) 9%,#fff)!important;color:var(--ui-primary)!important;border:1px solid color-mix(in srgb,var(--ui-primary) 14%,#e6eaf0)!important;box-shadow:none!important;font-size:22px!important}
.admin-page-kicker{font-size:9.5px!important;color:var(--ui-primary)!important;opacity:1!important;font-weight:800!important}
.admin-page-title{font-size:20px!important;color:var(--ui-text)!important;margin:0!important}.admin-page-left p{font-size:10.5px!important;color:var(--ui-muted)!important;margin:3px 0 0!important;opacity:1!important}
.admin-page-meta{gap:7px!important}
.admin-page-meta>div,.admin-meta-chip,.header-calendar-trigger{background:var(--ui-surface-soft)!important;border:1px solid var(--ui-line)!important;color:#465268!important;border-radius:12px!important;padding:7px 10px!important;box-shadow:none!important;min-height:38px;display:flex;align-items:center;gap:7px}
.header-calendar-trigger{appearance:none;cursor:pointer;font:inherit}.header-calendar-trigger:hover{background:#fff!important;border-color:#cbd6e3!important}
.admin-page-meta b{font-size:10.5px!important;font-weight:700!important}
.admin-page-actions{background:transparent!important;border:0!important;padding:0!important;gap:7px!important;min-height:0!important}
.admin-page-header .btn.light{background:#f7f9fc!important;color:#39475d!important;border:1px solid var(--ui-line)!important}
.admin-page-header .btn.primary{background:var(--ui-primary)!important;color:#fff!important;border-color:var(--ui-primary)!important}
.admin-page-header .btn.primary *{color:#fff!important}

/* Cards / stats */
.card,.settings-section,.endpoint-stat,.endpoint-mini,.stat,.workflow-dashboard-cards>a,.queue-cards>a,.workflow-summary>div,.command-stat{
  background:#fff!important;border:1px solid var(--ui-line)!important;border-radius:var(--ui-radius-lg)!important;box-shadow:var(--ui-shadow)!important
}
.card{padding:18px!important;margin-bottom:15px!important}.card h2{font-size:14px!important;color:#1d2939!important;margin-bottom:12px!important}
.card:hover,.endpoint-stat:hover,.workflow-dashboard-cards>a:hover,.queue-cards>a:hover{border-color:#d5dce6!important;box-shadow:var(--ui-shadow-hover)!important}
.grid{gap:11px!important}.stat{padding:15px!important;min-height:138px}.stat .stat-icon{width:38px!important;height:38px!important;border-radius:12px!important;background:#f2f5ff!important;font-size:17px!important;margin-bottom:9px!important}.stat b{font-size:25px!important;color:#1b2740!important;margin-top:5px!important}.stat small{font-size:9.5px!important;color:var(--ui-muted)!important}
.endpoint-stats{gap:9px!important;margin-bottom:14px!important}.endpoint-stat{min-height:80px!important;padding:12px!important;gap:9px!important}.endpoint-stat>span{width:38px!important;height:38px!important;flex-basis:38px!important;border-radius:12px!important;font-size:16px!important}.endpoint-stat b{font-size:20px!important}.endpoint-stat small{font-size:9px!important}
.workflow-dashboard-cards,.queue-cards{gap:9px!important;margin-bottom:14px!important}.workflow-dashboard-cards>a,.queue-cards>a{padding:13px!important;border-radius:16px!important}.workflow-dashboard-cards span,.queue-cards span{font-size:20px!important}.workflow-dashboard-cards b,.queue-cards b{font-size:20px!important}.workflow-dashboard-cards small,.queue-cards small{font-size:9.5px!important}

/* Buttons and forms */
.btn{min-height:38px!important;border-radius:10px!important;padding:8px 13px!important;font-size:11.5px!important;font-weight:700!important;box-shadow:none!important;transition:.16s ease!important}
.btn:hover{transform:translateY(-1px)!important;box-shadow:0 6px 15px rgba(15,23,42,.08)!important}
.btn.primary{background:var(--ui-primary)!important;border-color:var(--ui-primary)!important}.btn.light{background:#f4f7fb!important;color:#31517e!important;border-color:#e0e7ef!important}.btn.ghost{background:#fff!important;border-color:var(--ui-line)!important;color:#475467!important}.btn.success{background:#159467!important}.btn.danger{background:#d74747!important}
.field label{font-size:11px!important;font-weight:700!important;color:#465268!important;margin-bottom:5px!important}.field input,.field select,.field textarea,.searchbar input,.searchbar select,.filter-control select{border-radius:10px!important;border:1px solid var(--ui-line-strong)!important;background:#fff!important;min-height:41px!important;padding:9px 11px!important;color:#202b3c!important;box-shadow:none!important}
.field input:focus,.field select:focus,.field textarea:focus,.searchbar input:focus,.searchbar select:focus,.filter-control select:focus{border-color:color-mix(in srgb,var(--ui-primary) 60%,#b9c3d0)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--ui-primary) 8%,transparent)!important}
.field textarea{min-height:100px!important}.searchbar{gap:8px!important;margin-bottom:13px!important}.form-grid{gap:11px!important}
.filter-toolbar{background:#fff!important;border:1px solid var(--ui-line)!important;border-radius:15px!important;padding:10px!important;gap:9px!important}.filter-live-status{background:#f4f7fb!important;color:#5a6680!important;border-radius:10px!important;font-size:10.5px!important;padding:9px 10px!important}

/* Tables */
.table-wrap{border-radius:16px!important;border:1px solid var(--ui-line)!important;background:#fff!important;box-shadow:var(--ui-shadow)!important}
.table{font-size:11px!important}.table th{background:#f7f9fb!important;color:#607087!important;font-size:10.5px!important;font-weight:800!important;padding:10px 10px!important;border-bottom:1px solid var(--ui-line)!important}.table td{padding:11px 10px!important;border-bottom:1px solid #edf1f5!important;color:#344054!important}.table tr:hover td{background:#fafcff!important}.table tr:last-child td{border-bottom:0!important}
.badge{border-radius:999px!important;padding:4px 8px!important;font-size:9.5px!important;font-weight:750!important}

/* Timeline / tabs / alerts */
.timeline{border-right:1px solid #dbe4ee!important;padding-right:16px!important}.timeline-item{border-radius:13px!important;background:#fbfcfe!important;border-color:#e8edf3!important;padding:11px!important;margin-bottom:11px!important}.timeline-item:before{width:9px!important;height:9px!important;right:-21px!important;top:17px!important;border:2px solid #fff;box-shadow:0 0 0 1px #bcd0eb}
.tabs{gap:6px!important}.tab{border-radius:9px!important;padding:8px 12px!important;background:#f1f4f8!important;color:#5f6c80!important;font-size:10.5px!important}.tab.active{background:var(--ui-primary)!important;color:#fff!important}
.alert,.notice{border-radius:12px!important;font-size:11px!important;padding:10px 12px!important}
.empty-state{border-radius:14px!important;padding:24px!important;background:#fafbfd!important}

/* Persian date input */
.jalali-date{direction:rtl!important;text-align:right!important;padding-left:42px!important;background-image:linear-gradient(transparent,transparent)!important;cursor:pointer!important}
.field:has(.jalali-date){position:relative}.field:has(.jalali-date):after{content:"📅";position:absolute;left:11px;bottom:9px;font-size:16px;pointer-events:none;filter:grayscale(.15)}

/* Persian date picker v12 */
.jalali-picker{
  display:none;position:absolute;z-index:99999;width:330px!important;padding:0!important;background:#fff!important;
  border:1px solid #dce3ec!important;border-radius:18px!important;box-shadow:0 22px 60px rgba(15,23,42,.18)!important;
  direction:rtl!important;overflow:hidden;animation:jpIn .16s ease-out
}
@keyframes jpIn{from{opacity:0;transform:translateY(-4px) scale(.99)}to{opacity:1;transform:none}}
.jp-top{padding:14px 15px 12px;background:linear-gradient(145deg,#f9fbff,#f2f6ff);border-bottom:1px solid #e7ecf2}
.jp-current-label{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.jp-current-label small{font-size:9.5px;color:#7a8798}.jp-current-label strong{font-size:13px;color:#24344e}
.jp-head{display:grid!important;grid-template-columns:36px minmax(0,1fr) 36px;align-items:center;gap:7px;margin:0!important}
.jp-head>button{width:36px;height:36px;padding:0!important;border:1px solid #dfe6ef!important;background:#fff!important;color:#41506a!important;border-radius:10px!important;font-size:20px!important;line-height:1!important;box-shadow:0 3px 10px rgba(15,23,42,.035)}
.jp-head>button:hover{border-color:#bdcbe0!important;color:var(--ui-primary)!important}
.jp-month-selects{display:grid;grid-template-columns:1.35fr .9fr;gap:6px}.jp-month-selects select{width:100%;height:36px;border:1px solid #dfe6ef;border-radius:10px;background:#fff;color:#293750;font:600 11px "Vazirmatn",Tahoma,sans-serif;padding:0 8px;outline:none}
.jp-week{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;padding:10px 12px 4px}.jp-week span{text-align:center;font-size:9px;font-weight:800;color:#8994a4}.jp-week span:last-child{color:#d34c4c}
.jp-days{display:grid!important;grid-template-columns:repeat(7,1fr)!important;gap:4px!important;text-align:center;padding:4px 12px 12px!important}
.jp-days em{min-height:36px!important}.jp-days button{height:36px!important;padding:0!important;border:1px solid transparent!important;background:transparent!important;border-radius:10px!important;color:#3d495b!important;font:600 10.5px "Vazirmatn",Tahoma,sans-serif!important;transition:.12s!important;position:relative}
.jp-days button:hover{background:#f0f4ff!important;color:var(--ui-primary)!important;border-color:#dce7ff!important}.jp-days button.jp-friday{color:#c74040!important}.jp-days button.jp-today{border-color:#aac5ff!important;color:var(--ui-primary)!important;background:#f7faff!important;font-weight:900!important}.jp-days button.jp-today:after{content:"";position:absolute;width:4px;height:4px;border-radius:50%;background:var(--ui-primary);bottom:3px;left:50%;transform:translateX(-50%)}.jp-days button.jp-selected{background:var(--ui-primary)!important;color:#fff!important;border-color:var(--ui-primary)!important;box-shadow:0 5px 12px color-mix(in srgb,var(--ui-primary) 22%,transparent)!important}.jp-days button.jp-selected:after{background:#fff!important}
.jp-foot{display:flex!important;align-items:center;justify-content:space-between;margin:0!important;padding:9px 12px!important;border-top:1px solid #edf1f5;background:#fbfcfe}.jp-foot button{height:34px!important;padding:0 11px!important;border:1px solid #e0e7ef!important;background:#fff!important;color:#4a5870!important;border-radius:9px!important;font-size:10px!important}.jp-foot [data-jp-today]{background:#eef4ff!important;color:var(--ui-primary)!important;border-color:#d7e4ff!important;font-weight:800!important}.jp-foot [data-jp-clear]{color:#a34b4b!important}

/* Dashboard month calendar */
.dashboard-lower-grid{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr);gap:14px;align-items:start}.dashboard-lower-grid>.card{margin-bottom:0!important}.dashboard-calendar-card{position:sticky;top:14px}.dashboard-calendar-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.dashboard-calendar-head>div b{display:block;font-size:13px}.dashboard-calendar-head>div small{display:block;color:var(--ui-muted);font-size:9px;margin-top:2px}.dashboard-calendar-today{display:flex;align-items:center;gap:8px;background:#f5f8ff;border:1px solid #e0e9ff;border-radius:11px;padding:7px 10px;color:#365488}.dashboard-calendar-week,.dashboard-calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;text-align:center}.dashboard-calendar-week{margin:11px 0 5px}.dashboard-calendar-week span{font-size:8.5px;font-weight:800;color:#929cab}.dashboard-calendar-week span:last-child{color:#ca5454}.dashboard-calendar-days span{height:34px;display:grid;place-items:center;border-radius:9px;font-size:9.5px;color:#4b596d}.dashboard-calendar-days span.empty{visibility:hidden}.dashboard-calendar-days span.friday{color:#c84242}.dashboard-calendar-days span.today{background:var(--ui-primary);color:#fff;font-weight:900;box-shadow:0 5px 13px color-mix(in srgb,var(--ui-primary) 20%,transparent)}

/* Public pages and login */
.public-page{background:#f4f7fb!important}.public-header{padding:18px 0!important}.public-brand{font-size:18px!important}.public-header p{font-size:10.5px!important}.hero-card{border-radius:22px!important;padding:28px!important;border-color:var(--ui-line)!important;box-shadow:var(--ui-shadow)!important}.hero-card:before{display:none!important}.hero-card h1{font-size:27px!important;line-height:1.65!important}.public-option{border-radius:18px!important;padding:20px!important;border-color:var(--ui-line)!important;background:#fff!important}.public-option.primary{background:linear-gradient(135deg,var(--ui-primary),#3d6edb)!important}.public-option .big-icon{width:46px!important;height:46px!important;border-radius:13px!important}.public-option b{font-size:16px!important}.public-option span{font-size:11px!important}
.login-page{background:#f3f6fa!important;position:relative;overflow:hidden}.login-page:before{content:"";position:fixed;inset:0;background:radial-gradient(circle at 80% 0%,rgba(37,99,235,.11),transparent 30%),radial-gradient(circle at 10% 90%,rgba(6,182,212,.08),transparent 30%);pointer-events:none}.login-card{position:relative;width:min(410px,92vw)!important;border:1px solid var(--ui-line)!important;border-radius:20px!important;padding:25px!important;box-shadow:0 22px 65px rgba(15,23,42,.12)!important}.login-card h1{font-size:20px!important;margin-top:0}.login-card p{font-size:10.5px!important}

/* Mobile */
@media(max-width:1020px){
  .content{max-width:none!important;padding:16px 14px 40px!important}.sidebar{width:276px!important}.mobile-admin-bar{font-family:"Vazirmatn",Tahoma,Arial,sans-serif!important;background:rgba(255,255,255,.97)!important;border-bottom-color:var(--ui-line)!important}
}
@media(max-width:760px){
  .admin-page-header{padding:13px!important;border-radius:15px!important}.admin-page-icon{width:42px!important;height:42px!important}.admin-page-title{font-size:16px!important}.admin-page-meta{display:none!important}
  .grid,.form-grid,.form-grid.compact{grid-template-columns:1fr!important}.dashboard-lower-grid{grid-template-columns:1fr}.dashboard-calendar-card{position:static}.jalali-picker{width:min(330px,94vw)!important;left:3vw!important}
  .public-header{width:min(94vw,1100px)!important}.hero-card{padding:20px!important}.hero-card h1{font-size:21px!important}.public-actions{grid-template-columns:1fr!important}
}

/* v13 — server-fed market + prayer widgets */
.dashboard-feed-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:18px 0}
.dashboard-feed-card{position:relative;text-decoration:none;color:inherit;overflow:hidden;min-height:160px;transition:.18s ease}
.dashboard-feed-card:hover{transform:translateY(-2px);box-shadow:0 18px 45px rgba(15,23,42,.10)}
.dashboard-feed-card.market:before,.dashboard-feed-card.prayer:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:linear-gradient(180deg,#f59e0b,#f97316)}
.dashboard-feed-card.prayer:before{background:linear-gradient(180deg,#10b981,#0ea5e9)}
.dashboard-feed-head{display:flex;align-items:center;gap:12px;margin-bottom:16px}.dashboard-feed-head>span{font-size:30px}.dashboard-feed-head div{display:grid;gap:3px}.dashboard-feed-head small{color:var(--muted,#64748b)}
.dashboard-feed-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.dashboard-feed-values>div{background:#f8fafc;border:1px solid #e8edf4;border-radius:14px;padding:11px;display:grid;gap:5px}.dashboard-feed-values small{color:#64748b}.dashboard-feed-values b{font-size:15px;direction:ltr;text-align:right}
.feed-age{display:inline-flex;margin-top:12px;font-size:11px;color:#64748b}
.feed-architecture{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;margin-bottom:18px}.feed-architecture>span{font-size:24px;color:#94a3b8}.feed-node{min-width:190px;display:grid;place-items:center;gap:5px;padding:16px;border:1px solid #e5eaf1;border-radius:16px;background:#f8fafc;text-align:center}.feed-node>b{font-size:14px}.feed-node>small{color:#64748b}.feed-node.internet{background:#fff7ed}.feed-node.server{background:#eff6ff}.feed-node.lan{background:#ecfdf5}
.feed-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.feed-panel{min-height:260px}.card-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.status-badge{padding:5px 10px;border-radius:999px;font-size:11px}.status-badge.success{background:#dcfce7;color:#166534}.status-badge.warning{background:#fef3c7;color:#92400e}
.market-mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:15px 0}.market-mini-grid>div,.prayer-mini-grid>div{border:1px solid #e7ebf1;background:#f8fafc;border-radius:14px;padding:12px;display:grid;gap:6px}.market-mini-grid span,.prayer-mini-grid span{font-size:11px;color:#64748b}.market-mini-grid b{direction:ltr;text-align:right}
.prayer-mini-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:15px 0}.prayer-mini-grid b{font-size:18px;direction:ltr;text-align:right}
.feed-code{display:block;direction:ltr;text-align:left;white-space:pre-wrap;word-break:break-all;background:#0f172a;color:#e2e8f0;padding:13px 15px;border-radius:13px;margin-top:12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}
.settings-subtitle{font-size:14px;margin:20px 0 12px;padding-top:16px;border-top:1px solid #e5e7eb}
@media(max-width:850px){.dashboard-feed-grid,.feed-status-grid{grid-template-columns:1fr}.dashboard-feed-values{grid-template-columns:1fr 1fr}.prayer-mini-grid{grid-template-columns:repeat(2,1fr)}}
