:root{--bg:#f3f7fb;--card:#fff;--text:#112033;--muted:#667085;--line:#e5edf6;--brand:#2563eb;--brand-2:#0ea5a4;--danger:#dc2626;--success:#0f766e;--warning:#b45309;--slate:#0f172a;--shadow:0 12px 30px rgba(15,23,42,.06);--radius:22px;--radius-sm:16px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Tahoma,Arial,sans-serif;background:linear-gradient(180deg,#f7fbff,#f3f7fb 28%);color:var(--text)}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}h1,h2,h3,p{margin:0}.small{font-size:.85rem}.muted{color:var(--muted)}.hidden{display:none!important}
.guest-body{min-height:100vh;display:grid;place-items:center;padding:20px}.login-wrap{width:min(100%,460px)}.login-card{background:var(--card);padding:28px;border-radius:28px;box-shadow:var(--shadow);display:grid;gap:16px}.badge{width:max-content;background:#e0f2fe;color:#075985;padding:8px 12px;border-radius:999px;font-size:.85rem;font-weight:700}
.app-shell{display:grid;grid-template-columns:280px 1fr;min-height:100vh}.sidebar{background:linear-gradient(180deg,#0f172a,#111827);color:#fff;padding:22px;display:flex;flex-direction:column;justify-content:space-between;gap:18px;position:sticky;top:0;height:100vh}.brand{font-size:1.35rem;font-weight:700}.nav-links{display:grid;gap:10px}.nav-links a{padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.06);transition:.15s}.nav-links a:hover,.nav-links a.active{background:rgba(255,255,255,.14)}
.main-content{padding:20px;display:grid;gap:18px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.stats-grid{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:14px}.stat-card,.patient-card,.profile-card,.panel,.timeline-item,.admin-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.stat-card{padding:18px;display:grid;gap:10px}.stat-card strong{font-size:1.55rem}
.section-block{display:grid;gap:14px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.cards-grid{display:grid;grid-template-columns:repeat(2,minmax(280px,1fr));gap:14px}.patient-card{padding:16px;display:grid;gap:14px;overflow:hidden}.patient-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.patient-head h3{font-size:1.05rem;margin-bottom:6px}.meta-row,.actions,.tags,.chip-group,.toolbar,.inline-form,.filter-bar{display:flex;flex-wrap:wrap;gap:8px}.meta-grid{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:10px}.label{display:block;color:var(--muted);font-size:.8rem;margin-bottom:4px}
.btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;border:none;background:linear-gradient(135deg,var(--brand),#1d4ed8);color:#fff;padding:13px 16px;border-radius:16px;font-weight:700;cursor:pointer;transition:.15s;min-height:48px;box-shadow:0 10px 22px rgba(37,99,235,.18)}.btn:hover{transform:translateY(-1px)}.btn-light{background:#fff;color:var(--text);border:1px solid var(--line)}.btn-secondary{background:linear-gradient(135deg,var(--brand-2),#0f766e)}.btn-danger{background:linear-gradient(135deg,var(--danger),#b91c1c)}.btn-warning{background:linear-gradient(135deg,#f59e0b,#d97706)}.full{width:100%}
.field{display:grid;gap:8px}.field input,.field select,.field textarea{width:100%;padding:13px 14px;border-radius:16px;border:1px solid #d7dfeb;background:#fff;color:var(--text)}.field textarea{min-height:110px;resize:vertical}.form-shell,.patient-profile{display:grid;gap:18px}.panel,.admin-card{padding:18px;display:grid;gap:16px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(160px,1fr));gap:14px}.stack-sm,.stack-md,.stack-lg,.stack-xl{display:grid}.stack-sm{gap:8px}.stack-md{gap:12px}.stack-lg{gap:16px}.stack-xl{gap:20px}.alert{padding:14px 16px;border-radius:16px}.alert.success{background:#ecfdf3;color:#065f46}.alert.error{background:#fef2f2;color:#991b1b}
.tag{padding:7px 10px;border-radius:999px;background:#eef2ff;color:#3730a3;font-size:.82rem}.tag.ok{background:#ecfdf3;color:#065f46}.tag.warn{background:#fff7ed;color:#9a3412}.tag.gray{background:#f3f4f6;color:#374151}.chip-group-wrap{display:grid;gap:10px}.section-mini-title{font-size:.92rem;font-weight:700}.chip{border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8;padding:10px 12px;border-radius:999px;cursor:pointer;min-height:42px}.chip:hover{background:#dbeafe}.chip:disabled{opacity:.45;cursor:not-allowed}.timeline{display:grid;gap:12px}.timeline-item{padding:16px;display:grid;gap:10px}.timeline-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.checkbox{display:flex;gap:10px;align-items:center}.sticky-actions{position:sticky;bottom:10px;background:rgba(243,247,251,.88);backdrop-filter:blur(10px);padding:8px;border-radius:18px}
.search-box{display:flex;gap:8px;flex-wrap:wrap}.search-box input,.search-box select{padding:12px 14px;border-radius:16px;border:1px solid #d7dfeb;background:#fff}.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(300px,1fr));gap:14px}.status-line{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.list-card{padding:14px;border:1px solid var(--line);border-radius:18px;background:#fff;display:grid;gap:10px}.empty{padding:26px;border:1px dashed #cbd5e1;border-radius:20px;text-align:center;color:var(--muted);background:#fff}.queue-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.counter{padding:6px 10px;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:.9rem;font-weight:700}.kpi-row{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:12px}
@media (max-width:1100px){.stats-grid{grid-template-columns:repeat(3,minmax(120px,1fr))}.cards-grid,.admin-grid{grid-template-columns:1fr}.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;border-radius:0 0 22px 22px}}
@media (max-width:640px){.main-content{padding:14px}.login-card{padding:22px}.stats-grid,.kpi-row{grid-template-columns:repeat(2,1fr)}.form-grid,.meta-grid{grid-template-columns:1fr}.topbar{align-items:flex-start}.sidebar{padding:16px}.btn{width:100%}.actions{display:grid;grid-template-columns:1fr 1fr}.patient-head,.timeline-top,.status-line{flex-direction:column;align-items:flex-start}.search-box>*{width:100%}}

@media (max-width:640px){.actions .btn,.toolbar .btn{width:100%}.patient-card .actions{grid-template-columns:1fr}.patient-card .tags{width:100%}.patient-card .tag{white-space:nowrap}}
.wrap-mobile{align-items:center}.compact-head{margin-bottom:6px}


body.modal-open{overflow:hidden}.catalog-modal{position:fixed;inset:0;display:none;z-index:999}.catalog-modal.is-open{display:block}.catalog-modal__backdrop{position:absolute;inset:0;background:rgba(15,23,42,.42);backdrop-filter:blur(2px)}.catalog-modal__dialog{position:relative;z-index:1;width:min(100%,520px);margin:5vh auto 0;background:var(--card);border:1px solid var(--line);border-radius:28px;box-shadow:0 24px 60px rgba(15,23,42,.22);padding:18px;display:grid;gap:16px;max-height:90vh;overflow:auto}.catalog-modal__head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.catalog-modal__close{min-width:110px}.catalog-modal__form .field input{min-height:52px;font-size:1rem}.catalog-modal__actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width:640px){.catalog-modal__dialog{width:calc(100% - 16px);margin:0 auto;min-height:auto;max-height:none;height:auto;position:absolute;left:8px;right:8px;bottom:8px;top:auto;border-radius:24px;padding:16px 14px 18px}.catalog-modal__head{display:grid;gap:10px}.catalog-modal__actions{grid-template-columns:1fr}.catalog-modal__close{width:100%}}

.cards-grid-single{grid-template-columns:1fr}.archive-cta-card{min-height:220px}.day-card{min-height:200px}
@media (min-width:641px){.archive-cta-card .actions{justify-content:flex-start}}

/* Mobile-first dashboard and navigation refresh */
.app-shell{display:grid;grid-template-columns:1fr;min-height:100vh;gap:14px;padding:12px}
.mobile-first-sidebar{position:static;height:auto;background:linear-gradient(180deg,#0f172a,#172554);border-radius:28px;padding:16px 14px 14px;box-shadow:var(--shadow)}
.sidebar-top{gap:14px}.sidebar-brand-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.sidebar-clinic-name{color:rgba(255,255,255,.72)!important}
.user-chip{display:grid;gap:3px;padding:10px 12px;min-width:132px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.10);border-radius:18px;color:#fff}.user-chip strong{font-size:.96rem}.user-chip span{font-size:.82rem;color:rgba(255,255,255,.78)}
.nav-links-icons{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.nav-tile{display:grid;gap:8px;justify-items:center;align-content:center;min-height:92px;padding:12px 10px;border-radius:22px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.08);transition:.15s;color:#fff;text-align:center}.nav-tile:hover,.nav-tile.active{background:linear-gradient(135deg,rgba(255,255,255,.18),rgba(255,255,255,.10));transform:translateY(-1px)}.nav-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:16px;background:rgba(255,255,255,.14);font-size:1.25rem}.nav-text{font-size:.84rem;line-height:1.35;font-weight:700}
.nav-links-admin{display:flex;flex-wrap:wrap;gap:10px}.nav-links-admin a{padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.08);color:#fff}.nav-links-admin a.active{background:rgba(255,255,255,.16)}
.compact-logout-form{margin-top:12px}.compact-logout-form .btn{min-height:46px}
.main-content{padding:0;display:grid;gap:16px}.mobile-topbar{background:transparent;padding:4px 2px 0}.mobile-topbar h1{font-size:1.35rem;margin-bottom:4px}
.mobile-stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.stat-card{padding:16px;border-radius:24px;gap:8px}.stat-card span{font-size:.88rem;color:var(--muted);font-weight:700}.stat-card strong{font-size:1.8rem;line-height:1}.stat-card-accent{background:linear-gradient(135deg,#eff6ff,#ffffff)}
.archive-cta-card.compact-archive-card{min-height:auto}.archive-cta-card.compact-archive-card .actions{grid-template-columns:1fr}
.cards-grid{grid-template-columns:1fr}.patient-card{border-radius:24px}.queue-head .tag{font-size:.78rem}
@media (max-width:900px){.nav-links-icons{grid-template-columns:repeat(3,minmax(0,1fr))}.mobile-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.app-shell{padding:10px}.mobile-first-sidebar{border-radius:24px;padding:14px 12px 12px}.sidebar-brand-row{display:grid;grid-template-columns:1fr;gap:10px}.user-chip{min-width:0}.nav-links-icons{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.nav-tile{min-height:86px;padding:10px 8px;border-radius:20px}.nav-icon{width:40px;height:40px;border-radius:14px;font-size:1.1rem}.nav-text{font-size:.78rem}.mobile-topbar h1{font-size:1.2rem}.mobile-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat-card{padding:14px;border-radius:20px}.stat-card strong{font-size:1.55rem}.cards-grid-single,.cards-grid,.admin-grid{grid-template-columns:1fr}}


/* Icon-only modern navigation */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.nav-links-icons-modern{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;align-items:stretch}
.nav-tile-form{margin:0;display:block}
.nav-tile-modern{position:relative;display:grid;place-items:center;min-height:74px;padding:10px;border-radius:24px;background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.05));border:1px solid rgba(255,255,255,.10);box-shadow:inset 0 1px 0 rgba(255,255,255,.08);overflow:hidden}
.nav-tile-modern::after{content:"";position:absolute;inset:auto 14px 10px 14px;height:4px;border-radius:999px;background:transparent;transition:.15s}
.nav-tile-modern:hover,.nav-tile-modern.active,.nav-tile-modern:focus-visible{background:linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,.10));border-color:rgba(255,255,255,.18);box-shadow:0 14px 30px rgba(15,23,42,.18),inset 0 1px 0 rgba(255,255,255,.12);outline:none}
.nav-tile-modern.active::after,.nav-tile-modern:hover::after,.nav-tile-modern:focus-visible::after{background:linear-gradient(90deg,#60a5fa,#22d3ee)}
.nav-icon-modern{width:52px;height:52px;border-radius:18px;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.28),rgba(255,255,255,.08));border:1px solid rgba(255,255,255,.12);display:grid;place-items:center;color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.nav-icon-modern svg{width:24px;height:24px;display:block}
.nav-tile-logout{width:100%;border:none;cursor:pointer;font:inherit;color:#fff}
.nav-tile-logout .nav-icon-modern{background:radial-gradient(circle at 30% 30%,rgba(248,113,113,.30),rgba(255,255,255,.08))}
.nav-links-icons .nav-text{display:none}
@media (max-width:900px){.nav-links-icons-modern{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){.nav-links-icons-modern{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.nav-tile-modern{min-height:68px;border-radius:22px}.nav-icon-modern{width:48px;height:48px;border-radius:16px}.nav-icon-modern svg{width:22px;height:22px}}

/* v7 visual polish + patient image attachments */
:root{--bg:#eef4ff;--card:#fff;--text:#132238;--muted:#66758f;--line:#dce6f5;--brand:#4f46e5;--brand-2:#06b6d4;--danger:#ef4444;--success:#059669;--warning:#f59e0b;--shadow:0 18px 40px rgba(15,23,42,.08)}
body{background:radial-gradient(circle at top,#f8fbff 0,#eef4ff 42%,#edf3fb 100%)}
.field input,.field select,.field textarea{border-color:#d5e0f1;background:#fff;transition:border-color .18s,box-shadow .18s,transform .18s}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:rgba(79,70,229,.45);box-shadow:0 0 0 4px rgba(79,70,229,.10)}
.btn{background:linear-gradient(135deg,#4f46e5 0,#2563eb 55%,#06b6d4 100%);box-shadow:0 14px 28px rgba(79,70,229,.18)}
.btn:hover{transform:translateY(-1px);box-shadow:0 18px 34px rgba(79,70,229,.24)}
.btn svg{width:20px;height:20px;display:block}
.btn-light{background:linear-gradient(180deg,#ffffff,#f8fbff);color:#16243a;border:1px solid #dce7f7;box-shadow:0 10px 22px rgba(15,23,42,.06)}
.btn-light:hover{box-shadow:0 14px 28px rgba(15,23,42,.08)}
.btn-secondary{background:linear-gradient(135deg,#0f766e 0,#0ea5a4 55%,#22c55e 100%);box-shadow:0 14px 28px rgba(15,118,110,.18)}
.btn-danger{background:linear-gradient(135deg,#ef4444 0,#dc2626 55%,#f97316 100%);box-shadow:0 14px 28px rgba(239,68,68,.18)}
.btn-warning{background:linear-gradient(135deg,#f59e0b 0,#f97316 100%);box-shadow:0 14px 28px rgba(245,158,11,.18)}
.tag{background:#eef2ff;color:#4338ca}.tag.gray{background:#eef3f9;color:#4b5563}.tag.ok{background:#ecfdf5;color:#047857}.tag.warn{background:#fff7ed;color:#c2410c}
.panel,.profile-card,.timeline-item,.patient-card,.stat-card,.admin-card{border-color:#dbe7f5;box-shadow:0 20px 40px rgba(15,23,42,.06)}
.panel,.admin-card{background:linear-gradient(180deg,#ffffff,#fbfdff)}
.mobile-first-sidebar{background:linear-gradient(180deg,#111827 0,#18274a 58%,#1d3063 100%)}
.user-chip{background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.08));backdrop-filter:blur(8px)}
.nav-tile-modern{--accent-1:#60a5fa;--accent-2:#22d3ee;--surface-1:rgba(96,165,250,.18);--surface-2:rgba(34,211,238,.10);background:linear-gradient(180deg,var(--surface-1),rgba(255,255,255,.05));border:1px solid rgba(255,255,255,.14);box-shadow:0 14px 30px rgba(15,23,42,.16),inset 0 1px 0 rgba(255,255,255,.10)}
.nav-tile-modern::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top,var(--surface-2),transparent 70%);opacity:.9}
.nav-tile-modern::after{background:transparent}
.nav-tile-modern:hover,.nav-tile-modern.active,.nav-tile-modern:focus-visible{background:linear-gradient(180deg,rgba(255,255,255,.22),var(--surface-2));border-color:rgba(255,255,255,.2);box-shadow:0 18px 38px rgba(15,23,42,.22),0 0 0 1px rgba(255,255,255,.04) inset;transform:translateY(-2px)}
.nav-tile-modern.active::after,.nav-tile-modern:hover::after,.nav-tile-modern:focus-visible::after{background:linear-gradient(90deg,var(--accent-1),var(--accent-2))}
.nav-icon-modern{position:relative;z-index:1;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.28),rgba(255,255,255,.08)),linear-gradient(180deg,var(--surface-1),rgba(255,255,255,.02));border-color:rgba(255,255,255,.16);box-shadow:0 10px 24px rgba(15,23,42,.16),inset 0 1px 0 rgba(255,255,255,.14)}
.theme-home{--accent-1:#38bdf8;--accent-2:#22c55e;--surface-1:rgba(56,189,248,.22);--surface-2:rgba(34,197,94,.12)}
.theme-add{--accent-1:#a78bfa;--accent-2:#60a5fa;--surface-1:rgba(167,139,250,.22);--surface-2:rgba(96,165,250,.12)}
.theme-archive{--accent-1:#f59e0b;--accent-2:#fb7185;--surface-1:rgba(245,158,11,.22);--surface-2:rgba(251,113,133,.12)}
.theme-catalog{--accent-1:#14b8a6;--accent-2:#22c55e;--surface-1:rgba(20,184,166,.22);--surface-2:rgba(34,197,94,.12)}
.theme-permissions{--accent-1:#f97316;--accent-2:#eab308;--surface-1:rgba(249,115,22,.22);--surface-2:rgba(234,179,8,.12)}
.theme-logout{--accent-1:#fb7185;--accent-2:#f97316;--surface-1:rgba(251,113,133,.22);--surface-2:rgba(249,115,22,.12)}
.stat-card{position:relative;overflow:hidden}
.stat-card::before{content:"";position:absolute;inset:auto auto 0 -14px;width:82px;height:82px;border-radius:50%;background:radial-gradient(circle,rgba(79,70,229,.10),transparent 70%)}
.stat-card strong{color:#1d2a45}
.attachments-panel{gap:14px}
.attachments-empty{min-height:140px;display:grid;place-items:center;gap:10px;border:1px dashed #cad8ec;border-radius:22px;background:linear-gradient(180deg,#fbfdff,#f6faff);padding:18px;text-align:center}
.attachments-empty__icon{width:58px;height:58px;border-radius:20px;display:grid;place-items:center;background:#eef4ff;color:#4f46e5}
.attachments-empty__icon svg{width:26px;height:26px}
.attachments-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.attachment-card{display:grid;gap:10px;padding:10px;border-radius:22px;background:linear-gradient(180deg,#ffffff,#f8fbff);border:1px solid #dce7f6;box-shadow:0 12px 28px rgba(15,23,42,.06)}
.attachment-card img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:18px;background:#eef4ff}
.attachment-card__meta{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:.78rem;color:#5b677d}
.attachment-card__meta strong{font-size:.8rem;color:#17243a}
.media-modal{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:18px}.media-modal[hidden]{display:none!important}.media-modal__backdrop{position:absolute;inset:0;background:rgba(15,23,42,.52);backdrop-filter:blur(4px)}
.media-modal__dialog{position:relative;z-index:1;width:min(100%,460px);background:linear-gradient(180deg,#ffffff,#f7fbff);border:1px solid #dce7f6;border-radius:30px;box-shadow:0 24px 60px rgba(15,23,42,.24);padding:18px;display:grid;gap:16px}
.media-modal__head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.media-modal__head h3{font-size:1.08rem}.media-close-btn{width:44px;height:44px;border:none;border-radius:16px;background:#eef4ff;color:#334155;display:grid;place-items:center;cursor:pointer}.media-close-btn svg{width:20px;height:20px}
.media-source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.media-source-btn{border:none;border-radius:24px;padding:14px 12px;display:grid;gap:8px;justify-items:center;cursor:pointer;color:#fff;box-shadow:0 14px 28px rgba(15,23,42,.14)}
.media-source-btn__icon{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.18)}
.media-source-btn__icon svg{width:24px;height:24px}.media-source-btn__label{font-size:.8rem;font-weight:700}
.media-source-btn--camera{background:linear-gradient(135deg,#4f46e5,#2563eb)}.media-source-btn--gallery{background:linear-gradient(135deg,#0f766e,#14b8a6)}
.media-preview{min-height:210px;border-radius:26px;border:1px dashed #c8d8f1;background:linear-gradient(180deg,#f8fbff,#f2f7ff);padding:12px;display:grid;place-items:center;overflow:hidden}
.media-preview img{width:100%;max-height:320px;object-fit:contain;border-radius:20px;box-shadow:0 12px 28px rgba(15,23,42,.10)}
.media-preview__placeholder{display:grid;gap:10px;justify-items:center;color:#64748b;text-align:center}.media-preview__placeholder svg{width:48px;height:48px;color:#4f46e5}
.media-meta-box{display:grid;gap:6px;padding:14px;border-radius:22px;background:#f6f9ff;border:1px solid #dde7f6}
@media (max-width:900px){.attachments-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.btn{min-height:46px;padding:12px 14px}.mobile-first-sidebar{padding:14px 12px 12px}.nav-tile-modern{min-height:70px}.nav-icon-modern{width:48px;height:48px}.attachments-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.attachment-card{padding:8px;border-radius:18px}.attachment-card img{border-radius:14px}.media-modal{padding:8px}.media-modal__dialog{width:calc(100% - 8px);border-radius:26px;padding:14px;gap:14px;position:absolute;left:4px;right:4px;bottom:4px}.media-source-grid{gap:10px}.media-source-btn{padding:12px 8px;border-radius:20px}.media-source-btn__icon{width:48px;height:48px;border-radius:16px}.media-preview{min-height:180px;border-radius:22px}.media-preview img{max-height:240px;border-radius:18px}.media-meta-box{padding:12px;border-radius:18px}}

/* v8 mobile polish + long-press image delete */
:root{
  --bg:#eef6ff;
  --card:#ffffff;
  --text:#10233d;
  --muted:#64748b;
  --line:#d8e6f6;
  --brand:#2563eb;
  --brand-2:#14b8a6;
  --danger:#dc2626;
  --success:#059669;
  --warning:#d97706;
  --shadow:0 18px 40px rgba(15,23,42,.08);
}
body{background:
  radial-gradient(circle at top right,rgba(59,130,246,.10),transparent 26%),
  radial-gradient(circle at top left,rgba(20,184,166,.10),transparent 24%),
  linear-gradient(180deg,#f8fbff 0,#eef6ff 48%,#edf3fb 100%);
  color:var(--text)}
.topbar h1{color:#13325c;letter-spacing:-.02em}.muted{color:#697b93}
.alert{border:1px solid transparent;box-shadow:0 12px 24px rgba(15,23,42,.05)}
.alert.success{background:linear-gradient(180deg,#eefcf5,#e7fbf3);border-color:#bfe7d3;color:#0b6b50}
.alert.error{background:linear-gradient(180deg,#fff5f5,#fff0f0);border-color:#f4c3c3;color:#b42318}
.mobile-first-sidebar{background:
  radial-gradient(circle at top,rgba(148,163,184,.18),transparent 24%),
  linear-gradient(180deg,#10213d 0,#16335e 50%,#1b4d72 100%);
  box-shadow:0 30px 60px rgba(15,23,42,.18)}
.sidebar-brand-row .brand{font-size:1.28rem;color:#fff;text-shadow:0 1px 0 rgba(0,0,0,.08)}
.sidebar-clinic-name{color:rgba(255,255,255,.72)!important}
.user-chip{border:1px solid rgba(255,255,255,.12);box-shadow:0 10px 24px rgba(15,23,42,.14)}
.nav-links-icons-modern{gap:11px}
.nav-tile-modern{min-height:74px;border-radius:24px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease}
.nav-tile-modern::before{opacity:.95}
.nav-tile-modern::after{left:16px;right:16px;height:4px;border-radius:999px}
.nav-icon-modern{width:50px;height:50px;border-radius:18px;color:#fff;box-shadow:0 12px 24px rgba(15,23,42,.20), inset 0 1px 0 rgba(255,255,255,.18)}
.nav-icon-modern svg{width:23px;height:23px;filter:drop-shadow(0 1px 0 rgba(0,0,0,.08))}
.nav-tile-modern.active .nav-icon-modern,.nav-tile-modern:hover .nav-icon-modern,.nav-tile-modern:focus-visible .nav-icon-modern{transform:translateY(-1px) scale(1.02)}
.theme-home{--accent-1:#38bdf8;--accent-2:#10b981;--surface-1:rgba(56,189,248,.22);--surface-2:rgba(16,185,129,.14)}
.theme-add{--accent-1:#8b5cf6;--accent-2:#3b82f6;--surface-1:rgba(139,92,246,.24);--surface-2:rgba(59,130,246,.14)}
.theme-archive{--accent-1:#f59e0b;--accent-2:#fb7185;--surface-1:rgba(245,158,11,.24);--surface-2:rgba(251,113,133,.14)}
.theme-catalog{--accent-1:#14b8a6;--accent-2:#22c55e;--surface-1:rgba(20,184,166,.24);--surface-2:rgba(34,197,94,.14)}
.theme-permissions{--accent-1:#f97316;--accent-2:#eab308;--surface-1:rgba(249,115,22,.24);--surface-2:rgba(234,179,8,.14)}
.theme-logout{--accent-1:#fb7185;--accent-2:#f97316;--surface-1:rgba(251,113,133,.24);--surface-2:rgba(249,115,22,.14)}
.btn{border:none;border-radius:18px;font-weight:800;letter-spacing:-.01em;background:linear-gradient(135deg,#2563eb 0,#4f46e5 50%,#14b8a6 100%);box-shadow:0 14px 30px rgba(37,99,235,.18)}
.btn:hover{transform:translateY(-1px);box-shadow:0 18px 34px rgba(37,99,235,.22)}
.btn-light{background:linear-gradient(180deg,#ffffff,#f6faff);color:#163155;border:1px solid #d7e5f5;box-shadow:0 10px 24px rgba(15,23,42,.06)}
.btn-secondary{background:linear-gradient(135deg,#0f766e 0,#0ea5a4 55%,#2dd4bf 100%);box-shadow:0 14px 30px rgba(15,118,110,.18)}
.btn-danger{background:linear-gradient(135deg,#ef4444 0,#dc2626 48%,#f97316 100%);box-shadow:0 14px 30px rgba(220,38,38,.20)}
.btn-warning{background:linear-gradient(135deg,#f59e0b 0,#f97316 100%);box-shadow:0 14px 30px rgba(245,158,11,.20)}
.field input,.field select,.field textarea{border-color:#d6e3f2;background:linear-gradient(180deg,#fff,#fbfdff);box-shadow:inset 0 1px 0 rgba(255,255,255,.6)}
.field input:focus,.field select:focus,.field textarea:focus{border-color:rgba(37,99,235,.45);box-shadow:0 0 0 4px rgba(37,99,235,.10)}
.panel,.profile-card,.timeline-item,.patient-card,.stat-card,.admin-card{background:linear-gradient(180deg,#fff,#fbfdff);border-color:#dce8f6;box-shadow:0 20px 40px rgba(15,23,42,.06)}
.stat-card{position:relative;overflow:hidden}.stat-card::before{content:"";position:absolute;left:-18px;bottom:-18px;width:90px;height:90px;border-radius:50%;background:radial-gradient(circle,rgba(37,99,235,.12),transparent 72%)}
.tag{background:#edf4ff;color:#3153c4}.tag.gray{background:#eef3f9;color:#556273}.tag.ok{background:#ecfdf5;color:#047857}.tag.warn{background:#fff7ed;color:#c2410c}
.attachments-panel{gap:14px}
.attachment-card{position:relative;overflow:hidden;gap:9px;padding:10px;border-radius:22px;background:linear-gradient(180deg,#ffffff,#f7fbff);border:1px solid #dbe8f7;box-shadow:0 14px 28px rgba(15,23,42,.06);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.attachment-card:hover,.attachment-card:focus-visible{transform:translateY(-2px);box-shadow:0 18px 34px rgba(15,23,42,.10);border-color:#bfd7f2;outline:none}
.attachment-card img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:18px;background:#eef4ff}
.attachment-card__badge{position:absolute;top:12px;left:12px;z-index:1;width:36px;height:36px;border-radius:14px;display:grid;place-items:center;background:rgba(15,23,42,.44);color:#fff;backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.18);box-shadow:0 8px 16px rgba(15,23,42,.16)}
.attachment-card__badge svg{width:18px;height:18px}
.attachment-card__meta{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:.78rem;color:#5b677d}
.media-modal__dialog{background:linear-gradient(180deg,#ffffff,#f7fbff);border:1px solid #dbe8f7;box-shadow:0 28px 64px rgba(15,23,42,.24)}
.media-close-btn{background:#edf4ff;color:#2f4768}
.media-close-btn--danger{background:#fff1f2;color:#b42318}
.media-source-btn{box-shadow:0 16px 28px rgba(15,23,42,.16)}
.media-source-btn--camera{background:linear-gradient(135deg,#4f46e5,#2563eb 55%,#38bdf8)}
.media-source-btn--gallery{background:linear-gradient(135deg,#0f766e,#14b8a6 55%,#34d399)}
.media-modal--danger .media-modal__dialog{width:min(100%,420px)}
.media-modal__dialog--confirm{gap:18px}
.delete-confirm-card{display:grid;justify-items:center;gap:10px;padding:18px;border-radius:24px;background:linear-gradient(180deg,#fff5f5,#fffaf7);border:1px solid #f4d4d4;text-align:center}
.delete-confirm-card__icon{width:62px;height:62px;border-radius:22px;display:grid;place-items:center;background:linear-gradient(180deg,#fff0f0,#ffe7e7);color:#dc2626;box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}
.delete-confirm-card__icon svg{width:30px;height:30px}
.confirm-actions-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width:640px){
  .mobile-topbar{padding:2px 2px 0}
  .mobile-topbar h1{font-size:1.16rem}
  .nav-links-icons-modern{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
  .nav-tile-modern{min-height:74px;border-radius:22px}
  .nav-icon-modern{width:48px;height:48px;border-radius:17px}
  .btn{min-height:48px;padding:12px 14px}
  .attachment-card{padding:9px;border-radius:18px}
  .attachment-card img{border-radius:14px}
  .attachment-card__badge{top:10px;left:10px;width:34px;height:34px;border-radius:12px}
  .media-modal{padding:8px}
  .media-modal__dialog{width:calc(100% - 8px);border-radius:26px;padding:14px;gap:14px;position:absolute;left:4px;right:4px;bottom:4px}
  .confirm-actions-grid{grid-template-columns:1fr}
}

/* v9 image overlay actions + calmer mobile palette */
:root{
  --bg:#edf5ff;
  --card:#ffffff;
  --text:#10253f;
  --muted:#64748b;
  --line:#d7e5f5;
  --brand:#2563eb;
  --brand-2:#0ea5a4;
  --shadow:0 18px 42px rgba(15,23,42,.08);
}
body{
  background:
    radial-gradient(circle at 100% 0,rgba(37,99,235,.09),transparent 24%),
    radial-gradient(circle at 0 0,rgba(14,165,164,.09),transparent 22%),
    linear-gradient(180deg,#f8fbff 0,#edf5ff 52%,#ecf3fb 100%);
}
.mobile-first-sidebar{
  background:
    radial-gradient(circle at top,rgba(255,255,255,.12),transparent 24%),
    linear-gradient(180deg,#10213b 0,#16345f 52%,#18526f 100%);
}
.user-chip{
  background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.08));
}
.nav-tile-modern{
  box-shadow:0 16px 34px rgba(8,15,30,.18), inset 0 1px 0 rgba(255,255,255,.12);
}
.nav-icon-modern{
  box-shadow:0 12px 26px rgba(8,15,30,.22), inset 0 1px 0 rgba(255,255,255,.18);
}
.nav-tile-modern.active,.nav-tile-modern:hover,.nav-tile-modern:focus-visible{
  transform:translateY(-2px) scale(1.01);
}
.btn,.media-source-btn,.attachment-action{
  -webkit-tap-highlight-color:transparent;
}
.attachments-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.attachment-card{padding:10px 10px 12px;border-radius:22px;background:linear-gradient(180deg,#fff,#f7fbff);border:1px solid #d9e7f6;box-shadow:0 14px 30px rgba(15,23,42,.06)}
.attachment-card__media{position:relative;overflow:hidden;border-radius:18px}
.attachment-card__media img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:18px;background:#edf4ff;cursor:zoom-in}
.attachment-card__badge{top:10px;right:10px;left:auto;background:rgba(15,23,42,.36)}
.attachment-action{position:absolute;z-index:2;border:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;color:#fff;cursor:pointer;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:transform .16s ease,box-shadow .16s ease,background .16s ease}
.attachment-action:hover,.attachment-action:focus-visible{transform:translateY(-1px);outline:none}
.attachment-action svg{width:18px;height:18px;display:block}
.attachment-action--corner{top:10px;left:10px;width:40px;height:40px;border-radius:14px;background:linear-gradient(180deg,rgba(239,68,68,.92),rgba(220,38,38,.92));box-shadow:0 10px 20px rgba(220,38,38,.22)}
.attachment-action--preview-pill{right:10px;bottom:10px;padding:10px 14px;border-radius:999px;background:linear-gradient(180deg,rgba(15,23,42,.78),rgba(30,41,59,.72));box-shadow:0 12px 24px rgba(15,23,42,.20);font-weight:800;font-size:.82rem}
.attachment-action--preview-pill span{line-height:1}
.media-modal--preview .media-modal__dialog{width:min(100%,560px);padding:16px;background:linear-gradient(180deg,#ffffff,#f7fbff)}
.media-modal__dialog--preview{gap:14px}
.image-preview-stage{min-height:300px;display:grid;place-items:center;padding:12px;border-radius:26px;background:linear-gradient(180deg,#f7faff,#eef5ff);border:1px solid #d8e6f5;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}
.image-preview-stage img{display:block;max-width:100%;max-height:min(72vh,520px);object-fit:contain;border-radius:22px;box-shadow:0 18px 36px rgba(15,23,42,.12)}
.image-preview-meta{display:grid;justify-items:center;text-align:center;color:#5f738d;font-size:.9rem;padding:4px 8px}
.media-close-btn{box-shadow:0 8px 18px rgba(15,23,42,.08)}
@media (max-width:900px){
  .attachments-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .attachments-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .attachment-card{padding:8px 8px 10px;border-radius:18px}
  .attachment-card__media,.attachment-card__media img{border-radius:14px}
  .attachment-card__badge{top:8px;right:8px;width:34px;height:34px;border-radius:12px}
  .attachment-action--corner{top:8px;left:8px;width:36px;height:36px;border-radius:12px}
  .attachment-action--preview-pill{right:8px;bottom:8px;padding:9px 12px;font-size:.78rem;gap:6px}
  .attachment-action--preview-pill svg{width:16px;height:16px}
  .media-modal--preview .media-modal__dialog{width:calc(100% - 8px);border-radius:26px;padding:14px;position:absolute;left:4px;right:4px;bottom:4px}
  .image-preview-stage{min-height:240px;border-radius:22px}
  .image-preview-stage img{max-height:62vh;border-radius:18px}
}

/* v10 admin maintenance + security */
.maintenance-grid{grid-template-columns:repeat(2,minmax(320px,1fr));align-items:start}
.maintenance-card{background:linear-gradient(180deg,#fff,#f8fbff);border-color:#dce7f5}
.maintenance-card .field input[type="file"]{padding:11px 12px;background:#fff}
.maintenance-form-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}
.maintenance-meta-grid{grid-template-columns:repeat(2,minmax(160px,1fr))}
.maintenance-card--security{background:linear-gradient(180deg,#f7fbff,#f2f8ff)}
@media (max-width:860px){.maintenance-grid{grid-template-columns:1fr}.maintenance-form-grid,.maintenance-meta-grid{grid-template-columns:1fr}}

/* v11 activity log */
.nav-links-admin{display:flex;flex-wrap:wrap;gap:8px}
.nav-links-admin a{white-space:nowrap}
.toolbar-wrap{flex-wrap:wrap}
.toolbar-tight{gap:8px}
.stack-xs{display:grid;gap:6px}
.activity-grid{gap:14px}
.activity-card{border-radius:24px}
.activity-card__top{align-items:flex-start;gap:12px}
.activity-card__title{margin:0;font-size:1rem;line-height:1.65}
.activity-meta-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.activity-meta-list{display:flex;flex-wrap:wrap;gap:8px}
.activity-meta-pill{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border-radius:999px;background:linear-gradient(180deg,#f8fbff,#eef5ff);border:1px solid #d9e7f6;color:#34506e;font-size:.84rem}
.activity-meta-pill strong{color:#122b47;font-weight:800}
@media (max-width:640px){
  .activity-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .activity-card{border-radius:20px}
  .activity-meta-pill{width:100%;justify-content:space-between;border-radius:16px}
}

.print-preview-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 10px 0 14px;
}

.btn-print-preview[disabled] {
  opacity: .55;
  cursor: not-allowed;
}

.print-preview-modal__dialog {
  width: min(100%, 560px);
  max-width: 560px;
}

.print-preview-toolbar {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}

.print-sheet-stage {
  position: relative;
  width: 100%;
  aspect-ratio: 210 / 297;
  border: 1px solid rgba(15, 23, 42, .1);
  border-radius: 18px;
  overflow: hidden;
  background: #fff;
  box-shadow: inset 0 0 0 1px rgba(148, 163, 184, .08);
}

.print-sheet-background {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  user-select: none;
  -webkit-user-drag: none;
}

.print-sheet-empty {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 24px;
  color: #64748b;
  background: repeating-linear-gradient(
    -45deg,
    rgba(226, 232, 240, .45),
    rgba(226, 232, 240, .45) 10px,
    rgba(248, 250, 252, .95) 10px,
    rgba(248, 250, 252, .95) 20px
  );
}

.print-sheet-text {
  position: absolute;
  right: auto;
  left: 8%;
  top: 24%;
  max-width: 84%;
  white-space: pre-wrap;
  line-height: 1.65;
  font-size: 24px;
  font-weight: 700;
  color: #111827;
  cursor: grab;
  touch-action: none;
  user-select: none;
  text-shadow: 0 1px 2px rgba(255, 255, 255, .55);
}

.print-sheet-text:active {
  cursor: grabbing;
}

.doctor-forms-panel .panel-head {
  align-items: flex-start;
  gap: 12px;
}

.doctor-form-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 16px;
}

.doctor-form-card {
  border: 1px solid rgba(148, 163, 184, .22);
  border-radius: 18px;
  padding: 14px;
  background: #fff;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.doctor-form-card__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.doctor-form-card__head h3 {
  margin: 0;
  font-size: 1rem;
}

.doctor-form-preview-box {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 5;
  border-radius: 16px;
  overflow: hidden;
  border: 1px dashed rgba(148, 163, 184, .55);
  background: #f8fafc;
}

.doctor-form-preview-box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.doctor-form-preview-box__empty {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 18px;
  color: #64748b;
}

.doctor-form-file-field input[type="file"] {
  width: 100%;
}

@media (max-width: 640px) {
  .print-preview-toolbar {
    grid-template-columns: 1fr;
  }

  .print-preview-modal__dialog {
    width: min(100%, 96vw);
  }
}


.final-print-sheet {
  position: fixed;
  inset: 0;
  width: 210mm;
  height: 297mm;
  margin: 0 auto;
  background: #fff;
  overflow: hidden;
  pointer-events: none;
  opacity: 0;
  z-index: -1;
}

.final-print-sheet__background {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;
}

.final-print-sheet__text {
  position: absolute;
  left: 8%;
  top: 24%;
  width: 84%;
  white-space: pre-wrap;
  line-height: 1.65;
  font-size: 24px;
  font-weight: 700;
  color: #111827;
  text-shadow: 0 1px 2px rgba(255, 255, 255, .55);
  z-index: 2;
}

@media print {
  @page {
    size: A4 portrait;
    margin: 0;
  }

  html,
  body {
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  body.print-rendering {
    margin: 0 !important;
    padding: 0 !important;
    width: 210mm !important;
    min-height: 297mm !important;
    height: 297mm !important;
    overflow: hidden !important;
  }

  body.print-rendering > *:not(.final-print-sheet) {
    display: none !important;
  }

  body.print-rendering .final-print-sheet,
  body.print-rendering .final-print-sheet * {
    visibility: visible !important;
  }

  body.print-rendering .final-print-sheet {
    display: block !important;
    position: relative !important;
    inset: auto !important;
    opacity: 1 !important;
    z-index: 9999 !important;
    width: 210mm !important;
    height: 297mm !important;
    min-height: 297mm !important;
    max-height: 297mm !important;
    margin: 0 !important;
    page-break-after: avoid !important;
    break-after: avoid !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
    overflow: hidden !important;
    pointer-events: none !important;
  }

  body.print-rendering .final-print-sheet__background {
    display: block !important;
  }
}

/* v10 clinic license UI */
.topbar-stack{display:grid;gap:12px;width:100%}
.doctor-license-row{display:flex;flex-wrap:wrap;gap:12px;align-items:stretch}
.doctor-banner,.license-banner,.license-inline-panel,.license-current-card,.license-panel{border:1px solid #d8e5f5;box-shadow:0 16px 34px rgba(15,23,42,.06)}
.doctor-banner{min-width:220px;padding:14px 16px;border-radius:22px;background:linear-gradient(135deg,#f8fbff,#eef5ff)}
.doctor-banner__label{display:block;color:#5f738d;font-size:.82rem;margin-bottom:6px}
.doctor-banner strong{font-size:1rem;color:#163155}
.license-banner{flex:1;min-width:280px;display:flex;gap:12px;align-items:center;padding:14px 16px;border-radius:24px;background:linear-gradient(135deg,#f8fbff,#ffffff)}
.license-banner__badge,.license-badge{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:999px;font-size:.8rem;font-weight:800;white-space:nowrap}
.license-banner__body{display:grid;gap:4px}
.license-banner__body strong{font-size:1rem}
.license-banner__body span,.license-inline-panel__meta{color:#5f738d;font-size:.84rem}
.license-banner--good,.license-inline-panel--good,.license-current-card--good{background:linear-gradient(135deg,#ecfdf5,#f8fffb);border-color:#b7ebd1}
.license-banner--good .license-banner__badge,.license-badge--good{background:#d1fae5;color:#047857}
.license-banner--soon,.license-inline-panel--soon,.license-current-card--soon{background:linear-gradient(135deg,#fff7ed,#fffdf7);border-color:#fed7aa}
.license-banner--soon .license-banner__badge,.license-badge--soon{background:#ffedd5;color:#c2410c}
.license-banner--critical,.license-inline-panel--critical,.license-current-card--critical{background:linear-gradient(135deg,#fff1f2,#fff7ed);border-color:#fecdd3}
.license-banner--critical .license-banner__badge,.license-badge--critical{background:#ffe4e6;color:#be123c}
.license-banner--expired,.license-inline-panel--expired,.license-current-card--expired{background:linear-gradient(135deg,#fff1f2,#fff5f5);border-color:#fbcfe8}
.license-banner--expired .license-banner__badge,.license-badge--expired{background:#fee2e2;color:#b91c1c}
.license-banner--neutral,.license-inline-panel--neutral,.license-current-card--neutral,.license-panel{background:linear-gradient(135deg,#f8fbff,#ffffff);border-color:#d8e5f5}
.license-banner--neutral .license-banner__badge,.license-badge--neutral{background:#edf4ff;color:#3153c4}
.license-panel{padding:16px;border-radius:24px;display:grid;gap:14px}
.license-panel__head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap}
.license-checkbox{padding:12px 14px;border-radius:18px;background:#f8fbff;border:1px solid #d9e6f5;align-items:center}
.subtle-checkbox{background:#fff}
.license-current-card{padding:14px 16px;border-radius:20px;display:grid;gap:12px}
.license-current-card__row{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap}
.clinic-status-stack{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end}
.clinic-admin-card{gap:14px}
.license-inline-panel{display:grid;gap:8px;padding:14px 16px;border-radius:20px}
.license-inline-panel strong{font-size:.98rem}
.license-inline-panel__meta{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
@media (max-width:640px){
  .doctor-license-row{display:grid;grid-template-columns:1fr}
  .license-banner,.doctor-banner,.license-inline-panel,.license-current-card{min-width:0}
  .license-inline-panel__meta,.license-current-card__row{display:grid;gap:6px}
}

.expired-summary-banner {
  border-width: 1px;
  box-shadow: 0 14px 36px rgba(220, 38, 38, .12);
}

.expired-card {
  border: 1px solid rgba(220, 38, 38, .16);
  box-shadow: 0 18px 42px rgba(15, 23, 42, .08);
}

.expired-meta-grid {
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
}

.expired-delete-form {
  margin-top: .5rem;
  padding-top: .75rem;
  border-top: 1px dashed rgba(220, 38, 38, .22);
}

.expired-delete-btn {
  box-shadow: 0 12px 28px rgba(220, 38, 38, .2);
}

.field-inline {
  display: flex;
  align-items: center;
  gap: .75rem;
}

.field-inline select {
  min-width: 170px;
}

@media (max-width: 720px) {
  .field-inline {
    display: grid;
    gap: .45rem;
  }
}


/* v11 admin search helpers */
.stack-sm{display:grid;gap:.55rem}
.input-lite{width:100%;padding:.8rem 1rem;border-radius:16px;border:1px solid #d8e5f5;background:#f8fbff;color:#163155;outline:none}
.input-lite:focus{border-color:#7aa2ff;box-shadow:0 0 0 3px rgba(122,162,255,.14)}
.maintenance-card--search{margin-bottom:.35rem}


/* v12 searchable dropdowns inside clinic selects */
.search-select{position:relative;width:100%}
.search-select__native{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px;inset-inline-start:0;top:0}
.search-select__toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;border-radius:18px;border:1px solid #d7dfeb;background:linear-gradient(180deg,#fff,#fbfdff);color:var(--text);cursor:pointer;min-height:52px;box-shadow:0 10px 24px rgba(15,23,42,.04)}
.search-select__toggle:focus{outline:none;border-color:rgba(37,99,235,.45);box-shadow:0 0 0 4px rgba(37,99,235,.10)}
.search-select__label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right}
.search-select__arrow{flex:0 0 auto;font-size:1rem;color:var(--muted);transition:transform .16s ease}
.search-select.is-open .search-select__arrow{transform:rotate(180deg)}
.search-select__panel{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:60;padding:12px;border-radius:22px;border:1px solid #d7e5f5;background:linear-gradient(180deg,#fff,#f8fbff);box-shadow:0 22px 44px rgba(15,23,42,.14);display:none;gap:10px}
.search-select.is-open .search-select__panel{display:grid}
.search-select__search-wrap{padding-bottom:2px}
.search-select__search{width:100%;padding:12px 14px;border-radius:16px;border:1px solid #d7dfeb;background:#fff;color:var(--text)}
.search-select__search:focus{outline:none;border-color:rgba(37,99,235,.45);box-shadow:0 0 0 4px rgba(37,99,235,.10)}
.search-select__options{display:grid;gap:8px;max-height:260px;overflow:auto;padding-inline-end:2px}
.search-select__option{width:100%;border:none;text-align:right;padding:12px 14px;border-radius:16px;background:#fff;color:var(--text);cursor:pointer;border:1px solid #e5edf6;transition:background .15s ease,transform .15s ease,border-color .15s ease}
.search-select__option:hover,.search-select__option:focus{outline:none;background:#f8fbff;border-color:#bfd7f2;transform:translateY(-1px)}
.search-select__option.is-selected{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8;font-weight:700}
.search-select__empty{padding:14px;border:1px dashed #cbd5e1;border-radius:16px;text-align:center;color:var(--muted);background:#fff}
@media (max-width:640px){.search-select__panel{padding:10px;border-radius:20px}.search-select__toggle{min-height:50px}}

/* v13 expired items and visible texts */
.expired-groups{margin-top:.25rem}
.expired-group-card{border:1px solid #e2e8f0}
.expired-checklist{max-height:320px;overflow:auto;padding-inline-end:4px}
.expired-check-item{display:flex;align-items:flex-start;gap:.8rem;padding:.8rem .9rem;border:1px solid #e5edf6;border-radius:16px;background:#fff}
.expired-check-item input{margin-top:.25rem;inline-size:18px;block-size:18px}
.expired-check-item__body{display:grid;gap:.2rem}
.ui-text-section summary{cursor:pointer;list-style:none}
.ui-text-section summary::-webkit-details-marker{display:none}
.ui-text-item__original{padding:.85rem 1rem;border-radius:16px;background:#f8fbff;border:1px solid #dbe6f4;white-space:pre-wrap;word-break:break-word}
.ui-text-item textarea{min-height:92px;resize:vertical}


.nav-links-icons-modern.nav-links-has-switch{grid-template-columns:repeat(6,minmax(0,1fr))}
.nav-tile-switch{appearance:none;-webkit-appearance:none;width:100%;border:none;cursor:pointer;font:inherit;color:#fff}
.theme-switch{--accent-1:#38bdf8;--accent-2:#34d399;--surface-1:rgba(56,189,248,.18);--surface-2:rgba(52,211,153,.12)}
.nav-tile-switch .nav-icon-modern{background:radial-gradient(circle at 30% 30%,rgba(56,189,248,.32),rgba(255,255,255,.08))}
.doctor-switch-modal__dialog{width:min(100%,420px);margin:10vh auto 0;padding:18px 18px 16px}
.doctor-switch-modal__head{align-items:center}
.doctor-switch-modal__form .field span{display:block;margin-bottom:8px;font-weight:700;color:#163155}
.doctor-switch-modal__form select{width:100%;min-height:52px;padding:12px 14px;border-radius:18px;border:1px solid #d7dfeb;background:#fff}
.doctor-switch-modal__current{padding:10px 12px;border-radius:16px;background:#f8fbff;border:1px solid #d8e5f5}
.doctor-switch-modal__actions{grid-template-columns:1fr 1fr}
@media (max-width:640px){
  .nav-links-icons-modern.nav-links-has-switch{grid-template-columns:repeat(3,minmax(0,1fr))}
  .doctor-switch-modal__dialog{width:calc(100% - 16px);margin:0 auto;padding:16px 14px 18px;position:absolute;left:8px;right:8px;bottom:8px;top:auto;border-radius:24px}
  .doctor-switch-modal__actions{grid-template-columns:1fr}
}
.theme-search{--accent-1:#6366f1;--accent-2:#06b6d4;--surface-1:rgba(99,102,241,.24);--surface-2:rgba(6,182,212,.14)}
.nav-links-pharmacist{grid-template-columns:repeat(3,minmax(0,1fr))}
.clinic-card__meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.clinic-card__meta .mini-stat{padding:12px;border-radius:18px;background:#f8fbff;border:1px solid #d8e5f5;display:grid;gap:4px}
.clinic-card__meta .mini-stat span{font-size:.8rem;color:var(--muted)}
.clinic-card__meta .mini-stat strong{font-size:1.05rem;color:#163155}
.pharmacist-page-head{display:grid;gap:10px}
.pharmacist-page-head .actions{justify-content:flex-start}
.treatment-card{padding:16px;border-radius:24px;background:linear-gradient(180deg,#fff,#fbfdff);border:1px solid #dce8f6;box-shadow:0 20px 40px rgba(15,23,42,.06);display:grid;gap:14px}
.treatment-card__body{white-space:pre-wrap;line-height:1.9;color:#163155}
.treatment-card__head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap}
.treatment-card__meta{display:flex;flex-wrap:wrap;gap:8px}
@media (max-width:640px){.clinic-card__meta{grid-template-columns:1fr}.nav-links-pharmacist{grid-template-columns:repeat(3,minmax(0,1fr))}}

.nav-label {
  display: block;
  margin-top: 0.35rem;
  font-size: 0.72rem;
  color: #64748b;
  text-align: center;
}

.quick-link.is-disabled,
.btn.is-disabled,
a.is-disabled {
  opacity: 0.45;
  pointer-events: none;
  filter: grayscale(0.2);
}

.archive-inline-actions {
  flex-wrap: wrap;
  gap: 0.5rem;
}

.archive-stats-result {
  padding: 0.7rem 0.85rem;
  border-radius: 0.9rem;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  font-size: 0.85rem;
  line-height: 1.7;
}

.archive-stats-result--inline {
  margin-top: 0.75rem;
}

.archive-stats-list {
  margin-top: 0.45rem;
  display: grid;
  gap: 0.25rem;
}

.archive-stats-line {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  font-size: 0.8rem;
}

.field--doctor-priority {
  order: -1;
}

@media (max-width: 768px) {
  .field--doctor-priority {
    grid-column: 1 / -1;
  }
}

.dashboard-mobile-shell{gap:12px}.dashboard-head-compact{padding:16px}.dashboard-filter-chips{gap:6px}.chip{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--text);text-decoration:none;font-size:.85rem}.chip-active{background:#eef6ff;border-color:#9dc7ff;color:#0f3d75}.dashboard-stat-card{padding:14px 16px}.dashboard-stat-grid{display:grid;gap:10px}.dashboard-stat-grid--compact{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-stat-grid strong{font-size:1.2rem;display:block}.dashboard-stat-grid .label{margin-bottom:6px}.dashboard-today-shell .section-head{margin-bottom:4px}
@media (max-width:640px){.dashboard-head-compact{padding:14px}.dashboard-stat-card{padding:12px}.dashboard-stat-grid--compact{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.dashboard-stat-grid strong{font-size:1.05rem}.chip{padding:7px 10px;font-size:.8rem}}


.dashboard-stats-panel{padding:14px 16px}
.dashboard-stats-panel__head{margin-bottom:0}
.dashboard-stats-panel [data-stats-panel][hidden]{display:none !important}
.dashboard-stats-panel .btn.is-disabled{display:inline-flex}
@media (max-width:640px){.dashboard-stats-panel{padding:12px 14px}.dashboard-stats-panel .btn{width:100%}}

.clinic-service-settings{display:grid;gap:16px}.clinic-service-settings__head{display:grid;gap:6px}.clinic-service-settings__grid{display:grid;gap:14px}.clinic-service-card{padding:16px 18px}.clinic-service-card__head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap}.clinic-service-card__head h4{margin:0;font-size:1.02rem}.clinic-service-card__form-grid{align-items:end}.field--compact input[type="number"]{min-height:52px}.field--full{grid-column:1/-1}.btn[disabled],.btn:disabled{opacity:.55;cursor:not-allowed;filter:grayscale(.18)}input[disabled],select[disabled],textarea[disabled]{cursor:not-allowed;background:#f8fafc}@media (min-width:900px){.clinic-service-settings__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* error pages designer + public error screens */
.error-screen{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:18px;
  background:
    radial-gradient(circle at top right,var(--ep-page-bg-alt, #f7fbff),transparent 28%),
    linear-gradient(180deg,var(--ep-page-bg,#edf4ff) 0,var(--ep-page-bg-alt,#f7fbff) 100%);
}
.error-screen--deep{
  background:
    radial-gradient(circle at top right,rgba(37,99,235,.18),transparent 28%),
    linear-gradient(180deg,#0f1f39 0,#16345c 100%);
}
.error-screen--warm{
  background:
    radial-gradient(circle at top right,rgba(249,115,22,.14),transparent 30%),
    linear-gradient(180deg,#fff7ed 0,#fffdf8 100%);
}
.error-screen--glass{
  background:
    radial-gradient(circle at top right,rgba(14,165,164,.18),transparent 26%),
    radial-gradient(circle at top left,rgba(37,99,235,.12),transparent 24%),
    linear-gradient(180deg,#eef6ff 0,#f8fbff 100%);
}
.error-phone-shell{
  width:min(100%, 430px);
  margin-inline:auto;
}
.error-card{
  position:relative;
  overflow:hidden;
  border:1px solid var(--ep-card-border,#dce8f6);
  background:linear-gradient(180deg,var(--ep-card-bg,#fff),#fbfdff);
  border-radius:30px;
  box-shadow:0 26px 70px rgba(15,23,42,.14);
  padding:18px;
}
.error-card--wide{width:min(100%,460px)}
.error-card__glow{
  position:absolute;
  inset:auto -40px -40px auto;
  width:150px;
  height:150px;
  border-radius:999px;
  background:radial-gradient(circle,var(--ep-accent-alt,#14b8a6),transparent 72%);
  opacity:.14;
  pointer-events:none;
}
.error-card__icon{
  width:82px;
  height:82px;
  margin:0 auto 14px;
  border-radius:28px;
  display:grid;
  place-items:center;
  color:#fff;
  font-weight:900;
  font-size:1.28rem;
  background:linear-gradient(135deg,var(--ep-accent,#2563eb),var(--ep-accent-alt,#14b8a6));
  box-shadow:0 18px 34px rgba(37,99,235,.20);
}
.error-card--icon-outline .error-card__icon{
  background:transparent;
  color:var(--ep-accent,#2563eb);
  border:2px solid color-mix(in srgb, var(--ep-accent,#2563eb) 60%, white 40%);
  box-shadow:none;
}
.error-card--icon-soft .error-card__icon{
  background:linear-gradient(180deg,color-mix(in srgb, var(--ep-accent,#2563eb) 15%, white 85%),color-mix(in srgb, var(--ep-accent-alt,#14b8a6) 10%, white 90%));
  color:var(--ep-accent,#2563eb);
  box-shadow:none;
}
.error-card__body{color:var(--ep-message,#35506f);text-align:var(--ep-align,right)}
.error-card__badge{
  width:max-content;
  max-width:100%;
  padding:8px 12px;
  border-radius:999px;
  background:color-mix(in srgb, var(--ep-accent,#2563eb) 12%, white 88%);
  color:var(--ep-accent,#2563eb);
  font-size:.82rem;
  font-weight:800;
}
.error-card__title{
  margin:0;
  color:var(--ep-title,#10253f);
  font-size:1.6rem;
  line-height:1.25;
  font-weight:var(--ep-title-weight,900);
}
.error-card__message{
  color:var(--ep-message,#35506f);
  font-size:1rem;
  line-height:1.9;
  font-weight:var(--ep-message-weight,500);
}
.error-card__support{
  color:var(--ep-muted,#70839a);
  font-size:.92rem;
  line-height:1.85;
  padding:12px 14px;
  border-radius:18px;
  background:linear-gradient(180deg,#f8fbff,#f0f6ff);
  border:1px solid color-mix(in srgb, var(--ep-card-border,#dce8f6) 75%, white 25%);
}
.error-card__request{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center;
  border:1px dashed color-mix(in srgb, var(--ep-card-border,#dce8f6) 70%, white 30%);
  border-radius:18px;
  padding:12px 14px;
  color:var(--ep-muted,#70839a);
  font-size:.9rem;
}
.error-card__request strong{font-size:.96rem;color:var(--ep-title,#10253f)}
.error-card__actions{display:grid;gap:10px}
.error-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding:12px 16px;
  border-radius:18px;
  text-decoration:none;
  font-weight:800;
  background:linear-gradient(135deg,var(--ep-button-bg,#1d4ed8),var(--ep-accent-alt,#14b8a6));
  color:var(--ep-button-text,#fff);
  box-shadow:0 16px 28px rgba(15,23,42,.12);
}
.error-card--buttons-soft .error-btn,
.error-btn--subtle{
  background:linear-gradient(180deg,#ffffff,#f6faff);
  color:var(--ep-title,#10253f);
  border:1px solid color-mix(in srgb, var(--ep-card-border,#dce8f6) 75%, white 25%);
  box-shadow:none;
}
.error-card--buttons-outline .error-btn{
  background:transparent;
  color:var(--ep-title,#10253f);
  border:1.5px solid color-mix(in srgb, var(--ep-accent,#2563eb) 35%, var(--ep-card-border,#dce8f6) 65%);
  box-shadow:none;
}
.error-card__debug{border-top:1px solid #e6eef8;padding-top:10px;color:#52657e}
.error-card__debug pre{white-space:pre-wrap;direction:ltr;text-align:left;font-size:.78rem}
.error-admin-overview{display:flex;gap:10px;overflow:auto;padding-bottom:4px}
.error-admin-overview__pill{
  min-width:110px;
  display:grid;
  gap:4px;
  padding:12px 14px;
  border-radius:18px;
  text-decoration:none;
  background:linear-gradient(180deg,#fff,#f7fbff);
  border:1px solid #dce8f6;
  color:#163155;
  box-shadow:0 12px 26px rgba(15,23,42,.06);
}
.error-admin-overview__pill strong{font-size:1.06rem}
.error-admin-card{scroll-margin-top:20px}
.error-admin-card__header h3{margin:0 0 4px}
.error-admin-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(320px,.9fr);gap:18px;align-items:start}
.error-preview-panel{position:sticky;top:12px}
.error-preview-phone{
  min-height:780px;
  border-radius:34px;
  border:1px solid #dbe7f5;
  overflow:hidden;
  box-shadow:inset 0 0 0 6px rgba(255,255,255,.35);
}
.error-preview-phone .error-phone-shell{padding:14px;width:100%}
.error-preview-phone .error-card{transform:scale(.92);transform-origin:top center}
.error-color-grid .field input[type="color"]{min-height:52px;padding:6px}
.color-field span{margin-bottom:6px;display:block}
.sticky-form-actions{position:sticky;bottom:10px;justify-content:flex-start}
@media (max-width:980px){
  .error-admin-grid{grid-template-columns:1fr}
  .error-preview-panel{position:static}
  .error-preview-phone{min-height:unset}
}
@media (max-width:640px){
  .error-screen{padding:10px}
  .error-card{border-radius:26px;padding:16px}
  .error-card__icon{width:72px;height:72px;border-radius:24px;font-size:1.16rem}
  .error-card__title{font-size:1.34rem}
  .error-card__message{font-size:.95rem;line-height:1.85}
  .error-card__request{display:grid;justify-content:flex-start}
  .error-admin-overview__pill{min-width:96px;padding:10px 12px;border-radius:16px}
  .error-preview-phone{border-radius:28px}
  .error-preview-phone .error-card{transform:none}
}

.tag.danger{background:#fef2f2;color:#b91c1c}


/* hotfix-shortcuts-mobile-v2 */
@media (max-width:640px){
  .nav-links-icons-modern{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .nav-links-icons-modern.nav-links-has-switch{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nav-links-pharmacist{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nav-tile-modern{min-height:96px;padding:14px 12px;border-radius:24px}
  .nav-icon-modern{width:56px;height:56px;border-radius:18px}
  .nav-icon-modern svg{width:26px;height:26px}
  .nav-label{margin-top:.45rem;font-size:.9rem;line-height:1.45;font-weight:800}
}
@media (max-width:400px){
  .nav-links-icons-modern,.nav-links-icons-modern.nav-links-has-switch,.nav-links-pharmacist{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .nav-tile-modern{min-height:88px;padding:12px 10px;border-radius:22px}
  .nav-icon-modern{width:52px;height:52px;border-radius:17px}
  .nav-icon-modern svg{width:24px;height:24px}
  .nav-label{font-size:.84rem}
}
.expired-group-toggle{display:inline-flex;align-items:center;gap:.55rem;font-weight:800;color:#0f2741;cursor:pointer}
.expired-group-toggle input{inline-size:18px;block-size:18px;accent-color:#0f2741}
.expired-group-toggle--disabled{cursor:not-allowed;opacity:.58}

/* hotfix-catalog-mobile-optional-phone-v3 */
.catalog-page{gap:12px;width:100%;max-width:100%;overflow-x:hidden}
.catalog-page .panel{max-width:100%}
.catalog-page-head h2,.catalog-section-head h2{line-height:1.35}
.catalog-search-form{display:grid!important;grid-template-columns:minmax(220px,1fr) auto;gap:10px;align-items:end;width:100%}
.catalog-search-form--secretary{grid-template-columns:minmax(220px,.9fr) minmax(220px,1fr) auto}
.catalog-search-form input[type="search"],.catalog-search-form .search-select,.catalog-search-form .btn{min-height:52px}
.catalog-form-grid{grid-template-columns:minmax(180px,.65fr) minmax(240px,1fr)}
.catalog-cards-grid,.catalog-print-forms-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.catalog-section-panel,.catalog-hero-panel,.catalog-add-panel,.catalog-print-panel{border-radius:24px}
.catalog-item-card{padding:14px;gap:12px;border-radius:22px;overflow:hidden}
.catalog-item-title{font-size:1rem;line-height:1.55;overflow-wrap:anywhere;word-break:break-word}
.catalog-card-actions{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%}
.catalog-card-actions .inline-form,.catalog-card-actions .btn{width:100%;min-width:0}
.catalog-card-actions .btn{padding-inline:10px;white-space:nowrap}
.catalog-print-forms-grid .panel{min-width:0}
.catalog-print-forms-grid input[type="file"]{width:100%;max-width:100%}
.catalog-page .empty{min-width:0;width:100%}
@media (max-width:640px){
  .catalog-page{gap:10px}
  .catalog-page .panel{padding:14px;border-radius:22px}
  .catalog-page .panel-head,.catalog-page .section-head{display:grid;grid-template-columns:1fr;align-items:start;gap:8px}
  .catalog-page .counter{width:max-content}
  .catalog-search-form,.catalog-search-form--secretary,.catalog-form-grid{grid-template-columns:1fr!important;gap:10px}
  .catalog-search-form input[type="search"],.catalog-search-form .search-select__toggle,.catalog-page .field input,.catalog-page .field select{min-height:52px;font-size:16px}
  .catalog-cards-grid,.catalog-print-forms-grid{grid-template-columns:1fr;gap:10px}
  .catalog-item-card{padding:13px;border-radius:20px}
  .catalog-item-card .status-line{display:grid;grid-template-columns:1fr auto;align-items:start;gap:8px}
  .catalog-card-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
  .catalog-card-actions .btn{min-height:44px;padding:10px 6px;font-size:.82rem;border-radius:14px}
  .catalog-page .doctor-banner{display:grid;gap:5px;padding:12px;border-radius:18px}
  .catalog-page .search-select__panel{position:fixed;left:10px;right:10px;top:auto;bottom:10px;z-index:1300;max-height:74vh;overflow:auto;border-radius:24px;padding:12px;box-shadow:0 24px 60px rgba(15,23,42,.24)}
  .catalog-page .search-select__options{max-height:54vh}
  .catalog-modal__dialog{max-height:calc(100vh - 16px);overflow:auto}
}
@media (max-width:380px){
  .catalog-card-actions{grid-template-columns:1fr}
  .catalog-card-actions .btn{font-size:.88rem;min-height:44px}
}

/* xclinic-lts-operations-progress */
.progress{height:9px;background:#e5e7eb;border-radius:999px;overflow:hidden;min-width:110px;margin-bottom:4px}
.progress span{display:block;height:100%;background:#2563eb;border-radius:999px;transition:width .2s ease}
.grid-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;align-items:end}
.grid-form label{display:grid;gap:6px;font-weight:700}
.grid-form input[type="number"]{min-height:42px;border:1px solid #d7dde8;border-radius:14px;padding:8px 10px;background:#fff}
.form-row-full{grid-column:1/-1}
.inline-check{display:inline-flex!important;grid-template-columns:none!important;align-items:center;gap:6px;margin:4px 8px 4px 0;font-weight:600}


/* xclinic-extracted-layout-css: moved from src/Views/layouts/app.php for browser caching. */
.sidebar-site-brand{display:inline-flex;align-items:center;gap:10px;min-width:0}.sidebar-site-brand__icon{width:28px;height:28px;object-fit:cover;border-radius:8px;flex:0 0 28px;box-shadow:0 8px 18px rgba(37,99,235,.2);background:#fff}.sidebar-site-brand .brand{margin:0}.sidebar-site-brand--icon-only{min-height:28px}.sidebar-site-brand--icon-only .sidebar-site-brand__icon{width:30px;height:30px;flex-basis:30px}.app-layout-body{min-height:100vh;display:flex;flex-direction:column}.app-layout-body .app-shell{flex:1 0 auto}.app-footer-meta{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;max-width:min(calc(100vw - 24px),760px);width:fit-content;min-width:0;margin:10px auto 18px;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.88);border:1px solid rgba(220,230,245,.92);box-shadow:0 10px 24px rgba(15,23,42,.08);backdrop-filter:blur(10px);color:#48627f;font-size:.82rem;font-weight:800;text-align:center;line-height:1.2;direction:rtl}.app-footer-meta > span,.app-footer-meta > strong{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-footer-meta__sep{opacity:.4;flex:0 0 auto}@media (max-width:640px){.app-footer-meta{max-width:calc(100vw - 16px);margin:8px auto 14px;padding:6px 9px;font-size:.72rem;border-radius:16px;gap:4px}}

.ai-chat-fab{position:fixed;left:max(14px,env(safe-area-inset-left));bottom:calc(14px + env(safe-area-inset-bottom));z-index:90;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:74px;height:60px;padding:0 18px;border:none;border-radius:999px;background:linear-gradient(135deg,#163b8f,#2563eb 52%,#7c3aed);color:#fff;font-weight:900;font-size:1rem;letter-spacing:.02em;box-shadow:0 22px 52px rgba(15,23,42,.28);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}
.ai-chat-fab:hover{transform:translateY(-2px);box-shadow:0 28px 56px rgba(15,23,42,.34)}
.ai-chat-fab__spark{display:inline-flex;align-items:center;justify-content:center;width:31px;height:31px;border-radius:999px;background:rgba(255,255,255,.16);box-shadow:inset 0 1px 1px rgba(255,255,255,.16)}
.ai-chat-fab__label{display:inline-flex;align-items:center;justify-content:center;line-height:1}
.ai-chat-fab__label[hidden]{display:none!important}
.ai-chat-fab--icon-only{min-width:60px;width:60px;padding:0}
.ai-chat-panel{position:fixed;left:max(14px,env(safe-area-inset-left));bottom:calc(86px + env(safe-area-inset-bottom));z-index:95;width:min(430px,calc(100vw - 28px));height:min(720px,calc(100dvh - 112px - env(safe-area-inset-bottom)));display:flex;flex-direction:column;border:1px solid rgba(203,213,225,.95);border-radius:30px;background:linear-gradient(180deg,rgba(255,255,255,.99),rgba(247,250,255,.99));box-shadow:0 34px 80px rgba(15,23,42,.24);overflow:hidden;backdrop-filter:blur(16px)}
.ai-chat-panel[hidden]{display:none!important}
.ai-chat-panel__head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:18px 18px 14px;border-bottom:1px solid rgba(226,232,240,.9);background:radial-gradient(circle at top left,rgba(59,130,246,.22),transparent 34%),linear-gradient(135deg,rgba(15,23,42,.98),rgba(29,78,216,.96) 55%,rgba(124,58,237,.94));color:#fff}
.ai-chat-panel__title{display:grid;gap:8px;min-width:0;flex:1 1 auto}
.ai-chat-panel__eyebrow{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ai-chat-panel__eyebrow-badge{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 12px;border-radius:999px;background:rgba(255,255,255,.14);font-size:.88rem;font-weight:900;box-shadow:inset 0 1px 1px rgba(255,255,255,.16)}
.ai-chat-panel__eyebrow-badge[hidden]{display:none!important}
.ai-chat-panel__eyebrow-chip{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.1);font-size:.76rem;font-weight:800;color:rgba(255,255,255,.92);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ai-chat-panel__title h3{margin:0;font-size:1.12rem;line-height:1.2}
.ai-chat-panel__subtitle{margin:0;color:rgba(255,255,255,.9);line-height:1.6;font-size:.84rem}
.ai-chat-panel__subtitle[hidden]{display:none!important}
.ai-chat-panel__head-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.ai-chat-head-icon,.ai-chat-panel__close{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;border-radius:16px;background:rgba(255,255,255,.12);color:#fff;cursor:pointer;transition:background .18s ease,transform .18s ease}
.ai-chat-panel__close{font-size:1.15rem}
.ai-chat-head-icon:hover,.ai-chat-panel__close:hover{background:rgba(255,255,255,.2);transform:translateY(-1px)}
.ai-chat-head-icon:disabled,.ai-chat-panel__close:disabled{opacity:.55;cursor:not-allowed;transform:none}
.ai-chat-status{padding:12px 14px;border-bottom:1px solid rgba(226,232,240,.86);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;background:linear-gradient(180deg,rgba(244,247,255,.98),rgba(255,255,255,.98))}
.ai-chat-status__item{display:grid;gap:5px;padding:11px 12px;border-radius:18px;background:#fff;border:1px solid rgba(226,232,240,.95);box-shadow:0 10px 22px rgba(15,23,42,.05);text-align:center}
.ai-chat-status__label{font-size:.72rem;color:#64748b;font-weight:800;line-height:1.35}
.ai-chat-status__value{font-size:1rem;color:#0f172a;font-weight:900;line-height:1.2}
.ai-chat-messages{padding:16px;overflow:auto;display:flex;flex-direction:column;gap:12px;background:linear-gradient(180deg,rgba(239,246,255,.32),rgba(255,255,255,.98));flex:1 1 auto;min-height:260px;overscroll-behavior:contain}
.ai-chat-empty{margin:auto 0;padding:18px;border:1px dashed rgba(148,163,184,.35);border-radius:24px;background:#fff;color:#64748b;font-size:.92rem;line-height:1.7;box-shadow:0 12px 26px rgba(15,23,42,.04);display:grid;gap:10px;justify-items:start}
.ai-chat-empty__icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:18px;background:linear-gradient(135deg,rgba(37,99,235,.12),rgba(124,58,237,.12));color:#1d4ed8}
.ai-chat-empty__title{font-size:.92rem;font-weight:900;color:#0f172a}
.ai-chat-empty__body{font-size:.88rem;color:#64748b;line-height:1.75}
.ai-chat-row{display:flex;max-width:100%}
.ai-chat-row--user{justify-content:flex-start}
.ai-chat-row--assistant{justify-content:flex-end}
.ai-chat-bubble{max-width:min(88%,340px);padding:14px 15px;border-radius:24px;display:grid;gap:10px;box-shadow:0 14px 30px rgba(15,23,42,.08);line-height:1.82;position:relative;overflow:hidden;isolation:isolate}
.ai-chat-bubble::before{content:'';position:absolute;inset:0;pointer-events:none;opacity:.7;background:linear-gradient(180deg,rgba(255,255,255,.2),transparent 34%)}
.ai-chat-bubble--user{background:linear-gradient(180deg,#eef4ff,#dbeafe);border:1px solid rgba(96,165,250,.28);border-bottom-right-radius:8px}
.ai-chat-bubble--assistant{background:linear-gradient(180deg,#ffffff,#f8fbff 60%,#f8fafc);border:1px solid rgba(226,232,240,.95);border-bottom-left-radius:8px;box-shadow:0 18px 34px rgba(15,23,42,.08),0 2px 0 rgba(255,255,255,.78) inset}
.ai-chat-bubble--assistant::after{content:'';position:absolute;inset:auto auto 0 0;width:82px;height:82px;background:radial-gradient(circle at center,rgba(59,130,246,.08),transparent 70%);transform:translate(-26%,26%);pointer-events:none}
.ai-chat-bubble__role{display:inline-flex;align-items:center;justify-content:center;width:fit-content;max-width:100%;padding:5px 10px;border-radius:999px;font-size:.71rem;font-weight:900;line-height:1.1}
.ai-chat-bubble--user .ai-chat-bubble__role{background:rgba(37,99,235,.1);color:#1d4ed8}
.ai-chat-bubble--assistant .ai-chat-bubble__role{background:rgba(37,99,235,.08);color:#1e40af;border:1px solid rgba(37,99,235,.12)}
.ai-chat-bubble__content{font-size:.95rem;color:#0f172a;word-break:break-word;display:grid;gap:10px}
.ai-chat-bubble__content > *{margin:0}
.ai-chat-bubble__content--assistant{gap:12px}
.ai-chat-bubble__content a,.ai-chat-link{color:#2563eb;text-decoration:underline;text-underline-offset:2px;font-weight:800;word-break:break-word;overflow-wrap:anywhere;transition:color .18s ease}
.ai-chat-bubble__content a:hover,.ai-chat-link:hover{color:#1d4ed8}
.ai-chat-rich-section{display:grid;gap:9px;padding:11px 12px;border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,250,252,.96));border:1px solid rgba(226,232,240,.92);box-shadow:0 10px 22px rgba(15,23,42,.04)}
.ai-chat-rich-section--heading{padding:0;background:transparent;border:none;box-shadow:none}
.ai-chat-rich-section--list{gap:8px}
.ai-chat-rich-block{display:grid;gap:9px}
.ai-chat-rich-heading{font-size:.84rem;font-weight:900;color:#1e3a8a;padding:8px 11px;border-radius:14px;background:linear-gradient(135deg,rgba(37,99,235,.08),rgba(124,58,237,.08));border:1px solid rgba(37,99,235,.12)}
.ai-chat-rich-paragraph{font-size:.94rem;line-height:1.9;color:#0f172a;white-space:normal}
.ai-chat-rich-paragraph + .ai-chat-rich-paragraph{margin-top:-2px}
.ai-chat-rich-list{display:grid;gap:8px;padding:0;margin:0;list-style:none}
.ai-chat-rich-list--ordered{counter-reset:aiChatStep}
.ai-chat-rich-list__item{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:16px;background:rgba(248,250,252,.92);border:1px solid rgba(226,232,240,.88)}
.ai-chat-rich-list__marker{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 6px;border-radius:999px;background:rgba(37,99,235,.1);color:#1d4ed8;font-size:.74rem;font-weight:900;line-height:1;flex:0 0 auto}
.ai-chat-rich-list--ordered .ai-chat-rich-list__marker{background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff;min-width:26px}
.ai-chat-rich-list__text{min-width:0;line-height:1.85;color:#0f172a;font-size:.92rem}
.ai-chat-bubble__meta{font-size:.72rem;color:#64748b;opacity:.95;padding-top:2px;border-top:1px dashed rgba(226,232,240,.92)}
.ai-chat-bubble img{max-width:100%;border-radius:18px;border:1px solid rgba(226,232,240,.95);box-shadow:0 10px 20px rgba(15,23,42,.06)}
.ai-chat-bubble--typing{min-width:120px}
.ai-chat-bubble__typing{display:inline-flex;align-items:center;gap:6px}
.ai-chat-bubble__typing span{width:8px;height:8px;border-radius:999px;background:#7c8aa5;opacity:.3;animation:aiChatTyping 1.2s infinite ease-in-out}
.ai-chat-bubble__typing span:nth-child(2){animation-delay:.15s}
.ai-chat-bubble__typing span:nth-child(3){animation-delay:.3s}
.ai-chat-bubble__typing-text{font-size:.8rem;color:#64748b;font-weight:800}
@keyframes aiChatTyping{0%,80%,100%{transform:translateY(0);opacity:.25}40%{transform:translateY(-4px);opacity:1}}
.ai-chat-alert{margin:0 14px 10px;padding:10px 12px;border-radius:14px;background:rgba(254,242,242,.96);color:#991b1b;border:1px solid rgba(248,113,113,.25)}
.ai-chat-form{padding:14px;padding-bottom:max(14px,env(safe-area-inset-bottom));border-top:1px solid rgba(226,232,240,.92);display:grid;gap:10px;background:rgba(255,255,255,.98)}
.ai-chat-selected-file{display:inline-flex;align-items:center;gap:8px;max-width:100%;padding:8px 12px;border-radius:999px;background:rgba(37,99,235,.08);border:1px solid rgba(37,99,235,.12);color:#1e3a8a;font-size:.82rem;font-weight:800}
.ai-chat-selected-file[hidden]{display:none!important}
.ai-chat-selected-file__name{display:block;max-width:min(220px,60vw);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ai-chat-selected-file__clear{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:999px;background:rgba(37,99,235,.12);color:#1d4ed8;font-size:1rem;font-weight:900;cursor:pointer;line-height:1;flex:0 0 auto}
.ai-chat-selected-file__clear:hover{background:rgba(37,99,235,.18)}
.ai-chat-composer{display:flex;align-items:flex-end;gap:10px;direction:rtl;flex-wrap:nowrap}
.ai-chat-composer__field{flex:1 1 auto;display:flex;align-items:flex-end;min-width:0;padding:10px 13px;border-radius:24px;border:1px solid rgba(203,213,225,.96);background:linear-gradient(180deg,#fff,rgba(248,250,252,.94));box-shadow:inset 0 1px 1px rgba(255,255,255,.8),0 10px 24px rgba(15,23,42,.04)}
.ai-chat-form textarea{width:100%;min-height:24px;max-height:132px;resize:none;padding:0;border:none;background:transparent;box-shadow:none;line-height:1.65;font-size:.95rem}
.ai-chat-form textarea:focus{outline:none}
.ai-chat-icon-btn,.ai-chat-attach__trigger{position:relative;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border:none;border-radius:18px;background:linear-gradient(180deg,#fff,rgba(248,250,252,.96));color:#0f172a;box-shadow:0 12px 26px rgba(15,23,42,.08);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease;flex:0 0 auto}
.ai-chat-icon-btn:hover,.ai-chat-attach__trigger:hover{transform:translateY(-1px);box-shadow:0 16px 30px rgba(15,23,42,.12)}
.ai-chat-icon-btn--send{background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff}
.ai-chat-icon-btn--send:disabled,.ai-chat-icon-btn:disabled,.ai-chat-attach__trigger:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}
.ai-chat-attach{position:relative;display:inline-flex;flex:0 0 auto}
.ai-chat-attach[hidden]{display:none!important}
.ai-chat-attach__menu{position:absolute;right:0;bottom:calc(100% + 10px);display:grid;gap:8px;min-width:220px;padding:10px;border-radius:18px;border:1px solid rgba(226,232,240,.95);background:#fff;box-shadow:0 20px 44px rgba(15,23,42,.14);z-index:5}
.ai-chat-attach__menu[hidden]{display:none!important}
.ai-chat-attach__menu button{display:flex;align-items:center;gap:10px;width:100%;padding:12px;border:none;border-radius:14px;background:rgba(248,250,252,.98);color:#0f172a;font-weight:800;cursor:pointer;text-align:right}
.ai-chat-attach__menu button:hover{background:rgba(239,246,255,.98)}
.ai-chat-note{font-size:.76rem;color:#64748b;line-height:1.5;padding-inline:4px;text-align:center}
.ai-chat-spinner{display:none;position:absolute;width:17px;height:17px;border:2px solid rgba(255,255,255,.38);border-top-color:#fff;border-radius:999px;animation:aiChatSpin .8s linear infinite}
@keyframes aiChatSpin{to{transform:rotate(360deg)}}
.ai-chat-panel.is-busy .ai-chat-icon-btn--send svg{opacity:0}
.ai-chat-panel.is-busy .ai-chat-icon-btn--send .ai-chat-spinner{display:inline-block}
.ai-chat-confirm{position:fixed;inset:0;z-index:110;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(15,23,42,.34);backdrop-filter:blur(6px)}
.ai-chat-confirm[hidden]{display:none!important}
.ai-chat-confirm__dialog{width:min(360px,calc(100vw - 24px));padding:18px;border-radius:24px;background:#fff;box-shadow:0 24px 60px rgba(15,23,42,.24);display:grid;gap:14px}
.ai-chat-confirm__title{margin:0;font-size:1rem;color:#0f172a}
.ai-chat-confirm__body{margin:0;color:#64748b;line-height:1.75;font-size:.9rem}
.ai-chat-confirm__actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.ai-chat-confirm__btn{display:inline-flex;align-items:center;justify-content:center;min-width:108px;height:42px;padding:0 16px;border:none;border-radius:14px;font-weight:800;cursor:pointer}
.ai-chat-confirm__btn--cancel{background:#eef2ff;color:#334155}
.ai-chat-confirm__btn--danger{background:linear-gradient(135deg,#dc2626,#ef4444);color:#fff}
@media (max-width:760px){
  .ai-chat-panel{left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));bottom:calc(76px + env(safe-area-inset-bottom));width:auto;height:calc(100dvh - 90px - env(safe-area-inset-bottom));border-radius:24px}
  .ai-chat-fab{left:max(8px,env(safe-area-inset-left));bottom:calc(8px + env(safe-area-inset-bottom));height:58px;padding:0 16px}
  .ai-chat-fab--icon-only{width:58px;min-width:58px;padding:0}
  .ai-chat-panel__head{padding:16px 16px 13px}
  .ai-chat-status{padding:10px 10px 12px;gap:8px}
  .ai-chat-status__item{padding:10px 8px;border-radius:16px}
  .ai-chat-status__label{font-size:.67rem}
  .ai-chat-status__value{font-size:.92rem}
  .ai-chat-messages{padding:12px;gap:10px;min-height:220px}
  .ai-chat-empty{padding:16px;border-radius:20px}
  .ai-chat-bubble{max-width:min(94%,100%);padding:12px 13px;border-radius:20px}.ai-chat-rich-section{padding:10px 10px;border-radius:16px}.ai-chat-rich-heading{font-size:.8rem;padding:7px 10px}.ai-chat-rich-paragraph{font-size:.91rem;line-height:1.85}.ai-chat-rich-list__item{padding:9px 10px;border-radius:14px}.ai-chat-rich-list__text{font-size:.9rem}
  .ai-chat-composer{gap:8px;align-items:flex-end}
  .ai-chat-icon-btn,.ai-chat-attach__trigger,.ai-chat-head-icon,.ai-chat-panel__close{width:44px;height:44px;border-radius:16px}
  .ai-chat-attach__menu{right:0;left:auto;min-width:min(220px,calc(100vw - 40px))}
  .ai-chat-confirm{padding:12px}
  .ai-chat-confirm__dialog{width:min(360px,calc(100vw - 16px));padding:16px;border-radius:20px}
}
@media (max-width:460px){
  .ai-chat-panel{height:calc(100dvh - 82px - env(safe-area-inset-bottom));border-radius:20px}
  .ai-chat-panel__head{padding:14px 14px 12px;gap:10px}
  .ai-chat-panel__eyebrow-chip{max-width:100%;font-size:.72rem}
  .ai-chat-panel__title h3{font-size:1rem}
  .ai-chat-panel__subtitle{font-size:.78rem}
  .ai-chat-status{gap:6px}
  .ai-chat-status__label{font-size:.62rem}
  .ai-chat-status__value{font-size:.85rem}
  .ai-chat-form{padding:10px;padding-bottom:max(10px,env(safe-area-inset-bottom));gap:8px}
  .ai-chat-note{font-size:.7rem}
}

/* xclinic-extracted-guest-css: moved from src/Views/layouts/guest.php for browser caching. */
.guest-site-title{position:fixed;top:16px;left:50%;transform:translateX(-50%);z-index:1200;padding:10px 16px;border-radius:999px;background:rgba(255,255,255,.92);border:1px solid rgba(220,230,245,.9);box-shadow:0 12px 28px rgba(15,23,42,.08);font-weight:900;color:#163155;backdrop-filter:blur(10px);max-width:min(calc(100vw - 24px),640px);text-align:center;display:inline-flex;align-items:center;justify-content:center;gap:10px}
    .guest-site-title__icon{width:24px;height:24px;object-fit:cover;border-radius:7px;flex:0 0 24px;box-shadow:0 6px 16px rgba(37,99,235,.18);background:#fff}
    .guest-footer-meta{position:fixed;left:50%;bottom:10px;transform:translateX(-50%);z-index:1100;display:flex;flex-wrap:nowrap;justify-content:center;align-items:center;gap:6px;max-width:min(calc(100vw - 12px),760px);width:max-content;min-width:0;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.88);border:1px solid rgba(220,230,245,.92);box-shadow:0 10px 24px rgba(15,23,42,.08);backdrop-filter:blur(10px);color:#48627f;font-size:.82rem;font-weight:800;text-align:center;white-space:nowrap;overflow:hidden;line-height:1.2;direction:rtl}
    .guest-footer-meta > span,.guest-footer-meta > strong{flex:0 0 auto;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
    .guest-footer-meta__sep{opacity:.4;flex:0 0 auto}
    @media (max-width:640px){.guest-site-title{top:12px;font-size:.95rem;padding:9px 14px}.guest-site-title__icon{width:22px;height:22px;flex-basis:22px}.guest-footer-meta{bottom:8px;max-width:calc(100vw - 8px);padding:6px 9px;font-size:.72rem;border-radius:16px;gap:4px}}

/* Photo upload jobs: real browser transfer progress + server-side PhotoJob progress */
.photo-upload-progress{margin-top:12px;padding:12px;border:1px solid #d8e6f5;border-radius:18px;background:#f8fbff;box-shadow:0 10px 24px rgba(15,23,42,.06)}
.photo-upload-progress__head{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.92rem;color:#24364b}
.photo-upload-progress__track{height:10px;margin:10px 0;border-radius:999px;background:#e7eef7;overflow:hidden}
.photo-upload-progress__track span{display:block;height:100%;width:0%;border-radius:999px;background:linear-gradient(90deg,#4f8cff,#19c2a7);transition:width .22s ease}
.photo-upload-progress__message{font-size:.86rem;color:#64748b;line-height:1.7}
.photo-upload-progress__actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}
.photo-upload-progress__live{display:inline-flex;align-items:center;gap:2px}
.photo-upload-progress__live::after{content:'';display:inline-block;min-width:1.2em;text-align:left;animation:photoUploadDots 1.2s steps(4,end) infinite}
.photo-upload-progress__live.is-done::after,.photo-upload-progress__live.is-idle::after{content:'';animation:none}
@keyframes photoUploadDots{0%{content:''}25%{content:'.'}50%{content:'..'}75%,100%{content:'...'}}
