@import url('https://fonts.googleapis.com/css2?family=Vazirmatn:wght@300;400;500;600;700;800;900&display=swap');
:root{--bg:#061126;--shell:#0b1833;--shell2:#101f3d;--card:#172845;--card2:#1b2d4b;--line:rgba(184,202,232,.16);--line2:rgba(184,202,232,.09);--text:#f4f6fb;--muted:#8490a8;--cream:#e9dfc0;--cream2:#d9cfb0;--green:#18a58b;--blue:#1375c7;--orange:#c98a3d;--red:#ad5268}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:'Vazirmatn',Tahoma,sans-serif;background:#343a42;color:var(--text);line-height:1.65}body{overflow-x:hidden}button,input,select,textarea{font:inherit}.app-body{min-height:100vh;background:radial-gradient(circle at 50% 0,#46505a 0,#343a42 42%,#242a31 100%)}
.app-body:before{content:"";position:fixed;inset:10px 10px 0 10px;border:1px solid rgba(255,255,255,.14);border-radius:24px 24px 0 0;pointer-events:none;z-index:0}
.sidebar{position:fixed;z-index:50;right:28px;top:27px;width:228px;height:calc(100vh - 27px);padding:17px 12px 16px;background:linear-gradient(180deg,#17243b 0%,#101d35 58%,#0d1930 100%);border:1px solid rgba(180,198,229,.13);border-radius:20px 20px 0 0;box-shadow:0 20px 55px rgba(0,0,0,.3),inset 0 1px rgba(255,255,255,.035);overflow:hidden}.sidebar:after{content:"";position:absolute;inset:auto -35px -65px;height:130px;background:radial-gradient(ellipse at center,rgba(7,15,31,.95),transparent 70%);pointer-events:none}.brand-ref{height:67px;padding:0 9px 15px;display:flex;align-items:center;gap:9px;border-bottom:1px solid rgba(255,255,255,.06);color:#fff}.brand-mark{width:35px;height:35px;border-radius:10px;background:#edf0f4;color:#1a2a44;display:grid;place-items:center;transform:rotate(-5deg);font-size:17px}.brand-ref strong{display:block;font-size:16px;line-height:1.25}.brand-ref small{display:block;color:#8c97ac;font-size:9px;margin-top:2px}.side-section-title{font-size:11px;color:#7d879a;margin:17px 10px 8px}.sidebar nav{display:flex;flex-direction:column;gap:3px;max-height:calc(100vh - 180px);overflow:auto}.sidebar nav::-webkit-scrollbar{width:3px}.sidebar nav::-webkit-scrollbar-thumb{background:#2a3953;border-radius:9px}.sidebar a{position:relative;color:#8793aa;text-decoration:none;min-height:40px;padding:8px 12px;border-radius:10px;display:flex;align-items:center;gap:11px;font-size:12px;transition:.16s}.sidebar a i{width:19px;text-align:center;font-size:14px;color:#8793aa}.sidebar a:hover{background:rgba(255,255,255,.045);color:#fff}.sidebar .nav-link.active{background:rgba(255,255,255,.105);color:#fff}.sidebar .nav-link.active:after{content:"";position:absolute;right:0;top:7px;bottom:7px;width:3px;border-radius:4px;background:var(--cream)}.sidebar .nav-link.active i{color:#e8dfc3}.sidebar .logout{position:absolute;right:12px;left:12px;bottom:17px;background:rgba(255,255,255,.035)}
.main{position:relative;z-index:2;margin-right:270px;margin-left:28px;margin-top:27px;min-height:calc(100vh - 27px);padding:0 25px 42px;background:linear-gradient(180deg,#112143 0%,#0d1b37 62%,#0a1730 100%);border:1px solid rgba(170,191,224,.13);border-radius:20px 20px 0 0;box-shadow:0 20px 55px rgba(0,0,0,.25),inset 0 1px rgba(255,255,255,.035)}.main:after{content:"";position:fixed;left:0;right:0;bottom:-20px;height:115px;z-index:-1;background:radial-gradient(ellipse at 20% 80%,rgba(3,10,23,.95),transparent 48%),radial-gradient(ellipse at 80% 100%,rgba(2,9,20,.92),transparent 52%);pointer-events:none}
.topbar{height:69px;margin:0 -25px 23px;padding:0 24px;border-bottom:1px solid rgba(175,194,225,.10);display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;background:rgba(16,31,61,.38);border-radius:20px 20px 0 0}.topbar-side{display:flex;align-items:center;gap:11px}.topbar-left{justify-content:flex-start;direction:ltr}.topbar-right{justify-content:flex-end}.topbar-center{text-align:center;display:flex;flex-direction:column;line-height:1.35}.topbar-center strong{font-size:13px}.topbar-center span{font-size:10px;color:#76839b}.top-icon{width:31px;height:31px;border:0;background:transparent;color:#9aa7bd;border-radius:50%;display:grid;place-items:center;cursor:pointer;position:relative}.top-icon:hover{background:rgba(255,255,255,.06);color:#fff}.notification b{position:absolute;right:0;top:-2px;width:15px;height:15px;border-radius:50%;background:#ef6b7b;color:#fff;font-size:9px;display:grid;place-items:center}.quick-add{display:inline-flex;align-items:center;gap:8px;padding:8px 13px;border-radius:11px;background:#344158;border:1px solid rgba(255,255,255,.06);color:#e7eaf0;text-decoration:none;font-size:12px}.quick-add i{width:18px;height:18px;border:1px solid #d6cda9;border-radius:50%;display:grid;place-items:center;font-size:9px;color:#d6cda9}
.page-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.page-head h1{font-size:25px;margin:0;font-weight:800}.page-head p{color:var(--muted);margin:4px 0 0;font-size:11px}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:19px}.stat,.stat-ref{background:linear-gradient(145deg,rgba(27,45,75,.88),rgba(19,35,62,.82));border:1px solid var(--line);border-radius:16px;box-shadow:0 12px 25px rgba(0,0,0,.18),inset 0 1px rgba(255,255,255,.025);backdrop-filter:blur(15px)}.stat{padding:17px;display:flex;align-items:center;gap:13px}.stat-icon{width:43px;height:43px;border-radius:12px;background:rgba(255,255,255,.08);display:grid;place-items:center;color:#e7e3d6}.stat span,.stat-ref span{color:#8d99ae;font-size:11px}.stat strong,.stat-ref strong{display:block;font-size:23px;margin-top:2px}.panel{background:linear-gradient(145deg,rgba(27,45,75,.88),rgba(16,31,57,.78));border:1px solid var(--line);border-radius:17px;padding:18px;margin-bottom:18px;box-shadow:0 14px 30px rgba(0,0,0,.17),inset 0 1px rgba(255,255,255,.025);backdrop-filter:blur(15px)}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.panel h2{font-size:16px;margin:0}.panel-sub{font-size:10px;color:#748198}.search{max-width:230px}.grid2{display:grid;grid-template-columns:380px 1fr;gap:18px}label{display:block;color:#aab4c5;font-size:12px;margin-bottom:12px}input,select,textarea{width:100%;margin-top:5px;padding:10px 11px;background:#0e1e39;color:#eef2f7;border:1px solid var(--line);border-radius:10px;outline:0}input:focus,select:focus,textarea:focus{border-color:rgba(233,223,192,.55);box-shadow:0 0 0 3px rgba(233,223,192,.07)}textarea{min-height:85px}.row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.btn,.icon-btn{border:1px solid var(--line);background:rgba(255,255,255,.055);color:#e9edf5;border-radius:10px;padding:9px 13px;display:inline-flex;align-items:center;justify-content:center;gap:7px;text-decoration:none;cursor:pointer}.btn.primary{background:linear-gradient(#eee7d2,#d9d0b1);color:#1a2841;border-color:rgba(255,255,255,.25);font-weight:800}.btn.success{background:rgba(24,165,139,.14);color:#60d0bb}.btn.danger,.icon-btn.danger{background:rgba(173,82,104,.14);color:#e58da0}.btn.full{width:100%}.table-wrap{overflow:auto;border:1px solid var(--line2);border-radius:11px}table{width:100%;border-collapse:collapse;min-width:720px}th,td{padding:11px 9px;text-align:right;border-bottom:1px solid var(--line2);font-size:11px}th{color:#8995aa;background:rgba(255,255,255,.035)}td{color:#dce2eb}tbody tr:hover{background:rgba(255,255,255,.025)}.badge{display:inline-block;padding:4px 8px;border-radius:999px;background:rgba(255,255,255,.07);color:#bdc6d5;font-size:10px}.badge.ok{background:rgba(24,165,139,.14);color:#5fd0b8}.badge.warn{background:rgba(230,191,95,.13);color:#e6ce8e}.badge.blue{background:rgba(40,126,210,.14);color:#82b9ec}.alert{padding:10px 13px;border-radius:10px;margin-bottom:14px;background:rgba(255,255,255,.05);border:1px solid var(--line);font-size:11px}.alert.success{color:#65d1ba}.alert.danger{color:#e58b9d}.filters{display:flex;gap:10px;align-items:end;margin-bottom:15px}.filters label{min-width:180px}.detail-form{background:rgba(7,18,37,.5);border:1px solid var(--line2);padding:14px;border-radius:11px;margin-top:10px}.service-row{display:grid;grid-template-columns:1.5fr .5fr 1fr 42px;gap:7px;margin-bottom:7px}.photo-preview{width:90px;height:70px;object-fit:cover;border-radius:8px;border:1px solid var(--line)}.hint{font-size:10px;color:#748198}.empty{padding:30px;text-align:center;color:#758198}.muted{color:#7f8ba2}.today{color:#7f8ba2}.overlay,.hamb,.mobile-nav{display:none}
/* exact reference dashboard */
.welcome-card{position:relative;min-height:268px;padding:29px 30px 18px;border-radius:22px;background:radial-gradient(circle at 87% 8%,rgba(181,179,164,.23),transparent 30%),linear-gradient(135deg,#182845 0%,#1a2b49 52%,#17243e 100%);border:1px solid rgba(180,198,227,.13);box-shadow:0 18px 42px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.03);overflow:hidden;margin-bottom:19px}.welcome-copy{text-align:center;padding-right:190px}.eyebrow{font-size:11px;color:#d8d2c0;margin-bottom:7px}.welcome-copy h1{font-size:28px;line-height:1.35;margin:0 0 4px;font-weight:900;letter-spacing:-.4px}.welcome-copy h1 span{font-size:24px}.welcome-copy p{margin:0;color:#8794aa;font-size:11px}.welcome-actions{position:absolute;left:30px;top:28px;width:200px;display:flex;flex-direction:column;gap:9px}.cream-btn,.outline-btn{height:45px;border-radius:12px;padding:0 15px;display:flex;align-items:center;justify-content:space-between;text-decoration:none;font-size:12px;font-weight:800}.cream-btn{background:linear-gradient(#efe7d0,#ddd4b7);color:#1a2942;box-shadow:0 8px 20px rgba(0,0,0,.13)}.cream-btn i{font-size:13px;color:#36435b}.outline-btn{background:rgba(16,31,57,.45);color:#e6ebf3;border:1px solid rgba(174,193,222,.20)}.welcome-divider{height:1px;background:rgba(174,193,222,.11);margin:25px 0 19px}.mini-statuses{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.mini-status{min-height:70px;border:1px solid rgba(174,193,222,.16);border-radius:13px;background:rgba(27,45,74,.65);display:flex;align-items:center;padding:9px 12px;gap:10px;direction:ltr}.mini-status>div{direction:rtl;text-align:right;flex:1}.mini-status strong{display:block;font-size:20px;line-height:1.1}.mini-status span{font-size:10px;color:#a0a9b9}.mini-status>i{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;background:rgba(255,255,255,.10);color:#e6e1d1;font-size:15px;order:2}.mini-status em{font-style:normal;color:#6e7b91;font-size:20px;order:3}.mini-status:nth-child(2)>i{background:rgba(24,165,139,.19);color:#54c7b0}.mini-status:nth-child(3)>i{background:rgba(173,82,104,.20);color:#e58b9d}.dashboard-stats{grid-template-columns:repeat(4,1fr);gap:14px}.stat-ref{min-height:144px;padding:20px;display:flex;align-items:center;gap:14px;direction:rtl}.ref-stat-icon{width:39px;height:39px;border-radius:11px;display:grid;place-items:center;font-size:14px;flex:0 0 auto}.ref-stat-icon.gold{background:rgba(232,191,105,.17);color:#e2a85d}.ref-stat-icon.blue{background:rgba(24,126,205,.18);color:#4aabed}.ref-stat-icon.green{background:rgba(24,165,139,.18);color:#51c9ae}.ref-stat-icon.orange{background:rgba(202,138,61,.18);color:#e4a456}.stat-ref strong{font-size:23px;margin:5px 0 1px}.stat-ref small{font-size:9px;color:#758198}.ref-panel{margin-top:0}.ref-panel .panel-title{margin-bottom:14px}
/* login reference */
.login{min-height:100vh;padding:16px;background:radial-gradient(circle at 75% 15%,rgba(41,75,132,.22),transparent 36%),linear-gradient(145deg,#061126,#0b1833 55%,#07132b);display:grid;place-items:center}.login:before{content:"";position:fixed;inset:16px;border:1px solid rgba(180,198,227,.16);border-radius:28px;pointer-events:none}.login-card{width:min(620px,calc(100vw - 32px));min-height:calc(100vh - 32px);margin-left:auto;padding:70px 70px;background:linear-gradient(180deg,rgba(16,32,63,.95),rgba(9,23,48,.93));border:1px solid rgba(180,198,227,.14);border-radius:0 28px 28px 0;box-shadow:inset 0 1px rgba(255,255,255,.03),-25px 0 70px rgba(0,0,0,.22);display:flex;flex-direction:column;justify-content:center}.login-card .brand.big{justify-content:flex-start;text-align:right;padding:0 0 40px;color:#f3f5f8}.login-card .brand.big i{color:#edf0f3}.login-card h1{font-size:39px;margin:0 0 7px;font-weight:900}.login-card label{color:#aab5c7;font-size:13px}.login-card input{height:57px;border-radius:18px;background:#1a2a48;border-color:rgba(174,193,222,.15)}.login-card .btn{height:56px;border-radius:28px;margin-top:7px;font-size:15px}.login-card small{color:#6e7c94;text-align:right;margin-top:20px}.login-card .alert{margin-bottom:15px}
@media(max-width:1000px){.sidebar{right:15px;width:215px}.main{margin-right:245px;margin-left:15px}.welcome-copy{padding-right:170px}}
@media(max-width:760px){body{background:#07132b}.app-body:before{inset:0;border:0}.sidebar{display:none}.main{margin:0;min-height:100vh;border-radius:0;border:0;padding:0 13px 90px;background:#07132b}.topbar{height:62px;margin:0 -13px 15px;padding:0 13px;grid-template-columns:auto 1fr auto;border-radius:0 0 18px 18px}.topbar-center strong{font-size:11px}.topbar-center span{font-size:9px}.topbar-left{display:none}.quick-add{padding:7px 9px;font-size:10px}.topbar-right .notification{display:none}.welcome-card{min-height:450px;padding:28px 17px 15px;border-radius:20px}.welcome-copy{padding:0;text-align:center}.welcome-copy h1{font-size:24px}.welcome-actions{position:relative;left:auto;top:auto;width:100%;margin-top:22px;flex-direction:row}.cream-btn,.outline-btn{flex:1;height:44px;font-size:10px}.welcome-divider{margin:22px 0 16px}.mini-statuses{grid-template-columns:1fr;gap:8px}.mini-status{min-height:61px}.dashboard-stats{grid-template-columns:1fr 1fr}.stat-ref{min-height:112px;padding:13px;gap:9px}.stat-ref strong{font-size:18px}.cards{gap:9px}.panel{padding:14px;border-radius:16px}.table-wrap{border:0}.table-wrap table{min-width:0}.table-wrap thead{display:none}.table-wrap tbody,.table-wrap tr,.table-wrap td{display:block;width:100%}.table-wrap tr{padding:10px;border:1px solid var(--line);border-radius:12px;margin-bottom:8px;background:rgba(22,39,65,.78)}.table-wrap td{border:0;padding:4px 2px}.mobile-nav{position:fixed;display:flex;z-index:99;right:8px;left:8px;bottom:8px;height:66px;border:1px solid rgba(180,198,227,.14);border-radius:20px;background:rgba(13,28,53,.92);backdrop-filter:blur(22px);box-shadow:0 16px 45px rgba(0,0,0,.4);padding:5px;gap:3px;overflow:auto}.mobile-nav a{min-width:58px;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:#77849c;text-decoration:none;border-radius:14px;font-size:8px}.mobile-nav a i{font-size:16px}.mobile-nav a.active{background:rgba(255,255,255,.08);color:#eee8d4}.mobile-nav .mobile-logout{color:#d78393}.login{padding:0;display:block;background:#07132b}.login:before{inset:8px;border-radius:24px}.login-card{width:calc(100vw - 16px);min-height:calc(100vh - 16px);margin:8px;padding:55px 27px 30px;border-radius:24px;border:1px solid rgba(180,198,227,.14);justify-content:center}.login-card h1{font-size:31px}.login-card .brand.big{padding-bottom:32px}}
@media(max-width:430px){.welcome-copy h1{font-size:21px}.dashboard-stats{grid-template-columns:1fr}.stat-ref{min-height:92px}.welcome-actions{flex-direction:column}.cream-btn,.outline-btn{flex:none}.topbar-center{overflow:hidden}.topbar-center strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}
@media print{.sidebar,.topbar,.mobile-nav{display:none!important}.main{margin:0;border:0;padding:0;background:#fff;color:#111}.panel,.stat,.stat-ref{box-shadow:none;border:1px solid #ddd;background:#fff;color:#111}}

/* v3.3 functional controls + logo */
.brand-logo-wrap{width:43px;height:43px;display:grid;place-items:center;overflow:hidden;border-radius:12px;background:rgba(255,255,255,.055);border:1px solid rgba(233,223,192,.16);flex:0 0 auto}.brand-logo{width:38px;height:38px;object-fit:contain;display:block}.login-brand{gap:14px}.login-logo{width:64px;height:64px;object-fit:contain;display:block}.top-icon{position:relative}.top-dot{position:absolute;top:8px;right:8px;width:6px;height:6px;border-radius:50%;background:#d6a8b2;box-shadow:0 0 0 2px rgba(7,18,37,.9)}
.notification-popover{position:fixed;z-index:130;top:76px;right:28px;width:330px;background:rgba(17,33,60,.97);border:1px solid rgba(174,193,222,.16);border-radius:18px;box-shadow:0 25px 65px rgba(0,0,0,.45);backdrop-filter:blur(24px);overflow:hidden;opacity:0;transform:translateY(-8px) scale(.98);pointer-events:none;transition:.18s ease}.notification-popover.open{opacity:1;transform:none;pointer-events:auto}.popover-head{height:52px;padding:0 15px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(174,193,222,.10)}.popover-close{border:0;background:transparent;color:#8996aa;font-size:24px;cursor:pointer;line-height:1}.popover-body{padding:8px}.popover-body a{display:grid;grid-template-columns:34px 1fr auto;gap:9px;align-items:center;padding:11px;border-radius:12px;color:#dce2eb;text-decoration:none}.popover-body a:hover{background:rgba(255,255,255,.06)}.popover-body a i{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:rgba(233,223,192,.10);color:#e6dcc0}.popover-body a span{font-size:11px}.popover-body a small{font-size:9px;color:#748198}.global-search{position:fixed;inset:0;z-index:140;display:grid;place-items:start center;padding-top:110px;opacity:0;pointer-events:none;transition:.18s}.global-search.open{opacity:1;pointer-events:auto}.search-backdrop{position:absolute;inset:0;background:rgba(2,8,20,.70);backdrop-filter:blur(8px)}.search-dialog{position:relative;width:min(650px,calc(100vw - 30px));background:rgba(16,32,59,.98);border:1px solid rgba(174,193,222,.16);border-radius:20px;box-shadow:0 30px 90px rgba(0,0,0,.5);overflow:hidden}.search-head{height:64px;display:flex;align-items:center;gap:10px;padding:0 15px;border-bottom:1px solid rgba(174,193,222,.10)}.search-head>i{color:#9aa8bd}.search-head input{margin:0;border:0;background:transparent;box-shadow:none;height:48px;font-size:13px}.search-head input:focus{box-shadow:none}.search-results{padding:10px;max-height:430px;overflow:auto}.search-result{display:flex;align-items:center;gap:12px;padding:12px;border-radius:12px;color:#dce2eb;text-decoration:none}.search-result:hover{background:rgba(255,255,255,.06)}.search-result i{width:35px;height:35px;display:grid;place-items:center;border-radius:10px;background:rgba(255,255,255,.06);color:#dcd3b5}.search-empty{padding:24px;text-align:center;color:#78859a;font-size:11px}
.light-theme{--bg:#e9edf4;--panel:#f7f9fc;--panel2:#ffffff;--line:rgba(24,40,65,.13);--line2:rgba(24,40,65,.08);--text:#18263e;--muted:#657187}.light-theme,.light-theme .main{background:var(--bg);color:var(--text)}.light-theme .main{background:linear-gradient(180deg,#edf1f7,#e7ebf2)}.light-theme .sidebar,.light-theme .topbar,.light-theme .panel,.light-theme .stat,.light-theme .stat-ref{background:rgba(255,255,255,.78);color:#18263e}.light-theme .nav-link{color:#526078}.light-theme .nav-link.active{background:#e7e1ce;color:#1b2940}.light-theme .welcome-card{background:linear-gradient(135deg,#f8f7f2,#e8edf4);color:#18263e}.light-theme .welcome-copy p,.light-theme .panel-sub,.light-theme .stat-ref small{color:#6c788c}.light-theme input,.light-theme select,.light-theme textarea{background:#fff;color:#18263e;border-color:rgba(24,40,65,.12)}.light-theme td{color:#26344c}.light-theme th{color:#627087;background:rgba(24,40,65,.035)}.light-theme .mobile-nav{background:rgba(255,255,255,.92)}.light-theme .mobile-nav a{color:#657187}.light-theme .mobile-nav a.active{color:#1a2942;background:#ece7d6}.light-theme .notification-popover,.light-theme .search-dialog{background:rgba(255,255,255,.98);color:#18263e}.light-theme .popover-body a,.light-theme .search-result{color:#26344c}.light-theme .search-backdrop{background:rgba(20,31,48,.35)}
@media(max-width:760px){.notification-popover{top:68px;right:13px;width:calc(100vw - 26px)}.global-search{padding-top:75px}.login-logo{width:58px;height:58px}}

/* =====================================================================
   v3.4 — Reference UI (exact dashboard look: dark navy glass + cream)
   Appended last on purpose: it overrides earlier rules by cascade order.
   ===================================================================== */
:root{--ref-cream:#e6dcc0;--ref-line:rgba(205,215,235,.2);--ref-muted:#9aa4b8;--icon-cut:#2b2f3a}
html,body{background:#2a303c}
.app-body{min-height:100vh;background:
 radial-gradient(90% 55% at 100% 24%,rgba(150,146,118,.50) 0,transparent 42%),
 linear-gradient(180deg,#5b5e61 0%,#4c5159 22%,#3a404c 46%,#1b2438 62%,#0f1729 74%,#0a1121 100%);background-attachment:fixed}
.app-body:before{display:none!important}
.ic{width:20px;height:20px;display:block;flex:none}

/* ---------- sidebar ---------- */
.sidebar{right:37px;top:18px;width:227px;height:calc(100vh - 18px);padding:0;border:1px solid var(--ref-line);border-bottom:0;border-radius:24px 24px 0 0;
 background:linear-gradient(180deg,#1c2538 0%,#141d31 48%,#0b1224 100%);box-shadow:0 24px 60px rgba(0,0,0,.35),inset 0 1px rgba(255,255,255,.05)}
.sidebar:after{display:none}
.brand-ref{height:67px;padding:0 20px;gap:12px;border-bottom:1px solid rgba(255,255,255,.07)}
.brand-logo-wrap{width:40px;height:40px;border-radius:12px;background:rgba(255,255,255,.07);border:0}
.brand-logo{width:36px;height:36px}
.brand-ref strong{font-size:18px;font-weight:800;line-height:1.3;color:#fff}
.brand-ref small{font-size:11px;color:#8f99ac;margin-top:1px}
.sidebar nav{padding:6px 9px 16px;gap:4px;max-height:calc(100vh - 18px - 67px);overflow:auto}
.sidebar nav .side-section-title{margin:0;padding:18px 19px 6px;font-size:11.5px;font-weight:700;color:#9aa1b2}
.sidebar a.nav-link{min-height:41px;padding:0 19px 0 12px;border-radius:14px;gap:14px;font-size:14px;font-weight:600;color:#aab1c0}
.sidebar a.nav-link .nav-ic{width:20px;height:20px;display:grid;place-items:center;flex:none;color:#aab1c0}
.sidebar a.nav-link .nav-ic svg{width:21px;height:21px}
.sidebar a.nav-link:hover{background:rgba(255,255,255,.05);color:#fff}
.sidebar a.nav-link:hover .nav-ic{color:#fff}
.sidebar .nav-link.active{background:rgba(255,255,255,.12);color:var(--ref-cream)}
.sidebar .nav-link.active .nav-ic{color:var(--ref-cream)}
.sidebar .nav-link.active:after{right:3px;top:50%;bottom:auto;height:24px;width:4px;margin-top:-12px;background:#e2d6ad}
.sidebar a.nav-link.logout{position:static;margin-top:10px;background:transparent;color:#d9919f}
.sidebar a.nav-link.logout .nav-ic{color:#d9919f}
.sidebar a.nav-link.logout:hover{background:rgba(217,145,159,.1)}

/* ---------- main shell + topbar ---------- */
.main{margin-top:18px;margin-left:30px;margin-right:277px;min-height:calc(100vh - 18px);padding:0 25px 48px;border:1px solid var(--ref-line);border-bottom:0;border-radius:24px 24px 0 0;
 background:linear-gradient(180deg,#1f2d4a 0%,#18243c 46%,#111c37 100%);box-shadow:0 24px 60px rgba(0,0,0,.30),inset 0 1px rgba(255,255,255,.05)}
.main:after{display:none}
.topbar{height:57px;margin:0 -25px 26px;padding:0 22px 0 24px;border-bottom:1px solid rgba(190,205,235,.14);border-radius:24px 24px 0 0;
 background:linear-gradient(180deg,rgba(75,98,145,.30),rgba(40,56,92,.14))}
.topbar{direction:ltr}.topbar-center{direction:rtl}.topbar-left{direction:ltr;justify-content:flex-start}.topbar-right{direction:rtl;justify-content:flex-start}.topbar-side{gap:9px}
.top-icon{width:34px;height:34px;color:#a9b1c3}
.top-icon svg{width:22px;height:22px}
.top-icon:hover{background:rgba(255,255,255,.07);color:#fff}
.topbar-center strong{font-size:14px;font-weight:700;color:#fff}
.topbar-center span{font-size:12px;color:#9ba6bb}
.quick-add{height:38px;padding:0 16px;gap:10px;border-radius:14px;background:#3b475b;border:1px solid rgba(255,255,255,.09);font-size:14px;font-weight:600;color:#f1f4fa}
.quick-add svg{width:20px;height:20px;color:#e6dcc0}
.quick-add:hover{background:#44526a}
.notification b{right:auto;left:-1px;top:-1px;width:16px;height:16px;background:#f0566c;font-size:10px;font-weight:700;line-height:1}
.top-dot{display:none}

/* ---------- hero ---------- */
.welcome-card{min-height:266px;padding:28px 30px 28px;margin-bottom:22px;border-radius:26px;overflow:hidden;
 background:radial-gradient(52% 100% at 74% -12%,rgba(170,168,140,.46) 0,rgba(120,120,105,.14) 55%,transparent 80%),linear-gradient(135deg,#1b253c 0%,#161e31 55%,#111828 100%);
 border:1px solid rgba(190,205,235,.12);box-shadow:0 26px 54px rgba(0,0,0,.36),inset 0 1px rgba(255,255,255,.05)}
.welcome-copy{margin-left:230px;padding:0;min-height:119px;text-align:center}
.eyebrow{font-size:12.5px;font-weight:700;color:#e4d7a6;margin-bottom:15px;display:flex;align-items:center;justify-content:center;gap:7px;line-height:1.5}
.eyebrow svg{width:16px;height:16px;color:#d8d2c0}
.welcome-copy h1{font-size:28px;font-weight:900;line-height:1.35;margin:0 0 5px;letter-spacing:0}
.welcome-copy h1 span{font-size:25px}
.welcome-copy p{font-size:12.5px;color:#a9b2c3;margin:0}
.welcome-actions{left:31px;top:28px;width:199px;gap:11px}
.cream-btn,.outline-btn{border-radius:16px;justify-content:center;gap:10px;font-size:14px;font-weight:800}
.cream-btn{height:44px;padding:0 14px;background:#d9d0b8;color:#1c2640;box-shadow:0 0 0 1px rgba(255,255,255,.10),0 10px 30px rgba(217,208,184,.20)}
.cream-btn .btn-ic{width:24px;height:24px;border-radius:7px;background:#7d8087;color:#2b3142;display:grid;place-items:center}
.cream-btn .btn-ic svg{width:16px;height:16px;stroke-width:2}
.outline-btn{height:43px;padding:0 14px;background:rgba(12,20,38,.55);color:#f1f4fa;border:1px solid rgba(190,205,235,.26)}
.outline-btn svg{width:20px;height:20px}
.welcome-divider{margin:0 0 21px;background:rgba(174,193,222,.13)}

.mini-statuses{gap:13px}
.mini-status{height:70px;min-height:70px;padding:0 14px;gap:12px;direction:rtl;border-radius:18px;background:rgba(255,255,255,.045);border:1px solid rgba(190,205,235,.14)}
.mini-status>div{flex:1;text-align:right;direction:rtl}
.mini-status strong{display:block;font-size:20px;font-weight:800;line-height:1.25;color:#fff}
.mini-status>div>span{display:block;font-size:11.5px;color:#9aa3b5}
.mini-status .mini-ic{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;flex:none;order:0}
.mini-status .mini-ic svg{width:21px;height:21px}
.mini-status .mini-ic.gray{background:#3f434d;color:#e0d9c3}
.mini-status .mini-ic.green{background:#173f3e;color:#46c9a4;--icon-cut:#173f3e}
.mini-status .mini-ic.red{background:#4a2a37;color:#d87b8e;--icon-cut:#4a2a37}
.mini-status .mini-chev{order:0;width:18px;height:18px;color:#6f7b92;display:grid;place-items:center;font-size:inherit}
.mini-status .mini-chev svg{width:18px;height:18px}

/* ---------- stat cards ---------- */
.dashboard-stats{gap:14px;margin-bottom:22px}
.stat-ref{display:block;min-height:145px;padding:17px 22px 16px;border-radius:22px;text-align:center;direction:rtl;
 background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.028));border:1px solid rgba(190,205,235,.13);box-shadow:0 16px 34px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.04)}
.stat-ref .stat-top{display:flex;align-items:center;justify-content:space-between}
.stat-ref .stat-label{font-size:14px;color:#a3adc0;font-weight:500}
.stat-ref .ref-stat-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center}
.stat-ref .ref-stat-icon svg{width:22px;height:22px}
.ref-stat-icon.gold{background:#43454c;color:#cfc9b2;--icon-cut:#43454c}
.ref-stat-icon.blue{background:rgba(24,110,200,.26);color:#3f9fe6}
.ref-stat-icon.green{background:#12393b;color:#5fe0a6}
.ref-stat-icon.orange{background:#4a3b2f;color:#f0a550}
.stat-ref .stat-value{margin-top:5px;font-size:27px;white-space:nowrap;font-weight:900;line-height:1.3;color:#fff;letter-spacing:0}
.stat-ref .stat-value small{display:inline;font-size:12.5px;font-weight:600;color:#9aa4b8;margin:0 2px}
.stat-ref .stat-sub{margin-top:3px;min-height:26px;display:flex;align-items:center;justify-content:center;gap:9px;font-size:12px;color:#8d97ab}
.stat-ref .trend-pill{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 9px;border-radius:999px;background:rgba(32,160,120,.20);color:#3fd7a0}
.stat-ref .trend-pill b{font-size:12px;font-weight:800}
.stat-ref .trend-pill svg{width:17px;height:17px}

/* ---------- panels, popovers, search ---------- */
.panel{border-radius:22px;border-color:rgba(190,205,235,.13);background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.028))}
.panel h2 svg{display:inline-block;vertical-align:-4px;width:20px;height:20px;margin-left:6px}
.notification-popover{top:66px;right:auto;left:48px}
.popover-body a .pop-ic{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:rgba(233,223,192,.10);color:#e6dcc0}
.popover-body a .pop-ic svg{width:18px;height:18px}
.search-head>svg{width:20px;height:20px;color:#9aa8bd;flex:none}
.search-result .sr-ic{width:35px;height:35px;display:grid;place-items:center;border-radius:10px;background:rgba(255,255,255,.06);color:#dcd3b5;flex:none}
.search-result .sr-ic svg{width:19px;height:19px}
.search-result>svg{width:18px;height:18px;margin-right:auto;color:#6f7b92}

/* ---------- light theme ---------- */
.light-theme .app-body,.light-theme.app-body{background:linear-gradient(180deg,#dfe4ec,#cfd6e2);background-attachment:fixed}
.light-theme.app-body:before{background:rgba(255,255,255,.35);border-color:rgba(24,40,65,.15)}
.light-theme.light-theme .sidebar{background:rgba(255,255,255,.85);border-color:rgba(24,40,65,.12)}
.light-theme .brand-ref strong{color:#18263e}
.light-theme .sidebar a.nav-link,.light-theme .sidebar a.nav-link .nav-ic{color:#526078}
.light-theme .sidebar .nav-link.active,.light-theme .sidebar .nav-link.active .nav-ic{color:#1b2940}
.light-theme .sidebar .nav-link.active{background:#e7e1ce}
.light-theme .main{background:linear-gradient(180deg,#eef2f8,#e6ebf3);border-color:rgba(24,40,65,.12)}
.light-theme .topbar{background:rgba(255,255,255,.6);border-color:rgba(24,40,65,.1)}
.light-theme .topbar-center strong{color:#18263e}.light-theme .topbar-center span,.light-theme .top-icon{color:#657187}
.light-theme .quick-add{background:#e7e1ce;color:#1b2940}.light-theme .quick-add svg{color:#1b2940}
.light-theme .welcome-card{background:linear-gradient(135deg,#f8f7f2,#e8edf4);color:#18263e}
.light-theme .welcome-copy h1,.light-theme .mini-status strong,.light-theme .stat-ref .stat-value{color:#18263e}
.light-theme .eyebrow{color:#8a6f1e}
.light-theme .outline-btn{background:#fff;color:#1b2940;border-color:rgba(24,40,65,.2)}
.light-theme .mini-status,.light-theme .stat-ref{background:rgba(255,255,255,.75);border-color:rgba(24,40,65,.1)}
.light-theme .stat-ref .stat-label,.light-theme .stat-ref .stat-sub{color:#657187}

/* ---------- responsive ---------- */
@media(max-width:1180px){.dashboard-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:1000px){.sidebar{right:15px;width:222px}.main{margin-left:15px;margin-right:251px}.welcome-copy{margin-left:215px}.welcome-actions{width:185px}}
@media(max-width:760px){
  .topbar{direction:rtl}.topbar-right{justify-content:flex-end}
 .welcome-card{display:flex;flex-direction:column}.welcome-copy{order:1}.welcome-actions{order:2}.welcome-divider{order:3}.mini-statuses{order:4}
 .main{margin:0;padding:0 13px 90px;border:0;border-radius:0;background:#07132b}
 .topbar{height:60px;margin:0 -13px 15px;padding:0 13px;border-radius:0 0 18px 18px}
 .notification-popover{left:auto;right:13px;top:68px}
 .welcome-card{min-height:0;padding:24px 16px 16px;border-radius:22px}
 .welcome-copy{margin-left:0;min-height:0}
 .welcome-copy h1{font-size:23px}
 .welcome-actions{position:relative;left:auto;top:auto;width:100%;margin-top:18px;flex-direction:row}
 .welcome-divider{margin:20px 0 14px}
 .mini-statuses{grid-template-columns:1fr;gap:8px}
 .dashboard-stats{grid-template-columns:1fr 1fr;gap:9px}
 .stat-ref{min-height:128px;padding:13px 12px}
 .stat-ref .stat-value{font-size:22px}
 .stat-ref .ref-stat-icon{width:36px;height:36px;border-radius:12px}
 .mobile-nav svg{width:20px;height:20px}
}
@media(max-width:430px){.dashboard-stats{grid-template-columns:1fr}.welcome-actions{flex-direction:column}.cream-btn,.outline-btn{flex:none}}
@media print{.app-body:before{display:none}}

/* =====================================================================
   v3.5 — components for all pages (new UI system, no external icon font)
   ===================================================================== */
:root{--c-surface:rgba(255,255,255,.05);--c-surface2:rgba(255,255,255,.08);--c-text:#f1f4fa;--c-muted:#9aa4b8;--c-line:rgba(190,205,235,.15);--c-input:#0e1d38;--c-pop:rgba(17,30,56,.98);--c-ok:#3fd7a0;--c-warn:#e9c46a;--c-bad:#ee7b8f;--c-blue:#6db7f2}
.light-theme{--c-surface:rgba(255,255,255,.8);--c-surface2:rgba(24,40,65,.06);--c-text:#18263e;--c-muted:#657187;--c-line:rgba(24,40,65,.13);--c-input:#fff;--c-pop:rgba(255,255,255,.98);--c-ok:#12805e;--c-warn:#9a6b00;--c-bad:#c13b55;--c-blue:#1d6fb8}
button{cursor:pointer}
input[type=checkbox],input[type=radio]{width:auto;margin:0;accent-color:#e2d6ad}
input[type=file]{padding:8px;font-size:11px}
input[type=time],input[type=number]{direction:ltr;text-align:right}
select{appearance:auto}
.ic{stroke-linecap:round;stroke-linejoin:round}
h1 .ic,h2 .ic{display:inline-block;vertical-align:-4px;margin-left:6px}
.btn .ic{width:17px;height:17px}.icon-btn .ic{width:16px;height:16px}
.btn{font-size:12px;white-space:nowrap}
.btn.sm{padding:6px 10px;font-size:11px}
.btn.warn{background:rgba(233,196,106,.14);color:var(--c-warn);border-color:rgba(233,196,106,.25)}
.btn.success{border-color:rgba(63,215,160,.25)}.btn.danger{border-color:rgba(238,123,143,.28)}
.btn.primary .ic{stroke-width:2}
.btn[disabled]{opacity:.5;cursor:not-allowed}
.icon-btn{width:34px;height:34px;padding:0;border-radius:10px}
.icon-btn.ok{background:rgba(63,215,160,.14);color:var(--c-ok)}
.no-print{}
.small{font-size:11px;color:var(--c-muted)}
.muted{color:var(--c-muted)}
.danger-text{color:var(--c-bad)}.ok-text{color:var(--c-ok)}
.inline{display:inline-flex;gap:6px;align-items:center;margin:0;flex-wrap:wrap}
.actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
td.actions{white-space:normal}
.patient-link{color:var(--c-text);text-decoration:none;font-weight:700}.patient-link:hover{color:#e6dcc0}
.head-actions{display:flex;gap:8px;flex-wrap:wrap}
.head-chip{display:flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;background:var(--c-surface);border:1px solid var(--c-line);color:var(--c-muted);font-size:12px}
.field-note{color:var(--c-muted);font-size:10px}
.form-actions{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}
.check{display:flex;align-items:center;gap:8px;color:#cbd3e1;cursor:pointer;margin-bottom:10px}
.light-theme .check{color:#26344c}
.ios-check{padding:10px 12px;border:1px solid var(--c-line);border-radius:12px;background:var(--c-surface)}
.ios-button,.ios-glass-panel{}
.back-link{display:inline-flex;align-items:center;gap:6px;color:var(--c-muted);text-decoration:none;font-size:11px;margin-bottom:6px}.back-link:hover{color:var(--c-text)}.back-link .ic{width:14px;height:14px}
.section-heading{display:flex;gap:12px;align-items:center;margin-bottom:14px}
.section-heading h2{margin:0;font-size:16px}.section-heading p{margin:2px 0 0;font-size:11px;color:var(--c-muted)}
.section-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:rgba(230,220,192,.12);color:#e6dcc0;flex:none}.section-icon .ic{width:21px;height:21px}
.section-kicker{font-size:10px;letter-spacing:.14em;color:var(--c-muted)}
.section-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}
.section-title-row h2{margin:0}
.eyebrow{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:#e4d7a6;font-weight:700}
.page-head{gap:14px;flex-wrap:wrap}
.page-head h1{font-size:23px}
.search-pill{display:flex;align-items:center;gap:8px;width:min(260px,100%);height:40px;padding:0 12px;border-radius:13px;background:var(--c-surface);border:1px solid var(--c-line)}
.search-pill .ic{width:16px;height:16px;color:var(--c-muted)}
.search-pill .search{margin:0;height:38px;padding:0;border:0!important;box-shadow:none!important;background:transparent!important;width:100%;max-width:none}
.search{max-width:230px;margin:0}
.panel h2{display:flex;align-items:center;gap:8px}
.panel-title{flex-wrap:wrap}
.mini-cards{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.stat{padding:16px;display:flex;align-items:center;gap:13px;border-radius:18px}
.stat-icon{width:42px;height:42px;border-radius:13px;background:rgba(255,255,255,.08);display:grid;place-items:center;color:#e6dcc0}.stat-icon .ic{width:21px;height:21px}
.metric-row{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-bottom:1px solid var(--c-line);gap:12px}.metric-row:last-child{border-bottom:0}
.empty-state{min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--c-muted);text-align:center;border:1px dashed var(--c-line);border-radius:16px;padding:18px;font-size:12px}
.empty-state .ic{width:30px;height:30px;color:#9aa6c4}.empty-state strong{color:var(--c-text);font-size:13px}
.empty{padding:26px;text-align:center;color:var(--c-muted)}
.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#3b475b,#27324a);color:#e6dcc0;font-weight:800;overflow:hidden;flex:none;font-size:14px}
.avatar img{width:100%;height:100%;object-fit:cover;display:block}
.avatar.lg{width:64px;height:64px;font-size:24px}
.user-cell{display:flex;align-items:center;gap:10px}.username-cell{color:var(--c-muted);direction:ltr;display:inline-block}
.role-pill{display:inline-flex;align-items:center;padding:3px 11px;border-radius:999px;background:rgba(230,220,192,.12);color:#e6dcc0;font-size:11px;font-weight:700}
.badge{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;font-size:10.5px;white-space:nowrap}
.badge.warning{background:rgba(233,196,106,.14);color:var(--c-warn)}
.badge.bad{background:rgba(238,123,143,.14);color:var(--c-bad)}
.light-theme .badge{background:rgba(24,40,65,.07);color:#31405c}
.light-theme .badge.ok{background:rgba(18,128,94,.12);color:#12805e}.light-theme .badge.warn,.light-theme .badge.warning{background:rgba(154,107,0,.12);color:#8a5f00}.light-theme .badge.blue{background:rgba(29,111,184,.12);color:#1d6fb8}.light-theme .badge.bad{background:rgba(193,59,85,.12);color:#c13b55}

/* ---- tables ---- */
.table-wrap{border-radius:14px}
table{min-width:640px}
th,td{vertical-align:middle}
td{color:var(--c-text)}
th{white-space:nowrap}
.light-theme td{color:#26344c}
.reschedule-inline,.action-stack{display:flex;flex-wrap:wrap;gap:7px;align-items:center}
.reschedule-inline .shamsi-date{max-width:150px;margin:0}.reschedule-inline input[type=time]{max-width:110px;margin:0}
.inline-deposit,.followup-form,.balance-form{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr));gap:9px;align-items:end;min-width:520px}
.inline-deposit label,.followup-form label,.balance-form label{min-width:0;margin:0}
.inline-deposit .btn,.followup-form .btn,.balance-form .btn{align-self:end}
.followup-form textarea,.balance-form textarea{min-height:42px}
.detail-form{background:rgba(7,18,37,.35);border:1px solid var(--c-line);padding:14px;border-radius:14px;margin-top:10px;min-width:260px}
.light-theme .detail-form{background:rgba(24,40,65,.04)}
details summary{list-style:none;cursor:pointer}details summary::-webkit-details-marker{display:none}
.service-row{display:grid;grid-template-columns:1.5fr .5fr 1fr 42px;gap:7px;margin-bottom:7px}
.service-row input{margin:0}
.filters{display:flex;gap:10px;align-items:end;margin-bottom:15px;flex-wrap:wrap}.filters label{min-width:170px;margin:0}
.log-details{white-space:normal;word-break:break-word;max-width:340px}

/* ---- date picker (self-contained JS in footer) ---- */
.date-input-wrap{position:relative;display:block;width:100%}
.date-input-wrap .shamsi-date{width:100%;padding-left:12px!important;padding-right:46px!important}
.date-input-icon{position:absolute;right:8px;top:50%;margin-top:2px;transform:translateY(-50%);width:30px;height:30px;border:0;border-radius:9px;background:rgba(230,220,192,.12);color:#e6dcc0;display:grid;place-items:center;z-index:3}
.date-input-icon .ic{width:16px;height:16px;pointer-events:none}
.ios27-date-picker{position:fixed;z-index:99999;width:min(330px,calc(100vw - 24px));padding:14px;border:1px solid var(--c-line);border-radius:20px;background:var(--c-pop);box-shadow:0 28px 80px rgba(0,0,0,.5);backdrop-filter:blur(22px);color:var(--c-text)}
.ios27-date-picker[hidden]{display:none}
.ios27-date-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}
.ios27-date-title{font-weight:800;font-size:14px;text-align:center;flex:1}
.ios27-date-nav{width:34px;height:34px;border:1px solid var(--c-line);border-radius:11px;background:var(--c-surface);color:var(--c-text);font-size:17px;display:grid;place-items:center}
.ios27-date-nav:hover{background:var(--c-surface2)}
.ios27-date-week,.ios27-date-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.ios27-date-week{margin-bottom:5px}.ios27-date-week span{text-align:center;font-size:11px;color:var(--c-muted);font-weight:700;padding:3px 0}
.ios27-day{aspect-ratio:1;border:0;border-radius:11px;background:transparent;color:var(--c-text);font-size:12.5px;display:grid;place-items:center}
.ios27-day:hover:not(:disabled){background:var(--c-surface2)}
.ios27-day.today{outline:1px solid rgba(230,220,192,.55)}
.ios27-day.selected{background:#d9d0b8;color:#1c2640;font-weight:800}
.ios27-day.muted{visibility:hidden}
.ios27-date-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid var(--c-line)}
.ios27-date-today{border:0;border-radius:10px;padding:7px 12px;background:rgba(230,220,192,.14);color:#e6dcc0;font:700 12px inherit}
.ios27-date-value{font-size:11px;color:var(--c-muted)}
.light-theme .ios27-date-today{color:#6b5a1a}

/* ---- modal (popup) ---- */
.modal-shell{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:16px;background:rgba(3,9,22,.62);backdrop-filter:blur(10px)}
.modal-shell[hidden]{display:none!important}
.modal-card{position:relative;width:min(640px,100%);max-height:92vh;overflow:auto;padding:24px;border:1px solid var(--c-line);border-radius:24px;background:linear-gradient(180deg,#1b2845,#121d36);box-shadow:0 34px 90px rgba(0,0,0,.55);color:var(--c-text);animation:popIn .18s ease}
.light-theme .modal-card{background:#fff}
@keyframes popIn{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
.modal-close{position:absolute;top:14px;left:14px;width:36px;height:36px;border-radius:50%;border:1px solid var(--c-line);background:var(--c-surface);color:var(--c-text);display:grid;place-items:center}
.modal-close .ic{width:16px;height:16px}
.modal-head{margin-bottom:16px;padding-left:44px}.modal-head h2{margin:4px 0 0;font-size:19px}.modal-head p{margin:4px 0 0;font-size:12px;color:var(--c-muted)}
.modal-actions{display:flex;gap:10px;justify-content:flex-start;margin-top:16px;flex-wrap:wrap}
.modal-open{overflow:hidden}
.pay-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}
.pay-chip{padding:11px 12px;border-radius:14px;background:var(--c-surface);border:1px solid var(--c-line)}
.pay-chip span{display:block;font-size:10.5px;color:var(--c-muted)}.pay-chip strong{display:block;font-size:16px;margin-top:2px}
.pay-chip.remain strong{color:var(--c-warn)}.pay-chip.paid strong{color:var(--c-ok)}
.amount-row{display:flex;gap:8px;align-items:stretch}.amount-row input{margin:0;font-size:16px;font-weight:800}.amount-row .btn{align-self:stretch}
.method-label{font-size:12px;color:var(--c-muted);margin:12px 0 8px}
.method-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.method-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:76px;padding:10px 6px;border-radius:14px;border:1px solid var(--c-line);background:var(--c-surface);color:var(--c-muted);text-align:center;font-size:11px;cursor:pointer;margin:0;transition:.15s}
.method-card input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.method-card .ic{width:22px;height:22px}
.method-card:hover{background:var(--c-surface2);color:var(--c-text)}
.method-card:has(input:checked){background:rgba(230,220,192,.16);border-color:rgba(230,220,192,.6);color:#f4ecd0;box-shadow:0 0 0 3px rgba(230,220,192,.08)}
.light-theme .method-card:has(input:checked){color:#5a4a10}
.pay-note-hint{font-size:10.5px;color:var(--c-warn);margin-top:4px;display:none}
.pay-history{margin-top:14px;border-top:1px solid var(--c-line);padding-top:10px}
.pay-history .metric-row{padding:7px 0;font-size:11.5px}
.info-missing{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 14px}
.info-missing span{padding:3px 10px;border-radius:999px;background:rgba(238,123,143,.14);color:var(--c-bad);font-size:11px}
.choice-list{display:grid;gap:10px}
.choice{display:flex;gap:12px;align-items:center;text-align:right;padding:13px 14px;border-radius:16px;border:1px solid var(--c-line);background:var(--c-surface);color:var(--c-text);width:100%}
.choice:hover{background:var(--c-surface2)}
.choice .ic{width:22px;height:22px;color:#e6dcc0;flex:none}
.choice strong{display:block;font-size:13px}.choice span{display:block;font-size:11px;color:var(--c-muted);margin-top:2px}
.choice.primary{background:rgba(230,220,192,.14);border-color:rgba(230,220,192,.45)}

/* ---- date navigation / chips ---- */
.date-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.date-nav .nav-btn{width:38px;height:38px;border-radius:12px;border:1px solid var(--c-line);background:var(--c-surface);color:var(--c-text);display:grid;place-items:center;text-decoration:none}
.date-nav .nav-btn:hover{background:var(--c-surface2)}.date-nav .nav-btn .ic{width:18px;height:18px}
.date-nav form{display:flex;gap:8px;align-items:center;margin:0}
.date-nav .date-input-wrap{width:190px}.date-nav input{margin:0}
.date-nav .date-title{font-weight:800;font-size:14px;margin:0 6px}
.chip{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border-radius:999px;border:1px solid var(--c-line);background:var(--c-surface);color:var(--c-muted);font-size:12px;text-decoration:none;white-space:nowrap}
.chip:hover{color:var(--c-text)}
.chip.active{background:rgba(230,220,192,.16);border-color:rgba(230,220,192,.5);color:#f4ecd0;font-weight:700}
.light-theme .chip.active{color:#5a4a10}
.chip-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.chip b{font-weight:800}

/* ---- confirmations / balances ---- */
.confirmation-date-filter{padding:16px}
.confirmation-date-form{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.confirmation-date-copy{display:flex;align-items:center;gap:12px}.confirmation-date-copy .ic{width:26px;height:26px;color:#e6dcc0}
.confirmation-date-copy strong{display:block}.confirmation-date-copy span{font-size:11px;color:var(--c-muted)}
.confirmation-date-control{display:flex;gap:8px;align-items:center;flex:1;justify-content:flex-end;min-width:260px}
.confirmation-date-control .date-input-wrap{max-width:220px}.confirmation-date-control input{margin:0}
.hist{margin-top:8px;padding:8px 10px;border-radius:11px;background:var(--c-surface);border:1px solid var(--c-line);font-size:11px;color:var(--c-muted);line-height:1.8}
.hist b{color:var(--c-text)}

/* ---- profile / users / patient ---- */
.profile-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}
.patient-profile-grid{grid-template-columns:1fr 1fr}
.profile-hero{display:flex;gap:16px;align-items:center;margin-bottom:16px}
.profile-avatar{width:78px;height:78px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:linear-gradient(145deg,#3b475b,#27324a);color:#e6dcc0;font-size:30px;font-weight:800;flex:none;border:2px solid rgba(230,220,192,.3)}
.profile-avatar img{width:100%;height:100%;object-fit:cover}
.profile-hero h2{margin:0}.profile-hero p{margin:2px 0 6px;color:var(--c-muted);direction:ltr;text-align:right}
.profile-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.profile-meta div{padding:11px;border-radius:14px;background:var(--c-surface);border:1px solid var(--c-line)}.profile-meta span{display:block;font-size:10.5px;color:var(--c-muted)}.profile-meta strong{font-size:13px}
.users-shell{display:grid;grid-template-columns:360px minmax(0,1fr);gap:18px;align-items:start}
.user-form label{margin-bottom:12px}
.patient-hero{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.patient-avatar{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#3b475b,#27324a);color:#e6dcc0;font-size:26px;font-weight:800;flex:none}
.patient-main{flex:1;min-width:220px}.patient-main h2{margin:0 0 6px;font-size:20px}.patient-main p{margin:6px 0 0;color:var(--c-muted);font-size:12px}
.patient-contact{display:flex;gap:14px;flex-wrap:wrap;color:var(--c-muted);font-size:12px}.patient-contact span{display:inline-flex;align-items:center;gap:6px}.patient-contact .ic{width:15px;height:15px}
.patient-kpis{display:grid;grid-template-columns:repeat(3,minmax(110px,1fr));gap:10px}
.patient-kpis div{padding:10px 14px;border-radius:14px;background:var(--c-surface);border:1px solid var(--c-line)}.patient-kpis span{display:block;font-size:10.5px;color:var(--c-muted)}.patient-kpis strong{font-size:15px}
.consult-note-list{display:grid;gap:10px}
.consult-note{padding:12px;border-radius:14px;background:var(--c-surface);border:1px solid var(--c-line)}.consult-note div{display:flex;gap:10px;align-items:center;margin-bottom:6px;font-size:12px}.consult-note p{margin:0 0 6px;color:var(--c-muted);font-size:12px}
.photo-history{display:flex;flex-direction:column;gap:14px}
.photo-history-card{padding:13px;border-radius:16px;background:var(--c-surface);border:1px solid var(--c-line)}.photo-history-date{font-size:11px;font-weight:800;margin-bottom:10px}
.photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.photo-pair>div>span{display:block;font-size:10px;color:var(--c-muted);margin-bottom:5px}
.photo-empty{min-height:90px;display:grid;place-items:center;border:1px dashed var(--c-line);border-radius:12px;color:var(--c-muted);font-size:11px}
.photo-preview{width:90px;height:70px;object-fit:cover;border-radius:10px;border:1px solid var(--c-line)}.photo-preview.large{width:100%;height:150px}
.sms-template-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}
.template-vars{font-size:11px;color:var(--c-muted);margin:2px 0 12px}.template-vars code,code{background:var(--c-surface2);padding:1px 6px;border-radius:6px;font-size:11px;direction:ltr;display:inline-block}

/* ---- dashboard extras ---- */
.mini-status{text-decoration:none;color:inherit;transition:.15s}.mini-status:hover{background:rgba(255,255,255,.07);border-color:rgba(230,220,192,.35)}
.stat-ref{text-decoration:none;color:inherit;display:block}
a.stat-ref:hover{border-color:rgba(230,220,192,.35)}
.stat-ref .stat-value small{margin-right:6px}
.dash-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:16px}

/* ---- charts (pure CSS/SVG, no external library) ---- */
.chart-card h2{margin-bottom:12px}
.hbar{display:grid;grid-template-columns:96px 1fr 38px;gap:10px;align-items:center;margin:8px 0;font-size:12px}
.hbar .lbl{color:var(--c-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hbar .track{height:12px;border-radius:99px;background:var(--c-surface2);overflow:hidden}
.hbar .fill{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#d9d0b8,#a99a6b)}
.hbar b{text-align:left;font-size:12px}
.vbars{display:flex;align-items:flex-end;gap:10px;height:190px;padding:8px 2px 0}
.vbars .col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:6px;min-width:0}
.vbars .bar{width:100%;max-width:46px;border-radius:10px 10px 4px 4px;background:linear-gradient(180deg,#6db7f2,#2b6cb0);min-height:3px}
.vbars .val{font-size:11px;font-weight:800}.vbars .name{font-size:10px;color:var(--c-muted);text-align:center;line-height:1.3}
.donut-wrap{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.donut{width:150px;height:150px;border-radius:50%;position:relative;flex:none}
.donut:after{content:"";position:absolute;inset:26px;border-radius:50%;background:#16213b}
.light-theme .donut:after{background:#f4f6fa}
.legend{display:grid;gap:7px;font-size:12px;flex:1;min-width:150px}.legend div{display:flex;align-items:center;gap:8px}.legend i{width:10px;height:10px;border-radius:3px;display:inline-block;flex:none}.legend b{margin-right:auto}
.filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end}
.filter-grid label{margin:0}
.sms-compose textarea{min-height:110px}
.sms-meta{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:var(--c-muted);margin:-6px 0 12px;flex-wrap:wrap}
.pick-all{display:flex;align-items:center;gap:8px;font-size:12px}

/* ---- clinical flow: assignment / assistant / doctor ---- */
.flow-card{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:14px 16px;border-radius:18px;background:var(--c-surface);border:1px solid var(--c-line);margin-bottom:12px}
.flow-card h3{margin:0 0 4px;font-size:15px}.flow-card .meta{display:flex;gap:10px;flex-wrap:wrap;color:var(--c-muted);font-size:11.5px}
.tick-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.tick-btn{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:13px;border:1px solid var(--c-line);background:var(--c-surface);color:var(--c-muted);font-size:12.5px;font-weight:700}
.tick-btn .ic{width:18px;height:18px}
.tick-btn.done{background:rgba(63,215,160,.14);border-color:rgba(63,215,160,.4);color:var(--c-ok)}
.tick-btn:hover{color:var(--c-text)}
.assign-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0}.assign-form select{margin:0;min-width:170px}
.step-dots{display:flex;gap:5px;align-items:center}.step-dots i{width:8px;height:8px;border-radius:50%;background:var(--c-surface2);display:inline-block}.step-dots i.on{background:var(--c-ok)}

/* ---- photographer (mobile-first cards) ---- */
.photo-card{padding:16px;border-radius:20px;background:var(--c-surface);border:1px solid var(--c-line);margin-bottom:14px}
.photo-card-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:12px}
.photo-card-head h3{margin:0;font-size:16px}.photo-card-head p{margin:2px 0 0;font-size:12px;color:var(--c-muted)}
.shot-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.shot{border:1px dashed var(--c-line);border-radius:16px;padding:10px;text-align:center;background:rgba(255,255,255,.025)}
.shot>span{display:block;font-size:11.5px;color:var(--c-muted);margin-bottom:8px}
.shot img{width:100%;height:130px;object-fit:cover;border-radius:12px;margin-bottom:8px;display:block}
.shot .none{height:130px;display:grid;place-items:center;color:var(--c-muted);font-size:11px;margin-bottom:8px}
.shot-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px;border-radius:14px;background:#d9d0b8;color:#1c2640;font-weight:800;font-size:13px;cursor:pointer;position:relative;overflow:hidden;margin:0;border:0}
.shot-btn.alt{background:var(--c-surface2);color:var(--c-text)}
.shot-btn input{position:absolute;inset:0;opacity:0;cursor:pointer;margin:0;font-size:0}
.shot-btn .ic{width:19px;height:19px}
.shot-btn[aria-disabled=true]{opacity:.45;pointer-events:none}
.photo-submit{margin-top:12px}.photo-submit .btn{width:100%;min-height:48px;font-size:14px}

/* ---- notifications ---- */
.top-icon .nbadge{position:absolute;top:1px;right:0;min-width:17px;height:17px;padding:0 4px;border-radius:99px;background:#f0566c;color:#fff;font-size:10px;font-weight:800;display:none;place-items:center;line-height:1}
.top-icon .nbadge.on{display:grid}
.notif-list{max-height:380px;overflow:auto;padding:6px}
.notif-item{display:grid;grid-template-columns:34px 1fr;gap:10px;padding:10px;border-radius:12px;color:var(--c-text);text-decoration:none;align-items:start}
.notif-item:hover{background:var(--c-surface2)}.notif-item.unread{background:rgba(230,220,192,.09)}
.notif-item .pop-ic{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:rgba(230,220,192,.12);color:#e6dcc0}.notif-item .pop-ic .ic{width:17px;height:17px}
.notif-item strong{display:block;font-size:12.5px}.notif-item span{display:block;font-size:11px;color:var(--c-muted);margin-top:2px}.notif-item small{display:block;font-size:10px;color:var(--c-muted);margin-top:3px}
.popover-foot{padding:8px 12px;border-top:1px solid var(--c-line);display:flex;justify-content:space-between}
.popover-foot button{background:none;border:0;color:#e6dcc0;font-size:11.5px}
.toast-stack{position:fixed;z-index:20000;left:16px;bottom:16px;display:grid;gap:8px;width:min(340px,calc(100vw - 32px))}
.toast{padding:12px 14px;border-radius:14px;background:var(--c-pop);border:1px solid rgba(230,220,192,.35);box-shadow:0 18px 50px rgba(0,0,0,.45);color:var(--c-text);font-size:12px;animation:popIn .2s ease}
.toast strong{display:block;margin-bottom:2px}
.export-pop{position:fixed;z-index:130;top:66px;left:48px;width:210px;background:var(--c-pop);border:1px solid var(--c-line);border-radius:16px;box-shadow:0 25px 65px rgba(0,0,0,.45);padding:6px;opacity:0;transform:translateY(-8px);pointer-events:none;transition:.18s}
.export-pop.open{opacity:1;transform:none;pointer-events:auto}
.export-pop button{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:0;border-radius:11px;background:transparent;color:var(--c-text);font-size:12.5px}.export-pop button:hover{background:var(--c-surface2)}.export-pop .ic{width:18px;height:18px;color:#e6dcc0}
.top-avatar{width:38px;height:38px;border-radius:50%;overflow:hidden;display:grid;place-items:center;border:1px solid rgba(255,255,255,.18);background:linear-gradient(145deg,#3b475b,#27324a);color:#e6dcc0;font-weight:800;text-decoration:none;font-size:15px}
.top-avatar img{width:100%;height:100%;object-fit:cover}
.sidebar .side-user{display:flex;align-items:center;gap:10px;margin:8px 4px 0;padding:10px;border-radius:14px;background:rgba(255,255,255,.05);text-decoration:none;color:#dfe5f1}
.sidebar .side-user .avatar{width:34px;height:34px}.sidebar .side-user strong{display:block;font-size:12.5px;line-height:1.3}.sidebar .side-user small{color:#8f99ac;font-size:10.5px}
.sidebar a.side-user:hover{background:rgba(255,255,255,.09);color:#fff}

/* ---- login + public patient form ---- */
.login-page{min-height:100vh;display:grid;place-items:center;padding:18px;background:radial-gradient(90% 55% at 100% 24%,rgba(150,146,118,.40) 0,transparent 42%),linear-gradient(180deg,#5b5e61 0%,#3a404c 40%,#141c30 70%,#0a1121 100%);background-attachment:fixed}
.login-page:before{display:none}
.login-panel{position:relative;width:min(440px,100%);padding:34px 30px;border-radius:28px;background:linear-gradient(180deg,rgba(31,45,74,.96),rgba(17,28,55,.96));border:1px solid rgba(190,205,235,.18);box-shadow:0 34px 90px rgba(0,0,0,.45);color:var(--text)}
.login-brand{display:flex;align-items:center;gap:14px;margin-bottom:22px}
.login-brand img{width:58px;height:58px;object-fit:contain;border-radius:16px;background:rgba(255,255,255,.06);padding:6px}
.login-brand strong{display:block;font-size:17px}.login-brand small{color:#9aa4b8;font-size:11.5px}
.login-panel h1{font-size:28px;margin:0 0 4px;font-weight:900}.login-panel>p{margin:0 0 20px;color:#9aa4b8;font-size:12.5px}
.login-field{position:relative;display:block;margin-bottom:14px}
.login-field span{display:block;font-size:12px;color:#aab5c7;margin-bottom:6px}
.login-field .ic{position:absolute;right:14px;bottom:13px;width:19px;height:19px;color:#8f9bb2}
.login-field input{height:50px;padding:0 44px 0 14px;border-radius:16px;margin:0;background:#16264a}
.login-submit{width:100%;height:50px;border-radius:16px;font-size:14px;margin-top:6px}
.login-theme{position:absolute;top:16px;left:16px;width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:#c9d2e3;display:grid;place-items:center}.login-theme .ic{width:18px;height:18px}
.login-foot{margin-top:18px;text-align:center;color:#7f8ba2;font-size:11px}
.public-page{min-height:100vh;padding:18px;background:radial-gradient(90% 55% at 100% 20%,rgba(150,146,118,.35) 0,transparent 42%),linear-gradient(180deg,#4d5258 0%,#2c3446 36%,#111a30 72%,#0a1121 100%);background-attachment:fixed;color:var(--text)}
.public-card{width:min(560px,100%);margin:14px auto;padding:26px 22px;border-radius:26px;background:linear-gradient(180deg,rgba(31,45,74,.97),rgba(17,28,55,.97));border:1px solid rgba(190,205,235,.18);box-shadow:0 34px 90px rgba(0,0,0,.45)}
.public-card h1{margin:0 0 6px;font-size:22px}.public-card p.lead{margin:0 0 18px;color:#9aa4b8;font-size:13px;line-height:1.9}
.public-card .row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
.public-ok{text-align:center;padding:26px 6px}.public-ok .ic{width:54px;height:54px;color:#3fd7a0;margin:0 auto 10px}

/* ---- light theme refinements for new parts ---- */
.light-theme .hbar .fill{background:linear-gradient(90deg,#c9bd96,#8a7b4a)}
.light-theme .choice .ic,.light-theme .section-icon,.light-theme .notif-item .pop-ic,.light-theme .export-pop .ic,.light-theme .confirmation-date-copy .ic{color:#6b5a1a}
.light-theme .pay-chip,.light-theme .shot{background:rgba(24,40,65,.04)}
.light-theme .shot-btn{background:#e7e1ce;color:#1b2940}
.light-theme .eyebrow{color:#7a5f10}
.light-theme .top-avatar,.light-theme .avatar,.light-theme .profile-avatar,.light-theme .patient-avatar{color:#1b2940;background:#e7e1ce}
.light-theme .sidebar .side-user{background:rgba(24,40,65,.05);color:#26344c}
.light-theme input,.light-theme select,.light-theme textarea{color:#18263e}

/* ---- responsive ---- */
@media(max-width:1100px){.filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.users-shell{grid-template-columns:1fr}.dash-grid{grid-template-columns:1fr}.profile-grid,.patient-profile-grid{grid-template-columns:1fr}}
@media(max-width:760px){
 .method-grid{grid-template-columns:repeat(2,1fr)}
 .pay-summary{grid-template-columns:1fr 1fr}.pay-summary .pay-chip:last-child{grid-column:1/-1}
 .modal-shell{padding:0;align-items:end}.modal-card{border-radius:24px 24px 0 0;max-height:94vh;width:100%;padding:20px 16px 26px}
 .filter-grid{grid-template-columns:1fr}
 .flow-card{grid-template-columns:1fr}
 .hbar{grid-template-columns:78px 1fr 32px}
 .confirmation-date-form,.confirmation-date-control{flex-direction:column;align-items:stretch}.confirmation-date-control .date-input-wrap{max-width:none}
 .inline-deposit,.followup-form,.balance-form{grid-template-columns:1fr;min-width:0}
 .detail-form{min-width:0}
 .table-wrap table{min-width:0}
 .table-wrap td.actions{display:flex}
 .service-row{grid-template-columns:1fr 70px 100px 40px}
 .shot-grid{grid-template-columns:1fr}
 .profile-meta,.patient-kpis{grid-template-columns:1fr 1fr}
 .public-card .row3{grid-template-columns:1fr}
 .toast-stack{left:12px;bottom:84px}
 .export-pop,.notification-popover{left:12px;right:12px;width:auto;top:68px}
 .date-nav .date-input-wrap{width:100%}.date-nav form{flex:1}
 .page-head h1{font-size:20px}
 .vbars{gap:6px}
}
@media print{.toast-stack,.export-pop,.notification-popover,.mobile-nav{display:none!important}}

/* ---- v3.6: print / PDF = data tables only ---- */
#printArea{display:none}
@media print{
 @page{size:A4 landscape;margin:12mm}
 html,body{background:#fff!important}
 body.printing:before,body.printing:after{display:none!important}
 body.printing>*:not(#printArea){display:none!important}
 body.printing #printArea{display:block!important;direction:rtl;color:#111!important;background:#fff!important;font-family:Vazirmatn,Tahoma,Arial,sans-serif;padding:0}
 #printArea .pa-head{display:flex;justify-content:space-between;align-items:flex-end;border-bottom:2px solid #333;padding-bottom:8px;margin-bottom:14px}
 #printArea .pa-head strong{display:block;font-size:16px}#printArea .pa-head span{font-size:13px;color:#444}#printArea .pa-head small{font-size:11px;color:#555}
 #printArea h2{font-size:14px;margin:16px 0 6px}
 #printArea table{width:100%;min-width:0;border-collapse:collapse;font-size:11px;margin:0 0 14px}
 #printArea th,#printArea td{border:1px solid #888;padding:5px 7px;text-align:right;color:#111!important;background:#fff!important;white-space:normal}
 #printArea th{background:#ece7d6!important;font-weight:700}
 #printArea tr{page-break-inside:avoid}
 #printArea thead{display:table-header-group}
}

/* =====================================================================
   v3.6 — Mobile & responsive pass
   ===================================================================== */
.mpop-btn,.mpop-head,.mpop-back{display:none}
.table-wrap{-webkit-overflow-scrolling:touch}
@media(max-width:1100px){
 .page-head{align-items:flex-start}
 .grid2{grid-template-columns:1fr}
 .cards.mini-cards{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
 html{-webkit-text-size-adjust:100%}
 body{overflow-x:hidden}
 input,select,textarea{font-size:16px!important;min-height:44px}
 textarea{min-height:76px}
 input[type=checkbox],input[type=radio]{min-height:0;width:20px;height:20px}
 .btn{min-height:42px;padding:10px 14px;font-size:13px}
 .btn.sm{min-height:40px;padding:8px 12px;font-size:12.5px}
 .icon-btn{width:42px;height:42px}
 .main{margin:0!important;border:0!important;border-radius:0!important;min-height:100vh;box-shadow:none!important;background:#0c1730!important;padding:0 12px calc(96px + env(safe-area-inset-bottom,0px))!important}
 .sidebar{display:none!important}

 /* topbar: title + essential icons; quick action becomes a floating button */
 .topbar{height:auto!important;min-height:56px;padding:8px 12px!important;margin:0 -12px 14px!important;gap:6px;position:sticky;top:0;z-index:40;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:rgba(24,36,60,.88)}
 .topbar-center{flex:1;min-width:0;text-align:center}
 .topbar-center strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
 .topbar-center span{font-size:10.5px}
 .topbar-side{gap:2px}
 .top-icon{width:38px;height:38px}
 #themeToggle,#exportToggle{display:none}
 .topbar-right .quick-add{position:fixed;left:14px;bottom:calc(84px + env(safe-area-inset-bottom,0px));z-index:60;width:56px;height:56px;padding:0;border-radius:50%;justify-content:center;background:#d9d0b8;color:#1c2640;box-shadow:0 14px 34px rgba(0,0,0,.45)}
 .topbar-right .quick-add span{display:none}
 .topbar-right .quick-add svg{width:26px;height:26px;color:#1c2640}
 .top-avatar{width:36px;height:36px}
 .page-head{flex-direction:column;gap:10px;margin-bottom:12px}
 .page-head h1{font-size:20px}
 .page-head>.btn,.page-head .head-actions .btn,.page-head .inline .btn{width:100%;justify-content:center}
 .page-head .inline{width:100%}
 .head-chip{align-self:flex-start}
 .panel{padding:14px!important;border-radius:18px!important}
 .panel-title{flex-direction:column;align-items:stretch!important;gap:10px}
 .panel-title .search,.search{max-width:none!important;width:100%}
 .cards.mini-cards{grid-template-columns:1fr 1fr;gap:9px}
 .stat{padding:12px;gap:10px}
 .row{grid-template-columns:1fr!important}
 .grid2{grid-template-columns:1fr!important}

 /* tables -> cards */
 .table-wrap{overflow:visible!important;border:0!important;background:transparent!important;margin:0 -2px}
 .table-wrap table,.table-wrap thead,.table-wrap tbody,.table-wrap tr,.table-wrap td{display:block;width:100%;min-width:0!important}
 .table-wrap table{border:0;background:transparent}
 .table-wrap thead{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0;white-space:nowrap}
 .table-wrap tbody tr{margin:0 0 12px;padding:6px 14px;border:1px solid var(--c-line);border-radius:18px;background:var(--c-surface);box-shadow:0 8px 22px rgba(0,0,0,.14)}
 .table-wrap td{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:9px 0!important;border:0!important;border-bottom:1px dashed rgba(190,205,235,.12)!important;text-align:left;font-size:13px;white-space:normal!important;word-break:break-word}
 .table-wrap td:last-child{border-bottom:0!important}
 .table-wrap td[data-label]::before{content:attr(data-label);flex:none;max-width:40%;color:var(--c-muted);font-size:11.5px;font-weight:600;text-align:right}
 .table-wrap td[data-label=""]::before{display:none}
 .table-wrap td>a,.table-wrap td>span,.table-wrap td>div:not(.action-stack){text-align:left}
 .table-wrap td.actions,.table-wrap td:has(.action-stack),.table-wrap td:has(form.mpop),.table-wrap td:has(details.mpop){flex-direction:column;align-items:stretch;gap:8px}
 .table-wrap td.actions::before,.table-wrap td:has(.action-stack)::before,.table-wrap td:has(form.mpop)::before,.table-wrap td:has(details.mpop)::before{max-width:none}
 .table-wrap td.actions{flex-direction:row;flex-wrap:wrap;justify-content:flex-start;align-items:center}
 .table-wrap td.actions::before{width:100%;max-width:none}
 .table-wrap td.actions .btn{flex:1 1 auto;justify-content:center}
 .table-wrap td[colspan]{display:block;border:0!important}
 .table-wrap td[colspan]::before{display:none}
 .table-wrap tr:has(td[colspan]){padding:0;border:0;background:transparent;box-shadow:none}
 .action-stack{flex-direction:column;align-items:stretch}
 .action-stack form,.action-stack .inline{width:100%;display:flex;flex-wrap:wrap;gap:8px}
 .action-stack input:not([type=hidden]){flex:1 1 140px;width:auto!important}
 .action-stack .btn{flex:1 1 130px;justify-content:center}

 /* popup forms (bottom sheet) */
 .mpop-btn{display:flex;width:100%;align-items:center;justify-content:center;gap:8px;margin:0 0 12px}
 .mpop-btn svg{width:18px;height:18px}
 td .mpop-btn{margin:0}
 .mpop[data-mpop-ready]:not(.mpop-open){display:none!important}
 .mpop.mpop-open{display:block!important;position:fixed!important;left:0;right:0;bottom:0;top:auto;z-index:10001;width:100%!important;max-height:92vh;overflow-y:auto;overscroll-behavior:contain;margin:0!important;min-width:0!important;padding:0 16px calc(24px + env(safe-area-inset-bottom,0px))!important;border-radius:24px 24px 0 0!important;border:1px solid var(--c-line)!important;border-bottom:0!important;background:linear-gradient(180deg,#1b2845,#111c37)!important;box-shadow:0 -24px 80px rgba(0,0,0,.55)!important;animation:sheetUp .22s ease}
 .light-theme .mpop.mpop-open{background:#fff!important}
 .mpop.mpop-open.inline-deposit,.mpop.mpop-open.followup-form,.mpop.mpop-open.balance-form,.mpop.mpop-open.reschedule-inline{display:grid!important;grid-template-columns:1fr!important;gap:12px}
 .mpop.mpop-open>.mpop-head,.mpop.mpop-open .mpop-head{display:flex;position:sticky;top:0;z-index:2;align-items:center;justify-content:space-between;gap:10px;margin:0 -16px 12px;padding:16px 16px 12px;background:inherit;border-bottom:1px solid var(--c-line)}
 .mpop-head strong{font-size:15px}
 .mpop-head .modal-close{position:static;width:36px;height:36px}
 .mpop.mpop-open details>summary{display:none}
 .mpop.mpop-open .detail-form{background:transparent;border:0;padding:0;margin:0;min-width:0}
 .mpop.mpop-open .service-row{grid-template-columns:1fr 64px 92px 42px}
 .mpop.mpop-open h2{display:none}
 .mpop-back{display:block;position:fixed;inset:0;z-index:10000;background:rgba(3,9,22,.6);backdrop-filter:blur(6px)}
 .mpop-back[hidden]{display:none}
 @keyframes sheetUp{from{transform:translateY(40px);opacity:.4}to{transform:none;opacity:1}}
 details.mpop>summary{display:none}

 /* misc blocks */
 .date-nav{display:grid;grid-template-columns:44px 1fr 44px;gap:8px;align-items:center}
 .date-nav form{grid-column:2;grid-row:1;flex-direction:column;align-items:stretch;gap:6px}
 .date-nav .date-title{margin:0;text-align:center;font-size:13px}
 .date-nav .nav-btn{width:44px;height:44px}
 .date-nav>a:first-child{grid-column:3;grid-row:1}.date-nav>a.nav-btn:nth-of-type(2){grid-column:1;grid-row:1}
 .date-nav .chip{grid-column:1/-1;justify-content:center}
 .chip-row{flex-wrap:nowrap;overflow-x:auto;margin:0 -12px 12px;padding:0 12px 4px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
 .chip-row::-webkit-scrollbar{display:none}
 .chip{flex:none;padding:9px 14px}
 .flow-card{padding:13px}
 .flow-card .assign-form{width:100%}.flow-card .assign-form select{flex:1;min-width:0}.flow-card .assign-form .btn{flex:none}
 .tick-row{gap:8px}.tick-row .tick-btn,.tick-row form{flex:1 1 140px}.tick-row form .tick-btn{width:100%;justify-content:center}
 .tick-btn{min-height:46px;justify-content:center}
 .filters{flex-direction:column;align-items:stretch}.filters label{min-width:0}
 .confirmation-date-form{gap:10px}
 .hbar{grid-template-columns:76px 1fr 30px}
 .vbars{height:170px}
 .donut-wrap{justify-content:center}
 .users-shell{grid-template-columns:1fr}
 .profile-hero{flex-direction:column;text-align:center}
 .profile-hero p{text-align:center}
 .sms-template-grid{grid-template-columns:1fr}
 .shot-btn{min-height:54px;font-size:14px}
 .photo-card{padding:13px}
 .alert{margin:0 0 12px}
 .welcome-actions .cream-btn,.welcome-actions .outline-btn{min-height:46px}
 .mini-status{height:auto;min-height:64px;padding:10px 12px}
 .stat-ref .stat-value{font-size:23px}
 .notification-popover,.export-pop{z-index:200}
 .modal-card{max-height:92vh}
 .modal-actions .btn{flex:1 1 120px;justify-content:center}
 .method-card{min-height:70px}
 .amount-row input{font-size:18px!important}
 .toast-stack{bottom:calc(150px + env(safe-area-inset-bottom,0px))}
 .global-search .search-dialog{width:calc(100vw - 24px)}
}
@media(max-width:380px){
 .cards.mini-cards,.pay-summary{grid-template-columns:1fr}
 .method-grid{grid-template-columns:1fr 1fr}
 .topbar-center span{display:none}
}
@media(max-width:760px) and (orientation:landscape){.mpop.mpop-open{max-height:96vh}}

/* ---- v3.6b: card cells + mobile topbar order ---- */
.cell-v{display:contents}
@media(max-width:760px){
 .cell-v{display:block;flex:1;min-width:0;text-align:left}
 .cell-v>div,.cell-v>small{display:block}
 .topbar{display:flex!important;flex-direction:row;direction:rtl;align-items:center;justify-content:space-between}
 .topbar-right{order:-1;flex:none}
 .topbar-center{order:0}
 .topbar-left{order:1;flex:none}
 .topbar-left,.topbar-right{display:flex;align-items:center}
}

/* =====================================================================
   v3.7 — components, mobile polish, light-theme fixes
   ===================================================================== */
.app-body:before{display:none!important}
/* ---- patient form: yes/no questions ---- */
.yn{margin:0 0 12px;padding:12px;border:1px solid var(--c-line);border-radius:14px;background:var(--c-surface)}
.yn-q{font-size:13px;font-weight:600;margin-bottom:8px;color:var(--c-text)}
.yn-opts{display:flex;gap:8px}
.yn-opt{position:relative;flex:1;margin:0;cursor:pointer}
.yn-opt input{position:absolute;opacity:0;inset:0;margin:0;width:100%;height:100%;cursor:pointer}
.yn-opt span{display:block;text-align:center;padding:9px 0;border-radius:11px;border:1px solid var(--c-line);background:var(--c-surface2);color:var(--c-muted);font-size:13px;font-weight:700;transition:.15s}
.yn-opt input:checked+span{background:rgba(230,220,192,.2);border-color:rgba(230,220,192,.65);color:var(--c-text)}
.yn-opt:has(input[value="1"]:checked) span{background:rgba(233,196,106,.2);border-color:rgba(233,196,106,.6)}
.yn-note{margin:10px 0 0!important}
[hidden]{display:none!important}
/* ---- patient picker (live search) ---- */
.pt-pick{position:relative;margin-bottom:12px}
.pt-pick .pt-q{margin:0}
.pt-results{position:absolute;z-index:60;top:100%;right:0;left:0;margin-top:4px;max-height:260px;overflow:auto;border:1px solid var(--c-line);border-radius:14px;background:var(--c-pop);box-shadow:0 20px 50px rgba(0,0,0,.45)}
.pt-item{display:block;width:100%;text-align:right;padding:10px 14px;border:0;border-bottom:1px solid var(--c-line);background:transparent;color:var(--c-text)}
.pt-item:last-child{border-bottom:0}.pt-item:hover{background:var(--c-surface2)}
.pt-item strong{display:block;font-size:13px}.pt-item span{display:block;font-size:11px;color:var(--c-muted);margin-top:2px}
.pt-empty{padding:12px 14px;color:var(--c-muted);font-size:12px}
/* ---- search bar / pager ---- */
.search-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.search-pill.big{flex:1;min-width:220px;max-width:none;height:46px}
.search-pill.big input{margin:0;height:44px;border:0!important;background:transparent!important;box-shadow:none!important;padding:0;min-height:0}
.pager{display:flex;gap:8px;justify-content:center;align-items:center;margin-top:14px}
.money-input{font-variant-numeric:tabular-nums;letter-spacing:.2px}
/* ---- patient profile ---- */
.file-badge{display:inline-block;margin-right:8px;padding:3px 12px;border-radius:999px;background:rgba(230,220,192,.16);color:#e6dcc0;font-size:12px;font-weight:800;vertical-align:middle}
.patient-hero.panel{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:center}
.info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.info-grid>div{padding:11px 13px;border-radius:14px;background:var(--c-surface);border:1px solid var(--c-line);display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.info-grid span{font-size:11px;color:var(--c-muted)}.info-grid small{font-size:12px;color:var(--c-text);line-height:1.7}
.section-h{display:flex;align-items:center;gap:8px;font-size:16px;margin:22px 0 12px}
.visit-card{margin-bottom:14px}
.visit-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;flex-wrap:wrap;margin-bottom:12px}
.visit-head h3{margin:0 0 6px;font-size:15px}
.visit-sums{display:flex;gap:10px;flex-wrap:wrap}.visit-sums>div{padding:8px 14px;border-radius:12px;background:var(--c-surface);border:1px solid var(--c-line);min-width:100px}
.visit-sums span{display:block;font-size:10.5px;color:var(--c-muted)}.visit-sums b{font-size:14px}
.visit-card .actions{margin-bottom:12px}
.visit-card .table-wrap{margin-bottom:12px}
.modal-card.wide{width:min(760px,100%)}
/* ---- import page ---- */
.import-bar{height:10px;border-radius:99px;background:var(--c-surface2);overflow:hidden;margin:16px 0 10px}.import-bar span{display:block;height:100%;width:0;background:linear-gradient(90deg,#d9d0b8,#a99a6b);transition:width .25s}
.import-log{max-height:260px;overflow:auto;padding:12px;border-radius:12px;background:var(--c-surface);border:1px solid var(--c-line);font:12px/1.9 Tahoma,monospace;direction:rtl;white-space:pre-wrap;margin:0}
.push-card{margin-top:16px}
/* ---- date picker bottom-sheet on mobile ---- */
.ios27-backdrop{position:fixed;inset:0;z-index:99998;background:rgba(3,9,22,.6);backdrop-filter:blur(5px)}
.ios27-backdrop[hidden]{display:none}
.ios27-date-close{display:none}
.ios27-date-picker.sheet{left:0!important;right:0!important;top:auto!important;bottom:0!important;width:100%!important;max-width:none;border-radius:24px 24px 0 0;padding:16px 16px calc(18px + env(safe-area-inset-bottom,0px));border-bottom:0;animation:sheetUp .22s ease}
.ios27-date-picker.sheet .ios27-day{font-size:15px;min-height:42px}
.ios27-date-picker.sheet .ios27-date-nav{width:44px;height:44px}
.ios27-date-picker.sheet .ios27-date-close{display:inline-block;border:0;border-radius:12px;padding:10px 18px;background:var(--c-surface2);color:var(--c-text);font:700 13px inherit}
/* ---- print charts ---- */
.pa-chart{margin:6px 0 12px;padding:8px 0}
.pa-bar .pa-b{display:grid;grid-template-columns:130px 1fr 50px;gap:10px;align-items:center;margin:5px 0;font-size:11px}
.pa-bar .pa-b span{height:12px;background:#eee;border-radius:6px;overflow:hidden}.pa-bar .pa-b i{display:block;height:100%;background:#b8a56a;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.pa-col{display:flex;align-items:flex-end;gap:14px;height:170px}.pa-col .pa-c{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;font-size:11px}.pa-col .pa-c span{display:block;width:70%;max-width:46px;background:#4f9fdb;border-radius:6px 6px 0 0;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.pa-pie{display:flex;gap:24px;align-items:center}.pa-donut{width:150px;height:150px;border-radius:50%;-webkit-print-color-adjust:exact;print-color-adjust:exact}.pa-legend div{display:flex;gap:8px;align-items:center;font-size:12px;margin:4px 0}.pa-legend i{width:10px;height:10px;border-radius:3px;-webkit-print-color-adjust:exact;print-color-adjust:exact}.pa-legend b{margin-right:auto}

/* ---- date-nav (RTL: previous on the right, next on the left) ---- */
.date-nav>a.nav-btn,.date-nav>form{flex:none}
@media(max-width:760px){
 .date-nav{display:grid!important;grid-template-columns:46px minmax(0,1fr) 46px;gap:8px;align-items:center}
 .date-nav>a.nav-btn:first-child{grid-column:1;grid-row:1}
 .date-nav>form{grid-column:2;grid-row:1;min-width:0}
 .date-nav>a.nav-btn:nth-of-type(2){grid-column:3;grid-row:1}
 .date-nav>a.chip{grid-column:1/-1;grid-row:2;justify-content:center}
 .date-nav .date-input-wrap{width:100%}
}

/* ---- mobile bottom navigation (single-line labels, scrollable, never reflows) ---- */
@media(max-width:760px){
 .mobile-nav{display:flex!important;flex-wrap:nowrap;gap:4px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;left:8px!important;right:8px!important;bottom:calc(8px + env(safe-area-inset-bottom,0px))!important;padding:7px!important;border-radius:22px!important;z-index:80}
 .mobile-nav::-webkit-scrollbar{display:none}
 .mobile-nav a{flex:0 0 auto!important;width:72px;min-width:72px;height:54px;display:flex!important;flex-direction:column!important;align-items:center;justify-content:center;gap:3px;padding:4px 3px!important;text-align:center;border-radius:15px}
 .mobile-nav a span{display:block;width:100%;font-size:10px!important;line-height:1.2!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .mobile-nav a svg{width:21px!important;height:21px!important;flex:none}
}

/* ---- modals / popups on mobile ---- */
.modal-card{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
@media(max-width:760px){
 .modal-shell{align-items:flex-end!important;padding:0!important}
 .modal-card,.modal-card.wide{width:100%!important;max-height:92vh;max-height:92dvh;border-radius:24px 24px 0 0!important;padding:0 16px calc(22px + env(safe-area-inset-bottom,0px))!important;animation:sheetUp .22s ease}
 .modal-card .modal-head{position:sticky;top:0;z-index:3;margin:0 -16px 14px;padding:18px 66px 12px 16px;background:inherit;border-bottom:1px solid var(--c-line)}
 .modal-card .modal-close{position:absolute;top:12px;left:12px;z-index:4}
 .modal-card .modal-actions{position:sticky;bottom:calc(-22px - env(safe-area-inset-bottom,0px));z-index:3;margin:16px -16px 0;padding:12px 16px calc(14px + env(safe-area-inset-bottom,0px));background:inherit;border-top:1px solid var(--c-line)}
 .modal-card .modal-actions .btn{flex:1 1 auto}
 .global-search .search-dialog{margin-top:12px;max-height:80dvh}
 .notification-popover{max-height:75dvh}
}
@keyframes sheetUp{from{transform:translateY(34px);opacity:.5}to{transform:none;opacity:1}}

/* ---- marketing page on mobile ---- */
@media(max-width:760px){
 .filter-grid{grid-template-columns:1fr!important}.filter-grid label[style]{grid-column:auto!important}
 .chart-card{padding:14px}
 .hbar{grid-template-columns:84px minmax(0,1fr) 34px!important;gap:8px}
 .vbars{gap:5px!important}.vbars .name{font-size:9px}.vbars .bar{max-width:34px}
 .donut-wrap{flex-direction:column;align-items:center}.donut{width:140px;height:140px}.legend{width:100%}
 #mkTable td:first-child{padding-bottom:0!important}
 #mkTable td:first-child::before{display:none}
 .pick-all{padding:8px 0}
 .sms-compose .btn{width:100%}
 .grid2{gap:12px}
}

/* ---- desktop layout polish (profile & forms) ---- */
@media(min-width:761px){
 .profile-grid{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:start}
 .profile-card .profile-hero{margin-bottom:18px}
 .profile-card .profile-meta{grid-template-columns:repeat(3,minmax(0,1fr))}
 .page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}
 .page-head h1{margin:0 0 4px}.page-head p{margin:0;max-width:760px;line-height:1.9}
 .panel{margin-bottom:16px}
 .grid2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:16px;align-items:start}
 .patients-grid{grid-template-columns:minmax(360px,.9fr) minmax(0,1.4fr)}
 .user-form label,.panel form>label{margin-bottom:12px}
}
@media(max-width:1100px) and (min-width:761px){.patient-hero.panel{grid-template-columns:auto minmax(0,1fr)}.patient-hero .patient-kpis{grid-column:1/-1}.patients-grid{grid-template-columns:1fr}}
@media(max-width:760px){.patient-hero.panel{grid-template-columns:1fr;text-align:center;justify-items:center}.patient-contact{justify-content:center}.visit-head{flex-direction:column}.visit-sums{width:100%}.visit-sums>div{flex:1}.info-grid{grid-template-columns:1fr 1fr}.search-bar .btn{flex:1}}

/* ---- v3.7 light-theme readability fixes ---- */
.light-theme{--text:#18263e;--muted:#5b6980}
.light-theme body,.light-theme.app-body{color:#18263e}
.light-theme label,.light-theme .row>label{color:#33425e}
.light-theme .muted,.light-theme .small,.light-theme .field-note,.light-theme .stat span,.light-theme .panel-sub,.light-theme .pay-chip span,.light-theme .info-grid span,.light-theme .visit-sums span,.light-theme .patient-kpis span,.light-theme .profile-meta span,.light-theme .meta,.light-theme .photo-card-head p,.light-theme .hist,.light-theme .confirmation-date-copy span,.light-theme .template-vars,.light-theme .pt-item span,.light-theme .notif-item span,.light-theme .notif-item small,.light-theme .legend,.light-theme .hbar .lbl,.light-theme .vbars .name{color:#5b6980}
.light-theme .btn{color:#26344c;background:rgba(24,40,65,.06);border-color:rgba(24,40,65,.18)}
.light-theme .btn:hover{background:rgba(24,40,65,.1)}
.light-theme .btn.primary{background:linear-gradient(180deg,#eee8d6,#ddd3b6);color:#1b2940;border-color:#cdbf94}
.light-theme .btn.success{color:#0f6b50;background:rgba(18,128,94,.1);border-color:rgba(18,128,94,.35)}
.light-theme .btn.danger{color:#b02e49;background:rgba(193,59,85,.09);border-color:rgba(193,59,85,.35)}
.light-theme .btn.warn{color:#7f5700;background:rgba(154,107,0,.1);border-color:rgba(154,107,0,.35)}
.light-theme .icon-btn{color:#33425e;background:rgba(24,40,65,.06);border-color:rgba(24,40,65,.16)}
.light-theme .icon-btn.danger{color:#b02e49}
.light-theme .alert{color:#26344c}
.light-theme .alert.success{background:rgba(18,128,94,.12);border-color:rgba(18,128,94,.4);color:#0f6b50}
.light-theme .alert.danger{background:rgba(193,59,85,.1);border-color:rgba(193,59,85,.4);color:#a42a43}
.light-theme .sidebar .side-user small,.light-theme .brand-ref small{color:#657187}
.light-theme .sidebar .side-user strong,.light-theme .brand-ref strong{color:#18263e}
.light-theme .side-section-title{color:#6b788f}
.light-theme .sidebar a.nav-link.logout,.light-theme .sidebar a.nav-link.logout .nav-ic{color:#b02e49}
.light-theme .table-wrap,.light-theme table{color:#26344c}
.light-theme th{color:#4a5873;background:rgba(24,40,65,.05)}
.light-theme td,.light-theme td a{color:#26344c}
.light-theme .patient-link{color:#18263e}.light-theme .patient-link:hover{color:#7a5f10}
.light-theme .chip{color:#4a5873;background:rgba(255,255,255,.8);border-color:rgba(24,40,65,.15)}
.light-theme .chip.active{background:#e7e1ce;color:#4a3d0a;border-color:#cdbf94}
.light-theme .tick-btn{color:#4a5873;background:rgba(24,40,65,.05)}.light-theme .tick-btn.done{color:#0f6b50;background:rgba(18,128,94,.12);border-color:rgba(18,128,94,.4)}
.light-theme .yn{background:rgba(24,40,65,.04)}.light-theme .yn-q{color:#26344c}.light-theme .yn-opt span{color:#4a5873;background:#fff}.light-theme .yn-opt input:checked+span{color:#18263e;background:#e7e1ce;border-color:#cdbf94}
.light-theme .method-card{color:#4a5873;background:rgba(255,255,255,.8)}.light-theme .method-card:has(input:checked){background:#e7e1ce;color:#4a3d0a}
.light-theme .pay-chip strong,.light-theme .visit-sums b,.light-theme .info-grid strong,.light-theme .patient-kpis strong,.light-theme .stat strong{color:#18263e}
.light-theme .ok-text{color:#0f6b50}.light-theme .danger-text{color:#b02e49}
.light-theme .empty-state{color:#5b6980}.light-theme .empty-state strong{color:#26344c}
.light-theme .modal-card,.light-theme .mpop.mpop-open{color:#18263e}
.light-theme .modal-card h2,.light-theme .modal-head p{color:#18263e}.light-theme .modal-head p{color:#5b6980}
.light-theme .pt-results,.light-theme .ios27-date-picker,.light-theme .export-pop,.light-theme .toast{background:#fff;color:#18263e}
.light-theme .pt-item{color:#18263e}.light-theme .ios27-day{color:#18263e}.light-theme .ios27-day.selected{background:#d9d0b8;color:#1c2640}
.light-theme .notification-popover{background:#fff;color:#18263e}.light-theme .notif-item{color:#18263e}.light-theme .popover-head strong{color:#18263e}
.light-theme .mobile-nav{background:rgba(255,255,255,.92)!important}.light-theme .mobile-nav a{color:#4a5873}.light-theme .mobile-nav a.active{color:#18263e;background:#e7e1ce}
.light-theme .file-badge{background:#e7e1ce;color:#4a3d0a}
.light-theme .login-panel,.light-theme .public-card{color:#f1f4fa}
.light-theme .welcome-card .eyebrow{color:#7a5f10}.light-theme .welcome-copy p,.light-theme .welcome-copy .eyebrow{color:#5b6980}.light-theme .welcome-copy h1{color:#18263e}
.light-theme .mini-status>div>span{color:#5b6980}.light-theme .stat-ref .stat-label,.light-theme .stat-ref .stat-sub,.light-theme .stat-ref .stat-value small{color:#5b6980}
.light-theme .cream-btn{color:#1c2640}.light-theme .outline-btn{color:#1b2940}.light-theme .outline-btn{border-color:rgba(24,40,65,.25)}
.light-theme .topbar-center strong{color:#18263e}.light-theme .topbar-center span{color:#5b6980}.light-theme .top-icon{color:#4a5873}
.light-theme .quick-add{color:#1b2940}
.light-theme input,.light-theme select,.light-theme textarea{background:#fff;border-color:rgba(24,40,65,.22);color:#18263e}
.light-theme input::placeholder,.light-theme textarea::placeholder{color:#8a96ab}
.light-theme .badge.blue{color:#1d6fb8;background:rgba(29,111,184,.12)}
.light-theme .pt-empty{color:#5b6980}
.light-theme .import-log{color:#26344c}
.light-theme .info-missing span{background:rgba(193,59,85,.1);color:#a42a43}
.light-theme .check{color:#33425e}
.light-theme .ios27-date-today{background:#efe9d6;color:#5a4a10}
@media(max-width:760px){
 body.light-theme,.light-theme.app-body{background:#eef2f8!important}
 .light-theme .main{background:#eef2f8!important}
 .light-theme .topbar{background:rgba(255,255,255,.92)!important;border-bottom:1px solid rgba(24,40,65,.1)}
 .light-theme .table-wrap tbody tr{background:#fff;border-color:rgba(24,40,65,.12);box-shadow:0 6px 18px rgba(24,40,65,.07)}
 .light-theme .table-wrap td{border-bottom-color:rgba(24,40,65,.1)!important}
 .light-theme .table-wrap td[data-label]::before{color:#5b6980}
 .light-theme .panel{background:#fff!important;border-color:rgba(24,40,65,.12)!important}
}

/* ---- background legacy import banner ---- */
.legacy-box{position:fixed;z-index:9000;left:16px;bottom:16px;width:min(340px,calc(100vw - 32px));padding:14px 16px;border-radius:16px;background:var(--c-pop);border:1px solid rgba(230,220,192,.35);box-shadow:0 18px 50px rgba(0,0,0,.45);color:var(--c-text);font-size:12px;line-height:1.8}
.legacy-box strong{display:block;font-size:13px;margin-bottom:2px}.legacy-box.err{border-color:rgba(238,123,143,.6)}
.legacy-box .lg-bar{height:8px;border-radius:99px;background:var(--c-surface2);overflow:hidden;margin-top:8px}.legacy-box .lg-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#d9d0b8,#a99a6b);transition:width .3s}
.legacy-box .lg-retry{margin-top:10px}
@media(max-width:760px){.legacy-box{bottom:calc(86px + env(safe-area-inset-bottom,0px));left:12px}}

/* =====================================================================
   v3.9 — mobile top bar (safe-area, theme button), checkboxes, marketing cards
   ===================================================================== */
@media(max-width:760px){
 .topbar{min-height:62px;padding:calc(14px + env(safe-area-inset-top,0px)) 12px 10px!important;margin:0 -12px 16px!important;align-items:center}
 .topbar-center strong{font-size:13.5px}
 #themeToggle{display:grid!important}
 #exportToggle{display:none!important}
 .top-icon{width:36px!important;height:36px!important}
 .topbar-left{gap:0!important}
 .top-avatar{width:36px;height:36px}
 .main{padding-top:0!important}
 .global-search .search-dialog,.notification-popover,.export-pop{margin-top:env(safe-area-inset-top,0px)}
 .notification-popover,.export-pop{top:calc(72px + env(safe-area-inset-top,0px))!important}
 input[type=checkbox],input[type=radio]{-webkit-appearance:auto;appearance:auto;width:22px!important;height:22px!important;min-height:0!important;padding:0!important;margin:0;flex:none;accent-color:#d9d0b8}
 .yn-opt input,.method-card input{width:100%!important;height:100%!important;position:absolute;inset:0;opacity:0}
 /* marketing result rows: checkbox on its own labelled line */
 #mkTable td:first-child{align-items:center!important;padding:8px 0!important}
 #mkTable td:first-child::before{display:block!important;content:attr(data-label);max-width:none}
 #mkTable td:nth-child(2){font-size:14px}
 .pick-all{background:var(--c-surface);border:1px solid var(--c-line);border-radius:12px;padding:10px 12px!important;margin-bottom:10px}
 .sms-compose textarea{min-height:140px}
 .sms-meta{margin:-4px 0 12px}
 .page-head p{font-size:12px}
}

/* ---- v3.10: marketing results as a compact list (not cards) on mobile ---- */
@media(max-width:760px){
 #mkTable,#mkTable tbody{display:block}
 #mkTable thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
 #mkTable tbody tr{display:flex!important;align-items:center;gap:10px;margin:0!important;padding:10px 2px!important;border:0!important;border-bottom:1px solid var(--c-line)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
 #mkTable td{display:block!important;padding:0!important;border:0!important;width:auto!important}
 #mkTable td::before{display:none!important}
 #mkTable td:nth-child(1){flex:none}
 #mkTable td:nth-child(2){flex:1;min-width:0;text-align:right}
 #mkTable td:nth-child(2) .cell-v{text-align:right}
 #mkTable td:nth-child(3),#mkTable td:nth-child(4){flex:none;font-size:11px;color:var(--c-muted)}
 #mkTable td:nth-child(5),#mkTable td:nth-child(6){display:none!important}
 #mkTable td:nth-child(3) .cell-v,#mkTable td:nth-child(4) .cell-v{text-align:center}
}

/* ---- v3.11 ---- */
.shot-grid.trio{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:760px){.shot-grid.trio{grid-template-columns:1fr}}
.patient-name{font-weight:700;color:var(--c-text)}
.section-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:22px 0 12px}.section-bar .section-h{margin:0}
.photo-stage{margin-bottom:10px}.photo-stage>b{display:block;margin-bottom:6px;font-size:12px;color:var(--c-muted)}
.photo-trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.photo-trio>div>span{display:block;font-size:10px;color:var(--c-muted);margin-bottom:4px}
.photo-trio .photo-preview.large{height:110px}
@media(max-width:760px){.photo-trio{grid-template-columns:repeat(3,minmax(0,1fr))}.photo-trio .photo-preview.large{height:80px}}
.badge.plas{background:rgba(181,138,224,.16);color:#c9a6ee}.badge.plas.done{background:rgba(63,215,160,.14);color:var(--c-ok)}
.mk-hint{display:none;align-items:center;gap:10px;color:var(--c-muted);font-size:12.5px;line-height:1.9}
.mk-actions{margin-bottom:10px}
@media(max-width:760px){
 .mk-hint:not(.hide){display:flex}
 .mk-main.no-filter{display:none!important}
 .mk-actions .btn{flex:1 1 auto;justify-content:center}
}
