@import url('https://fonts.googleapis.com/css2?family=Tajawal:wght@400;500;700;800&display=swap');
:root{--ink:#07131f;--ink-2:#0c2230;--gold:#d8ad55;--gold-light:#f0d58e;--teal:#65d4cf;--white:#f6f5ef;--muted:#91a7aa;--line:rgba(216,173,85,.18);--danger:#ed8a86}*{box-sizing:border-box}body{margin:0;background:#f0f1ec;color:var(--ink);font-family:'Tajawal',Arial,sans-serif;line-height:1.65}.admin-shell{min-height:100vh}.login-card{width:min(530px,calc(100% - 32px));margin:7vh auto;padding:38px;border-radius:28px;background:linear-gradient(145deg,#102f3d,#07131f);color:var(--white);box-shadow:0 30px 90px rgba(7,19,31,.24);text-align:right}.admin-brand{display:flex;align-items:center;gap:11px;color:inherit;text-decoration:none}.admin-brand img{width:48px;height:48px;border-radius:14px;object-fit:cover;mix-blend-mode:screen}.admin-brand div{display:grid;line-height:1.25}.admin-brand strong{font-size:1.1rem}.admin-brand small{font-size:.68rem;color:var(--gold-light)}.login-mark{width:54px;height:54px;display:grid;place-items:center;border-radius:50%;color:var(--gold-light);border:1px solid var(--gold);font-size:1.6rem;margin:65px 0 22px}.login-card h1{font-size:clamp(2.4rem,8vw,4.3rem);line-height:1.08;margin:0 0 18px;letter-spacing:-.05em}.login-card h1 em{font-style:normal;color:var(--gold)}.login-card>p{color:#b6c8ca;font-size:.9rem;max-width:390px;margin-bottom:28px}.admin-button{display:inline-flex;align-items:center;justify-content:center;gap:18px;border:1px solid transparent;border-radius:999px;padding:12px 18px;font:inherit;font-size:.85rem;font-weight:700;cursor:pointer;text-decoration:none;transition:.2s}.admin-button:hover{transform:translateY(-2px)}.admin-button.primary{background:var(--gold);color:var(--ink)}.admin-button.primary:hover{background:var(--gold-light)}.admin-button.subtle{border-color:rgba(7,19,31,.15);color:var(--ink);background:transparent}.back-link{display:inline-block;margin-top:18px;color:var(--gold-light);font-size:.78rem}.login-card .back-link{display:block}.security-note{border-top:1px solid rgba(255,255,255,.1);margin-top:35px;padding-top:17px;color:#708d91;font-size:.69rem}.notice{padding:10px 13px;border-radius:10px;margin-top:20px;font-size:.8rem}.notice.error{background:rgba(237,138,134,.12);border:1px solid rgba(237,138,134,.4);color:#ffb4ae}.admin-topbar{min-height:78px;background:var(--ink);color:var(--white);display:flex;align-items:center;justify-content:space-between;padding:12px max(24px,calc((100% - 1280px)/2));gap:20px}.topbar-actions{display:flex;align-items:center;gap:18px;font-size:.77rem;color:#b9cbcd}.topbar-actions .back-link{margin:0}.dashboard-layout{width:min(1280px,calc(100% - 48px));margin:35px auto;display:grid;grid-template-columns:210px 1fr;gap:38px}.side-nav{display:grid;align-content:start;gap:6px}.side-link{border:0;background:transparent;color:#668084;text-align:right;padding:13px 15px;border-radius:12px;cursor:pointer;font:inherit;font-size:.86rem}.side-link.active,.side-link:hover{background:var(--ink);color:var(--gold-light)}.dashboard-content{min-width:0}.tab-panel{display:none}.tab-panel.active{display:block}.panel-heading{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:30px}.eyebrow{display:block;color:#99752c;font-size:.67rem;letter-spacing:.1em;font-weight:700;margin-bottom:8px}.panel-heading h1,.panel-heading h2{font-size:clamp(2rem,4vw,3.6rem);line-height:1.1;margin:0 0 10px;letter-spacing:-.045em}.panel-heading p{margin:0;color:#708286;font-size:.9rem}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.summary-card,.permission-card,.admin-list{background:#fff;border:1px solid rgba(7,19,31,.1);border-radius:18px}.summary-card{padding:22px;display:grid;gap:11px}.summary-card span{font-size:.75rem;color:#728589}.summary-card strong{font-size:2.35rem;color:var(--ink)}.permission-card{padding:22px;margin-top:15px}.permission-card strong{color:#8b6a25}.permission-card p{color:#697c80;font-size:.82rem;margin:8px 0 0}.admin-list{overflow:hidden}.content-row{display:grid;grid-template-columns:48px minmax(0,1fr) auto auto auto;align-items:center;gap:14px;padding:16px 19px;border-bottom:1px solid rgba(7,19,31,.09)}.content-row:last-child{border-bottom:0}.muted-row{opacity:.57}.row-icon,.doctor-avatar,.user-avatar{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:#e7f2ee;color:#9a742c;font-size:1.35rem;overflow:hidden}.doctor-avatar img{width:100%;height:100%;object-fit:cover}.user-avatar{border-radius:50%;font-size:.9rem;background:#e8eef0;color:#27686b}.row-main{min-width:0}.row-main strong{font-size:.94rem}.row-main p{margin:3px 0 0;color:#7a8d90;font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-status,.role-badge{font-size:.67rem;padding:4px 8px;border-radius:99px;background:#e8f5ee;color:#32825e;white-space:nowrap}.role-badge.owner{background:#fbf1d7;color:#9a742c}.row-action{border:0;background:transparent;color:#8b6a25;cursor:pointer;font:inherit;font-size:.75rem;white-space:nowrap}.row-action.danger{color:#b66866}.role-select{border:1px solid rgba(7,19,31,.14);border-radius:8px;padding:7px;background:#fff;font:inherit;font-size:.74rem}.empty-state{padding:40px;text-align:center;color:#7a8d90}.editor-form{display:grid;gap:15px}.editor-form label{display:grid;gap:6px;color:#546a6e;font-size:.76rem}.editor-form input,.editor-form textarea{width:100%;border:1px solid rgba(7,19,31,.15);border-radius:10px;padding:11px 12px;background:#fff;color:var(--ink);font:inherit;font-size:.84rem;outline:none}.editor-form input:focus,.editor-form textarea:focus{border-color:#79b9b4;box-shadow:0 0 0 3px rgba(101,212,207,.15)}.editor-form textarea{resize:vertical}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.settings-form{background:#fff;border:1px solid rgba(7,19,31,.1);border-radius:18px;padding:24px;max-width:800px}.checkbox-label{display:flex!important;align-items:center;grid-template-columns:auto 1fr!important;gap:9px!important}.checkbox-label input{width:auto}.dialog-heading{display:flex;align-items:center;justify-content:space-between}.dialog-heading h3{margin:0}.close-button{border:0;background:none;font-size:1.5rem;cursor:pointer;color:#6b7f82}dialog{border:0;border-radius:18px;width:min(560px,calc(100% - 30px));padding:24px;box-shadow:0 30px 100px rgba(7,19,31,.3)}dialog::backdrop{background:rgba(7,19,31,.55)}.toast{position:fixed;left:24px;bottom:24px;z-index:10;padding:12px 17px;background:var(--ink);color:var(--white);border-radius:11px;font-size:.8rem;box-shadow:0 10px 40px rgba(0,0,0,.2)}.toast.error{background:#7d3638}.toast.success{background:#164d4f}
@media(max-width:820px){.dashboard-layout{grid-template-columns:1fr;gap:20px}.side-nav{display:flex;overflow:auto;padding-bottom:2px}.side-link{white-space:nowrap}.panel-heading{align-items:start;flex-direction:column}.summary-grid{grid-template-columns:1fr 1fr}.admin-topbar{padding:12px 18px}.topbar-actions>span{display:none}}
@media(max-width:560px){.login-card{padding:25px;margin-top:25px}.login-mark{margin-top:45px}.dashboard-layout{width:calc(100% - 24px);margin:20px auto}.summary-grid{grid-template-columns:1fr}.content-row{grid-template-columns:38px minmax(0,1fr) auto;gap:9px;padding:13px}.content-row .row-status{grid-column:2}.content-row .row-action{grid-column:3}.form-grid{grid-template-columns:1fr}.admin-topbar .admin-brand small{display:none}.topbar-actions{gap:8px}.topbar-actions .back-link{display:none}}

.grant-card{background:linear-gradient(145deg,#102f3d,#0b1d2b);color:var(--white);border-radius:18px;padding:20px;margin-bottom:25px}.grant-form{display:grid;grid-template-columns:1.4fr 1fr auto;align-items:end;gap:14px}.grant-form label{color:#c4d4d4}.grant-form input,.grant-form select{background:rgba(255,255,255,.96);border:0}.grant-help{color:#a6babb;font-size:.74rem;margin:12px 0 0}.users-subheading{font-size:1rem;color:#52696d;margin:24px 0 10px}
@media(max-width:820px){.grant-form{grid-template-columns:1fr 1fr}.grant-form .admin-button{grid-column:1/-1;justify-self:start}}
@media(max-width:560px){.grant-form{grid-template-columns:1fr}}
.upload-note{font-size:.7rem;color:#7b8f92}.doctor-photo-preview{width:110px;height:135px;object-fit:cover;border-radius:18px;margin-top:5px;border:1px solid rgba(7,19,31,.15)}.appointment-row{display:grid;grid-template-columns:120px minmax(0,1fr) 145px;align-items:center;gap:16px;padding:17px 19px;border-bottom:1px solid rgba(7,19,31,.09)}.appointment-row:last-child{border-bottom:0}.appointment-date{display:grid;gap:3px;color:#967329}.appointment-date strong{font-size:.85rem}.appointment-date span{font-size:.74rem;color:#718589}.appointment-row .row-main small{display:block;color:#7b8e91;font-size:.72rem;margin-top:5px}.appointment-status{border-color:rgba(7,19,31,.12)}.appointment-status.status-pending{color:#9a742c;background:#fbf1d7}.appointment-status.status-confirmed{color:#277753;background:#e3f3e9}.appointment-status.status-cancelled{color:#a2453f;background:#fae5e2}.appointment-status.status-completed{color:#276a87;background:#e4f0f6}@media(max-width:560px){.appointment-row{grid-template-columns:1fr auto;gap:8px;padding:14px}.appointment-row .row-main{grid-column:1/-1}.appointment-row .appointment-status{grid-column:2}}

.content-tools{display:flex;align-items:center;gap:12px;margin:-8px 0 16px}.search-field{background:#fff;border:1px solid rgba(7,19,31,.12);color:#51686b;width:min(420px,100%);padding:10px 14px}.search-field input::placeholder{color:#94a2a3}.results-hint{color:#7b8e91;font-size:.74rem}.form-error{background:#fae5e2;color:#a2453f;border:1px solid #efc4bd;border-radius:10px;padding:10px 12px;font-size:.78rem;margin-bottom:12px}.admin-button:disabled{opacity:.62;cursor:wait}@media(max-width:560px){.content-tools{display:block}.results-hint{display:block;margin-top:8px}}
