@font-face{font-family:'Sahel';src:url('fonts/sahelfont/Sahel-FD.eot');src:url('fonts/sahelfont/Sahel-FD.eot?#iefix') format('embedded-opentype'),url('fonts/sahelfont/Sahel-FD.woff') format('woff'),url('fonts/sahelfont/Sahel-FD.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Sahel';src:url('fonts/sahelfont/Sahel-Bold-FD.eot');src:url('fonts/sahelfont/Sahel-Bold-FD.eot?#iefix') format('embedded-opentype'),url('fonts/sahelfont/Sahel-Bold-FD.woff') format('woff'),url('fonts/sahelfont/Sahel-Bold-FD.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Sahel';src:url('fonts/sahelfont/Sahel-Black-FD.eot');src:url('fonts/sahelfont/Sahel-Black-FD.eot?#iefix') format('embedded-opentype'),url('fonts/sahelfont/Sahel-Black-FD.woff') format('woff'),url('fonts/sahelfont/Sahel-Black-FD.ttf') format('truetype');font-weight:900;font-style:normal;font-display:swap}
body{font-family:'Sahel',Tahoma,sans-serif}
.dr-auth{min-height:100dvh;padding:24px 16px;background:radial-gradient(circle at 10% 15%,rgba(56,189,248,.18) 0%,transparent 40%),radial-gradient(circle at 90% 85%,rgba(168,85,247,.18) 0%,transparent 40%),radial-gradient(circle at 50% 50%,rgba(251,146,60,.12) 0%,transparent 50%),#f8fafc;display:grid;place-items:center;box-sizing:border-box}
.auth-single-card{width:min(420px,100%);background:#fff;border-radius:32px;padding:36px 26px 26px;box-shadow:0 25px 70px -15px rgba(14,165,233,.22),0 0 0 1px rgba(226,232,240,.9);text-align:center;position:relative;overflow:hidden;box-sizing:border-box}
.auth-avatar-header{width:110px;height:110px;margin:0 auto 16px;border-radius:28px;overflow:hidden;background:linear-gradient(135deg,#0ea5e9,#6366f1);padding:3px;box-shadow:0 12px 28px rgba(14,165,233,.3)}
.auth-character-img{width:100%;height:100%;object-fit:cover;object-position:top center;border-radius:25px}
.auth-greeting-pill{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,#e0f2fe 0%,#ede9fe 100%);color:#0284c7;padding:7px 20px;border-radius:999px;font-weight:950;font-size:1.05rem;margin-bottom:12px;box-shadow:0 4px 15px rgba(2,132,199,.12)}
.wave-hand{display:inline-block;font-size:1.35rem;animation:waveHand 2s infinite ease-in-out;transform-origin:75% 75%}
@keyframes waveHand{0%,100%{transform:rotate(0deg)}20%{transform:rotate(14deg)}40%{transform:rotate(-8deg)}60%{transform:rotate(14deg)}80%{transform:rotate(-4deg)}}
.auth-single-title{margin:0 0 6px;color:#0f172a;font-size:1.5rem;font-weight:950;letter-spacing:-.3px}
.auth-single-desc{margin:0 0 22px;color:#64748b;font-size:.9rem;font-weight:700;line-height:1.6}
.auth-form{display:grid;gap:16px}
.auth-form[hidden]{display:none!important}
.auth-field{display:grid}
.auth-input-wrap{display:grid;grid-template-columns:24px 1fr;align-items:center;gap:12px;min-height:58px;border:2px solid #e2e8f0;border-radius:20px;background:#f8fafc;padding:0 18px;transition:all .2s ease}
.auth-input-wrap:focus-within{border-color:#0ea5e9;background:#fff;box-shadow:0 0 0 4px rgba(14,165,233,.18)}
.auth-input-wrap .icon{width:22px;height:22px;color:#0ea5e9}
.auth-input-wrap input{width:100%;border:0!important;outline:0;background:transparent;padding:0!important;border-radius:0!important;box-shadow:none!important;font:inherit;font-size:1.25rem!important;font-weight:950!important;color:#0f172a!important;text-align:left}
.auth-code-wrap input{letter-spacing:8px!important;text-align:center!important;font-size:1.5rem!important}
.auth-primary{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:56px;border-radius:20px;border:0;font:inherit;font-size:1.1rem;font-weight:950;cursor:pointer;transition:transform .18s,box-shadow .18s;background:linear-gradient(135deg,#0ea5e9 0%,#6366f1 100%)!important;color:#fff!important;box-shadow:0 12px 30px rgba(14,165,233,.35)!important}
.auth-primary:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(14,165,233,.45)!important}
.auth-primary:disabled{opacity:.68;cursor:wait;transform:none}
.auth-demo-hint{display:flex;align-items:center;justify-content:center;gap:6px;padding:9px 14px;background:#f1f5f9;border:1px dashed #cbd5e1;border-radius:14px;font-size:.84rem;font-weight:800;color:#64748b}
.auth-demo-hint b{color:#0ea5e9;font-weight:950}
.auth-code-sent{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;border:1px solid #bae6fd;border-radius:16px;background:#f0f9ff;color:#0369a1;font-size:.86rem;font-weight:800}
.auth-btn-edit-num{border:0;background:#e0f2fe;color:#0284c7;padding:5px 12px;border-radius:10px;font-size:.78rem;font-weight:950;cursor:pointer}
.auth-single-footer{margin-top:22px;padding-top:16px;border-top:1px solid #f1f5f9}
.auth-back-link{display:inline-flex;align-items:center;gap:6px;color:#64748b;font-size:.84rem;font-weight:800;text-decoration:none;transition:color .2s}
.auth-back-link:hover{color:#0ea5e9}
.auth-back-link .icon{width:16px;height:16px}
.auth-message{margin:0;min-height:24px;font-size:.82rem;font-weight:900;line-height:1.8}
@media(max-width:480px){
  .dr-auth{padding:14px}
  .auth-single-card{padding:26px 18px 20px;border-radius:24px}
  .auth-avatar-header{width:88px;height:88px}
  .auth-single-title{font-size:1.3rem}
  .auth-input-wrap{min-height:52px}
  .auth-primary{min-height:50px;font-size:1rem}
}
.dr-loading{min-height:100vh;display:grid;place-items:center;background:#f7f8fa}
.dr-auth .owner-box{width:min(420px,calc(100% - 32px))}
.dr-auth form{display:grid;gap:14px}.dr-auth label{display:grid;gap:7px}
.dr-auth input{font:inherit;border:1px solid var(--border,#e5e7eb);border-radius:12px;padding:12px 14px}
.dr-error{color:#dc2626;min-height:1.6em}.dr-empty{color:var(--muted,#64748b)}
.owner-box{margin-bottom:18px}.owner-box>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.owner-box>header h2{font-size:1rem;margin:0}.sb button{width:calc(100% - 16px);border:0;background:transparent;text-align:right;cursor:pointer}
.sb button.ac{background:var(--primary-light,#eef4ff);color:var(--primary,#2457d6)}
.owner-page{max-width:1280px;margin:0 auto}.v2-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.owner-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}
.stat{background:#fff;border:1px solid var(--border,#e5e7eb);border-radius:16px;padding:16px;box-shadow:0 8px 30px #0f172a0a}
.stat span{display:block;color:var(--muted,#64748b);font-size:.78rem}.stat strong{display:block;margin-top:8px;font-size:1.35rem;color:var(--text,#0f172a)}
.tw{overflow:auto}.tw table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--border,#e5e7eb);border-radius:14px;overflow:hidden}
.tw th,.tw td{padding:11px 12px;border-bottom:1px solid var(--border-lt,#eef2f7);text-align:right;font-size:.82rem}.tw th{color:var(--muted,#64748b);background:#f8fafc}
@media(max-width:900px){.v2-grid,.owner-grid{grid-template-columns:1fr}.panel-l.dense{display:block}.panel-l.dense .sb{display:none}.pc{padding:14px!important}}
.op-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:end}.op-form label{display:grid;gap:6px;font-size:.82rem;color:var(--muted,#64748b)}.op-form input,.op-form select,.op-form textarea{width:100%;box-sizing:border-box;border:1px solid var(--border,#dbe2ea);border-radius:10px;padding:10px;font:inherit;background:#fff}.op-form button,.session-actions button{border:0;border-radius:10px;background:var(--primary,#2457d6);color:#fff;padding:10px 14px;font:inherit;cursor:pointer}.op-form .op-wide{grid-column:span 2}.op-form [data-form-status]{margin:0;min-height:22px}.op-success{color:#15803d}.session-list{display:grid;gap:10px}.session-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px;border:1px solid var(--border,#e5e7eb);border-radius:12px}.session-row span{display:block;margin-top:5px;color:var(--muted,#64748b);font-size:.8rem}.session-actions{display:flex;gap:7px;flex-wrap:wrap}.session-actions button{padding:7px 10px;font-size:.78rem}.session-actions button:nth-child(2){background:#0f766e}.session-actions button:nth-child(3){background:#7c3aed}@media(max-width:900px){.op-form{grid-template-columns:1fr}.op-form .op-wide{grid-column:auto}.session-row{align-items:flex-start;flex-direction:column}}
.portal-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px;padding:12px;border:1px solid var(--border,#dbe2ea);border-radius:10px;background:#f8fafc}.portal-filters label{display:grid;gap:6px;font-size:.78rem;color:#64748b}.portal-filters input,.portal-filters select{width:100%;box-sizing:border-box;border:1px solid var(--border,#dbe2ea);border-radius:9px;padding:9px 10px;background:#fff;font:inherit;color:#0f172a}@media(max-width:700px){.portal-filters{grid-template-columns:1fr}}
.dynamic-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin:0}.dynamic-record-card{margin:0;min-width:0}.dynamic-card-meta{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}.dynamic-card-meta span,.advisor-compact-line span{display:flex;flex-direction:column;gap:3px;padding:8px;border-radius:9px;background:#f3f7fb;min-width:0}.dynamic-card-meta small,.advisor-compact-line small{font-size:.63rem;color:#64748b}.dynamic-card-meta b,.advisor-compact-line b{font-size:.72rem;color:#0f172a;overflow-wrap:anywhere}.dynamic-record-card .student-card-meta span{flex-direction:column;align-items:flex-start}.dynamic-record-card .student-card-meta small{font-size:.61rem;color:#64748b}.dynamic-record-card .student-card-meta b{font-size:.7rem;color:#0f172a}.dynamic-record-card.time-card{display:flex;flex-direction:column;gap:9px}.dynamic-record-card .session-actions{margin-top:auto}.v2-pill.danger{background:#fee2e2;color:#991b1b}.v2-pill.ok{background:#dcfce7;color:#166534}.v2-pill.warn{background:#ffedd5;color:#9a3412}@media(max-width:1100px){.dynamic-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.dynamic-card-grid,.dynamic-card-meta{grid-template-columns:1fr}}
.jalali-picker{grid-column:span 2;display:grid;grid-template-columns:2fr 1fr;gap:10px;border:1px solid #dbe7f3;border-radius:12px;padding:10px;margin:0}.jalali-picker legend{padding:0 7px;color:#334155;font-size:.72rem;font-weight:900}.portal-sheet{position:fixed;inset:0;z-index:200;display:grid;place-items:end center}.portal-sheet-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.48);backdrop-filter:blur(2px)}.portal-sheet-card{position:relative;width:min(720px,calc(100% - 24px));max-height:90vh;overflow:auto;background:#fff;border-radius:20px 20px 0 0;padding:20px;box-shadow:0 -20px 70px rgba(15,23,42,.25)}.portal-sheet-card>header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e5e7eb;padding-bottom:12px;margin-bottom:15px}.portal-sheet-card h2{margin:2px 0 0;font-size:1.05rem}.portal-sheet-card header small{color:#64748b}.portal-sheet-card header button{border:0;background:#f1f5f9;width:38px;height:38px;border-radius:11px;font-size:1.4rem;cursor:pointer}.portal-sheet-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.portal-sheet-form label{display:grid;gap:6px;font-size:.76rem;font-weight:800;color:#475569}.portal-sheet-form select,.portal-sheet-form textarea{width:100%;box-sizing:border-box;border:1px solid #dbe2ea;border-radius:11px;padding:11px;font:inherit;background:#fff}.portal-sheet-form .wide,.portal-sheet-actions,.portal-sheet-form [data-sheet-status]{grid-column:1/-1}.portal-sheet-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:5px}.portal-sheet-form [data-sheet-status]{margin:0;min-height:22px}@media(max-width:700px){.jalali-picker,.portal-sheet-form{grid-template-columns:1fr}.jalali-picker{grid-column:auto}.portal-sheet-form .wide,.portal-sheet-actions,.portal-sheet-form [data-sheet-status]{grid-column:auto}.portal-sheet-card{width:100%;border-radius:18px 18px 0 0;padding:15px}}
.jalali-native-hidden{position:absolute!important;inline-size:1px!important;block-size:1px!important;opacity:0!important;pointer-events:none!important}
.op-form .jalali-trigger,.portal-sheet-form .jalali-trigger,.v2-form .jalali-trigger,.simple-modal .jalali-trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:44px;padding:9px 11px;border:1px solid #dbe2ea;border-radius:11px;background:#fff;color:#0f172a;font:inherit;cursor:pointer;text-align:right}.jalali-trigger b{color:#2563eb;font-size:.68rem}.jalali-calendar-pop{position:fixed;inset:0;z-index:2200!important;display:grid;place-items:center;background:rgba(15,23,42,.35);padding:16px}.jalali-calendar{width:min(380px,100%);background:#fff;border:1px solid #dbe7f3;border-radius:18px;padding:14px;box-shadow:0 24px 80px rgba(15,23,42,.28)}.jalali-calendar header{display:grid;grid-template-columns:40px 1fr 40px;align-items:center;gap:8px;margin-bottom:12px}.jalali-calendar header strong{text-align:center;color:#0f172a}.jalali-calendar header button{border:0;border-radius:10px;background:#eff6ff;color:#1d4ed8;width:40px;height:40px;font-size:1.4rem;cursor:pointer}.jalali-week,.jalali-days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;text-align:center}.jalali-week span{font-size:.7rem;font-weight:900;color:#64748b;padding:6px}.jalali-days i{display:block}.jalali-days button{aspect-ratio:1;border:0;border-radius:10px;background:#f8fafc;color:#0f172a;font:inherit;cursor:pointer}.jalali-days button:hover{background:#dbeafe}.jalali-days button.selected{background:#2563eb;color:#fff;font-weight:900}.jalali-today{display:block;margin:12px auto 0;border:0;border-radius:10px;padding:8px 18px;background:#eef2ff;color:#1d4ed8;font:inherit;font-weight:900;cursor:pointer}.role-session-actions{margin-top:10px}.role-session-actions .btn{flex:0 0 auto}.session-actions button:nth-child(2),.session-actions button:nth-child(3){background:initial}
#dr-toasts{position:fixed;left:18px;bottom:88px;z-index:2400;display:grid;gap:8px;max-width:min(360px,calc(100vw - 32px));pointer-events:none}.dr-toast{padding:10px 13px;border-radius:12px;background:#0f172a;color:#fff;box-shadow:0 14px 40px rgba(15,23,42,.22);font-weight:800;font-size:.86rem;line-height:1.8;pointer-events:auto}.dr-toast.ok{background:#047857}.dr-toast.error{background:#b91c1c}
.session-actions .btn.btn-p{background:#367fa9!important;color:#fff!important}.session-actions .btn.btn-o{background:#fff!important;color:#367fa9!important;border:1px solid #367fa9!important}.session-actions .btn.btn-a{background:#f59e0b!important;color:#fff!important}
.advisor-timesheet-modal{width:min(980px,calc(100% - 24px))}.advisor-timesheet-form{grid-template-columns:repeat(3,1fr)}.timesheet-week-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.timesheet-day{border:1px solid #dbe7f3;border-radius:12px;padding:10px;margin:0;background:#f8fafc}.timesheet-day legend{padding:0 8px;font-size:.78rem;font-weight:900;color:#0f172a}.timesheet-range{display:grid;grid-template-columns:54px 1fr 1fr;align-items:end;gap:8px;margin-top:8px}.timesheet-range span{font-size:.72rem;font-weight:900;color:#64748b;padding-bottom:12px}.timesheet-range label{font-size:.7rem}.timesheet-range input{min-width:0}
@media(max-width:900px){.advisor-timesheet-form{grid-template-columns:1fr 1fr}.timesheet-week-grid{grid-template-columns:1fr}.advisor-timesheet-form .portal-sheet-actions,.advisor-timesheet-form [data-sheet-status]{grid-column:1/-1}}
@media(max-width:520px){.advisor-timesheet-form{grid-template-columns:1fr}.timesheet-range{grid-template-columns:1fr 1fr}.timesheet-range span{grid-column:1/-1;padding-bottom:0}.advisor-timesheet-form .portal-sheet-actions,.advisor-timesheet-form [data-sheet-status]{grid-column:auto}}

/* Portal navigation — matches counselor-panel.html layout */
.portal-menu-toggle{display:none;border:0;width:42px;height:42px;border-radius:12px;background:#eef5fb;color:#27658c;place-items:center;cursor:pointer}
.portal-menu-toggle svg{width:22px}
.portal-user-mini{display:none;align-items:center;gap:8px}
.portal-user-mini>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,#367fa9,#5ba6c9);color:#fff;font-weight:900}
.portal-user-mini div{display:grid}.portal-user-mini b{font-size:.72rem}.portal-user-mini small{font-size:.62rem;color:#8ea5b6}
.portal-site-link{display:flex;align-items:center;gap:7px;padding:9px 12px;border-radius:11px;color:#397899;background:#eff8fc;font-size:.72rem;font-weight:800;text-decoration:none}
.portal-site-link svg{width:16px}
.portal-menu-backdrop{display:none;position:fixed;inset:0;z-index:75;background:rgba(2,8,23,.48);backdrop-filter:blur(2px)}
.sb-footer{margin-top:auto;padding:14px 10px;border-top:1px solid rgba(255,255,255,.1)}
.portal-user-card{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.portal-user-card>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,#367fa9,#5ba6c9);color:#fff;font-weight:900}
.portal-user-card div{display:grid}.portal-user-card b{font-size:.72rem}.portal-user-card small{font-size:.62rem;color:#8ea5b6}
.portal-logout{display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:10px;color:#d9e7f7;font-size:.75rem;transition:.18s}
.portal-logout:hover{background:rgba(255,255,255,.08);color:#fff}
.portal-logout svg{width:16px}
.role-search{margin:8px 10px 4px;position:relative}
.role-search input{width:100%;padding:9px 12px 9px 34px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:rgba(255,255,255,.08);color:#edf7fc;font-size:.78rem;font-family:inherit}
.role-search input::placeholder{color:#8ea5b6}
.role-search input:focus{outline:none;border-color:rgba(255,255,255,.25);background:rgba(255,255,255,.12)}
.role-search .icon{position:absolute;right:11px;top:50%;translate:0 -50%;color:#8ea5b6;width:16px;height:16px}
@media(min-width:901px){.portal-user-mini{display:flex}}
@media(max-width:900px){
  .portal-menu-toggle{display:grid}
  .portal-user-mini,.portal-site-link span{display:none}
  .portal-site-link{padding:9px}
  .panel-l{display:block!important;min-height:calc(100vh - 62px)}
  .panel-l .sb{position:fixed!important;top:0;right:0;height:100dvh;width:min(310px,88vw)!important;translate:110% 0;transition:translate .25s ease;box-shadow:-22px 0 70px rgba(2,8,23,.32);z-index:80}
  .panel-l.menu-open .sb{translate:0}
  .panel-l.menu-open .portal-menu-backdrop{display:block}
  .portal-menu-lock{overflow:hidden}
  .panel-l .pc{padding:12px!important}
}
@media(max-width:760px){body.owner-ui{padding-bottom:0!important}.owner-ui .panel-l .sb{display:flex!important;position:fixed!important;visibility:visible!important}.owner-ui .panel-l.menu-open .sb{display:flex!important;translate:0 0!important;transform:translateX(0)!important}.owner-ui .panel-l .pc{display:block!important;width:100%!important;max-width:100%!important;padding:12px!important;margin:0!important;overflow:hidden}}

/* Admin-panel reference alignment — matches counselor-panel.html owner-v2.css exactly */
.portal-content{max-width:1280px!important;margin-inline:auto!important;padding:20px!important}
.owner-page{max-width:1280px!important}
.owner-head.simple-head{background:#fff;border:1px solid #DCE8EF;border-radius:14px;padding:18px;box-shadow:0 8px 24px rgba(37,42,52,.08);margin-bottom:14px}
.owner-head h1{font-size:1.35rem;margin:8px 0 4px;color:#252A34;letter-spacing:0}.owner-head p{margin:0;color:#74808F;font-size:.8rem}.v2-badge{display:inline-flex;padding:6px 10px;border-radius:999px;background:#DDF2FA;color:#367FA9;font-size:.68rem;font-weight:900}
.admin-quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0 14px}.admin-action-card{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;align-items:center;background:#fff;border:1px solid #DCE8EF;border-radius:12px;padding:12px;box-shadow:0 10px 24px #0f172a08;text-decoration:none;color:#172033}.admin-action-card h3{margin:0 0 3px;font-size:.86rem;color:#0f172a}.admin-action-card p{margin:0;color:#64748b;font-size:.68rem;line-height:1.6}.admin-action-card b{font-size:.72rem;color:#367FA9}.quick-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:#eff6ff;color:#2563eb;font-weight:950}.admin-action-card.green .quick-icon{background:#ecfdf5;color:#0f766e}.admin-action-card.amber .quick-icon{background:#fffbeb;color:#d97706}.admin-action-card.violet .quick-icon{background:#f5f3ff;color:#7c3aed}
.owner-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0}
.stat{position:relative;display:grid;grid-template-columns:34px 1fr;align-items:center;gap:8px;background:#fff;border:1px solid #DCE8EF;border-radius:16px;padding:13px;overflow:hidden;box-shadow:0 8px 24px rgba(37,42,52,.08)}.stat:after{content:"";position:absolute;inset:auto 0 0 0;height:3px;background:var(--tone,#367FA9)}.stat .icon{grid-row:1/3;width:34px;height:34px;padding:8px;border-radius:10px;background:color-mix(in srgb,var(--tone,#2563eb) 13%,#fff);color:var(--tone,#2563eb)}.stat span{font-size:.68rem;color:#74808F;font-weight:850}.stat strong{font-size:1.05rem;color:#0f172a;margin:0}.stat[data-tone="credit-card"]{--tone:#43A785}.stat[data-tone="video"]{--tone:#7776C5}.stat[data-tone="briefcase-business"]{--tone:#43A785}.stat[data-tone="clipboard-list"]{--tone:#F2A65A}.stat[data-tone="badge-up"]{--tone:#E66A6A}.stat[data-tone="sparkles"]{--tone:#367FA9}
.owner-box{background:#fff;border:1px solid #DCE8EF;border-radius:16px;padding:15px;margin:14px 0;box-shadow:0 8px 24px rgba(37,42,52,.08)}.owner-box>header{margin-bottom:12px}.owner-box>header h2{font-size:.98rem;color:#172033}.v2-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin:14px 0}.dashboard-focus-grid{align-items:start}.dashboard-focus-grid>.owner-box:first-child{grid-column:span 2}.dynamic-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0}.v2-card,.time-card,.dynamic-record-card{background:linear-gradient(180deg,#fff,#f9fbff);border:1px solid #DCE8EF;border-radius:12px;padding:15px;box-shadow:0 10px 25px #0f172a0a;position:relative;overflow:hidden}.v2-card:before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,#2563eb,#0f766e,#f59e0b)}.v2-card h3{font-size:.96rem;margin:4px 0 8px;color:#111827}.v2-card p,.v2-card li{font-size:.76rem;line-height:1.9;color:#74808F}
.student-card-meta,.dynamic-card-meta{gap:6px}.student-card-meta span,.dynamic-card-meta span{display:flex;align-items:center;gap:5px;min-width:0;padding:6px 7px;border-radius:8px;background:#f3f7fb;color:#334155;font-size:.67rem;font-weight:800;line-height:1.5}.student-card-meta .icon,.dynamic-card-meta .icon{width:14px;height:14px;flex:0 0 14px;color:#2563eb}.student-card-head h3{font-size:.9rem}.student-card-head p,.dynamic-card-meta small,.student-card-meta small{font-size:.64rem}.dynamic-card-meta b,.student-card-meta b{font-size:.7rem}.student-card-actions .btn,.session-actions .btn{min-height:31px;padding:6px 8px;border-radius:8px;font-size:.68rem;box-shadow:none}
.op-form{grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.op-form label{font-size:.72rem;font-weight:900;color:#334155}.op-form input,.op-form select,.op-form textarea{border-radius:9px;padding:10px}.portal-filters{border-radius:12px;background:#fff;border:1px solid #DCE8EF;box-shadow:0 8px 20px #0f172a06}.admin-mini-list{display:grid;gap:7px}.admin-mini-list article{display:grid;grid-template-columns:minmax(90px,.8fr) minmax(0,1.35fr) auto;gap:8px;align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:9px}.admin-mini-list b{font-size:.78rem;color:#0f172a}.admin-mini-list span{font-size:.68rem;color:#64748b;font-weight:850}.admin-mini-list strong{font-size:.7rem;color:#0f766e;white-space:nowrap}
.v2-table{max-width:100%;overflow-x:auto;overflow-y:hidden;border:1px solid #DCE8EF;border-radius:12px;background:#fff;direction:rtl}.v2-table table{width:100%;border-collapse:separate;border-spacing:0;min-width:680px;direction:rtl}.v2-table th{background:#eef5ff;color:#1e3a5f;font-size:.72rem;font-weight:950}.v2-table th,.v2-table td{padding:11px 10px;border-bottom:1px solid #DCE8EF;font-size:.74rem;text-align:right!important;vertical-align:middle}.v2-table tr:last-child td{border-bottom:0}.v2-table tbody tr:hover{background:#f8fbff}
@media(max-width:1100px){.admin-quick-grid,.owner-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v2-grid,.dynamic-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-focus-grid>.owner-box:first-child{grid-column:auto}}
@media(max-width:700px){.portal-content{padding:12px!important}.admin-quick-grid,.owner-grid,.v2-grid,.dynamic-card-grid,.op-form{grid-template-columns:1fr}.admin-mini-list article{grid-template-columns:1fr}.owner-head.simple-head{padding:14px}.admin-action-card{grid-template-columns:38px minmax(0,1fr)}}
.dynamic-card-grid-sessions,.dynamic-card-grid-attendance{grid-template-columns:1fr!important}
.dynamic-card-grid-sessions .time-card,.dynamic-card-grid-attendance .time-card{width:100%;display:grid!important;grid-template-columns:minmax(180px,.7fr) minmax(0,1.15fr) auto;align-items:center;gap:12px}
.dynamic-card-grid-sessions .time-card header,.dynamic-card-grid-attendance .time-card header{margin:0}
.dynamic-card-grid-sessions .time-card .student-card-meta,.dynamic-card-grid-attendance .time-card .student-card-meta{grid-template-columns:repeat(4,minmax(0,1fr));margin:0}
.dynamic-card-grid-sessions .time-card .session-actions,.dynamic-card-grid-attendance .time-card .session-actions{margin:0;justify-content:flex-end}
@media(max-width:900px){.dynamic-card-grid-sessions .time-card,.dynamic-card-grid-attendance .time-card{grid-template-columns:1fr}.dynamic-card-grid-sessions .time-card .student-card-meta,.dynamic-card-grid-attendance .time-card .student-card-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.dynamic-card-grid-sessions .time-card .session-actions,.dynamic-card-grid-attendance .time-card .session-actions{justify-content:flex-start}}
@media(max-width:560px){.dynamic-card-grid-sessions .time-card .student-card-meta,.dynamic-card-grid-attendance .time-card .student-card-meta{grid-template-columns:1fr}}

/* Telegram-like sticky messenger refinements */
.tg-panel{width:min(390px,calc(100vw - 28px));height:min(640px,calc(100vh - 112px));background:#fff;border-color:#dbe5ee;border-radius:16px}
.tg-head{height:54px;background:#fff}.tg-body{background:#fff}
.tg-chat{background:#d9e6ef}
.tg-chat-head{min-height:54px;display:flex!important;grid-template-columns:none!important;align-items:center;gap:8px;background:#fff;padding:8px 10px}
.tg-chat-head button{width:34px;height:34px;flex:0 0 34px;background:transparent;color:#64748b}.tg-head-avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#42a5d5;color:#fff;font-size:.72rem;font-weight:900;flex:0 0 36px}
.tg-head-title{min-width:0;flex:1}.tg-head-title b{display:block;font-size:.84rem;color:#172033;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tg-head-title small{display:block;color:#64748b;font-size:.68rem}
.tg-messages{background:#d9e6ef;padding:12px 10px 10px}
.tg-day{align-self:center;background:rgba(86,121,140,.38);color:#fff;border-radius:14px;padding:4px 12px;font-size:.68rem;font-weight:800;margin:2px 0 8px}
.tg-msg{position:relative;max-width:78%;padding:7px 9px 5px;border-radius:10px;font-size:.8rem;line-height:1.65;box-shadow:0 1px 1px rgba(15,23,42,.12)}
.tg-msg.me{align-self:flex-start;background:#d8f8c6;border-bottom-left-radius:3px}.tg-msg.them{align-self:flex-end;background:#fff;border-bottom-right-radius:3px}
.tg-msg p{padding-left:38px}.tg-msg time{float:left;margin:2px 0 0 0;font-size:.58rem;color:#7b8794}
.tg-compose{grid-template-columns:36px 36px minmax(0,1fr) 42px;gap:5px;background:#fff;border-top:1px solid #d8e2ec;padding:8px}.tg-compose textarea{border:0;background:#fff;border-radius:18px;box-shadow:inset 0 0 0 1px #e5edf3;min-height:36px;padding:8px 12px}.tg-compose button{height:36px;background:#f1f5f9;color:#64748b}.tg-compose .tg-send{width:42px;height:42px;background:#2aa8df;color:#fff}
.tg-recording[hidden]{display:none!important}.tg-recording{background:#fff;color:#dc2626;border-top:1px solid #e5edf3;padding:8px 12px}.tg-picked{background:#fff}
.tg-list-view{background:#fff}.tg-room{min-height:58px}.tg-room>span{background:#42a5d5}.tg-bulk-btn{color:#2481cc}
.tg-chat .tg-empty{height:auto;align-self:center;justify-self:center;background:rgba(255,255,255,.72);border-radius:18px;padding:14px 18px}

/* === Chat (Telegram-like) === */
.chat-page{display:grid;grid-template-columns:320px minmax(0,1fr);height:calc(100vh - 60px);overflow:hidden;background:#fff}
.chat-sidebar{border-left:1px solid var(--border,#e5e7eb);display:flex;flex-direction:column;overflow:hidden}
.chat-sidebar-head{padding:16px;border-bottom:1px solid var(--border,#e5e7eb)}
.chat-sidebar-head h2{margin:0 0 12px;font-size:1.1rem}
.chat-search input{width:100%;padding:10px 14px;border:1px solid var(--border,#e5e7eb);border-radius:10px;font:inherit;font-size:.85rem;direction:rtl}
.chat-search input:focus{outline:none;border-color:var(--primary,#2457d6);box-shadow:0 0 0 3px rgba(36,87,214,.1)}
.chat-room-list{flex:1;overflow-y:auto}
.chat-room-item{display:flex;align-items:center;gap:12px;padding:12px 16px;cursor:pointer;transition:background .15s;border-bottom:1px solid #f1f5f9}
.chat-room-item:hover{background:#f8fafc}
.chat-room-item.active{background:var(--primary-light,#eef4ff);border-right:3px solid var(--primary,#2457d6)}
.chat-avatar{width:46px;height:46px;border-radius:50%;background:var(--primary,#2457d6);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;flex-shrink:0}
.chat-room-info{flex:1;min-width:0}
.chat-room-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}
.chat-room-name{font-weight:600;font-size:.88rem;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat-room-time{font-size:.7rem;color:#94a3b8;flex-shrink:0;margin-left:8px}
.chat-room-preview{display:flex;align-items:center;justify-content:space-between;gap:8px}
.chat-room-last-msg{font-size:.78rem;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}
.chat-unread-badge{background:var(--primary,#2457d6);color:#fff;font-size:.68rem;font-weight:700;min-width:20px;height:20px;border-radius:10px;display:flex;align-items:center;justify-content:center;padding:0 6px;flex-shrink:0}
.chat-empty-list{padding:40px 20px;text-align:center;color:#94a3b8}
.chat-empty-list p{margin-top:8px}
.chat-main{display:flex;flex-direction:column;overflow:hidden;background:#f0f2f5}
.chat-empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#94a3b8;gap:12px}
.chat-empty-state p{font-size:.95rem}
.chat-loading{flex:1;display:flex;align-items:center;justify-content:center}
.chat-header{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#fff;border-bottom:1px solid var(--border,#e5e7eb)}
.chat-back-btn{display:none;background:none;border:none;cursor:pointer;padding:6px;border-radius:8px;color:#1e293b}
.chat-back-btn:hover{background:#f1f5f9}
.chat-header-info h3{margin:0;font-size:.95rem}
.chat-header-info small{color:#94a3b8;font-size:.75rem}
.chat-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:8px}
.chat-msg{max-width:65%;padding:10px 14px;border-radius:16px;font-size:.88rem;line-height:1.6;word-wrap:break-word;position:relative}
.chat-msg.me{align-self:flex-end;background:var(--primary,#2457d6);color:#fff;border-bottom-right-radius:4px}
.chat-msg.them{align-self:flex-start;background:#fff;color:#1e293b;border-bottom-left-radius:4px;box-shadow:0 1px 2px rgba(0,0,0,.06)}
.chat-msg-sender{display:block;font-size:.72rem;font-weight:600;color:var(--primary,#2457d6);margin-bottom:3px}
.chat-msg-time{display:block;font-size:.65rem;color:rgba(255,255,255,.65);margin-top:4px;text-align:left}
.chat-msg.them .chat-msg-time{color:#94a3b8}
.chat-no-messages{flex:1;display:flex;align-items:center;justify-content:center;color:#94a3b8}
.chat-compose{display:flex;align-items:flex-end;gap:8px;padding:12px 16px;background:#fff;border-top:1px solid var(--border,#e5e7eb)}
.chat-compose textarea{flex:1;resize:none;border:1px solid var(--border,#e5e7eb);border-radius:20px;padding:10px 16px;font:inherit;font-size:.88rem;max-height:120px;direction:rtl;line-height:1.5}
.chat-compose textarea:focus{outline:none;border-color:var(--primary,#2457d6)}
.chat-send-btn{width:42px;height:42px;border-radius:50%;background:var(--primary,#2457d6);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s}
.chat-send-btn:hover{background:#1d4ed8}
.chat-error{flex:1;display:flex;align-items:center;justify-content:center;color:#dc2626;padding:20px}
.chat-sidebar-hidden{display:none}
.portal-sticky-chat{position:fixed;left:22px;bottom:22px;z-index:1200;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:54px;height:54px;padding:0 18px;border:0;border-radius:999px;background:#2457d6;color:#fff;font:inherit;font-weight:900;font-size:.86rem;box-shadow:0 18px 36px rgba(36,87,214,.28),0 4px 12px rgba(15,23,42,.18);cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}
.portal-sticky-chat:hover{background:#1d4ed8;transform:translateY(-2px);box-shadow:0 22px 42px rgba(36,87,214,.32),0 6px 16px rgba(15,23,42,.2)}
.portal-sticky-chat .icon{width:20px;height:20px;flex:0 0 20px}
.portal-sticky-chat.is-hidden{opacity:0;pointer-events:none;transform:translateY(8px)}
.portal-real-chat{z-index:1200}
.portal-real-chat .tg-fab.is-hidden{opacity:0;pointer-events:none;transform:translateY(8px)}
.portal-real-chat .tg-panel{position:absolute;left:0;bottom:74px;width:min(860px,calc(100vw - 40px));height:min(660px,calc(100vh - 112px));border-radius:24px;display:none}
.portal-real-chat .tg-panel.open{display:grid;grid-template-rows:auto 1fr}
.portal-real-chat .tg-head{height:auto;min-height:68px;padding:13px 16px;justify-content:space-between;background:linear-gradient(125deg,#172554,#1e3a8a 55%,#2563eb);color:#fff}
.portal-real-chat .tg-brand{display:flex;align-items:center;gap:10px}
.portal-real-chat .tg-brand-icon{width:42px;height:42px;border-radius:14px;background:#ffffff18;display:grid;place-items:center}
.portal-real-chat .tg-brand-icon .icon{width:22px;height:22px}
.portal-real-chat .tg-head button{background:#ffffff14;color:#fff;border-radius:11px}
.portal-real-chat .tg-head small{color:#dbeafe}
.tg-panel{position:fixed;left:18px;bottom:86px;z-index:1199;width:min(420px,calc(100vw - 28px));height:min(720px,calc(100vh - 112px));display:none;overflow:hidden;background:#eef3f8;border:1px solid #d8e2ec;border-radius:18px;box-shadow:0 24px 70px rgba(15,23,42,.24);direction:rtl}
.tg-panel.open{display:grid;grid-template-rows:auto 1fr}.tg-head{height:58px;padding:10px 12px;display:flex;align-items:center;gap:10px;background:#fff;border-bottom:1px solid #dde7ef}.tg-head button{width:36px;height:36px;border:0;border-radius:50%;background:#eef3f8;color:#172033;display:grid;place-items:center}.tg-head strong{display:block;font-size:.9rem}.tg-head small{display:block;color:#74808f;font-size:.7rem}.tg-body{min-height:0;overflow:hidden;background:#fff}.tg-list-view,.tg-bulk-view{height:100%;display:grid;grid-template-rows:auto auto 1fr;background:#fff}.tg-search{padding:10px}.tg-search input{width:100%;border:1px solid #d8e2ec;border-radius:999px;padding:10px 12px;font:inherit;font-size:.78rem}.tg-room,.tg-bulk-btn{width:100%;border:0;background:#fff;padding:10px 12px;display:flex;align-items:center;gap:9px;text-align:right;cursor:pointer}.tg-bulk-btn{border-bottom:1px solid #eef2f6;color:#2457d6;font-weight:900}.tg-room:hover,.tg-bulk-btn:hover{background:#edf5ff}.tg-room>span{width:38px;height:38px;border-radius:50%;background:#2457d6;color:#fff;display:grid;place-items:center;font-weight:900;flex:0 0 38px}.tg-room div{min-width:0}.tg-room b,.tg-bulk-btn span{display:block;font-size:.8rem;color:#172033;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tg-room small{display:block;font-size:.68rem;color:#74808f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tg-room em{margin-right:auto;background:#2457d6;color:#fff;border-radius:999px;min-width:18px;height:18px;display:grid;place-items:center;font-size:.65rem;font-style:normal}.tg-chat{height:100%;min-width:0;display:grid;grid-template-rows:auto 1fr auto;background:#dce8f2}.tg-chat-head{min-height:50px;padding:8px 10px;background:#fff;border-bottom:1px solid #d8e2ec;display:grid;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:8px}.tg-chat-head button{width:36px;height:36px;border:0;border-radius:50%;background:#eef3f8;color:#172033;display:grid;place-items:center}.tg-chat-head b{font-size:.84rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tg-chat-head small{grid-column:2;color:#74808f;font-size:.68rem}.tg-messages{min-height:0;overflow:auto;padding:12px;display:flex;flex-direction:column;gap:8px;background:linear-gradient(180deg,#dce8f2,#eef4f8)}.tg-msg{max-width:86%;width:max-content;min-width:88px;padding:8px 10px;border-radius:14px;font-size:.78rem;line-height:1.7;box-shadow:0 1px 2px rgba(15,23,42,.08)}.tg-msg.me{align-self:flex-start;background:#d8f8c6;border-bottom-left-radius:4px}.tg-msg.them{align-self:flex-end;background:#fff;border-bottom-right-radius:4px}.tg-msg p{margin:0;white-space:pre-wrap}.tg-msg time{display:block;margin-top:3px;color:#74808f;font-size:.62rem;text-align:left}.tg-attach.image img{display:block;max-width:220px;max-height:180px;border-radius:10px;object-fit:cover}.tg-file,.tg-voice{display:flex;align-items:center;gap:8px;margin-top:6px;padding:7px;border-radius:10px;background:rgba(255,255,255,.65);color:#172033;text-decoration:none}.tg-voice button{width:34px;height:34px;border:0;border-radius:50%;background:#2457d6;color:#fff;display:grid;place-items:center}.tg-compose{display:grid;grid-template-columns:38px minmax(0,1fr) 38px 38px;gap:6px;align-items:end;padding:8px;background:#fff;border-top:1px solid #d8e2ec}.tg-compose button{height:38px;border:0;border-radius:50%;display:grid;place-items:center;background:#edf3f8;color:#2457d6}.tg-compose textarea{resize:none;min-height:38px;max-height:112px;border:1px solid #d8e2ec;border-radius:19px;padding:8px 12px;font:inherit;font-size:.8rem;line-height:1.6}.tg-compose .tg-send{background:#2457d6;color:#fff}.tg-recording{display:flex;align-items:center;gap:8px;padding:7px 10px;background:#fff7ed;border-top:1px solid #fed7aa;color:#9a3412}.tg-recording [data-rec-dot]{width:9px;height:9px;border-radius:50%;background:#ef4444;animation:tgPulse 1s infinite}.tg-recording button{margin-right:auto;border:0;background:transparent;color:#dc2626;font:inherit;font-weight:900}.tg-picked{display:flex;gap:6px;overflow:auto;padding:6px 8px;background:#fff}.tg-picked:empty{display:none}.tg-picked span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;background:#eef4ff;color:#1e3a8a;border-radius:999px;padding:5px 8px;font-size:.68rem}.tg-picked button{border:0;background:transparent;color:#1e3a8a;font-weight:900}.tg-student-picks{min-height:0;overflow:auto;padding:8px;display:grid;align-content:start;gap:6px}.tg-student-picks label{display:flex;align-items:center;gap:8px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:9px;font-size:.78rem}.tg-student-picks input{width:18px;height:18px}.tg-bulk-footer{padding:10px;background:#fff;border-top:1px solid #d8e2ec}.tg-bulk-footer button{width:100%;height:42px;border:0;border-radius:12px;background:#2457d6;color:#fff;font:inherit;font-weight:900}.tg-bulk-footer button:disabled{background:#cbd5e1;color:#64748b}.tg-bulk-modal{position:fixed;inset:0;z-index:1400;background:rgba(15,23,42,.34);display:grid;place-items:center;padding:16px}.tg-bulk-dialog{width:min(420px,100%);background:#fff;border-radius:16px;box-shadow:0 24px 70px rgba(15,23,42,.25);overflow:hidden;direction:rtl}.tg-bulk-dialog header{display:flex;align-items:center;gap:10px;padding:12px;border-bottom:1px solid #e2e8f0}.tg-bulk-dialog header button{width:34px;height:34px;border:0;border-radius:50%;background:#eef3f8}.tg-bulk-dialog b{display:block;font-size:.9rem}.tg-bulk-dialog small{display:block;color:#74808f;font-size:.7rem}.tg-bulk-dialog textarea{width:calc(100% - 24px);margin:12px;border:1px solid #d8e2ec;border-radius:12px;padding:10px;font:inherit;resize:vertical}.tg-bulk-dialog footer{display:flex;gap:8px;padding:12px;border-top:1px solid #e2e8f0}.tg-bulk-dialog footer button{flex:1;height:40px;border:0;border-radius:10px;font:inherit;font-weight:900}.tg-bulk-dialog [data-bulk-send]{background:#2457d6;color:#fff}.tg-empty,.tg-loading,.tg-error{display:grid;place-items:center;height:100%;padding:18px;text-align:center;color:#74808f}.tg-error{color:#dc2626}@keyframes tgPulse{50%{opacity:.25}}
@media(max-width:800px){
  .chat-page{grid-template-columns:1fr}
  .chat-sidebar{position:absolute;top:0;right:0;bottom:0;width:100%;z-index:10;background:#fff}
  .chat-sidebar-hidden{display:none}
  .chat-back-btn{display:flex}
  .portal-sticky-chat{left:14px;bottom:14px;height:50px;padding:0 15px;font-size:.8rem}
  .tg-panel{left:0;right:0;bottom:0;width:100vw;height:100dvh;border-radius:0;border:0}
  .portal-real-chat .tg-panel{position:fixed;inset:8px;width:auto;height:auto;border-radius:20px}
}

/* Final chat overrides: keep these after the legacy chat block. */
.tg-chat-head{display:flex!important;grid-template-columns:none!important;align-items:center!important;gap:8px!important;min-height:54px!important;background:#fff!important}
.tg-chat-head button{width:34px!important;height:34px!important;flex:0 0 34px!important;background:transparent!important;color:#64748b!important}
.tg-head-avatar{width:36px!important;height:36px!important;border-radius:50%!important;display:grid!important;place-items:center!important;background:#42a5d5!important;color:#fff!important;font-size:.72rem!important;font-weight:900!important;flex:0 0 36px!important}
.tg-head-title{min-width:0!important;flex:1!important}.tg-head-title b{display:block!important;font-size:.84rem!important;color:#172033!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.tg-head-title small{display:block!important;color:#64748b!important;font-size:.68rem!important}
.tg-messages{background:#d9e6ef!important;padding:12px 10px 10px!important}
.tg-msg{max-width:78%!important;border-radius:10px!important}.tg-msg.me{background:#d8f8c6!important;border-bottom-left-radius:3px!important}.tg-msg.them{background:#fff!important;border-bottom-right-radius:3px!important}
.tg-msg p{margin:0!important;padding-left:38px!important}.tg-msg time{float:left!important;margin:2px 0 0!important;font-size:.58rem!important;color:#7b8794!important}
.tg-recording[hidden]{display:none!important}
.tg-voice small{display:block;color:#64748b;font-size:.62rem}
.tg-compose.is-sending{opacity:.82;pointer-events:none}
.tg-compose.is-sending textarea{background:#f8fafc;color:#94a3b8}
.tg-compose .tg-send[aria-busy="true"]{background:#2aa8df!important;color:#fff!important}
.tg-spinner{width:18px;height:18px;border-radius:50%;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;animation:tgSpin .75s linear infinite}
.tg-bulk-dialog .tg-picked{border-top:1px solid #e5edf3}.tg-bulk-dialog .tg-compose{border-top:1px solid #e5edf3}.tg-bulk-dialog .tg-recording{border-top:1px solid #e5edf3}.tg-bulk-dialog>footer{padding:8px 12px!important}
@keyframes tgSpin{to{transform:rotate(360deg)}}

/* Role-aware chat widget: overrides legacy 420px messenger constraints. */
.legacy-portal-shell .tg-panel{
  width:min(860px,calc(100vw - 40px))!important;
  height:min(660px,calc(100dvh - 112px))!important;
  background:#fff!important;
  border-radius:24px!important;
}
.legacy-portal-shell .tg-panel.open{grid-template-rows:auto auto minmax(0,1fr)!important}
.legacy-portal-shell .tg-panel>.tg-head{height:auto!important;min-height:72px!important;padding:14px 18px!important;background:linear-gradient(125deg,#172554,#1e3a8a 55%,#2563eb)!important;border:0!important;color:#fff!important;justify-content:space-between!important}
.legacy-portal-shell .tg-panel>.tg-head button{background:rgba(255,255,255,.12)!important;color:#fff!important;border-radius:11px!important}
.legacy-portal-shell .tg-panel>.tg-head small{color:#dbeafe!important}
.legacy-portal-shell .tg-panel>.tg-head .tg-brand{display:flex!important;align-items:center!important;gap:11px!important}
.legacy-portal-shell .tg-panel>.tg-body{min-height:0!important}
.legacy-portal-shell .tg-workspace{grid-template-columns:320px minmax(0,1fr)!important;min-height:0!important}
.legacy-portal-shell .tg-list-pane{min-width:0!important;overflow:hidden!important}
.legacy-portal-shell .tg-list{min-height:0!important;overflow:auto!important}
.legacy-portal-shell .tg-conversation{min-width:0!important;min-height:0!important;overflow:hidden!important}
.legacy-portal-shell .tg-conversation>.tg-body{min-height:0!important;overflow:auto!important}

@media(max-width:700px){
  .legacy-portal-shell .tg-panel{inset:0!important;width:100vw!important;height:100dvh!important;border-radius:0!important}
  .legacy-portal-shell .tg-workspace{display:block!important}
  .legacy-portal-shell .tg-list-pane{height:100%!important}
  .legacy-portal-shell .tg-conversation{height:100%!important}
}
.profile-modal-card{max-width:620px!important}
.profile-avatar-edit{display:flex;align-items:center;gap:14px;margin:8px 0 16px;padding:12px;border:1px solid #dbe7f3;border-radius:12px;background:#f8fafc}
.profile-avatar-edit img,.profile-avatar-edit>span{width:76px;height:76px;border-radius:50%;object-fit:cover;display:grid;place-items:center;background:#e2e8f0;color:#64748b;font-size:.72rem;font-weight:900;flex:0 0 76px;text-align:center}
.profile-avatar-edit label{flex:1;display:grid;gap:7px;font-size:.78rem;font-weight:900;color:#172033}
.profile-avatar-edit input{width:100%;border:1px solid #cbd5e1;border-radius:10px;background:#fff;padding:8px;font:inherit;font-size:.76rem}
@media(max-width:640px){.profile-avatar-edit{align-items:stretch}.profile-modal-card .v2-form{grid-template-columns:1fr!important}}

/* Mobile portal menu: final drawer rules after all legacy overrides. */
@media(max-width:900px){
  body.portal-menu-lock{overflow:hidden!important}
  body.portal-menu-lock .portal-menu-backdrop{display:block!important;z-index:1290!important;background:rgba(15,23,42,.56)!important;backdrop-filter:blur(2px)!important}
  .panel-l{display:block!important;min-height:auto!important}
  .panel-l .pc{display:block!important;width:100%!important;max-width:100%!important;margin:0!important;padding:12px!important;overflow:visible!important}
  .panel-l .sb{position:fixed!important;inset:0 0 0 auto!important;width:min(320px,86vw)!important;height:100dvh!important;display:flex!important;flex-direction:column!important;z-index:1300!important;padding:16px 10px!important;background:#202735!important;color:#eef6ff!important;border-radius:0!important;box-shadow:-24px 0 70px rgba(2,8,23,.36)!important;opacity:1!important;visibility:visible!important;translate:0 0!important;transform:translateX(105%)!important;transition:transform .22s ease!important;overflow-y:auto!important;pointer-events:none!important}
  .panel-l.menu-open .sb{transform:translateX(0)!important;pointer-events:auto!important}
  .panel-l .sb-t,.panel-l .panel-group{color:#b8c7d7!important}
  .panel-l .sb-l{color:#eaf4ff!important;background:transparent!important;opacity:1!important}
  .panel-l .sb-l.ac{background:rgba(255,255,255,.1)!important;color:#fff!important}
  .panel-l .sb-l .icon{color:#d8ecff!important}
  .panel-l .role-search input{background:rgba(255,255,255,.1)!important;color:#fff!important;border-color:rgba(255,255,255,.16)!important}
  .panel-l .role-search input::placeholder{color:#aab9c8!important}
  .panel-l .portal-user-card b,.panel-l .portal-logout{color:#fff!important}
  .panel-l .portal-user-card small{color:#b8c7d7!important}
}

/* HTML reference parity: keep WordPress portal surfaces aligned with owner-v2/product-v2. */
.owner-ui .owner-head.simple-head{background:#fff!important;border:1px solid #DCE8EF!important;border-radius:14px!important;padding:18px!important;box-shadow:0 8px 24px rgba(37,42,52,.08)!important;margin-bottom:14px!important}
.owner-ui .owner-head h1{font-size:1.35rem!important;margin:8px 0 4px!important;color:#252A34!important;letter-spacing:0!important}
.owner-ui .owner-head p{margin:0!important;color:#74808F!important;font-size:.8rem!important;line-height:1.8!important}
.owner-ui .v2-badge{display:inline-flex!important;align-items:center!important;gap:6px!important;padding:6px 10px!important;border-radius:999px!important;background:#DDF2FA!important;color:#367FA9!important;font-size:.68rem!important;font-weight:900!important}
.owner-ui .owner-box{background:#fff!important;border:1px solid #DCE8EF!important;border-radius:16px!important;padding:15px!important;margin:14px 0!important;box-shadow:0 8px 24px rgba(37,42,52,.08)!important}
.owner-ui .owner-box>header{margin:0!important}.owner-ui .owner-box h2,.owner-ui .owner-box>header h2{display:flex!important;align-items:center!important;gap:8px!important;font-size:.98rem!important;margin:0 0 13px!important;color:#172033!important}
.owner-ui .owner-box h2 .icon,.owner-ui .owner-box>header h2 .icon{width:19px!important;height:19px!important;color:#367FA9!important}
.owner-ui .v2-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:13px!important;margin:14px 0!important}
.owner-ui .advisor-admin-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))!important}
.owner-ui [data-view="advisors"] .advisor-admin-grid{grid-template-columns:minmax(0,1fr)!important;gap:9px!important;margin:8px 0 0!important}
.owner-ui [data-view="advisors"] .advisor-admin-card{width:100%!important;min-width:0!important;padding:12px 14px!important;gap:9px!important;overflow:hidden!important;display:flex!important;flex-direction:column!important}
.owner-ui [data-view="advisors"] .advisor-admin-card>*{width:100%!important;min-width:0!important;box-sizing:border-box!important}
.owner-ui [data-view="advisors"] .advisor-admin-card .student-card-head{margin:0!important;align-items:center!important}
.owner-ui [data-view="advisors"] .advisor-admin-card .student-card-head>div:first-child{display:flex!important;align-items:center!important;gap:9px!important;min-width:0!important;flex-wrap:wrap!important}
.owner-ui [data-view="advisors"] .advisor-admin-card .v2-pill-row{display:flex!important;gap:4px!important;flex-wrap:wrap!important;min-width:0!important;max-width:100%!important}
.owner-ui [data-view="advisors"] .advisor-admin-card .v2-pill-row .v2-pill{font-size:.62rem!important;padding:4px 6px!important;white-space:normal!important;line-height:1.4!important}
.owner-ui [data-view="advisors"] .advisor-admin-card .student-card-head h3{font-size:.96rem!important;margin:0!important;white-space:nowrap!important}
.owner-ui [data-view="advisors"] .advisor-card-identity{display:grid!important;gap:2px!important}.owner-ui [data-view="advisors"] .advisor-card-identity p{direction:ltr!important;text-align:right!important}
.owner-ui [data-view="advisors"] .advisor-admin-card .advisor-avatar{width:42px!important;height:42px!important;flex:0 0 42px!important;border-radius:11px!important;object-fit:cover!important}
.owner-ui [data-view="advisors"] .advisor-card-qualifications{padding:0 0 2px!important}
.owner-ui [data-view="advisors"] .advisor-admin-card>.advisor-compact-line{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:6px!important}
.owner-ui [data-view="advisors"] .advisor-admin-card>.advisor-compact-line span{display:grid!important;min-width:0!important;gap:3px!important;padding:7px 9px!important;white-space:normal!important;overflow-wrap:anywhere!important}
.owner-ui [data-view="advisors"] .advisor-admin-card>.advisor-compact-line small{font-size:.6rem!important;color:#64748b!important}.owner-ui [data-view="advisors"] .advisor-admin-card>.advisor-compact-line b{display:flex!important;align-items:center!important;gap:5px!important;font-size:.7rem!important;color:#172033!important}
.owner-ui [data-view="advisors"] .advisor-card-score{display:grid!important;grid-template-columns:auto minmax(160px,1fr) auto auto!important;align-items:center!important;gap:10px!important;padding:8px 10px!important;background:#f8fafc!important;border:1px solid #e2e8f0!important;border-radius:10px!important}
.owner-ui [data-view="advisors"] .advisor-card-score>div{display:grid!important;gap:2px!important}.owner-ui [data-view="advisors"] .advisor-card-score small{font-size:.6rem!important;color:#64748b!important}.owner-ui [data-view="advisors"] .advisor-card-score strong{font-size:.8rem!important;color:#0f172a!important;white-space:nowrap!important}.owner-ui [data-view="advisors"] .advisor-card-score em{font-size:.58rem!important;font-style:normal!important;color:#64748b!important}.owner-ui [data-view="advisors"] .advisor-card-score>span{font-size:.68rem!important;font-weight:900!important;color:#2563eb!important;white-space:nowrap!important}.owner-ui [data-view="advisors"] .advisor-card-progress{height:7px!important;background:#e2e8f0!important;border-radius:999px!important;overflow:hidden!important}.owner-ui [data-view="advisors"] .advisor-card-progress i{display:block!important;height:100%!important;background:linear-gradient(90deg,#0ea5e9,#22c55e)!important;border-radius:inherit!important}
.owner-ui [data-view="advisors"] .advisor-admin-card .score-progress{margin:0!important;padding:9px 11px!important;border-radius:10px!important;box-shadow:none!important}
.owner-ui [data-view="advisors"] .advisor-admin-card .score-parts{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:5px!important}
.owner-ui [data-view="advisors"] .advisor-admin-card .score-parts span{min-width:0!important;padding:5px 7px!important;line-height:1.45!important}
.owner-ui [data-view="advisors"] .advisor-admin-card .student-card-actions{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(110px,1fr))!important;gap:6px!important;margin:0!important}
.owner-ui [data-view="advisors"] .advisor-admin-card .student-card-actions .btn{width:100%!important;justify-content:center!important;min-width:0!important;white-space:nowrap!important}
.owner-ui [data-view="advisors"] [data-advisor-mobile-error]{display:block;color:#b91c1c;font-size:.68rem;line-height:1.6;min-height:0}
.owner-ui [data-view="advisors"] [data-advisor-mobile-field]:has(input[aria-invalid="true"]) input{border-color:#dc2626!important;box-shadow:0 0 0 3px #dc26261a!important}
@media(max-width:1000px){.owner-ui [data-view="advisors"] .advisor-admin-card>.advisor-compact-line{grid-template-columns:repeat(3,minmax(0,1fr))!important}.owner-ui [data-view="advisors"] .advisor-card-score{grid-template-columns:auto minmax(100px,1fr) auto!important}.owner-ui [data-view="advisors"] .advisor-card-score>div:last-child{grid-column:1/-1;display:flex!important;justify-content:space-between!important}.owner-ui [data-view="advisors"] .advisor-admin-card .student-card-actions{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media(max-width:600px){.owner-ui [data-view="advisors"] .owner-box{padding:7px!important}.owner-ui [data-view="advisors"] .advisor-admin-card{padding:9px!important;gap:7px!important}.owner-ui [data-view="advisors"] .advisor-admin-card .student-card-head{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:start!important}.owner-ui [data-view="advisors"] .advisor-admin-card .student-card-head>div:first-child{gap:6px!important;width:100%!important}.owner-ui [data-view="advisors"] .advisor-admin-card .student-card-head h3{white-space:normal!important;font-size:.86rem!important}.owner-ui [data-view="advisors"] .advisor-admin-card>.advisor-compact-line{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:4px!important}.owner-ui [data-view="advisors"] .advisor-admin-card>.advisor-compact-line span{padding:6px!important}.owner-ui [data-view="advisors"] .advisor-card-score{grid-template-columns:auto 1fr!important;gap:7px!important}.owner-ui [data-view="advisors"] .advisor-card-score>.advisor-card-progress{grid-column:1/-1!important;grid-row:auto!important}.owner-ui [data-view="advisors"] .advisor-card-score>span{text-align:left!important}.owner-ui [data-view="advisors"] .advisor-card-score>div:last-child{grid-column:1/-1!important}.owner-ui [data-view="advisors"] .advisor-admin-card .student-card-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}.owner-ui [data-view="advisors"] .advisor-admin-card .student-card-actions .btn{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;gap:7px!important;min-height:44px!important;font-size:13px!important;font-weight:900!important;padding:9px 7px!important;line-height:1.45!important;overflow:visible!important}.owner-ui [data-view="advisors"] .advisor-admin-card .student-card-actions .btn .icon{display:block!important;flex:0 0 16px!important;width:16px!important;height:16px!important}.owner-ui [data-view="advisors"] .advisor-admin-card .student-card-actions .btn span{display:block!important;visibility:visible!important;opacity:1!important;flex:0 1 auto!important;width:auto!important;height:auto!important;max-width:none!important;overflow:visible!important;font-size:13px!important;font-weight:900!important;line-height:1.45!important;white-space:normal!important;text-indent:0!important;color:inherit!important}}
.owner-ui .v2-card{background:linear-gradient(180deg,#fff,#f9fbff)!important;border:1px solid #DCE8EF!important;border-radius:12px!important;padding:15px!important;box-shadow:0 10px 25px #0f172a0a!important;position:relative!important;overflow:hidden!important}
.owner-ui .v2-card:before{content:""!important;position:absolute!important;inset:0 0 auto 0!important;height:4px!important;background:linear-gradient(90deg,#2563eb,#0f766e,#f59e0b)!important}
.question-bank-workspace .owner-head .owner-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.qb-mobile-shell{display:grid;gap:10px}
.qb-command-bar{position:sticky;top:0;z-index:8;display:grid;gap:8px;background:#f8fafcdd;backdrop-filter:blur(10px);padding:8px 0;border-bottom:1px solid #e2e8f0}
.qb-search{display:flex!important;align-items:center!important;gap:7px!important;background:#fff!important;border:1px solid #dce8ef!important;border-radius:12px!important;padding:8px 10px!important;color:#64748b!important}
.qb-search input{border:0!important;outline:0!important;padding:0!important;min-height:28px!important;background:transparent!important;flex:1!important;font-size:.82rem!important}
.qb-segment{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.qb-segment button{border:1px solid #dce8ef;background:#fff;color:#334155;border-radius:10px;padding:9px 8px;font-weight:950;font-size:.73rem}.qb-segment button.is-active{background:#172033;color:#fff;border-color:#172033}
.qb-panel{display:none}.qb-panel.is-active{display:block}.qb-panel>.owner-box{margin:0}
.qb-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:14px;align-items:start}
.qb-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}.qb-toolbar.compact{margin:0 0 8px;overflow:auto;flex-wrap:nowrap}
.qb-toolbar .btn.is-active{box-shadow:0 0 0 2px #2563eb22;background:#2563eb;color:#fff}
.qb-result-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:8px 0;color:#64748b;font-size:.72rem}.qb-result-head b{color:#0f172a;font-size:.86rem}
.qb-question-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin:0!important;gap:8px!important}
.qb-question-card{min-height:0;display:flex;flex-direction:column;gap:8px;padding:11px!important}
.qb-question-card .student-card-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.qb-question-card h3{font-size:.82rem;line-height:1.65;margin:0;overflow-wrap:anywhere}
.qb-question-card p{margin:0;color:#64748b}
.qb-question-card .dynamic-card-meta{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.qb-question-card .dynamic-card-meta span{padding:6px;border-radius:8px}.qb-question-card .owner-note{font-size:.68rem;line-height:1.6;margin:0}
.qb-exam-list{display:grid;gap:8px}.qb-exam-card{display:grid;gap:8px;background:#fff;border:1px solid #dce8ef;border-radius:12px;padding:11px;box-shadow:0 8px 18px #0f172a08}.qb-exam-card h3{margin:0 0 3px;font-size:.86rem;color:#0f172a}.qb-exam-card p{margin:0;font-size:.7rem;color:#64748b;line-height:1.6}.qb-exam-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.qb-exam-metrics span{background:#f8fafc;border-radius:8px;padding:7px;text-align:center;font-size:.7rem;font-weight:900;color:#334155}
.qb-load-more{width:100%;justify-content:center;margin:10px 0 0!important}
.qb-row-actions{margin-top:auto;gap:7px}
.qb-row-actions .btn{padding:7px 9px;font-size:.68rem}
.qb-row-actions .btn[disabled]{opacity:.48;cursor:not-allowed;filter:grayscale(.2)}
.qb-log-list{display:grid;gap:8px}
.qb-log-list article{display:grid;gap:4px;border:1px solid #dce8ef;background:#fff;border-radius:10px;padding:10px;box-shadow:0 8px 18px #0f172a08}
.qb-log-list b{font-size:.76rem;color:#0f172a;overflow-wrap:anywhere}
.qb-log-list span{font-size:.68rem;line-height:1.8;color:#64748b;overflow-wrap:anywhere}
.qb-rule-list{display:grid;gap:9px}
.qb-rule-list article{border:1px solid #dce8ef;background:#f8fafc;border-radius:10px;padding:10px}
.qb-rule-list b{display:block;font-size:.78rem;color:#0f172a;margin-bottom:4px}
.qb-rule-list span{display:block;font-size:.7rem;line-height:1.8;color:#64748b}
.qb-check-list{display:grid;gap:8px;max-height:360px;overflow:auto;padding:8px;border:1px solid #dce8ef;border-radius:10px;background:#f8fafc;margin:10px 0}
.qb-check-list label{display:flex;gap:8px;align-items:flex-start;font-size:.75rem;line-height:1.8;color:#172033}
.qb-form{margin:8px 0 12px}
.qb-answer-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:8px;max-height:420px;overflow:auto;padding:10px;border:1px solid #dce8ef;border-radius:10px;background:#f8fafc}
.qb-answer-grid fieldset{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;gap:5px;margin:0;border:1px solid #e2e8f0;border-radius:9px;background:#fff;padding:7px}
.qb-answer-grid legend{grid-column:1/-1;width:100%;box-sizing:border-box;font-weight:950;color:#0f172a;padding:0 4px 5px;font-size:.74rem;text-align:right}
.qb-answer-grid label{display:flex;align-items:center;justify-content:center;gap:3px;font-size:.7rem;color:#334155;cursor:pointer;min-height:30px;border:1px solid #e2e8f0;border-radius:7px;background:#fff}
.qb-answer-grid input[type=radio]{width:14px!important;height:14px!important;min-width:14px!important;min-height:14px!important;margin:0!important;padding:0!important;border-radius:50%!important;cursor:pointer;accent-color:#2563eb;pointer-events:auto}
.qb-answer-grid label:has(input[type=radio]:checked){background:#eff6ff;border-color:#93c5fd;color:#1d4ed8;font-weight:950}
.exam-chapter-rows{display:grid;gap:12px}.exam-chapter-rows section{border:1px solid #dce8ef;border-radius:12px;background:#f8fafc;padding:10px}.exam-chapter-rows h3{margin:0 0 8px;font-size:.86rem;color:#0f172a}
.qb-bank-picker{display:grid!important;gap:6px;max-height:260px;overflow:auto;border:1px solid #dce8ef;border-radius:10px;background:#fff;padding:8px}
.qb-bank-picker-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:2px 2px 6px;color:#64748b;font-size:.7rem}.qb-bank-picker-head span{font-weight:950;color:#0f172a}.qb-bank-picker-head small{font-size:.65rem}
.qb-bank-picker button{display:grid;gap:3px;text-align:right;border:1px solid #e2e8f0;background:#f8fafc;border-radius:9px;padding:8px;cursor:pointer;color:#172033}
.qb-bank-picker button:hover,.qb-bank-picker button.is-selected{border-color:#2563eb;background:#eff6ff;box-shadow:0 0 0 2px #2563eb18}
.qb-bank-picker button b{font-size:.76rem;color:#0f172a}.qb-bank-picker button span{font-size:.68rem;color:#64748b;line-height:1.7}
.qb-tab-nav{display:flex;gap:7px;overflow:auto;padding:4px 0 10px;position:sticky;top:0;background:#fff;z-index:2}
.qb-tab-nav button{white-space:nowrap;border:1px solid #dce8ef;background:#f8fafc;color:#334155;border-radius:9px;padding:8px 11px;font-weight:900;font-size:.72rem;cursor:pointer}
.qb-tab-nav button.is-active{background:#2563eb;color:#fff;border-color:#2563eb}
.qb-tab-panel{display:none}.qb-tab-panel.is-active{display:block}
@media(max-width:980px){.qb-layout{grid-template-columns:1fr}.qb-question-grid{grid-template-columns:1fr}.question-bank-workspace .owner-head .owner-actions{justify-content:flex-start}}
@media(max-width:640px){.question-bank-workspace .owner-head.simple-head{margin-bottom:8px!important}.question-bank-workspace .owner-head .owner-actions{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important}.qb-segment{grid-template-columns:repeat(2,1fr)}.qb-question-card .dynamic-card-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.qb-exam-metrics{grid-template-columns:1fr 1fr 1fr}.qb-rule-list.compact{grid-template-columns:1fr}.qb-toolbar.compact .btn{white-space:nowrap;min-height:34px;padding:7px 10px}}
.owner-ui .advisor-admin-card{padding:11px!important;display:grid!important;gap:8px!important}
.owner-ui .student-card-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:8px!important;margin-bottom:8px!important}
.owner-ui .student-card-head h3{margin:0 0 2px!important;font-size:.9rem!important;color:#111827!important}
.owner-ui .student-card-head p{margin:0!important;font-size:.68rem!important;line-height:1.5!important;color:#74808F!important}
.owner-ui .advisor-compact-line{display:flex!important;align-items:center!important;gap:6px!important;flex-wrap:wrap!important}
.owner-ui .advisor-compact-line span{display:inline-flex!important;align-items:center!important;gap:4px!important;padding:5px 7px!important;border-radius:8px!important;background:#f3f7fb!important;color:#334155!important;font-size:.66rem!important;font-weight:850!important;line-height:1.4!important}
.owner-ui .advisor-compact-line .icon{width:13px!important;height:13px!important;color:#2563eb!important;flex:0 0 13px!important}
.owner-ui .student-card-actions{display:flex!important;gap:5px!important;flex-wrap:wrap!important;margin-top:8px!important}
.owner-ui .student-card-actions .btn{min-height:31px!important;padding:6px 8px!important;border-radius:8px!important;font-size:.68rem!important;flex:0 0 auto!important;box-shadow:none!important}
.owner-ui .compact-actions{display:flex!important;gap:5px!important;flex-wrap:wrap!important;align-items:center!important;min-width:260px!important}
.owner-ui .compact-actions .btn{min-height:30px!important;padding:6px 8px!important;border-radius:8px!important;font-size:.66rem!important;gap:4px!important;white-space:nowrap!important}
.owner-ui .compact-actions .btn .icon{width:14px!important;height:14px!important}
.owner-ui .compact-actions .btn.danger{border-color:#fecaca!important;color:#b91c1c!important;background:#fff!important}
.owner-ui .v2-form{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
.owner-ui .v2-form label{display:grid!important;gap:5px!important;font-size:.72rem!important;font-weight:900!important;color:#334155!important}
.owner-ui .v2-form input,.owner-ui .v2-form select,.owner-ui .v2-form textarea{width:100%!important;box-sizing:border-box!important;border:1px solid #dbe2ea!important;border-radius:9px!important;padding:10px!important;background:#fff!important;color:#0f172a!important;font:inherit!important}
.owner-ui .v2-form .wide{grid-column:1/-1!important}
.owner-ui .structure-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.owner-ui .structure-admin-grid .v2-form{align-content:start;border:1px solid #e2e8f0;border-radius:10px;padding:12px;background:#f8fafc}
.owner-ui .structure-admin-grid h3{grid-column:1/-1;margin:0 0 4px;font-size:.92rem;color:#0f172a}
.owner-ui .structure-admin-grid fieldset{border:1px solid #dbe2ea;border-radius:9px;padding:10px;display:flex;flex-wrap:wrap;gap:8px;background:#fff}
.owner-ui .structure-admin-grid fieldset legend{padding:0 6px;color:#334155;font-size:.72rem;font-weight:900}
.simple-modal{position:fixed!important;inset:0!important;z-index:1600!important;display:grid!important;place-items:center!important;padding:16px!important;background:rgba(15,23,42,.38)!important;backdrop-filter:blur(6px)!important}
.simple-modal-card{width:min(760px,calc(100vw - 24px))!important;max-height:90dvh!important;overflow:auto!important;background:#fff!important;border-radius:14px!important;border:1px solid #DCE8EF!important;box-shadow:0 24px 80px #02061733!important;padding:18px!important;direction:rtl!important}
.simple-modal-card h2{margin:0 0 14px!important;font-size:1rem!important;color:#0f172a!important}.modal-x{position:absolute!important;left:16px!important;top:16px!important;width:36px!important;height:36px!important;border:0!important;border-radius:50%!important;background:#eef3f8!important;color:#172033!important;font-size:1.25rem!important;cursor:pointer!important}
.simple-modal.wide .simple-modal-card{width:min(980px,calc(100vw - 24px))!important}
.advisor-detail-grid{display:grid!important;grid-template-columns:minmax(240px,.9fr) minmax(280px,1.1fr)!important;gap:12px!important;margin-bottom:12px!important}
.advisor-profile-summary{display:flex!important;align-items:center!important;gap:12px!important;padding:12px!important;border:1px solid #dce8ef!important;border-radius:12px!important;background:#f8fbfd!important}
.advisor-avatar{width:72px!important;height:72px!important;border-radius:50%!important;object-fit:cover!important;background:#e2edf5!important;border:1px solid #d7e5ee!important}
.advisor-qual-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important;gap:10px!important}
.advisor-qual-grid fieldset{border:1px solid #dce8ef!important;border-radius:10px!important;padding:10px!important;background:#f8fbfd!important}
.advisor-qual-grid legend{padding:0 6px!important;font-weight:800!important;color:#172033!important}
.advisor-qual-grid label{display:grid!important;gap:4px!important;margin-bottom:6px!important;font-size:.78rem!important;color:#526177!important}
.advisor-profile-form .wide,.advisor-assign-form .wide{grid-column:1/-1!important}
.simple-modal.compact .simple-modal-card{width:min(520px,calc(100vw - 18px))!important;padding:12px!important}
.advisor-detail-summary{display:flex!important;align-items:center!important;gap:10px!important;padding:10px!important;border:1px solid #dce8ef!important;border-radius:10px!important;background:#f8fbfd!important;margin-bottom:8px!important}
.advisor-detail-summary h3{margin:0 0 3px!important;font-size:.95rem!important}.advisor-detail-summary p{margin:0!important;color:#64748b!important;font-size:.75rem!important}
.advisor-score-compact{border:1px solid #dce8ef!important;border-radius:10px!important;padding:10px!important;background:#fff!important;margin-bottom:8px!important}
.advisor-detail-minis{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important;margin-top:8px!important}
.advisor-detail-mini{border:1px solid #e5eef5!important;background:#f8fbfd!important;border-radius:8px!important;padding:7px!important}.advisor-detail-mini small{display:block!important;color:#64748b!important;font-size:.68rem!important}.advisor-detail-mini strong{display:block!important;font-size:.82rem!important;color:#172033!important;margin-top:2px!important}
.advisor-detail-row{border-top:1px solid #e5eef5!important;padding-top:8px!important;margin-top:8px!important}.advisor-detail-row h3{margin:0 0 6px!important;font-size:.86rem!important;color:#172033!important}
.advisor-detail-list{display:grid!important;gap:5px!important}.advisor-detail-list article{display:flex!important;justify-content:space-between!important;gap:8px!important;align-items:center!important;background:#f8fbfd!important;border:1px solid #e5eef5!important;border-radius:8px!important;padding:7px!important}.advisor-detail-list b{font-size:.78rem!important}.advisor-detail-list span{font-size:.7rem!important;color:#64748b!important;text-align:left!important}
.advisor-payroll-strip{display:flex!important;gap:6px!important;align-items:center!important;justify-content:space-between!important;background:#eef8f3!important;border:1px solid #cdebdc!important;border-radius:8px!important;padding:8px!important}.advisor-payroll-strip span{font-size:.72rem!important;color:#166534!important}.advisor-payroll-strip strong{font-size:.86rem!important;color:#14532d!important}
.advisor-search-results{min-height:56px!important;border:1px solid #dce8ef!important;border-radius:10px!important;background:#f8fbfd!important;padding:7px!important}
.advisor-student-search-list{display:grid!important;gap:5px!important;max-height:260px!important;overflow:auto!important}.advisor-student-search-list button,.advisor-selected-student{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;width:100%!important;border:1px solid #dce8ef!important;background:#fff!important;border-radius:8px!important;padding:8px!important;text-align:right!important;color:#172033!important}.advisor-student-search-list button:hover{border-color:#2b7ea8!important;background:#eef8ff!important}.advisor-student-search-list b,.advisor-selected-student b{font-size:.82rem!important}.advisor-student-search-list span,.advisor-selected-student span{font-size:.72rem!important;color:#64748b!important;direction:ltr!important}.advisor-selected-student button{border:0!important;background:#e7f0f7!important;border-radius:7px!important;padding:5px 8px!important;color:#285a75!important;cursor:pointer!important}
@media(max-width:760px){.owner-ui .owner-head.simple-head{padding:8px 9px!important;margin:0!important;border-radius:9px!important;box-shadow:none!important}.owner-ui .owner-head h1{font-size:.92rem!important;margin:1px 0 2px!important}.owner-ui .owner-head p{font-size:.62rem!important;line-height:1.45!important}.owner-ui .v2-grid,.owner-ui .advisor-admin-grid{grid-template-columns:1fr!important;gap:5px!important;margin:0!important}.owner-ui .owner-box{padding:7px!important;margin:0!important;border-radius:9px!important;box-shadow:none!important}.owner-ui .v2-card{padding:7px!important;border-radius:9px!important;box-shadow:none!important}.owner-ui .v2-form{grid-template-columns:1fr!important}.simple-modal{padding:6px!important;place-items:end center!important}.simple-modal-card{width:100%!important;border-radius:14px 14px 0 0!important;padding:10px!important}}
.owner-ui .compact-filter{grid-template-columns:2fr 1fr 1fr!important}
.owner-ui .product-catalog-grid{grid-template-columns:repeat(auto-fit,minmax(270px,1fr))!important}
.owner-ui .product-card{display:grid!important;gap:10px!important}
.owner-ui .activation-flow{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important}
.owner-ui .activation-flow article{border:1px solid #dce8ef!important;background:#f8fafc!important;border-radius:12px!important;padding:12px!important;display:grid!important;gap:5px!important}
.owner-ui .activation-flow b{font-size:.78rem!important;color:#0f172a!important}
.owner-ui .activation-flow span{font-size:.7rem!important;line-height:1.8!important;color:#64748b!important}
.owner-ui .activation-preview{display:grid!important;gap:7px!important;margin:8px 0!important}
.owner-ui .activation-preview span{display:flex!important;align-items:flex-start!important;gap:6px!important;border:1px solid #dce8ef!important;background:#f8fbfd!important;border-radius:10px!important;padding:8px!important;color:#334155!important;font-size:.72rem!important;line-height:1.75!important}
.owner-ui .activation-preview .icon{width:16px!important;height:16px!important;color:#0f766e!important;flex:0 0 16px!important;margin-top:2px!important}
.product-builder-form fieldset,.package-builder-form fieldset,.content-builder-form fieldset{grid-column:1/-1!important;border:1px solid #dce8ef!important;border-radius:12px!important;background:#f8fafc!important;padding:12px!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
.product-builder-form legend,.package-builder-form legend,.content-builder-form legend{padding:0 6px!important;font-weight:950!important;color:#172033!important}
.package-builder-items{grid-column:1/-1!important;border:1px solid #dce8ef!important;border-radius:12px!important;background:#fff!important;padding:10px!important}
.btn.btn-sm{min-height:26px!important;padding:4px 7px!important;font-size:.64rem!important}
@media(max-width:900px){.owner-ui .compact-filter,.owner-ui .activation-flow{grid-template-columns:1fr!important}.product-builder-form fieldset,.package-builder-form fieldset,.content-builder-form fieldset{grid-template-columns:1fr!important}}

/* Product and package workspace */
.owner-ui .catalog-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) 180px 150px;gap:8px;align-items:center;margin:0 0 12px}
.owner-ui .catalog-toolbar select,.owner-ui .catalog-search{height:40px;border:1px solid #d8e1e8;border-radius:8px;background:#fff;color:#273444}
.owner-ui .catalog-toolbar select{padding:0 10px;font:inherit}
.owner-ui .catalog-search{display:flex;align-items:center;gap:8px;padding:0 11px}
.owner-ui .catalog-search .icon{width:17px;height:17px;color:#758395;flex:0 0 17px}
.owner-ui .catalog-search input{width:100%;border:0;outline:0;background:transparent;font:inherit;color:#172033}
.owner-ui .catalog-tabs{display:flex;gap:20px;border-bottom:1px solid #dfe6ec;margin-bottom:0}
.owner-ui .catalog-tabs button{border:0;border-bottom:2px solid transparent;background:transparent;padding:10px 2px;color:#64748b;font:inherit;font-weight:850;cursor:pointer}
.owner-ui .catalog-tabs button.is-active{border-color:#1876a3;color:#155b7b}
.owner-ui .catalog-tabs span{display:inline-grid;place-items:center;min-width:22px;height:20px;margin-right:4px;border-radius:10px;background:#edf2f5;font-size:.68rem}
.owner-ui .catalog-panel{display:none;padding-top:10px}.owner-ui .catalog-panel.is-active{display:block}
.owner-ui .catalog-panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.owner-ui .product-catalog-grid{display:grid!important;grid-template-columns:1fr!important;gap:0!important;border:1px solid #dfe6ec;border-radius:8px;overflow:hidden;background:#fff}
.owner-ui .product-row{display:grid;grid-template-columns:42px minmax(180px,1.2fr) minmax(180px,1fr) 130px 74px 36px;gap:10px;align-items:center;min-height:68px;padding:8px 12px;border-bottom:1px solid #e7edf1;background:#fff}
.owner-ui .product-row:last-child{border-bottom:0}
.owner-ui .product-row:hover,.owner-ui .package-row:hover{background:#f8fafb}
.owner-ui .product-kind{display:grid;place-items:center;width:36px;height:36px;border-radius:8px;background:#edf5f8;color:#176b91}.owner-ui .product-kind .icon{width:18px;height:18px}
.owner-ui .product-row h3,.owner-ui .package-row h3{margin:0 0 3px;font-size:.8rem;color:#172033}.owner-ui .product-row p,.owner-ui .package-row p{margin:0;color:#718096;font-size:.68rem;line-height:1.55}
.owner-ui .product-rule{display:grid;gap:3px;color:#3f4d5e;font-size:.7rem}.owner-ui .product-rule small{color:#8290a0;font-size:.64rem}
.owner-ui .product-price,.owner-ui .package-price{font-size:.75rem;color:#172033;white-space:nowrap}
.owner-ui .status-label{font-size:.67rem;color:#8a651d;background:#fff7df;border-radius:6px;padding:5px 7px;text-align:center}.owner-ui .status-label.is-active{color:#15704b;background:#eaf7f1}
.owner-ui .product-row-actions,.owner-ui .package-row-actions{display:flex;gap:3px;justify-content:flex-end}
.owner-ui .icon-btn{display:grid;place-items:center;width:32px;height:32px;border:1px solid transparent;border-radius:7px;background:transparent;color:#526177;cursor:pointer}.owner-ui .icon-btn:hover{border-color:#d7e2e9;background:#fff}.owner-ui .icon-btn.danger{color:#a64747}.owner-ui .icon-btn .icon{width:16px;height:16px}
.owner-ui .compact-actions{display:flex;align-items:center;gap:4px;flex-wrap:nowrap;margin:0}.owner-ui .compact-actions .icon-btn{flex:0 0 32px}
.owner-ui .package-summary-strip{display:flex;gap:0;margin-bottom:12px;border:1px solid #dfe6ec;border-radius:8px;background:#fff}
.owner-ui .package-summary-strip div{min-width:130px;padding:10px 14px;border-left:1px solid #e5ebef}.owner-ui .package-summary-strip div:last-child{border-left:0}.owner-ui .package-summary-strip span{display:block;color:#768495;font-size:.65rem}.owner-ui .package-summary-strip strong{display:block;margin-top:2px;color:#172033;font-size:.95rem}
.owner-ui .package-list{border:1px solid #dfe6ec;border-radius:8px;overflow:hidden;background:#fff}
.owner-ui .package-row{display:grid;grid-template-columns:minmax(240px,1fr) 190px 130px 112px;gap:14px;align-items:center;min-height:74px;padding:9px 13px;border-bottom:1px solid #e7edf1}.owner-ui .package-row:last-child{border-bottom:0}
.owner-ui .package-row-main{display:flex;align-items:center;gap:10px}.owner-ui .status-dot{width:8px;height:8px;border-radius:50%;background:#d5a844;box-shadow:0 0 0 4px #fff6dd;flex:0 0 8px}.owner-ui .status-dot.is-active{background:#2c9b70;box-shadow:0 0 0 4px #e6f6ef}
.owner-ui .package-row-meta{display:flex;gap:6px;flex-wrap:wrap}.owner-ui .package-row-meta span{padding:4px 6px;border-radius:5px;background:#f0f4f6;color:#64748b;font-size:.65rem}
.simple-modal.wide .simple-modal-card{width:min(820px,calc(100vw - 24px))!important}
.builder-steps{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid #dfe6ec;margin:-2px 0 14px}
.builder-steps button{display:flex;justify-content:center;align-items:center;gap:7px;border:0;border-bottom:2px solid transparent;background:transparent;padding:9px;color:#8290a0;font:inherit;font-size:.72rem;font-weight:850;cursor:pointer}
.builder-steps b{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#edf1f4;color:#6b7785;font-size:.67rem}
.builder-steps button.is-active{border-color:#1876a3;color:#155b7b}.builder-steps button.is-active b,.builder-steps button.is-done b{background:#1876a3;color:#fff}
.product-builder-form .builder-step,.package-builder-form .builder-step,.content-builder-form .builder-step{display:none!important}.product-builder-form .builder-step.is-active,.package-builder-form .builder-step.is-active,.content-builder-form .builder-step.is-active{display:grid!important}
.builder-footer{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:8px;border-top:1px solid #e2e8ec;padding-top:12px;margin-top:2px}.builder-footer>span{text-align:center;color:#7b8795;font-size:.68rem}.builder-footer [hidden]{display:none!important}
.product-builder-form fieldset,.package-builder-form fieldset,.content-builder-form fieldset{background:#fff!important;border:0!important;border-radius:0!important;padding:2px!important}.product-builder-form legend,.package-builder-form legend,.content-builder-form legend{font-size:.9rem!important;margin-bottom:9px}
.content-builder-form .wp-editor-host{display:grid!important;gap:8px!important}.content-builder-form .wp-editor-wrap{grid-column:1/-1!important;direction:rtl!important}.content-builder-form .wp-editor-container{border:1px solid #dbe2ea!important;border-radius:10px!important;overflow:hidden!important}.content-media-picker{display:grid!important;gap:8px!important;border:1px solid #dce8ef!important;border-radius:10px!important;padding:10px!important;background:#f8fbfd!important}.content-media-picker small{font-size:.68rem!important;color:#64748b!important;line-height:1.7!important}.content-media-picker .btn{justify-content:center!important}
.content-card-grid{display:grid!important;gap:10px!important}.content-card{display:grid!important;grid-template-columns:150px minmax(0,1fr) auto!important;gap:12px!important;align-items:stretch!important;border:1px solid #dce8ef!important;border-right:4px solid #f59e0b!important;border-radius:12px!important;background:#fff!important;padding:10px!important;box-shadow:0 10px 24px #0f172a08!important}.content-card.ok{border-right-color:#16a34a!important}.content-card.danger{border-right-color:#dc2626!important}.content-thumb{position:relative!important;min-height:104px!important;border-radius:10px!important;background:#eef5fb!important;overflow:hidden!important;display:grid!important;place-items:center!important;color:#367fa9!important}.content-thumb img{width:100%!important;height:100%!important;object-fit:cover!important}.content-thumb>b{position:absolute!important;right:7px!important;top:7px!important;display:inline-flex!important;align-items:center!important;gap:4px!important;padding:4px 7px!important;border-radius:999px!important;background:#ffffffe8!important;color:#172033!important;font-size:.64rem!important}.content-thumb:not(.has-image)>b{display:none!important}.content-thumb>span{font-size:.72rem!important;font-weight:900!important}.content-card-body{display:grid!important;gap:10px!important;min-width:0!important}.content-card-body header{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:10px!important}.content-card-body h3{margin:0 0 4px!important;font-size:.92rem!important;color:#0f172a!important;line-height:1.6!important}.content-card-body p{margin:0!important;color:#64748b!important;font-size:.72rem!important;line-height:1.8!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important}.content-status{white-space:nowrap!important;padding:6px 9px!important;border-radius:999px!important;font-size:.66rem!important;font-weight:950!important}.content-status.ok{background:#dcfce7!important;color:#166534!important}.content-status.warn{background:#ffedd5!important;color:#9a3412!important}.content-status.danger{background:#fee2e2!important;color:#991b1b!important}.content-meta-row{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:7px!important}.content-meta-row span{display:grid!important;grid-template-columns:17px minmax(0,1fr)!important;gap:2px 6px!important;align-items:center!important;border:1px solid #edf2f7!important;border-radius:9px!important;background:#f8fbfd!important;padding:7px!important;min-width:0!important}.content-meta-row .icon{grid-row:1/3!important;width:16px!important;height:16px!important;color:#367fa9!important}.content-meta-row small{font-size:.61rem!important;color:#74808f!important}.content-meta-row b{font-size:.68rem!important;color:#172033!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.content-card-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:6px!important;flex-wrap:wrap!important}.content-card-actions .btn{min-height:32px!important;padding:7px 9px!important;border-radius:8px!important;font-size:.68rem!important}@media(max-width:980px){.content-card{grid-template-columns:116px minmax(0,1fr)!important}.content-card-actions{grid-column:1/-1!important}.content-meta-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media(max-width:620px){.content-card{grid-template-columns:1fr!important}.content-thumb{aspect-ratio:16/9!important}.content-meta-row{grid-template-columns:1fr!important}.content-card-body header{display:grid!important}.content-card-actions{justify-content:flex-start!important}}
.package-builder-items{border-radius:8px!important}
@media(max-width:760px){
  .owner-ui .catalog-toolbar{grid-template-columns:1fr 1fr}.owner-ui .catalog-search{grid-column:1/-1}
  .owner-ui .product-row{grid-template-columns:38px minmax(0,1fr) 34px;padding:8px}.owner-ui .product-rule,.owner-ui .product-price,.owner-ui .status-label{display:none}
  .owner-ui .package-summary-strip div{min-width:0;flex:1;padding:8px}.owner-ui .package-row{grid-template-columns:minmax(0,1fr) 72px 68px;gap:7px}.owner-ui .package-row-meta{display:none}.owner-ui .package-price{font-size:.68rem}
  .builder-steps span{display:none}.builder-footer{grid-template-columns:auto 1fr auto}.builder-footer [data-builder-submit]{grid-column:auto}
}
.advisor-student-card-preview{display:block;max-width:100%;max-height:260px;border-radius:10px;border:1px solid #dce8ef;object-fit:contain;background:#fff}
.portal-button-spinner{width:1em;height:1em;border:2px solid currentColor;border-left-color:transparent;border-radius:50%;display:inline-block;animation:portal-spin .65s linear infinite;vertical-align:middle;margin-left:.4rem}
@keyframes portal-spin{to{transform:rotate(360deg)}}
.owner-ui .dynamic-card-grid-sessions,.owner-ui .dynamic-card-grid-attendance{grid-template-columns:1fr!important}
.diagnostic-list{display:grid;gap:10px;margin-top:12px}.diagnostic-list details summary{display:flex;justify-content:space-between;gap:12px;cursor:pointer}.diagnostic-list pre{direction:ltr;text-align:left;white-space:pre-wrap;overflow:auto;max-height:320px;padding:10px;border-radius:9px;background:#0f172a;color:#dbeafe;font:12px/1.7 monospace}@media(max-width:700px){.diagnostic-list details summary{display:grid}.diagnostic-list pre{font-size:10px}}
.session-product-card{display:grid;gap:12px;width:100%;padding:18px;border:1px solid #dce8ef;border-radius:18px;background:#fff;box-shadow:0 8px 24px #0f172a0a;box-sizing:border-box}.session-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.session-card-heading h3{margin:0;color:#0f172a;font-size:1rem}.session-card-heading p{margin:5px 0 0;color:#64748b;font-size:.76rem}.session-card-summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:11px 13px;border:1px solid #dce8ef;border-radius:11px;background:#f8fbff;color:#334155;font-size:.76rem}.session-card-summary span:not(:last-child):after{content:'·';margin-right:8px;color:#94a3b8}.session-card-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.session-card-actions .btn{min-height:42px;padding:9px 14px}.session-card-note{margin:0;padding:9px 12px;border:1px solid #bfdbfe;border-radius:10px;background:#eff6ff;color:#1d4ed8;font-size:.72rem;text-align:center}@media(max-width:700px){.session-product-card{padding:13px;border-radius:14px;gap:10px}.session-card-heading{align-items:center}.session-card-heading h3{font-size:.9rem}.session-card-summary{display:grid;grid-template-columns:1fr;padding:9px}.session-card-summary span{white-space:normal;overflow-wrap:anywhere}.session-card-summary span:not(:last-child):after{display:none}.session-card-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.session-card-actions .btn{width:100%;min-width:0;white-space:normal}.session-card-note{text-align:right;line-height:1.8}}@media(max-width:420px){.session-card-actions{grid-template-columns:1fr}.session-card-heading{align-items:flex-start}.session-card-heading .v2-pill{flex:0 0 auto}}
.session-card-actions [data-session-action="secure-call"]{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:9px 16px;border-radius:11px;font-weight:700;font-size:.82rem;transition:all .18s ease;cursor:pointer;white-space:nowrap}
.session-card-actions [data-session-action="secure-call"] .icon{width:16px;height:16px;flex-shrink:0}
.session-card-actions [data-session-action="secure-call"]:not(:disabled):hover{background:#f0f9ff!important;border-color:#0284c7!important;color:#0284c7!important;transform:translateY(-1px);box-shadow:0 4px 12px rgba(2,132,199,.15)}
.session-card-actions .btn:disabled,.session-card-actions .btn.disabled,.session-card-actions [data-session-action="secure-call"]:disabled{opacity:.52!important;cursor:not-allowed!important;pointer-events:auto!important;background:#f8fafc!important;border-color:#cbd5e1!important;color:#94a3b8!important;box-shadow:none!important;transform:none!important}

/* ==========================================================================
   DR REZAEE UNIFIED DESIGN SYSTEM & SEMANTIC COLORS
   Brand: Navy (#0A192F / #0C2340) + White (#FFFFFF)
   Font & Typography: Modern Persian (pelazaa.ir inspired)
   ========================================================================== */

:root {
  --dr-navy-950: #06101e;
  --dr-navy-900: #0a192f;
  --dr-navy-800: #0f2942;
  --dr-navy-700: #1a365d;
  --dr-navy-600: #2a4365;
  --dr-navy-light: #e6edf5;
  --dr-white: #ffffff;
  --dr-surface: #f8fafc;
  --dr-surface-2: #f1f5f9;
  --dr-border: #e2e8f0;
  --dr-border-focus: #0f2942;
  --dr-radius-sm: 8px;
  --dr-radius-md: 12px;
  --dr-radius-lg: 16px;
  --dr-radius-xl: 22px;
  --dr-shadow-sm: 0 2px 8px rgba(10,25,47,0.04);
  --dr-shadow-md: 0 8px 24px rgba(10,25,47,0.08);
  --dr-shadow-lg: 0 16px 40px rgba(10,25,47,0.12);

  /* Semantic Action Palette */
  --act-yellow: #eab308;
  --act-yellow-hover: #ca8a04;
  --act-yellow-bg: #fefce8;
  --act-blue: #2563eb;
  --act-blue-hover: #1d4ed8;
  --act-blue-bg: #eff6ff;
  --act-green: #16a34a;
  --act-green-hover: #15803d;
  --act-green-bg: #f0fdf4;
  --act-orange: #ea580c;
  --act-orange-hover: #c2410c;
  --act-orange-bg: #fff7ed;
  --act-purple: #9333ea;
  --act-purple-hover: #7e22ce;
  --act-purple-bg: #faf5ff;
  --act-black: #0f172a;
  --act-black-hover: #1e293b;
  --act-black-bg: #f8fafc;
  --act-brown: #92400e;
  --act-brown-hover: #78350f;
  --act-brown-bg: #fffbeb;
  --act-emerald: #10b981;
  --act-emerald-hover: #059669;
  --act-emerald-bg: #ecfdf5;
  --act-red: #dc2626;
  --act-red-hover: #b91c1c;
  --act-red-bg: #fef2f2;
  --act-gold: #d97706;
  --act-gold-hover: #b45309;
  --act-gold-bg: #fffbeb;
  --act-pink: #ec4899;
  --act-pink-hover: #db2777;
  --act-pink-bg: #fdf2f8;
}

/* Base Typography Enhancement */
body, button, input, select, textarea {
  font-family: 'Sahel', system-ui, -apple-system, BlinkMacSystemFont, Tahoma, sans-serif !important;
  letter-spacing: -0.01em;
}

/* Base Semantic Action Button Rules */
.btn-act {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  padding: 7px 12px !important;
  font-size: 0.76rem !important;
  font-weight: 750 !important;
  border-radius: var(--dr-radius-sm) !important;
  border: 1px solid transparent !important;
  cursor: pointer !important;
  text-decoration: none !important;
  line-height: 1.4 !important;
  transition: all 0.18s cubic-bezier(0.4, 0, 0.2, 1) !important;
  white-space: nowrap !important;
  box-shadow: 0 2px 6px rgba(0,0,0,0.06) !important;
}
.btn-act .icon, .btn-act svg {
  width: 15px !important;
  height: 15px !important;
  flex-shrink: 0 !important;
}
.btn-act:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.12) !important;
}
.btn-act:active {
  transform: translateY(0) !important;
}
.btn-act:disabled, .btn-act.disabled {
  opacity: 0.55 !important;
  cursor: not-allowed !important;
  transform: none !important;
  box-shadow: none !important;
}

/* 8. Admin Student Management Buttons */
.btn-act-yellow, [data-action="edit-student"], .btn-action-edit {
  background: var(--act-yellow) !important;
  color: #1e1e1e !important;
  border-color: #d97706 !important;
}
.btn-act-yellow:hover, [data-action="edit-student"]:hover, .btn-action-edit:hover {
  background: var(--act-yellow-hover) !important;
  color: #fff !important;
}

.btn-act-blue, [data-action="view-dossier"], .btn-action-dossier {
  background: var(--act-blue) !important;
  color: #ffffff !important;
}
.btn-act-blue:hover, [data-action="view-dossier"]:hover, .btn-action-dossier:hover {
  background: var(--act-blue-hover) !important;
}

.btn-act-green, [data-action="student-register"], .btn-action-register {
  background: var(--act-green) !important;
  color: #ffffff !important;
}
.btn-act-green:hover, [data-action="student-register"]:hover, .btn-action-register:hover {
  background: var(--act-green-hover) !important;
}

.btn-act-orange, [data-action="student-payment"], .btn-action-pay {
  background: var(--act-orange) !important;
  color: #ffffff !important;
}
.btn-act-orange:hover, [data-action="student-payment"]:hover, .btn-action-pay:hover {
  background: var(--act-orange-hover) !important;
}

.btn-act-purple, [data-action="manage-parents"], .btn-action-parents {
  background: var(--act-purple) !important;
  color: #ffffff !important;
}
.btn-act-purple:hover, [data-action="manage-parents"]:hover, .btn-action-parents:hover {
  background: var(--act-purple-hover) !important;
}

.btn-act-black, [data-action="login-parent-panel"], .btn-action-parent-login {
  background: var(--act-black) !important;
  color: #ffffff !important;
}
.btn-act-black:hover, [data-action="login-parent-panel"]:hover, .btn-action-parent-login:hover {
  background: var(--act-black-hover) !important;
}

.btn-act-brown, [data-action="login-student-panel"], .btn-action-panel-login {
  background: var(--act-brown) !important;
  color: #ffffff !important;
}
.btn-act-brown:hover, [data-action="login-student-panel"]:hover, .btn-action-panel-login:hover {
  background: var(--act-brown-hover) !important;
}

.btn-act-chat, [data-action="student-chat"], .btn-action-chat {
  background: var(--act-emerald) !important;
  color: #ffffff !important;
}
.btn-act-chat:hover, [data-action="student-chat"]:hover, .btn-action-chat:hover {
  background: var(--act-emerald-hover) !important;
}

/* 9. Admin Counselor Management Buttons */
.btn-act-send-msg, [data-action="send-advisor-msg"] {
  background: var(--act-green) !important;
  color: #ffffff !important;
}
.btn-act-send-msg:hover, [data-action="send-advisor-msg"]:hover {
  background: var(--act-green-hover) !important;
}

.btn-act-details, [data-action="advisor-details"] {
  background: var(--act-red) !important;
  color: #ffffff !important;
}
.btn-act-details:hover, [data-action="advisor-details"]:hover {
  background: var(--act-red-hover) !important;
}

.btn-act-score, [data-action="advisor-score"] {
  background: var(--act-gold) !important;
  color: #ffffff !important;
}
.btn-act-score:hover, [data-action="advisor-score"]:hover {
  background: var(--act-gold-hover) !important;
}

.btn-act-white, [data-action="edit-advisor"] {
  background: #ffffff !important;
  color: #1e293b !important;
  border: 1.5px solid #334155 !important;
  box-shadow: 0 2px 6px rgba(51,65,85,0.08) !important;
}
.btn-act-white:hover, [data-action="edit-advisor"]:hover {
  background: #f1f5f9 !important;
  border-color: #0f172a !important;
  color: #0f172a !important;
}

.btn-act-advisor-login, [data-action="login-advisor-panel"] {
  background: var(--act-blue) !important;
  color: #ffffff !important;
}
.btn-act-advisor-login:hover, [data-action="login-advisor-panel"]:hover {
  background: var(--act-blue-hover) !important;
}

.btn-act-delete, [data-action="delete-advisor"] {
  background: var(--act-black) !important;
  color: #ffffff !important;
}
.btn-act-delete:hover, [data-action="delete-advisor"]:hover {
  background: var(--act-black-hover) !important;
}

/* 10. Session Cards Buttons */
.btn-sess-student, [data-action="sess-student-enter"] {
  background: var(--act-yellow) !important;
  color: #1a1a1a !important;
  border-color: #ca8a04 !important;
}
.btn-sess-student:hover, [data-action="sess-student-enter"]:hover {
  background: var(--act-yellow-hover) !important;
  color: #ffffff !important;
}

.btn-sess-advisor, [data-action="sess-advisor-enter"] {
  background: var(--act-blue) !important;
  color: #ffffff !important;
}
.btn-sess-advisor:hover, [data-action="sess-advisor-enter"]:hover {
  background: var(--act-blue-hover) !important;
}

.btn-sess-call, [data-app="secure-call"], [data-session-action="secure-call"], button[data-action="secure-call"] {
  background: #0f172a !important;
  color: #ffffff !important;
  border: 1px solid #1e293b !important;
}
.btn-sess-call:hover, [data-app="secure-call"]:not(:disabled):hover, [data-session-action="secure-call"]:not(:disabled):hover, button[data-action="secure-call"]:not(:disabled):hover {
  background: #1e293b !important;
  border-color: #334155 !important;
  color: #38bdf8 !important;
}

.btn-sess-change-advisor, [data-action="sess-change-advisor"] {
  background: var(--act-red) !important;
  color: #ffffff !important;
}
.btn-sess-change-advisor:hover, [data-action="sess-change-advisor"]:hover {
  background: var(--act-red-hover) !important;
}

.btn-sess-report, [data-action="sess-report"] {
  background: var(--act-orange) !important;
  color: #ffffff !important;
}
.btn-sess-report:hover, [data-action="sess-report"]:hover {
  background: var(--act-orange-hover) !important;
}

/* 11. Student Panel Navigation Items */
.owner-ui .sb a[data-route="exams"],
.owner-ui .sb a[data-route="exam-dashboard"] {
  color: #ef4444 !important;
}
.owner-ui .sb a[data-route="exams"] .icon,
.owner-ui .sb a[data-route="exam-dashboard"] .icon {
  color: #ef4444 !important;
}
.owner-ui .sb a[data-route="exams"].ac,
.owner-ui .sb a[data-route="exam-dashboard"].ac {
  background: #fef2f2 !important;
  border-right: 4px solid #ef4444 !important;
  color: #b91c1c !important;
  font-weight: 900 !important;
}

.owner-ui .sb a[data-route="progress"] {
  color: #10b981 !important;
}
.owner-ui .sb a[data-route="progress"] .icon {
  color: #10b981 !important;
}
.owner-ui .sb a[data-route="progress"].ac {
  background: #ecfdf5 !important;
  border-right: 4px solid #10b981 !important;
  color: #047857 !important;
  font-weight: 900 !important;
}

.owner-ui .sb a[data-route="sessions"] {
  color: #f59e0b !important;
}
.owner-ui .sb a[data-route="sessions"] .icon {
  color: #f59e0b !important;
}
.owner-ui .sb a[data-route="sessions"].ac {
  background: #fffbeb !important;
  border-right: 4px solid #f59e0b !important;
  color: #b45309 !important;
  font-weight: 900 !important;
}

.owner-ui .sb a[data-route="profile"] {
  color: #ec4899 !important;
}
.owner-ui .sb a[data-route="profile"] .icon {
  color: #ec4899 !important;
}
.owner-ui .sb a[data-route="profile"].ac {
  background: #fdf2f8 !important;
  border-right: 4px solid #ec4899 !important;
  color: #be185d !important;
  font-weight: 900 !important;
}

/* 12. Student Panel Operations & Statuses */
.dr-status-active, .v2-pill.status-active, .status-active {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  padding: 4px 9px !important;
  border-radius: 999px !important;
  background: #dcfce7 !important;
  color: #15803d !important;
  font-size: 0.72rem !important;
  font-weight: 850 !important;
  border: 1px solid #bbf7d0 !important;
}
.dr-status-active::before, .status-active::before {
  content: "" !important;
  width: 7px !important;
  height: 7px !important;
  border-radius: 50% !important;
  background: #16a34a !important;
}

.dr-status-inactive, .v2-pill.status-inactive, .status-inactive {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  padding: 4px 9px !important;
  border-radius: 999px !important;
  background: #fee2e2 !important;
  color: #b91c1c !important;
  font-size: 0.72rem !important;
  font-weight: 850 !important;
  border: 1px solid #fecaca !important;
}
.dr-status-inactive::before, .status-inactive::before {
  content: "" !important;
  width: 7px !important;
  height: 7px !important;
  border-radius: 50% !important;
  background: #dc2626 !important;
}

/* Student Actions */
.btn-student-homework, [data-action="submit-homework"] {
  background: var(--act-red) !important;
  color: #ffffff !important;
}
.btn-student-homework:hover, [data-action="submit-homework"]:hover {
  background: var(--act-red-hover) !important;
}

.btn-student-result, [data-action="view-result"] {
  background: var(--act-green) !important;
  color: #ffffff !important;
}
.btn-student-result:hover, [data-action="view-result"]:hover {
  background: var(--act-green-hover) !important;
}

.btn-student-call, [data-action="student-secure-call"] {
  background: var(--act-black) !important;
  color: #ffffff !important;
}
.btn-student-call:hover, [data-action="student-secure-call"]:hover {
  background: var(--act-black-hover) !important;
}

.btn-student-reportcard, [data-action="submit-reportcard"] {
  background: var(--act-yellow) !important;
  color: #1e1e1e !important;
  border-color: #ca8a04 !important;
}
.btn-student-reportcard:hover, [data-action="submit-reportcard"]:hover {
  background: var(--act-yellow-hover) !important;
  color: #ffffff !important;
}

/* 7. Student Panel Themes Based on Field of Study (Major) */
/* تجربی (Experimental / Medical Sciences): فیروزه‌ای + سفید */
.owner-ui.theme-experimental,
body.theme-experimental .owner-ui,
[data-student-field="experimental"],
[data-student-field="tajrobi"] {
  --primary: #0891b2;
  --primary-light: #ecfeff;
  --theme-accent: #06b6d4;
  --theme-accent-gradient: linear-gradient(135deg, #0891b2 0%, #06b6d4 100%);
}
.theme-experimental .sb a.ac {
  background: #ecfeff !important;
  border-right-color: #0891b2 !important;
  color: #0e7490 !important;
}
.theme-experimental .owner-head {
  border-top: 4px solid #06b6d4 !important;
}
.theme-experimental .v2-badge, .theme-experimental .stat:after {
  background: #0891b2 !important;
  color: #fff !important;
}

/* ریاضی (Math / Engineering): بنفش ملایم */
.owner-ui.theme-math,
body.theme-math .owner-ui,
[data-student-field="math"],
[data-student-field="riazi"] {
  --primary: #7c3aed;
  --primary-light: #f5f3ff;
  --theme-accent: #8b5cf6;
  --theme-accent-gradient: linear-gradient(135deg, #6d28d9 0%, #8b5cf6 100%);
}
.theme-math .sb a.ac {
  background: #f5f3ff !important;
  border-right-color: #7c3aed !important;
  color: #6d28d9 !important;
}
.theme-math .owner-head {
  border-top: 4px solid #8b5cf6 !important;
}
.theme-math .v2-badge, .theme-math .stat:after {
  background: #7c3aed !important;
  color: #fff !important;
}

/* انسانی (Humanities): نارنجی */
.owner-ui.theme-humanities,
body.theme-humanities .owner-ui,
[data-student-field="humanities"],
[data-student-field="ensani"] {
  --primary: #ea580c;
  --primary-light: #fff7ed;
  --theme-accent: #f97316;
  --theme-accent-gradient: linear-gradient(135deg, #c2410c 0%, #f97316 100%);
}
.theme-humanities .sb a.ac {
  background: #fff7ed !important;
  border-right-color: #ea580c !important;
  color: #c2410c !important;
}
.theme-humanities .owner-head {
  border-top: 4px solid #f97316 !important;
}
.theme-humanities .v2-badge, .theme-humanities .stat:after {
  background: #ea580c !important;
  color: #fff !important;
}

/* Sticker & Graphic Elements on Login Page */
.auth-sticker-wrap {
  position: absolute;
  pointer-events: none;
  z-index: 2;
}
.auth-sticker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  background: rgba(255,255,255,0.92);
  border: 1px solid rgba(255,255,255,0.6);
  box-shadow: 0 12px 32px rgba(10,25,47,0.18);
  border-radius: 999px;
  font-size: 0.74rem;
  font-weight: 900;
  color: #0f2942;
  backdrop-filter: blur(8px);
  animation: float-sticker 4s ease-in-out infinite alternate;
}
.auth-sticker.sticker-1 { top: 15%; right: -12px; animation-delay: 0s; }
.auth-sticker.sticker-2 { bottom: 18%; left: -10px; animation-delay: 1.8s; }
@keyframes float-sticker {
  0% { transform: translateY(0) rotate(-2deg); }
  100% { transform: translateY(-8px) rotate(2deg); }
}


