@import url("assets/vendor/fonts/google-fonts.css");
:root { --navy:#071d38; --purple:#6842ad; --purple-soft:#f2edfb; --teal:#12b5bd; --page:#f5f7fb; --surface:#fff; --line:#e2e7ef; --muted:#758198; --green:#13a778; --red:#d94c5c; --amber:#dc9415; }
* { box-sizing:border-box; }
body { margin:0; color:var(--navy); background:var(--page); font-family:"IBM Plex Sans Arabic",Tahoma,Arial,sans-serif; }
a { color:inherit; text-decoration:none; }
button,input,select,textarea { font:inherit; }
.portal-shell { min-height:100vh; display:grid; grid-template-columns:250px minmax(0,1fr); direction:rtl; }
.portal-sidebar { padding:24px 18px; color:#fff; background:var(--navy); }
.portal-brand { display:flex; align-items:center; gap:10px; padding-bottom:22px; border-bottom:1px solid rgba(255,255,255,.12); }
.portal-brand img { width:74px; height:48px; object-fit:contain; }
.portal-brand strong { display:block; }
.portal-brand small { color:#91a4ba; }
.portal-nav { display:grid; gap:7px; margin-top:22px; }
.portal-nav a { display:flex; align-items:center; gap:10px; padding:13px; border-radius:7px; color:#afbdd0; }
.portal-nav a:hover,.portal-nav a.active { color:#fff; background:#18304d; box-shadow:inset -3px 0 var(--teal); }
.portal-nav svg { width:19px; }
.portal-main { min-width:0; }
.portal-topbar { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:20px 30px; border-bottom:1px solid var(--line); background:#fff; }
.portal-topbar h1 { margin:0; font-size:23px; }
.portal-topbar p { margin:4px 0 0; color:var(--muted); font-size:12px; }
.back-dashboard { display:inline-flex; align-items:center; gap:7px; color:var(--purple); font-weight:700; }
.portal-content { max-width:1400px; margin:auto; padding:28px 30px 50px; }
.profile-hero { display:flex; align-items:center; gap:15px; margin-bottom:20px; padding:20px; border:1px solid var(--line); border-radius:8px; background:#fff; }
.avatar { width:64px; height:64px; display:grid; place-items:center; flex:0 0 auto; border-radius:50%; color:#fff; background:var(--purple); font-size:22px; font-weight:800; }
.profile-hero h2 { margin:0 0 5px; }
.profile-hero p { margin:0; color:var(--muted); }
.status { margin-inline-start:auto; padding:7px 12px; border-radius:999px; color:#087556; background:#e4f6ef; font-size:12px; font-weight:700; }
.portal-tabs { display:flex; gap:7px; margin-bottom:18px; padding:6px; overflow:auto; border:1px solid var(--line); border-radius:8px; background:#fff; }
.portal-tabs button { min-height:43px; padding:0 18px; border:0; border-radius:6px; color:var(--muted); background:transparent; white-space:nowrap; cursor:pointer; font-weight:700; }
.portal-tabs button.active { color:#fff; background:var(--purple); }
.tab-panel[hidden] { display:none; }
.section-card { margin-bottom:16px; border:1px solid var(--line); border-radius:8px; background:#fff; }
.section-card header { display:flex; align-items:center; gap:11px; padding:18px 20px; border-bottom:1px solid var(--line); }
.section-card header > span { width:38px; height:38px; display:grid; place-items:center; border-radius:7px; color:var(--purple); background:var(--purple-soft); }
.section-card h3 { margin:0; font-size:17px; }
.section-card header p { margin:3px 0 0; color:var(--muted); font-size:11px; }
.info-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); }
.info-item { min-height:88px; padding:17px 20px; background:#fff; }
.info-item span { display:block; margin-bottom:7px; color:var(--muted); font-size:11px; }
.info-item strong { font-size:14px; }
.money-summary { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-bottom:16px; }
.money-summary article { padding:18px; border:1px solid var(--line); border-radius:8px; background:#fff; }
.money-summary span { color:var(--muted); font-size:11px; }
.money-summary strong { display:block; margin-top:7px; font-size:22px; }
.data-table { width:100%; border-collapse:collapse; }
.data-table th,.data-table td { padding:14px 16px; border-bottom:1px solid var(--line); text-align:right; font-size:12px; }
.data-table th { color:var(--muted); background:#fafbfc; }
.empty-row { padding:30px!important; color:var(--muted); text-align:center!important; }
.contract-strip { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; padding:20px; }
.contract-strip article { padding:16px; border:1px solid var(--line); border-radius:7px; }
.contract-strip span { display:block; margin-bottom:6px; color:var(--muted); font-size:11px; }
.contract-progress { margin:0 20px 20px; padding:18px; border-radius:7px; background:#f8f6fc; }
.contract-progress div { height:8px; overflow:hidden; border-radius:999px; background:#e5deef; }
.contract-progress div span { display:block; width:72%; height:100%; background:var(--teal); }
.day-summary { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-bottom:16px; }
.day-summary article { padding:18px; border:1px solid var(--line); border-radius:8px; background:#fff; }
.day-summary span { color:var(--muted); font-size:11px; }
.day-summary strong { display:block; margin-top:7px; font-size:19px; }
.timeline { display:grid; gap:12px; padding:20px; }
.timeline article { display:flex; align-items:center; gap:13px; padding:14px; border:1px solid var(--line); border-radius:7px; }
.timeline article > span { width:42px; height:42px; display:grid; place-items:center; border-radius:50%; color:var(--green); background:#e7f6f1; }
.timeline h4 { margin:0 0 4px; }
.timeline p { margin:0; color:var(--muted); font-size:11px; }
.reward-group + .reward-group { margin-top:18px; }
.group-title { display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; }
.group-title h3 { margin:0; }
.badge-positive,.badge-negative { padding:6px 10px; border-radius:999px; font-size:11px; font-weight:700; }
.badge-positive { color:#087556; background:#e4f6ef; }
.badge-negative { color:#a92d3a; background:#fdebed; }
.portal-filter-bar{display:flex;align-items:end;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:16px 20px;border-bottom:1px solid var(--line);background:#fff}.portal-filter-bar.compact{align-items:center;background:#fafbfc}.portal-filter-bar.compact small{color:var(--muted);font-size:10px;font-weight:800}.portal-filter-bar label{display:grid;gap:6px;min-width:180px;color:var(--muted);font-size:10px;font-weight:800}.portal-filter-bar input,.portal-filter-bar select{height:42px;padding:0 12px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--navy);outline:0}.portal-filter-bar input:focus,.portal-filter-bar select:focus{border-color:var(--purple);box-shadow:0 0 0 3px #eee8f8}.portal-search-button{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 18px;border:1px solid transparent;border-radius:7px;color:#fff;background:var(--purple);cursor:pointer;font:inherit;font-weight:800}.portal-search-button:hover{background:#573494}.portal-search-button svg{width:16px}.filter-chips{display:flex;gap:8px;flex-wrap:wrap}.filter-chips button{min-height:38px;padding:0 14px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted);cursor:pointer;font-weight:800}.filter-chips button.active,.filter-chips button:hover{border-color:var(--purple);color:#fff;background:var(--purple)}.period-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:18px 20px;border-bottom:1px solid var(--line);background:#fafbfc}.period-stats article{padding:15px;border:1px solid var(--line);border-radius:8px;background:#fff}.period-stats span{display:block;color:var(--muted);font-size:10px}.period-stats strong{display:block;margin-top:6px;font-size:21px}.period-stats .negative strong{color:var(--red)}.period-stats .warning strong{color:var(--amber)}.period-stats .positive strong{color:var(--green)}.attendance-prompt{display:grid;place-items:center;gap:8px;padding:42px 20px!important;color:var(--muted);text-align:center!important;background:#fff}.attendance-prompt svg{width:36px;color:var(--purple)}.attendance-prompt h3{margin:0;color:var(--navy);font-size:16px}.attendance-prompt p{margin:0;font-size:11px}.accountability-details{margin-top:13px}.accountability-details[hidden]{display:none}.accountability-details>p{margin:0;padding:13px;border-radius:7px;background:#f8f9fb;font-size:11px;line-height:1.8}.accountability-details>footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}.accountability-details>footer strong{font-size:10px}.accountability-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:13px;padding:10px 12px;border:1px solid var(--line);border-radius:7px;background:#fafbfc;color:var(--purple);cursor:pointer;font-weight:800}.accountability-toggle svg{width:16px;transition:.2s}.accountability-card.is-open .accountability-toggle svg{transform:rotate(180deg)}
.accountability-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}.accountability-summary article{display:flex;align-items:center;gap:12px;padding:17px;border:1px solid var(--line);border-radius:8px;background:#fff}.accountability-summary article>span{width:42px;height:42px;display:grid;place-items:center;border-radius:7px;color:var(--purple);background:var(--purple-soft)}.accountability-summary article>span.warning{color:var(--amber);background:#fff4db}.accountability-summary article>span.success{color:var(--green);background:#e5f7f1}.accountability-summary svg{width:19px}.accountability-summary small{display:block;color:var(--muted);font-size:11px}.accountability-summary strong{display:block;margin-top:3px;font-size:22px}.accountability-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:12px}.accountability-toolbar h2{margin:0 0 4px;font-size:19px}.accountability-toolbar p{margin:0;color:var(--muted);font-size:11px}.accountability-toolbar label{display:flex;align-items:center;gap:7px;padding:0 10px;border:1px solid var(--line);border-radius:7px;background:#fff}.accountability-toolbar svg{width:16px}.accountability-toolbar select{height:40px;border:0;outline:0;background:#fff}.accountability-list{display:grid;gap:12px}.accountability-card{padding:18px;border:1px solid var(--line);border-radius:8px;background:#fff}.accountability-card.urgent{border-inline-start:4px solid var(--red)}.accountability-card>header{display:flex;align-items:center;justify-content:space-between;gap:15px}.issue-kind{display:flex;align-items:center;gap:11px}.issue-kind>span{width:42px;height:42px;display:grid;place-items:center;border-radius:7px;color:var(--red);background:#fdebed}.issue-kind.late>span{color:var(--amber);background:#fff4db}.issue-kind small{color:var(--muted);font-size:10px}.issue-kind h3{margin:3px 0 0;font-size:16px}.issue-status{padding:6px 10px;border-radius:999px;font-size:10px;font-weight:800}.issue-status.pending{color:#a56a06;background:#fff3d7}.issue-status.answered{color:#087556;background:#e4f6ef}.issue-meta{display:flex;flex-wrap:wrap;gap:14px;margin:15px 0;color:var(--muted);font-size:10px}.issue-meta span{display:flex;align-items:center;gap:5px}.issue-meta svg{width:14px}.accountability-card>p{margin:0;padding:13px;border-radius:7px;background:#f8f9fb;font-size:11px;line-height:1.8}.accountability-card>footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}.accountability-card>footer strong{font-size:10px}.portal-action{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 15px;border:1px solid transparent;border-radius:7px;cursor:pointer;font:inherit;font-size:11px;font-weight:800}.portal-action.primary{color:#fff;background:var(--purple)}.portal-action.secondary{color:var(--purple);border-color:#dcd4eb;background:#fff}.portal-action svg{width:15px}.modal-open{overflow:hidden}.accountability-modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;background:rgba(5,19,38,.7)}.accountability-modal[hidden]{display:none}.accountability-dialog{width:min(760px,100%);max-height:calc(100vh - 40px);overflow:auto;border-radius:9px;background:#fff;box-shadow:0 25px 70px rgba(0,0,0,.25)}.accountability-dialog>header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:19px 22px;border-bottom:1px solid var(--line);background:#fff}.accountability-dialog>header small{color:var(--purple);font-weight:800}.accountability-dialog>header h2{margin:4px 0 0;font-size:20px}.accountability-dialog>header button{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line);border-radius:7px;background:#fff;cursor:pointer}.dialog-body{padding:20px}.issue-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.issue-facts div{padding:13px;border:1px solid var(--line);border-radius:7px}.issue-facts span{display:block;margin-bottom:5px;color:var(--muted);font-size:9px}.issue-facts strong{font-size:11px}.system-message{display:flex;align-items:flex-start;gap:9px;margin:14px 0;padding:13px;border-radius:7px;color:#244565;background:#edf5fc}.system-message svg{width:18px;flex:0 0 auto}.system-message p{margin:0;font-size:10px;line-height:1.8}.accountability-response{display:grid;grid-template-columns:1fr 1fr;gap:14px}.accountability-response>label{display:grid;gap:6px;font-size:10px;font-weight:700}.accountability-response .full{grid-column:1/-1}.accountability-response b{color:var(--red)}.accountability-response select,.accountability-response textarea{width:100%;padding:10px;border:1px solid var(--line);border-radius:7px;background:#fff;font:inherit;outline:0}.accountability-response select{height:43px}.medical-attachment{grid-column:1/-1;padding:14px;border:1px solid #f0c8ce;border-radius:8px;background:#fff8f8}.medical-attachment[hidden]{display:none}.medical-attachment>div{display:flex;align-items:center;gap:10px;margin-bottom:11px}.medical-attachment>div>span{width:38px;height:38px;display:grid;place-items:center;border-radius:7px;color:var(--red);background:#fdebed}.medical-attachment strong{font-size:11px}.medical-attachment p{margin:3px 0 0;color:var(--muted);font-size:9px}.medical-attachment>label{min-height:64px;display:flex;align-items:center;justify-content:center;gap:8px;border:1px dashed #d9a5ad;border-radius:7px;cursor:pointer;font-size:10px;font-weight:700}.medical-attachment>label input{position:absolute;opacity:0;pointer-events:none}.response-confirm{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center}.response-confirm input{width:17px;height:17px;accent-color:var(--purple)}.accountability-response footer{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px;padding-top:14px;border-top:1px solid var(--line)}.saved-response{display:flex;align-items:flex-start;gap:12px;padding:17px;border:1px solid #bce4d8;border-radius:8px;background:#f0fbf7}.saved-response[hidden]{display:none}.saved-response>span{color:var(--green)}.saved-response h3{margin:0 0 4px;font-size:15px}.saved-response p{margin:0;color:var(--muted);font-size:10px;line-height:1.8}.portal-toast{position:fixed;z-index:120;bottom:24px;inset-inline-start:24px;padding:12px 16px;border-radius:7px;color:#fff;background:#087556;box-shadow:0 12px 30px rgba(0,0,0,.2);opacity:0;transform:translateY(15px);pointer-events:none;transition:.2s}.portal-toast.show{opacity:1;transform:translateY(0)}
@media(max-width:1000px){.portal-shell{grid-template-columns:1fr}.portal-sidebar{display:none}.info-grid{grid-template-columns:repeat(2,1fr)}.money-summary,.day-summary{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.portal-topbar,.portal-content{padding-left:14px;padding-right:14px}.portal-topbar{align-items:flex-start;flex-direction:column}.profile-hero{align-items:flex-start;flex-wrap:wrap}.status{margin-inline-start:0}.info-grid,.money-summary,.day-summary,.contract-strip,.accountability-summary,.issue-facts,.period-stats{grid-template-columns:1fr}.data-table{min-width:660px}.table-scroll{overflow:auto}.accountability-toolbar,.accountability-card>header,.accountability-card>footer{align-items:stretch;flex-direction:column}.accountability-response{grid-template-columns:1fr}.accountability-response .full,.medical-attachment,.accountability-response footer{grid-column:auto}.accountability-response footer{display:grid;grid-template-columns:1fr 1fr}}
.medical-hero .avatar svg{width:28px}.medical-network-download{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:20px}.medical-network-download strong,.medical-network-download small{display:block}.medical-network-download small{margin-top:4px;color:var(--muted);font-size:11px}@media(max-width:600px){.medical-network-download{align-items:stretch;flex-direction:column}}
.task-cards{display:grid;gap:12px;padding:20px}.task-cards article{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:16px;border:1px solid var(--line);border-radius:8px;background:#fff}.task-cards h4{margin:3px 0 5px;font-size:15px}.task-cards p{margin:0;color:var(--muted);font-size:11px;line-height:1.8}.task-cards small{color:var(--muted);font-size:10px}.task-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:8px}.task-icon svg{width:20px}.task-icon.amber{color:var(--amber);background:#fff4db}.task-icon.blue{color:#347fc3;background:#e9f3fc}.task-icon.green{color:var(--green);background:#e4f6ef}.task-icon.purple{color:var(--purple);background:var(--purple-soft)}@media(max-width:600px){.task-cards article{grid-template-columns:auto 1fr}.task-cards article>b{grid-column:1/-1;justify-self:start}}
