@import url('https://fonts.googleapis.com/css2?family=Vazirmatn:wght@400;500;600;700;800;900&display=swap');
:root{--maroon:#7a1a2b;--maroon2:#5c1320;--gold:#c99c48;--cream:#fbf7f2;--line:#eadfe1;--text:#302729;--muted:#776a6c;--green:#25865b;--red:#b53e52;--shadow:0 18px 50px rgba(65,20,29,.1)}*{box-sizing:border-box}body{margin:0;font-family:Vazirmatn,Tahoma,sans-serif;background:#f7f4f1;color:var(--text);direction:rtl}a{text-decoration:none;color:inherit}button,input,select{font:inherit}.admin-login{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 15% 15%,rgba(201,156,72,.18),transparent 32%),radial-gradient(circle at 85% 80%,rgba(122,26,43,.12),transparent 35%),#f8f4ef}.login-card{width:min(440px,100%);background:#fff;border:1px solid var(--line);border-radius:24px;padding:30px;box-shadow:var(--shadow)}.brand{display:flex;align-items:center;gap:12px;margin-bottom:25px}.brand-mark{width:48px;height:48px;border-radius:15px;background:var(--maroon);color:#fff;display:grid;place-items:center;font-weight:900}.brand strong{display:block;font-size:18px;color:var(--maroon)}.brand small{color:var(--muted)}.login-card h1{font-size:23px;margin:0 0 5px}.login-card>p{font-size:13px;color:var(--muted);margin:0 0 22px}.field{margin-bottom:15px}.field label{display:block;font-size:12px;font-weight:700;margin-bottom:7px}.field input,.field select{width:100%;border:1px solid var(--line);border-radius:12px;padding:12px 13px;outline:none;background:#fff}.field input:focus,.field select:focus{border-color:var(--maroon);box-shadow:0 0 0 4px rgba(122,26,43,.08)}.primary{border:0;background:var(--maroon);color:#fff;border-radius:12px;padding:12px 16px;font-weight:800;cursor:pointer}.primary:hover{background:var(--maroon2)}.login-card .primary{width:100%}.back-link{display:block;text-align:center;margin-top:17px;color:var(--muted);font-size:12px}.form-error{min-height:20px;color:var(--red);font-size:12px;margin:6px 0}.admin-shell{min-height:100vh;display:grid;grid-template-columns:270px 1fr}.sidebar{background:linear-gradient(180deg,var(--maroon2),#3f0e17);color:#fff;padding:22px 16px 90px;position:sticky;top:0;height:100vh;overflow-y:auto}.sidebar .brand{margin-bottom:26px;padding:0 4px}.sidebar .brand strong{color:#fff}.sidebar .brand small{color:#dbc5ca}.nav{display:grid;gap:2px}.nav-group-label{font-size:10.5px;font-weight:800;color:#c9a1a8;text-transform:uppercase;letter-spacing:.4px;padding:16px 13px 6px;}
.nav-group-label:first-child{padding-top:4px;}
.nav button,.nav a{width:100%;border:0;background:transparent;color:#eadcdf;padding:10px 13px;border-radius:10px;display:flex;align-items:center;gap:11px;text-align:right;cursor:pointer;font-size:13px;}.nav button i,.nav a i{width:18px;text-align:center;font-size:14px;color:#d9b7bd;flex-shrink:0;}.nav button.active,.nav button:hover,.nav a:hover{background:rgba(255,255,255,.11);color:#fff}.nav button.active i{color:var(--gold);}.sidebar-footer{position:absolute;bottom:20px;right:18px;left:18px}.sidebar-footer button{width:100%;border:1px solid rgba(255,255,255,.25);background:transparent;color:#fff;border-radius:10px;padding:10px;cursor:pointer}.main{padding:26px 30px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.topbar h1{font-size:25px;margin:0}.topbar p{color:var(--muted);font-size:12px;margin:4px 0 0}.sync-now{display:flex;align-items:center;gap:8px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:22px}.stat{background:#fff;border:1px solid var(--line);border-radius:17px;padding:18px;box-shadow:0 8px 28px rgba(65,20,29,.05);display:flex;align-items:center;gap:14px;}.stat .stat-icon{width:44px;height:44px;border-radius:12px;background:var(--cream);color:var(--maroon);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;}.stat small{color:var(--muted);font-size:11px}.stat strong{display:block;font-size:23px;margin-top:6px}.stat .ok{color:var(--green)}.grid{display:grid;grid-template-columns:1.1fr .9fr;gap:20px}.panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:0 8px 28px rgba(65,20,29,.05);margin-bottom:20px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:17px}.panel h2{font-size:17px;margin:0;display:flex;align-items:center;gap:9px;}.panel h2 i{color:var(--maroon);font-size:15px;}.panel p.hint{font-size:11px;color:var(--muted);margin:3px 0 0}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.settings-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.secondary{border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px 14px;font-weight:700;cursor:pointer}.secondary:hover{border-color:var(--maroon);color:var(--maroon)}.table-wrap{overflow:auto}.dates-table{width:100%;border-collapse:collapse;font-size:12px}.dates-table th,.dates-table td{text-align:right;padding:11px 9px;border-bottom:1px solid #f0e7e8;white-space:nowrap}.dates-table th{color:var(--muted);font-size:10.5px}.badge{display:inline-flex;padding:4px 8px;border-radius:20px;font-size:10px;font-weight:700}.badge.green{background:#e8f6ee;color:#25724e}.badge.amber{background:#fff5dc;color:#8c681d}.badge.gray{background:#f0eded;color:#655b5d}.danger-link{border:0;background:transparent;color:var(--red);cursor:pointer}.manual-form{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}.manual-form .full{grid-column:1/-1}.status-box{border:1px solid var(--line);background:var(--cream);border-radius:12px;padding:13px;font-size:12px;line-height:1.8;color:#5d5052}.status-box pre{direction:ltr;text-align:left;white-space:pre-wrap;font:11px monospace}.mobile-menu{display:none}
.topbar-actions{display:flex;align-items:center;gap:14px;}
.notif-wrap{position:relative;}
.notif-bell{position:relative;width:42px;height:42px;border-radius:12px;border:1px solid var(--line);background:#fff;font-size:16px;color:var(--maroon);cursor:pointer;display:flex;align-items:center;justify-content:center;}
.notif-bell:hover{border-color:var(--maroon);}
.notif-dot{position:absolute;top:7px;left:7px;width:9px;height:9px;border-radius:50%;background:var(--red);border:2px solid #fff;}
.notif-dropdown{position:absolute;top:52px;left:0;width:320px;max-height:400px;overflow-y:auto;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 20px 45px -20px rgba(65,20,29,.35);z-index:50;}
.notif-head{padding:14px 16px;font-weight:800;font-size:13px;border-bottom:1px solid var(--line);}
.notif-item{padding:12px 16px;border-bottom:1px solid #f5eeee;font-size:12px;display:flex;gap:10px;align-items:flex-start;}
.notif-item:last-child{border-bottom:none;}
.notif-item i{color:var(--maroon);margin-top:2px;flex-shrink:0;}
.notif-item .ni-title{font-weight:700;margin-bottom:3px;}
.notif-item .ni-time{color:var(--muted);font-size:10.5px;margin-top:3px;}
.notif-empty{padding:24px 16px;text-align:center;color:var(--muted);font-size:12px;}
.stat{position:relative;overflow:hidden;}
.stat::after{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:linear-gradient(180deg,var(--gold),var(--maroon));}
/* ===== Slide-over SEO/Content editor (مطابق نمونه ارسالی) ===== */
.seo-overlay{position:fixed;inset:0;background:rgba(30,10,15,.45);z-index:300;display:none;}
.seo-overlay.open{display:block;}
.seo-drawer{position:fixed;top:0;left:0;bottom:0;width:min(560px,92vw);background:#fff;z-index:301;transform:translateX(-100%);transition:transform .25s ease;overflow-y:auto;box-shadow:24px 0 60px rgba(0,0,0,.25);}
.seo-overlay.open .seo-drawer{transform:translateX(0);}
.seo-drawer-head{display:flex;align-items:center;gap:14px;padding:22px 26px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:2;}
.seo-drawer-close{width:38px;height:38px;border-radius:50%;background:var(--cream);border:none;font-size:16px;color:var(--text);cursor:pointer;flex-shrink:0;}
.seo-drawer-close:hover{background:var(--line);}
.seo-drawer-head h2{font-size:19px;margin:0;}
.seo-drawer-head small{display:block;color:var(--muted);font-size:11.5px;margin-top:3px;}
.seo-drawer-body{padding:24px 26px 40px;}
.seo-field{margin-bottom:20px;}
.seo-field label{display:block;font-size:12.5px;font-weight:800;margin-bottom:8px;}
.seo-field input,.seo-field textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-family:inherit;font-size:13.5px;outline:none;}
.seo-field input:focus,.seo-field textarea:focus{border-color:var(--maroon);box-shadow:0 0 0 4px rgba(122,26,43,.08);}
.seo-field textarea{min-height:70px;resize:vertical;}
.seo-char-counter{font-size:10.5px;color:var(--muted);margin-top:5px;}
.seo-field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.seo-publish-row{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-top:1px solid var(--line);margin-top:6px;}
.seo-toggle{position:relative;width:46px;height:26px;border-radius:20px;background:#ddd;border:none;cursor:pointer;flex-shrink:0;}
.seo-toggle.on{background:var(--green);}
.seo-toggle::after{content:"";position:absolute;top:3px;right:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:.2s;}
.seo-toggle.on::after{right:23px;}
.ai-workflow-box{background:var(--cream);border-radius:14px;padding:16px;margin-top:10px;}
.ai-workflow-box p{font-size:11.5px;color:var(--muted);margin-bottom:12px;line-height:1.8;}
.ai-workflow-box p strong{color:var(--text);}
.ai-workflow-btns{display:flex;gap:8px;flex-wrap:wrap;}
.ai-workflow-btns button{flex:1;min-width:110px;}
.ai-stage-result{margin-top:14px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px;font-size:12px;line-height:1.9;white-space:pre-wrap;display:none;}
.ai-stage-result.show{display:block;}
@media(max-width:1000px){.cards{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr}.admin-shell{grid-template-columns:1fr}.sidebar{position:fixed;z-index:20;right:-280px;width:260px;transition:.2s}.sidebar.open{right:0}.main{padding:20px}.mobile-menu{display:inline-flex;border:1px solid var(--line);background:#fff;border-radius:10px;padding:9px 12px}.topbar{align-items:flex-start}.settings-grid{grid-template-columns:1fr}}
@media(max-width:560px){.cards{grid-template-columns:1fr}.main{padding:15px}.manual-form{grid-template-columns:1fr}.manual-form .full{grid-column:auto}.topbar{flex-wrap:wrap}.sync-now{width:100%}.sync-now .primary{width:100%}.topbar-actions{width:100%;justify-content:space-between}.notif-dropdown{left:auto;right:0;width:280px;}}

.login-contact{margin-top:18px;padding-top:14px;border-top:1px solid #eadfe1;color:#6b5b5e;font-size:11px;line-height:1.9}.login-contact a{color:#7a1a2b;text-decoration:none}.login-contact a:hover{text-decoration:underline}

/* RBAC / content-editor / SEO panels */
.roles-list,.sections-list{display:grid;gap:10px}
.role-row,.section-row{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:#fff}
.section-row{cursor:grab}
.section-row:active{cursor:grabbing}
.drag-handle{color:var(--muted);font-size:16px;user-select:none}
.section-row-body{flex:1}
.section-row-body strong{display:block;font-size:13px}
.section-row-body small{color:var(--muted);font-size:11px}
.perm-group{border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-bottom:10px}
.perm-group strong{display:block;margin-bottom:8px;font-size:12.5px;color:var(--maroon)}
.field-inline{display:flex;align-items:center;gap:8px;font-size:12.5px;margin:6px 0;cursor:pointer}
.field-inline input{width:auto}
.permissions-grid{margin:14px 0}
.char-counter{display:block;color:var(--muted);font-size:10.5px;margin-top:4px;text-align:left}
.list-item-card{border:1px solid var(--line);border-radius:12px;padding:12px;margin-bottom:10px;background:var(--cream)}
.ai-suggestion-card{border:1px solid var(--line);border-radius:12px;padding:14px;margin-top:12px;background:var(--cream);font-size:13px;line-height:1.9}
.ai-suggestion-card ul{margin:8px 0;padding-inline-start:18px}

/* Image upload field (for content blocks like admission-letter cases) */
.image-field-row{display:flex;gap:8px;align-items:center}
.image-field-row input{flex:1}
.upload-btn{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;cursor:pointer;padding:8px 14px}
.image-field-preview{margin-top:8px;max-width:180px;max-height:110px;border-radius:8px;border:1px solid var(--line);object-fit:cover;display:block}
/* final mobile hardening */
html,body{max-width:100%;overflow-x:hidden}
@media(max-width:1000px){.sidebar{display:none;right:0!important}.sidebar.open{display:block;right:0!important}.main{width:100%;min-width:0}.panel,.topbar,.cards,.grid{min-width:0;max-width:100%}}
@media(max-width:560px){.panel{padding:14px}.panel-head{align-items:flex-start;flex-wrap:wrap}.settings-actions{flex-wrap:wrap}.settings-actions>*{max-width:100%}.seo-field-row{grid-template-columns:1fr}.role-row,.section-row{align-items:flex-start;flex-wrap:wrap}.notif-dropdown{max-width:calc(100vw - 30px)}}
#assistantTestInput{min-width:0!important}
@media(max-width:560px){#assistantTestInput{flex:1 1 100%!important}#assistantTestSendBtn{flex:0 0 auto!important}.table-wrap{max-width:100%!important;overflow-x:auto!important}}
