@font-face{font-family:Pinar;src:url(/fonts/Pinar-DS4-FD-Light.woff2) format("woff2");font-weight:300;font-display:swap}@font-face{font-family:Pinar;src:url(/fonts/Pinar-DS4-FD-Regular.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Pinar;src:url(/fonts/Pinar-DS4-FD-Medium.woff2) format("woff2");font-weight:500;font-display:swap}@font-face{font-family:Pinar;src:url(/fonts/Pinar-DS4-FD-Bold.woff2) format("woff2");font-weight:700;font-display:swap}@font-face{font-family:Pinar;src:url(/fonts/Pinar-DS4-FD-ExtraBold.woff2) format("woff2");font-weight:800;font-display:swap}@font-face{font-family:Pinar;src:url(/fonts/Pinar-DS4-FD-Black.woff2) format("woff2");font-weight:900;font-display:swap}:root{--cream: #faf7f2;--cream-deep: #f3ede4;--surface: #ffffff;--ink: #23282d;--charcoal: #3e464d;--text-soft: #6d7780;--text-faint: #9aa4ac;--blue: #8fb8d9;--blue-tint: #edf4fa;--teal: #85c5bc;--teal-tint: #ebf7f5;--lavender: #b9aeda;--lavender-tint: #f2f0fa;--sage: #a7c49a;--sage-tint: #f0f6ed;--rose: #d3a3a3;--rose-tint: #fbf0f0;--sand: #dcc79a;--primary: #4e86ae;--primary-hover: #416f92;--primary-tint: #e9f2f8;--income: #5f9c73;--expense: #b57878;--danger: #a86a6a;--danger-tint: #fbf0f0;--ok: #5f9c73;--ok-tint: #eef6f0;--line: #ece5da;--line-hover: #ddd4c6;--line-soft: #f4efe7;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--radius: 10px;--radius-lg: 16px;--pill: 999px;--shadow-sm: 0 1px 2px rgba(35, 40, 45, .04);--shadow: 0 2px 10px rgba(35, 40, 45, .05), 0 1px 3px rgba(35, 40, 45, .03);--shadow-lg: 0 10px 30px rgba(35, 40, 45, .07);--font: "Pinar", system-ui, sans-serif;--ease: cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);background:var(--cream);color:var(--charcoal);font-size:12.5px;line-height:1.65;-webkit-font-smoothing:antialiased}*{scrollbar-width:thin;scrollbar-color:var(--line-hover) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background-color:var(--line-hover);border-radius:999px;border:2px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background-color:var(--text-faint)}h1,h2,h3{color:var(--ink);letter-spacing:-.01em}.num,td.num,.value,.money,input[inputmode=numeric]{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.money{font-weight:500;color:var(--ink)}.money.in{color:var(--income)}.money.out{color:var(--expense)}.shell{display:grid;grid-template-columns:248px 1fr;height:100%}.sidebar{background:var(--surface);border-left:1px solid var(--line);display:flex;flex-direction:column;overflow-y:auto}.sidebar-brand{padding:var(--sp-5) var(--sp-5) var(--sp-4);display:flex;align-items:center;gap:var(--sp-3)}.brand-mark{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,var(--teal),var(--blue));display:grid;place-items:center;color:#fff;font-weight:700;font-size:15px;flex-shrink:0}.sidebar-brand h1{margin:0;font-size:17px;font-weight:700;line-height:1.4}.sidebar-brand span{display:block;font-size:11px;color:var(--text-faint);line-height:1.4}.nav{padding:var(--sp-2) var(--sp-3);flex:1}.nav-group-title{font-size:11px;font-weight:500;color:var(--text-faint);padding:var(--sp-4) var(--sp-3) var(--sp-1)}.nav a{display:flex;align-items:center;gap:var(--sp-3);padding:9px var(--sp-3);border-radius:var(--radius);color:var(--text-soft);text-decoration:none;font-size:13.5px;margin-bottom:2px;transition:background .15s var(--ease),color .15s var(--ease)}.nav a svg{flex-shrink:0;opacity:.7}.nav a:hover{background:var(--cream);color:var(--charcoal)}.nav a.active{background:var(--primary-tint);color:var(--primary);font-weight:500}.nav a.active svg{opacity:1}.sidebar-foot{padding:var(--sp-4);font-size:11px;color:var(--text-faint);border-top:1px solid var(--line-soft)}.content{display:grid;grid-template-rows:auto 1fr;overflow:hidden}.header{height:64px;background:var(--surface);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:var(--sp-3);padding:0 var(--sp-5)}.search{position:relative;flex:1;max-width:380px}.search svg{position:absolute;right:var(--sp-3);top:50%;transform:translateY(-50%);color:var(--text-faint);pointer-events:none}.search input{width:100%;padding:8px 36px 8px var(--sp-3);background:var(--cream);border:1px solid transparent;border-radius:var(--pill);font-size:13px;transition:background .15s var(--ease),border-color .15s var(--ease)}.search input::placeholder{color:var(--text-faint)}.search input:focus{background:var(--surface);border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-tint)}.header-spacer{flex:1}.icon-btn{position:relative;width:36px;height:36px;display:grid;place-items:center;border-radius:var(--radius);background:transparent;border:none;color:var(--text-soft);cursor:pointer;padding:0}.icon-btn:hover:not(:disabled){background:var(--cream);color:var(--charcoal)}.mobile-nav-toggle{display:none;width:36px;height:36px;padding:0;align-items:center;justify-content:center;border-radius:var(--radius);background:transparent;border:none;box-shadow:none;color:var(--text-soft);flex-shrink:0}.mobile-nav-toggle:hover:not(:disabled){background:var(--cream);color:var(--charcoal);box-shadow:none;transform:none}.dot{position:absolute;top:8px;right:9px;width:6px;height:6px;border-radius:50%;background:var(--rose);border:1.5px solid var(--surface)}.profile{display:flex;align-items:center;gap:var(--sp-3);padding-right:var(--sp-3);margin-right:var(--sp-1);border-right:1px solid var(--line)}.avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--lavender),var(--blue));display:grid;place-items:center;color:#fff;font-weight:500;font-size:13px;flex-shrink:0}.profile-name{font-size:13px;font-weight:500;color:var(--ink);line-height:1.3}.profile-role{font-size:11px;color:var(--text-faint);line-height:1.3}.main{overflow-y:auto;padding:var(--sp-5)}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--sp-4);margin-bottom:var(--sp-5);flex-wrap:wrap}.page-head h2{margin:0;font-size:18px;font-weight:700}.page-head p{margin:2px 0 0;color:var(--text-faint);font-size:13px}.card{position:relative;background:var(--surface);border:none;border-radius:var(--radius-lg);box-shadow:var(--shadow);margin-bottom:var(--sp-4)}.card:before{content:"";position:absolute;inset:0 0 auto 0;height:3px;border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:linear-gradient(90deg,var(--blue),var(--lavender) 45%,var(--rose) 85%)}.card-head{padding:14px var(--sp-4);font-weight:500;font-size:13px;color:var(--ink);display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3)}.card-head+.table-wrap,.card-head+.card-body{border-top:1px solid var(--line-soft)}.card-body{padding:var(--sp-5)}.card-sub{font-size:11.5px;color:var(--text-faint);font-weight:400}.dash-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4);align-items:start}.dash-grid .card{margin-bottom:0}.span-2{grid-column:span 2}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:12.5px}th{text-align:right;font-weight:600;font-size:11px;color:var(--text-soft);padding:11px var(--sp-4);background:var(--cream);white-space:nowrap}td{padding:11px var(--sp-4);border-top:1px solid var(--line-soft)}tbody tr{transition:background .12s var(--ease)}tbody tr:hover{background:var(--cream)}.empty{padding:var(--sp-6);text-align:center;color:var(--text-faint);font-size:13px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--sp-4) var(--sp-5)}.form-grid.tight{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.form-section+.form-section{margin-top:var(--sp-5);padding-top:var(--sp-5);border-top:1px solid var(--line-soft)}.form-section>h4{display:flex;align-items:center;gap:8px;margin:0 0 var(--sp-4);font-size:12.5px;font-weight:600;color:var(--text-soft)}.form-section>h4:before{content:"";width:7px;height:7px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--lavender));flex-shrink:0}label{display:block;font-size:12px;color:var(--text-soft);margin-bottom:7px}.field-hint{margin:6px 0 0;font-size:12px;line-height:1.5;color:var(--text-faint)}input,select,textarea{width:100%;padding:9px var(--sp-3);border:1px solid transparent;border-radius:var(--radius);font-family:var(--font);font-size:13px;background:var(--cream);color:var(--charcoal);box-shadow:var(--shadow-inset);transition:box-shadow .15s var(--ease),background .15s var(--ease)}input:hover:not(:disabled):not(:focus),select:hover:not(:disabled):not(:focus){background:var(--cream-deep)}input:focus,select:focus,textarea:focus{outline:none;background:var(--surface);box-shadow:var(--shadow-inset),0 0 0 3px var(--blue-tint)}input:disabled,select:disabled{background:var(--cream);color:var(--text-faint);box-shadow:none}.bool-check{display:flex;align-items:center;gap:8px;margin-bottom:0;cursor:pointer;-webkit-user-select:none;user-select:none}.bool-check input[type=checkbox]{width:18px;height:18px;min-width:18px;accent-color:var(--blue);cursor:pointer}.bool-check span{font-size:13.5px;color:var(--charcoal)}.party-search{position:relative}.party-search-selected{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:9px var(--sp-3);border:none;border-radius:var(--radius);background:var(--cream);box-shadow:var(--shadow-inset);font-size:13px;color:var(--charcoal);cursor:pointer;transition:border-color .15s var(--ease)}.party-search-selected:hover{border-color:var(--line-hover)}.party-search-selected.disabled{background:var(--cream);color:var(--text-faint);cursor:default}.party-search-clear{border:none;background:transparent;color:var(--text-faint);font-size:16px;line-height:1;padding:0 4px;cursor:pointer;box-shadow:none}.party-search-clear:hover{color:var(--danger);background:transparent;box-shadow:none;transform:none}.party-search-menu{width:max-content;max-width:min(520px,92vw);max-height:340px;overflow-y:auto;background:var(--surface);border:none;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:6px}.party-search-item{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 12px;border-radius:8px;font-size:14px;color:var(--charcoal);cursor:pointer}.party-search-item:hover{background:var(--blue-tint)}.party-search-phone{color:var(--text-faint);font-size:12px;direction:ltr}.party-search-empty{padding:10px;font-size:13px;color:var(--text-faint);text-align:center}.session-pick-list{display:flex;flex-direction:column;gap:4px;max-height:320px;overflow-y:auto;border:1px solid var(--line);border-radius:var(--radius);padding:6px}.session-pick-item{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:8px;font-size:13.5px;color:var(--charcoal);cursor:pointer}.session-pick-item:hover{background:var(--blue-tint)}.session-pick-item.active{background:var(--primary-tint);box-shadow:inset 0 0 0 1px var(--primary)}.session-pick-num{color:var(--text-faint);font-size:12px;min-width:28px}.attendance-bulk-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}.attendance-bulk-label{font-size:12.5px;color:var(--text-soft)}.att-matrix th,.att-matrix td{text-align:center;white-space:nowrap}.att-matrix th:first-child,.att-matrix td:first-child{text-align:right;white-space:normal}.att-cell-btns{display:inline-flex;gap:2px}.att-cell-btn{padding:3px 7px;font-size:11px;font-weight:600;border-radius:6px;border:1px solid var(--line);background:var(--surface);color:var(--text-soft)}.att-cell-btn:hover:not(:disabled){background:var(--cream);color:var(--charcoal)}.att-cell-btn-0.active{background:#16a34a;border-color:#16a34a;color:#fff}.att-cell-btn-1.active{background:#dc2626;border-color:#dc2626;color:#fff}.att-cell-btn-2.active{background:#d97706;border-color:#d97706;color:#fff}.att-cell-btn-3.active{background:#2563eb;border-color:#2563eb;color:#fff}.status-btn-0.active{background:#16a34a;border-color:#16a34a;color:#fff}.status-btn-1.active{background:#dc2626;border-color:#dc2626;color:#fff}.status-btn-2.active{background:#d97706;border-color:#d97706;color:#fff}.status-btn-3.active{background:#2563eb;border-color:#2563eb;color:#fff}.jalali-cal-field{position:relative;display:flex;align-items:center;gap:6px}.jalali-cal-field input{flex:1}.jalali-cal-icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);color:var(--text-soft)}.jalali-cal-icon:hover:not(:disabled){background:var(--cream);color:var(--primary)}.jalali-cal-popover{width:216px;max-width:92vw;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 16px 36px -14px #23282d47;padding:8px}.jalali-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.jalali-cal-title{font-size:12.5px;font-weight:600;color:var(--charcoal)}.jalali-cal-nav{width:22px;height:22px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;border:1px solid var(--line);background:var(--surface);color:var(--text-soft);font-size:13px;line-height:1}.jalali-cal-nav:hover:not(:disabled){background:var(--cream);color:var(--primary)}.jalali-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px}.jalali-cal-weekdays span{text-align:center;font-size:10px;color:var(--text-faint);padding:2px 0}.jalali-cal-day{aspect-ratio:1;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;border:1px solid transparent;background:transparent;color:var(--charcoal);font-size:11px;padding:0}.jalali-cal-day:hover:not(:disabled){background:var(--blue-tint)}.jalali-cal-day.today{border-color:var(--primary);color:var(--primary);font-weight:600}.jalali-cal-day.selected{background:var(--primary);color:#fff}.jalali-cal-footer{display:flex;justify-content:center;margin-top:8px;padding-top:8px;border-top:1px solid var(--line)}.sr-only-field{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}button{font-family:var(--font);font-size:13px;font-weight:500;padding:9px var(--sp-4);border-radius:var(--radius);border:1px solid transparent;cursor:pointer;background:var(--primary);color:#fff;display:inline-flex;align-items:center;transition:background .15s var(--ease),transform .08s var(--ease)}.btn-icon{display:inline-flex;align-items:center;margin-left:6px;opacity:.85}button:hover:not(:disabled){background:var(--primary-hover)}button:active:not(:disabled){transform:translateY(1px) scale(.97)}button:disabled{opacity:.5;cursor:not-allowed}.portal-tabs{display:flex;gap:2px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin:0 0 var(--sp-5);border-bottom:1px solid var(--line)}.portal-tabs::-webkit-scrollbar{display:none}.portal-tab{flex-shrink:0;display:inline-flex;align-items:center;gap:7px;padding:13px 16px;border:none;border-radius:0;background:transparent;color:var(--text-soft);font-size:13.5px;font-weight:500;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}.portal-tab .btn-icon{margin-left:0;opacity:.75}.portal-tab:hover:not(:disabled){color:var(--charcoal)}.portal-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.portal-tab.active .btn-icon{opacity:1}@media (max-width: 640px){.portal-tab{padding:12px 13px;font-size:13px}}button.secondary{background:var(--surface);border-color:var(--line);color:var(--text-soft)}button.secondary:hover:not(:disabled){background:var(--cream);color:var(--charcoal)}button.ghost{background:transparent;color:var(--primary);padding:5px var(--sp-2)}button.ghost:hover:not(:disabled){background:var(--primary-tint)}button.ghost.danger:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 12%,transparent)}button.danger{background:var(--danger)}button.ok{background:var(--ok)}button.ghost.ok{background:transparent;color:var(--ok)}button.ghost.ok:hover:not(:disabled){background:color-mix(in srgb,var(--ok) 12%,transparent)}button.block{width:100%}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.date-banner{display:flex;align-items:center;gap:10px;padding:12px var(--sp-4);margin-bottom:var(--sp-3);border-radius:var(--radius);background:var(--primary-tint);color:var(--primary-hover);font-size:14px;font-weight:600}.badge{display:inline-block;padding:2px var(--sp-3);border-radius:var(--pill);font-size:11.5px;background:var(--cream-deep);color:var(--text-soft)}.badge.ok{background:var(--ok-tint);color:var(--ok)}.badge.danger{background:var(--danger-tint);color:var(--danger)}.chip{display:inline-flex;align-items:center;gap:6px;padding:2px var(--sp-3);border-radius:var(--pill);font-size:11.5px;background:var(--cream-deep);color:var(--text-soft);white-space:nowrap}.chip-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.alert{padding:var(--sp-3) var(--sp-4);border-radius:var(--radius);font-size:13px;margin-bottom:var(--sp-4)}.alert.error{background:var(--danger-tint);color:var(--danger)}.alert.success{background:var(--ok-tint);color:var(--ok)}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--sp-4)}.stat{background:var(--surface);border:none;border-inline-start:4px solid var(--blue);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:var(--sp-3) var(--sp-4)}.stat-row .stat:nth-child(4n+2){border-inline-start-color:var(--teal)}.stat-row .stat:nth-child(4n+3){border-inline-start-color:var(--lavender)}.stat-row .stat:nth-child(4n+4){border-inline-start-color:var(--rose)}.stat .label{font-size:12px;color:var(--text-faint)}.stat .value{font-size:18px;font-weight:700;color:var(--ink);margin-top:2px}.login-screen{height:100%;display:grid;place-items:center;padding:var(--sp-4);background:radial-gradient(circle at 15% 20%,var(--teal-tint),transparent 45%),radial-gradient(circle at 85% 78%,var(--lavender-tint),transparent 45%),var(--cream)}.login-card{width:100%;max-width:372px;background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-lg);padding:var(--sp-6)}.login-card .brand-mark{width:44px;height:44px;border-radius:13px;font-size:19px;margin-bottom:var(--sp-4)}.login-card h1{margin:0 0 2px;font-size:24px}.login-card p.sub{margin:0 0 var(--sp-5);color:var(--text-faint);font-size:13px}.login-card label{margin-top:var(--sp-4)}.login-card button[type=submit]{width:100%;margin-top:var(--sp-5);padding:11px;justify-content:center}.input-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--text-faint);pointer-events:none;display:flex}.donut-wrap{display:flex;align-items:center;gap:var(--sp-5);flex-wrap:wrap}.donut-center{font-variant-numeric:tabular-nums}.chart-legend{display:flex;flex-direction:column;gap:9px;flex:1;min-width:150px}.legend-row{display:flex;align-items:center;gap:var(--sp-2);font-size:12.5px}.legend-row .name{flex:1;color:var(--text-soft)}.legend-row .val{font-variant-numeric:tabular-nums;color:var(--ink);font-weight:500}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.rise{animation:rise .35s var(--ease) both}@media (max-width: 960px){.dash-grid{grid-template-columns:1fr}.span-2{grid-column:span 1}}@media (max-width: 860px){.mobile-nav-toggle{display:inline-flex}.shell{grid-template-columns:1fr}.sidebar{position:fixed;inset-block:0;inset-inline-start:0;width:264px;max-width:84vw;z-index:40;transform:translate(100%);transition:transform .25s var(--ease);box-shadow:-12px 0 32px -16px #00000059}.sidebar.mobile-open{transform:translate(0)}.mobile-nav-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:35;background:#0f172a6b}.profile-meta{display:none}.main{padding:var(--sp-4)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}:root{--shadow-sm: 0 1px 2px rgba(35, 40, 45, .05);--shadow: 0 4px 16px -6px rgba(35, 40, 45, .1), 0 1px 3px rgba(35, 40, 45, .04);--shadow-lg: 0 18px 40px -12px rgba(35, 40, 45, .16), 0 4px 12px rgba(35, 40, 45, .06);--ring: 0 0 0 3px var(--blue-tint)}body{background:radial-gradient(1200px 600px at 100% -5%,var(--teal-tint),transparent 55%),radial-gradient(1000px 560px at 0% 105%,var(--lavender-tint),transparent 55%),linear-gradient(180deg,#fbf9f5 0%,var(--cream-deep) 100%);background-attachment:fixed}.sidebar{background:#ffffffb8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-left-color:var(--line-soft)}.brand-mark{border-radius:12px;box-shadow:0 6px 16px -6px #4e86ae8c}.nav a{position:relative;border-radius:12px}.nav a.active{background:linear-gradient(135deg,var(--primary-tint),transparent 85%)}.nav a.active:before{content:"";position:absolute;right:-3px;top:50%;transform:translateY(-50%);width:3px;height:18px;border-radius:var(--pill);background:var(--primary)}.nav-group-title{text-transform:none;letter-spacing:.02em;font-weight:600}.header{background:#ffffffc7;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0;z-index:5}.card{transition:box-shadow .25s var(--ease),transform .25s var(--ease)}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.dash-grid .card:hover{transform:translateY(-5px)}.page-head h2{font-size:18px;letter-spacing:-.02em}button{transition:background .15s var(--ease),box-shadow .2s var(--ease),transform .08s var(--ease)}button:not(.secondary):not(.ghost):not(.icon-btn):not(.nav-section-head):not(.nav-leaf):not(.side-collapse):not(.notif-item):not(.att-cell-btn):not(.jalali-cal-icon):not(.jalali-cal-nav):not(.jalali-cal-day):not(.mobile-nav-toggle):not(.portal-tab):not(:disabled){background:linear-gradient(135deg,#5a93bd,var(--primary));box-shadow:0 6px 16px -8px #4e86aeb3}button:not(.secondary):not(.ghost):not(.icon-btn):not(.nav-section-head):not(.nav-leaf):not(.side-collapse):not(.notif-item):not(.att-cell-btn):not(.jalali-cal-icon):not(.jalali-cal-nav):not(.jalali-cal-day):not(.mobile-nav-toggle):not(.portal-tab):not(:disabled):hover{background:linear-gradient(135deg,var(--primary),var(--primary-hover));box-shadow:0 8px 20px -8px #4e86aed9;transform:translateY(-1px)}button.danger:not(:disabled){background:linear-gradient(135deg,#b87d7d,var(--danger));box-shadow:0 6px 16px -8px #a86a6a99}button.ok:not(.ghost):not(:disabled){background:linear-gradient(135deg,#7fae8f,var(--ok));box-shadow:0 6px 16px -8px #5f9c7399}input:focus,select:focus,textarea:focus{box-shadow:var(--shadow-inset),var(--ring)}.badge{padding:3px 11px;font-weight:500}tbody tr:hover{background:linear-gradient(90deg,var(--cream),transparent)}.stat{transition:box-shadow .25s var(--ease),transform .25s var(--ease)}.stat:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}:root{--cream: #f7f8fc;--cream-deep: #eceef6;--surface: #ffffff;--ink: #1e293b;--charcoal: #334155;--text-soft: #26303d;--text-faint: #94a3b8;--blue: #3b82f6;--blue-tint: #e9f1ff;--teal: #06b6d4;--teal-tint: #e2f6fb;--lavender: #8b5cf6;--lavender-tint: #f1ebfe;--sage: #22c55e;--sage-tint: #e7f8ee;--rose: #ec4899;--rose-tint: #fce9f2;--sand: #a5b4fc;--primary: #6366f1;--primary-hover: #4f46e5;--primary-tint: #eef1ff;--income: #16a34a;--expense: #e11d48;--danger: #e11d48;--danger-tint: #fce7ec;--ok: #16a34a;--ok-tint: #e7f7ec;--line: #e8eaf1;--line-hover: #d6dae6;--line-soft: #f1f3f8;--ring: 0 0 0 3px var(--primary-tint)}:root{--radius: 14px;--radius-lg: 22px;--radius-xl: 28px;--shadow-sm: 0 2px 6px rgba(30, 41, 59, .05), 0 1px 2px rgba(30, 41, 59, .04);--shadow: 8px 8px 20px rgba(99, 102, 241, .09), -6px -6px 16px rgba(255, 255, 255, .85), 0 1px 2px rgba(30, 41, 59, .04);--shadow-lg: 16px 16px 36px rgba(99, 102, 241, .16), -10px -10px 24px rgba(255, 255, 255, .9), 0 3px 8px rgba(30, 41, 59, .06);--shadow-inset: inset 3px 3px 7px rgba(99, 102, 241, .11), inset -3px -3px 7px rgba(255, 255, 255, .85);--shadow-press: inset 2px 2px 6px rgba(99, 102, 241, .14), inset -2px -2px 6px rgba(255, 255, 255, .7)}body{background:radial-gradient(1200px 600px at 100% -5%,var(--lavender-tint),transparent 55%),radial-gradient(1000px 560px at 0% 105%,var(--blue-tint),transparent 55%),linear-gradient(180deg,#ffffff 0%,var(--cream) 100%);background-attachment:fixed}.brand-mark{background:linear-gradient(135deg,var(--primary),var(--rose));box-shadow:0 6px 16px -6px #6366f180}button:not(.secondary):not(.ghost):not(.icon-btn):not(.nav-section-head):not(.nav-leaf):not(.side-collapse):not(.notif-item):not(.att-cell-btn):not(.jalali-cal-icon):not(.jalali-cal-nav):not(.jalali-cal-day):not(.mobile-nav-toggle):not(.portal-tab):not(:disabled){background:linear-gradient(135deg,#7c8bff,var(--primary));box-shadow:0 6px 16px -8px #6366f199}button:not(.secondary):not(.ghost):not(.icon-btn):not(.nav-section-head):not(.nav-leaf):not(.side-collapse):not(.notif-item):not(.att-cell-btn):not(.jalali-cal-icon):not(.jalali-cal-nav):not(.jalali-cal-day):not(.mobile-nav-toggle):not(.portal-tab):not(:disabled):hover{background:linear-gradient(135deg,var(--primary),var(--primary-hover));box-shadow:0 8px 20px -8px #6366f1c7}button.danger:not(.ghost):not(:disabled){background:linear-gradient(135deg,#f43f6e,var(--danger));box-shadow:0 6px 16px -8px #e11d4880;color:#fff}button.ok:not(.ghost):not(:disabled){background:linear-gradient(135deg,#4ade80,var(--ok));box-shadow:0 6px 16px -8px #16a34a80;color:#fff}button.ghost.danger{background:transparent;color:var(--danger)}button.ghost.danger:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:var(--sp-4);background:#0f172a75;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-panel{width:100%;max-width:560px;max-height:90vh;display:flex;flex-direction:column;background:var(--surface);border-radius:var(--radius-xl);box-shadow:24px 24px 48px #6366f133,-14px -14px 28px #ffffffe6,0 4px 12px #1e293b14;overflow:hidden}.modal-panel.wide{max-width:680px}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--line-soft)}.modal-head h3{margin:0;font-size:16px;font-weight:600}.modal-body{padding:var(--sp-5);overflow-y:auto}.section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);margin:0 var(--sp-1) var(--sp-3);flex-wrap:wrap}.section-head h3{margin:0;font-size:16px;font-weight:600;color:var(--ink)}.step-head{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:var(--ink)}.step-num{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--lavender));color:#fff;font-size:12.5px;font-weight:700;flex-shrink:0}.picked-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:var(--sp-3) var(--sp-4);border-radius:var(--radius);background:var(--primary-tint);border:1px solid color-mix(in srgb,var(--primary) 25%,transparent);flex-wrap:wrap}.picked-bar-label{font-size:11.5px;color:var(--text-soft);margin-bottom:2px}.picked-bar-value{font-size:14px;font-weight:600;color:var(--primary-hover)}td button.ghost{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);padding:5px 12px}td button.ghost:hover:not(:disabled){background:var(--cream);border-color:var(--line-hover);box-shadow:var(--shadow)}td button.ghost.danger{color:var(--danger);border-color:var(--line)}.nav-section-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);padding:var(--sp-3) var(--sp-3) var(--sp-1);cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--text-faint);font-size:11px;font-weight:600;letter-spacing:.02em;border-radius:var(--radius);transition:color .15s var(--ease)}.nav-section-head:hover{color:var(--text-soft)}.nav-section-head .chev{transition:transform .22s var(--ease);flex-shrink:0;opacity:.7}.nav-section-head.collapsed .chev{transform:rotate(-90deg)}button.ghost{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);padding:5px var(--sp-3)}button.ghost:hover:not(:disabled){background:var(--primary-tint);border-color:var(--primary);box-shadow:var(--shadow);transform:translateY(-1px)}button.ghost.danger{background:var(--surface);border-color:var(--line);color:var(--danger)}button.ghost.danger:hover:not(:disabled){background:var(--danger-tint);border-color:var(--danger);box-shadow:var(--shadow);transform:translateY(-1px)}.print-only{display:none}@media print{.sidebar,.header,.no-print,.page-head{display:none!important}.shell{display:block;height:auto}.content{display:block;overflow:visible}.main{overflow:visible;padding:0}body{background:#fff}.card{box-shadow:none;border:1px solid #ddd;break-inside:avoid}.card:hover{transform:none;box-shadow:none}.print-only{display:block!important}a[href]:after{content:""}table{font-size:11px}@page{margin:1.2cm;size:A4}.print-landscape{page:numera-landscape}.table-compact-print table{font-size:9px}.table-compact-print th,.table-compact-print td{padding:3px 5px;white-space:nowrap}}.trial-grid table{border-collapse:collapse}.trial-grid th,.trial-grid td{border:1px solid var(--line)}@page numera-landscape{size:A4 landscape;margin:1cm}.print-head{margin-bottom:12px;padding-bottom:8px;border-bottom:2px solid #333}.print-head h1{margin:0;font-size:18px}.print-head .meta{font-size:12px;color:#444;margin-top:4px}.print-head .print-institute{font-size:16px;font-weight:700;margin-bottom:6px;text-align:center}.soon-tag{font-size:10px;background:var(--cream-deep);color:var(--text-faint);padding:1px 7px;border-radius:var(--pill)}.topnav-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:15}.shell.collapsed{grid-template-columns:1fr}.shell.collapsed .sidebar{display:none}.sidebar{transition:none}.nav-section{margin-bottom:2px}.nav-section-head{display:flex;align-items:center;justify-content:space-between;width:100%;text-align:right;background:transparent;border:none;box-shadow:none;color:var(--charcoal);font-size:13px;font-weight:500;padding:9px var(--sp-3);border-radius:var(--radius)}.nav-section-head:hover:not(:disabled){background:var(--cream);box-shadow:none;transform:none}.nav-section-head.open{background:var(--primary-tint);color:var(--primary)}.nav-section-head.active{color:var(--primary)}.nav-section-head .chev{opacity:.55;transition:transform .2s var(--ease)}.nav-section-head.open .chev{transform:rotate(180deg)}.nav-section-title{display:flex;align-items:center;gap:10px}.nav-cat-icon{display:inline-flex;flex-shrink:0;opacity:.95}.nav-section-body{padding:2px 0 6px}.nav-leaf{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);width:100%;text-align:right;background:transparent;border:none;box-shadow:none;color:var(--text-soft);font-size:13px;font-weight:400;padding:8px var(--sp-3) 8px var(--sp-5);border-radius:var(--radius)}.nav-leaf:hover:not(:disabled){background:var(--cream);color:var(--charcoal);box-shadow:none;transform:none}.nav-leaf.active{background:var(--primary-tint);color:var(--primary);font-weight:500}.nav-leaf.soon{color:var(--text-faint);cursor:default}.nav-leaf.nav-dash{font-weight:500;color:var(--charcoal);padding-right:var(--sp-3);margin-bottom:4px}.menu-toggle{color:var(--primary)}.reopen-rail{position:fixed;top:0;right:0;width:7px;height:100%;z-index:40;cursor:pointer;background:var(--line);transition:background .15s var(--ease),width .15s var(--ease)}.reopen-rail:hover{width:11px;background:var(--primary-tint)}.reopen-rail:after{content:"";position:absolute;top:50%;right:2px;transform:translateY(-50%);width:3px;height:46px;border-radius:var(--pill);background:var(--primary);opacity:.55;transition:opacity .15s var(--ease)}.reopen-rail:hover:after{opacity:1}.sidebar-brand{position:relative}.side-collapse{margin-right:auto;width:28px;height:28px;display:grid;place-items:center;padding:0;border-radius:var(--radius);background:transparent;border:none;box-shadow:none;color:var(--text-faint)}.side-collapse:hover:not(:disabled){background:var(--cream);color:var(--charcoal);box-shadow:none;transform:none}@media print{.reopen-rail{display:none!important}}.notif-dropdown{position:absolute;top:calc(100% + 8px);left:0;z-index:30;width:320px;max-height:70vh;overflow-y:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.notif-head{display:flex;align-items:center;justify-content:space-between;padding:10px var(--sp-4);border-bottom:1px solid var(--line-soft);font-weight:600;font-size:13px}.notif-item{display:block;width:100%;text-align:right;background:transparent;border:none;border-bottom:1px solid var(--line-soft);box-shadow:none;padding:10px var(--sp-4);border-radius:0}.notif-item:hover:not(:disabled){background:var(--cream);box-shadow:none;transform:none}.notif-item.unread,.notif-item.unread:hover{background:var(--primary-tint)}.notif-title{font-size:13px;font-weight:500;color:var(--ink)}.notif-body{font-size:12px;color:var(--text-soft);margin-top:2px;white-space:normal}:root{--cream: #eef1fa;--cream-deep: #e1e6f5}tbody tr:hover{background:#dfe3fc}button:not(.icon-btn):not(.nav-section-head):not(.nav-leaf):not(.portal-nav-item):not(.side-collapse):not(.notif-item):not(.att-cell-btn):not(.jalali-cal-icon):not(.jalali-cal-nav):not(.jalali-cal-day):not(.mobile-nav-toggle):not(.portal-tab){min-height:38px;justify-content:center}button.ghost{padding:9px var(--sp-3)}.portal-nav-item{display:flex;align-items:center;gap:10px;width:100%;text-align:right;background:transparent;border:none;box-shadow:none;color:var(--text-soft);font-size:13.5px;font-weight:400;padding:10px var(--sp-3);border-radius:var(--radius);margin-bottom:2px;min-height:0}.portal-nav-item svg{opacity:.75;flex-shrink:0}.portal-nav-item:hover:not(:disabled){background:var(--cream);color:var(--charcoal);box-shadow:none;transform:none}.portal-nav-item.active{background:var(--primary-tint);color:var(--primary);font-weight:500}.portal-nav-item.active svg{opacity:1}.consult-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--sp-4)}.consult-card{background:var(--surface);border-inline-start:4px solid var(--blue);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:var(--sp-4);display:flex;flex-direction:column;gap:10px;transition:transform .15s var(--ease),box-shadow .15s var(--ease)}.consult-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.consult-card[data-channel="1"]{border-inline-start-color:var(--teal)}.consult-card[data-channel="2"]{border-inline-start-color:var(--lavender)}.consult-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--sp-2)}.consult-card-date{font-size:12.5px;color:var(--text-faint)}.consult-card-consultant{font-weight:600;font-size:14px;color:var(--ink)}.consult-card-badges{display:flex;gap:6px;flex-wrap:wrap}.consult-card-amounts{display:flex;justify-content:space-between;align-items:center;font-size:13px;padding-top:8px;border-top:1px solid var(--line-soft)}.consult-card-remaining{font-weight:600}@media (max-width: 640px){.consult-grid{grid-template-columns:1fr}}.notif-time{font-size:11px;color:var(--text-faint);margin-top:4px}
