a{color:inherit}.page-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.page-head h2{font-size:1.125rem;margin:0 0 5px}.page-head p{font-size:0.6875rem;color:var(--muted);margin:0}.page-actions{display:flex;gap:8px;flex-wrap:wrap}.table-toolbar{border-bottom:1px solid var(--line)}.toolbar-form{display:flex;gap:8px}.input-shell{min-width:280px;height:42px;border:1px solid var(--line);border-radius:12px;display:flex;align-items:center;gap:8px;padding:0 12px}.input-shell input{border:0;outline:0;background:transparent;color:var(--text);width:100%;font:inherit}.table-actions,.table-actions form{display:flex;gap:5px;margin:0}.table-actions a,.table-actions button{width:31px;height:31px;display:grid;place-items:center;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--muted);padding:0}.table-actions .icon{width:15px}.table-patient{display:flex;align-items:center;gap:8px}.table-patient .avatar{width:34px;height:34px;border-radius:10px;font-size:0.625rem}.pagination-wrap{display:flex;justify-content:space-between;align-items:center;padding:14px;border-top:1px solid var(--line);font-size:0.625rem}.pagination-wrap>div{display:flex;gap:5px}.page-link-btn{min-width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--line);border-radius:9px;text-decoration:none}.page-link-btn.active{background:var(--brand);color:#fff}.form-control,.form-select{background:var(--surface);border-color:var(--line);color:var(--text);border-radius:11px;font:inherit;font-size:0.75rem;min-height:42px}.form-control:focus,.form-select:focus{background:var(--surface);color:var(--text);border-color:#8fc3c3;box-shadow:0 0 0 4px rgba(17,148,156,.08)}label{font-size:0.625rem;color:var(--muted);margin-bottom:6px}.form-switch-box{border:1px solid var(--line);border-radius:12px;padding:16px 48px 12px 12px;background:var(--surface-2);min-height:58px}.due-list{display:flex;flex-direction:column}.due-row{display:grid;grid-template-columns:90px 1fr auto;gap:12px;align-items:center;padding:13px 17px;border-bottom:1px solid var(--line);text-decoration:none}.due-row>span{font-size:0.5625rem;background:var(--brand-soft);color:var(--brand);border-radius:9px;padding:7px;text-align:center}.due-row b{font-size:0.625rem;display:block}.due-row small{font-size:0.5rem;color:var(--muted);display:block}.patient-profile-card{display:flex;align-items:center;gap:20px;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:18px 20px;box-shadow:var(--shadow-sm);margin-bottom:16px}.patient-main{display:flex;align-items:center;gap:13px;min-width:250px}.patient-xl{width:64px;height:64px;border-radius:19px;font-size:1.0625rem}.profile-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;flex:1}.profile-meta span{display:block;font-size:0.5rem;color:var(--muted)}.profile-meta b{font-size:0.625rem}.detail-grid{display:grid;grid-template-columns:280px 1fr;gap:16px}.detail-content{display:flex;flex-direction:column;gap:16px}.info-list>div{padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid var(--line)}.info-list p{font-size:0.625rem;line-height:2}.permission-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.permission-card{border:1px solid var(--line);border-radius:14px;padding:13px;background:var(--surface-2)}.permission-card h5{font-size:0.6875rem;color:var(--brand)}.permission-card label{display:grid;grid-template-columns:18px 1fr;gap:6px;padding:7px 0;border-bottom:1px dashed var(--line);cursor:pointer}.permission-card code{grid-column:2;font-size:0.4375rem}.text-danger{color:var(--danger)!important}.text-success{color:var(--success)!important}.login-page,.install-page{min-height:100vh;background:radial-gradient(circle at 80% 15%,#d9f0ef,transparent 34%),linear-gradient(135deg,#f8fbfb,#eef6f5);display:grid;place-items:center;padding:24px}.login-shell{width:min(1040px,100%);min-height:610px;display:grid;grid-template-columns:1.05fr .95fr;background:#fff;border-radius:28px;overflow:hidden;box-shadow:0 30px 90px rgba(7,93,99,.16)}.login-brand{background:linear-gradient(145deg,#075d63,#0b858b);color:#fff;padding:58px;display:flex;flex-direction:column;justify-content:center}.login-brand img{width:235px;height:110px;object-fit:contain;background:#fff;border-radius:20px;padding:10px}.login-brand h1{font-size:1.75rem;margin:40px 0 12px}.login-brand p{font-size:0.75rem;line-height:2}.login-brand div{display:flex;gap:8px;flex-wrap:wrap}.login-brand span{font-size:0.5625rem;border:1px solid #ffffff33;border-radius:9px;padding:7px}.login-card{padding:65px;display:flex;flex-direction:column;justify-content:center}.login-logo{display:none}.login-card h2{font-size:1.3125rem}.login-card>p{font-size:0.625rem;color:#71868a}.login-card label{display:block;margin-top:14px}.login-card .btn{height:48px;margin-top:18px}.login-card small{text-align:center;margin-top:16px}.pass{position:relative}.pass button{position:absolute;left:8px;top:8px;border:0;background:#eef5f4;color:#075d63;border-radius:8px;padding:6px 9px;font-size:0.5625rem}.install-card{width:min(580px,100%);background:#fff;border-radius:24px;padding:30px;box-shadow:0 24px 70px rgba(7,93,99,.14)}.install-card img{width:190px;height:85px;object-fit:contain;display:block;margin:auto}.install-card h1{text-align:center;font-size:1.3125rem}.install-card p{text-align:center;color:#71868a}.install-spec{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:14px;background:#f7fbfa;border-radius:14px;margin:20px 0}.install-spec b{text-align:left}.search-result{display:flex;align-items:center;gap:10px;padding:10px;border-radius:11px;text-decoration:none}.search-result:hover{background:var(--surface-2)}.search-result small{display:block;color:var(--muted);font-size:0.5625rem}.modal h5{font-size:0.875rem}.panel-header>a{font-size:0.625rem;color:var(--brand);text-decoration:none}.switch-row{cursor:pointer}
@media(max-width:1100px){.permission-grid{grid-template-columns:repeat(2,1fr)}.profile-meta{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.login-shell{grid-template-columns:1fr;max-width:540px;min-height:auto}.login-brand{display:none}.login-card{padding:40px}.login-logo{display:block;width:190px;height:90px;object-fit:contain;margin:auto}.detail-grid{grid-template-columns:1fr}.patient-profile-card{flex-wrap:wrap}.profile-meta{width:100%}}
@media(max-width:767px){.toolbar-form{flex-direction:column}.input-shell{min-width:0}.permission-grid{grid-template-columns:1fr}.page-head{align-items:flex-start;flex-direction:column}.page-actions{width:100%}.due-row{grid-template-columns:75px 1fr}.due-row>strong{grid-column:2}.login-card{padding:28px 22px}}
.settings-columns{display:grid;grid-template-columns:1.3fr .7fr;gap:16px}.mb-3{margin-bottom:1rem}@media(max-width:900px){.settings-columns{grid-template-columns:1fr}}
/* Product branding and vendor credit */
.app-footer{height:auto;min-height:58px;gap:18px}.footer-product{display:flex;flex-direction:column;gap:2px}.footer-product>span{color:var(--text);font-weight:700;font-size:0.625rem}.footer-product small{font-size:0.5rem;color:var(--muted)}.footer-designer{margin-right:auto;display:flex;align-items:center;gap:9px;text-decoration:none;color:var(--muted);transition:.18s}.footer-designer:hover{color:var(--brand)}.footer-designer span{font-size:0.5rem}.footer-designer img{width:92px;height:30px;object-fit:contain}.login-page{grid-template-rows:minmax(0,1fr) auto;align-items:center}.login-shell{align-self:center}.auth-designer{padding:14px 0 2px;align-self:end}.auth-designer a{display:flex;align-items:center;justify-content:center;gap:9px;text-decoration:none;color:#657d80;font-size:0.5625rem}.auth-designer img{width:95px;height:31px;object-fit:contain}.brand-settings-box{display:grid;grid-template-columns:170px 1fr;gap:16px;align-items:center;border:1px dashed #a8cccc;background:var(--surface-2);padding:14px;border-radius:16px;margin-bottom:15px}.brand-settings-preview{height:112px;background:var(--surface);border:1px solid var(--line);border-radius:14px;display:grid;place-items:center;overflow:hidden}.brand-settings-preview img{max-width:92%;max-height:95px;object-fit:contain}.brand-settings-box strong{font-size:0.6875rem}.brand-settings-box p{font-size:0.5625rem;color:var(--muted);margin:4px 0 9px}.brand-settings-box .form-control{min-height:38px;height:auto;padding:7px}.settings-side-stack{display:flex;flex-direction:column;gap:16px}.settings-side-stack form{margin:0}.settings-subtitle{font-size:0.75rem;margin:0 0 14px}.product-info-card .panel-body>div{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line);font-size:0.5625rem}.product-info-card .panel-body>div span{color:var(--muted)}.product-info-card .panel-body>a{margin-top:14px;display:flex;align-items:center;justify-content:space-between;gap:10px;text-decoration:none;color:var(--muted);font-size:0.5rem}.product-info-card img{width:110px;height:36px;object-fit:contain}
@media(max-width:767px){.app-footer{padding:8px 12px;min-height:62px}.footer-product small{display:none}.footer-designer span{display:none}.footer-designer img{width:82px}.brand-settings-box{grid-template-columns:1fr}.brand-settings-preview{height:100px}}
.product-info-card .product-update-link{padding:10px 0 12px;margin:0!important;border-bottom:1px solid var(--line);color:var(--brand)!important}.product-update-link b{font-size:0.5625rem}.system-tool-page{min-height:100vh;background:radial-gradient(circle at 85% 10%,#d8f1ef,transparent 30%),linear-gradient(145deg,#f7fbfb,#edf5f5);display:grid;grid-template-rows:1fr auto;place-items:center;padding:25px}.system-tool-card{width:min(650px,100%);background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:27px;box-shadow:0 25px 80px rgba(7,93,99,.14)}.system-tool-head{display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:18px}.system-tool-head img{width:130px;height:70px;object-fit:contain}.system-tool-head h1{font-size:1.125rem;margin:0 0 5px}.system-tool-head p{font-size:0.5625rem;color:var(--muted);margin:0}.update-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0}.update-summary>div{background:var(--surface-2);border:1px solid var(--line);border-radius:13px;padding:12px;text-align:center}.update-summary span{font-size:0.5rem;color:var(--muted);display:block}.update-summary b{font-size:0.75rem;display:block;margin-top:5px}.pending-list{display:flex;flex-direction:column;gap:6px;margin:0 0 18px}.pending-list code{direction:ltr;text-align:left;background:var(--surface-2);border:1px solid var(--line);border-radius:9px;padding:8px;font-size:0.5625rem}.empty-update{text-align:center;color:var(--muted);background:var(--surface-2);border-radius:13px;padding:18px;font-size:0.625rem;margin-bottom:18px}@media(max-width:560px){.system-tool-page{padding:12px}.system-tool-card{padding:20px}.system-tool-head{align-items:flex-start}.system-tool-head img{width:95px;height:52px}.update-summary{grid-template-columns:1fr}}

/* Product polish: installer security notice */
.installer-security-alert{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:14px;padding:14px 16px;margin-bottom:18px;border:1px solid #f1c98a;border-radius:16px;background:#fff8e9;box-shadow:var(--shadow-sm)}
.installer-security-icon{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:#fff0cf;color:#a86a05}.installer-security-icon .icon{width:22px;height:22px}.installer-security-alert strong{font-size:0.75rem}.installer-security-alert p{font-size:0.5625rem;color:#806842;margin:4px 0 0;line-height:1.8}.installer-security-alert form{margin:0}.installer-security-alert .btn-danger{white-space:nowrap;font-size:0.625rem}
html[data-theme="dark"] .installer-security-alert{background:#3a3020;border-color:#66502a}.ltr-text,.ltr{direction:ltr;text-align:left;display:inline-block}

/* Dashboard additions */
.dashboard-quick-panel{margin-bottom:18px}.quick-action{display:block;text-decoration:none}.dashboard-notice{display:flex;align-items:center;gap:12px;padding:14px 16px;margin-bottom:18px;border:1px solid #f0d3a1;border-radius:16px;background:var(--surface);text-decoration:none;box-shadow:var(--shadow-sm)}.dashboard-notice>.icon{width:24px;height:24px;color:var(--warning)}.dashboard-notice div{flex:1}.dashboard-notice strong{display:block;font-size:0.6875rem}.dashboard-notice span{display:block;font-size:0.5625rem;color:var(--muted);margin-top:3px}.dashboard-notice>b{font-size:0.5625rem;color:var(--brand)}

/* Weekly appointments calendar */
.appointment-summary{margin-bottom:16px}.weekly-calendar-panel{margin-bottom:18px;overflow:hidden}.calendar-toolbar p{font-size:0.5625rem;color:var(--muted);margin:4px 0 0}.week-navigation{display:flex;gap:7px;flex-wrap:wrap}.week-navigation .btn{font-size:0.5625rem}.weekly-calendar-wrap{overflow:auto;overscroll-behavior-inline:contain}.schedule.weekly-schedule{grid-template-columns:76px repeat(7,minmax(138px,1fr));min-width:1150px}.weekly-schedule>div{min-height:82px}.weekly-schedule .schedule-head{position:sticky;top:0;z-index:3;min-height:66px!important}.weekly-schedule .schedule-corner{right:0;z-index:4}.weekly-schedule .schedule-head.is-today{background:var(--brand-soft);color:var(--brand)}.weekly-schedule .time-cell{position:sticky;right:0;z-index:2}.weekly-schedule .slot{padding:6px;display:flex;flex-direction:column;gap:5px;align-items:stretch}.weekly-schedule .slot.is-today{background:rgba(12,132,139,.035)}.weekly-schedule .slot.is-off-day{background:rgba(120,130,132,.045)}.weekly-schedule .schedule-head.is-past{background:var(--surface-2);color:var(--muted)}.weekly-schedule .schedule-head.is-past small{opacity:.72}.past-day-badge{display:inline-flex;margin-top:5px;padding:2px 6px;border-radius:999px;background:rgba(112,128,132,.12);color:var(--muted);font-size:.5rem;font-weight:750}.weekly-schedule .slot.is-past{background:repeating-linear-gradient(135deg,rgba(112,128,132,.035),rgba(112,128,132,.035) 8px,rgba(112,128,132,.065) 8px,rgba(112,128,132,.065) 16px);cursor:not-allowed}.weekly-schedule .slot.is-past .slot-card{opacity:.72;filter:saturate(.72);cursor:pointer}.weekly-schedule .slot.is-past .slot-add{display:none}.weekly-schedule .slot-card{height:auto;min-height:62px;display:flex;flex-direction:column;text-decoration:none;padding:8px;border-right-width:3px;transition:.16s}.weekly-schedule .slot-card:hover{transform:translateY(-1px);box-shadow:0 6px 14px rgba(7,93,99,.12)}.weekly-schedule .slot-card span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.weekly-schedule .slot-card small{margin-top:auto;opacity:.8}.slot-status-success{border-color:var(--success)!important;background:#e7f7f0!important;color:#167d5b!important}.slot-status-warning{border-color:var(--warning)!important;background:#fff3db!important;color:#a56508!important}.slot-status-danger{border-color:var(--danger)!important;background:#ffe9ec!important;color:#b93647!important}.slot-status-info{border-color:#4c79c6!important;background:#edf3fd!important;color:#3a67af!important}.slot-add{min-height:60px;border:1px dashed transparent;border-radius:9px;display:grid;place-items:center;text-decoration:none;color:transparent;font-size:1.25rem;transition:.15s}.slot:hover .slot-add{border-color:var(--line);color:var(--muted);background:var(--surface-2)}.week-list-panel{margin-bottom:18px}.panel-count{font-size:0.5625rem;color:var(--muted);background:var(--surface-2);padding:6px 9px;border-radius:9px}
html[data-theme="dark"] .slot-status-success{background:#19372e!important;color:#6fc9a8!important}html[data-theme="dark"] .slot-status-warning{background:#3e321d!important;color:#e6b65f!important}html[data-theme="dark"] .slot-status-danger{background:#3c2227!important;color:#e47d89!important}html[data-theme="dark"] .slot-status-info{background:#1d2f48!important;color:#8db2ec!important}

/* Scrollable forms and permission management */
.modal-dialog-scrollable .modal-content{overflow:hidden}.modal-scroll-form{display:flex;flex-direction:column;min-height:0;max-height:calc(100vh - 3.5rem);overflow:hidden}.modal-scroll-form .modal-body{overflow-y:auto;min-height:0;overscroll-behavior:contain}.modal-scroll-form .modal-footer{flex:0 0 auto;background:var(--surface)}.permission-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:24px 0 12px;position:sticky;top:-20px;z-index:2;background:var(--surface);padding:12px 0 10px;border-bottom:1px solid var(--line)}.permission-heading h4{font-size:1rem;margin:0}.permission-heading p{font-size:0.5625rem;color:var(--muted);margin:4px 0 0}.permission-heading>div:last-child{display:flex;gap:6px}.permission-grid{align-items:start}.permission-card{padding:0;overflow:hidden}.permission-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 12px;background:var(--surface);border-bottom:1px solid var(--line)}.permission-card h5{margin:0;font-size:0.6875rem}.permission-group-check{display:flex!important;grid-template-columns:none!important;align-items:center;gap:5px!important;padding:0!important;border:0!important;font-size:0.5rem!important}.permission-option{display:flex!important;align-items:center;gap:8px!important;padding:10px 12px!important;margin:0!important}.permission-option input,.permission-group-check input{accent-color:var(--brand);width:16px;height:16px;flex:0 0 auto}.permission-option span{font-size:0.5625rem;color:var(--text)}.form-hint{display:block;font-size:0.5rem;color:var(--muted);margin-top:5px}

@media(max-width:767px){.installer-security-alert{grid-template-columns:40px 1fr}.installer-security-alert form{grid-column:1/-1}.installer-security-alert .btn{width:100%}.calendar-toolbar{align-items:flex-start;flex-direction:column}.week-navigation{width:100%}.week-navigation .btn{flex:1}.appointment-summary{grid-template-columns:repeat(2,1fr)}.permission-heading{align-items:flex-start;flex-direction:column}.permission-heading>div:last-child{width:100%}.permission-heading .btn{flex:1}.modal-scroll-form{max-height:calc(100vh - 1rem)}}

/* Persian date picker */
.jalali-field{position:relative}.jalali-input-row{display:flex;gap:10px}.jalali-display-wrap{position:relative;flex:1}.jalali-display-wrap .form-control{padding-left:48px;cursor:pointer}.jalali-open-button{position:absolute;left:8px;top:50%;transform:translateY(-50%);width:36px;height:36px;border:0;border-radius:10px;background:transparent;color:var(--brand,#0b7a80);display:grid;place-items:center}.jalali-open-button:hover{background:rgba(11,122,128,.08)}.jalali-time{max-width:145px;direction:ltr;text-align:center}.jalali-popover{position:absolute;z-index:1085;top:calc(100% + 8px);right:0;width:330px;max-width:calc(100vw - 42px);padding:16px;border:1px solid var(--border,#dbe5e6);border-radius:18px;background:var(--panel,#fff);box-shadow:0 22px 60px rgba(17,51,55,.2);display:none}.jalali-field.open .jalali-popover{display:block}.jalali-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.jalali-head button{width:36px;height:36px;border:1px solid var(--border,#dbe5e6);border-radius:10px;background:var(--panel,#fff);font-size:1.5rem;line-height:1;color:var(--text,#17383b)}.jalali-title{font-size:0.875rem}.jalali-days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;text-align:center}.jalali-week{font-size:0.6875rem;color:var(--muted,#829598);padding:4px 0}.jalali-day,.jalali-empty{height:34px;border:0;border-radius:9px;background:transparent;color:var(--text,#17383b);display:grid;place-items:center}.jalali-day:hover{background:rgba(11,122,128,.09)}.jalali-day.today{box-shadow:inset 0 0 0 1px var(--brand,#0b7a80)}.jalali-day.selected{background:var(--brand,#0b7a80);color:#fff}.jalali-day.friday{color:#d65363}.jalali-day.selected.friday{color:#fff}.jalali-day.disabled,.jalali-day:disabled{color:var(--muted,#829598);opacity:.32;cursor:not-allowed;background:transparent;box-shadow:none}.jalali-day.disabled:hover,.jalali-day:disabled:hover{background:transparent}.jalali-day.disabled.friday,.jalali-day:disabled.friday{color:#d9a2a8}.jalali-day.disabled.selected,.jalali-day:disabled.selected{background:transparent;color:var(--muted,#829598)}.jalali-actions{display:flex;justify-content:space-between;border-top:1px solid var(--border,#dbe5e6);margin-top:12px;padding-top:10px}.jalali-actions button{border:0;background:transparent;color:var(--brand,#0b7a80);font-size:0.75rem}.jalali-field.is-readonly .jalali-display-wrap .form-control{cursor:default}

/* Appointment patient selector */
.appointment-patient-section{padding-bottom:4px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.section-heading h4{font-size:1.0625rem;margin:0 0 4px}.section-heading p{margin:0;color:var(--muted,#829598);font-size:0.75rem}.patient-mode-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px}.patient-mode-card{cursor:pointer}.patient-mode-card input{position:absolute;opacity:0;pointer-events:none}.patient-mode-card>span{display:grid;grid-template-columns:42px 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;border:1px solid var(--border,#dbe5e6);border-radius:16px;padding:14px;background:var(--soft,#f7fafb);transition:.2s}.patient-mode-card svg{grid-row:1/3;width:22px;height:22px;color:var(--brand,#0b7a80);margin:auto}.patient-mode-card b{font-size:0.875rem}.patient-mode-card small{font-size:0.6875rem;color:var(--muted,#829598)}.patient-mode-card input:checked+span{border-color:var(--brand,#0b7a80);background:rgba(11,122,128,.07);box-shadow:0 0 0 3px rgba(11,122,128,.08)}.patient-mode-panel[hidden]{display:none!important}.patient-mode-panel{border:1px dashed var(--border,#dbe5e6);border-radius:16px;padding:16px}.form-divider{margin:22px 0;border-color:var(--border,#dbe5e6);opacity:1}

/* SMS management */
.sms-provider-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:18px}.sms-provider-card{display:flex;flex-direction:column;justify-content:space-between;min-height:170px;border:1px solid var(--border,#dbe5e6);border-radius:18px;padding:16px;background:var(--panel,#fff);transition:.2s}.sms-provider-card.active{border-color:var(--brand,#0b7a80);box-shadow:0 10px 30px rgba(11,122,128,.1)}.sms-provider-card h3{font-size:0.875rem;margin:10px 0 7px}.sms-provider-card p{font-size:0.6875rem;line-height:1.8;color:var(--muted,#829598);margin:0}.sms-provider-card a{font-size:0.6875rem;color:var(--brand,#0b7a80);margin-top:12px}.provider-check{width:30px;height:30px;border-radius:10px;background:var(--soft,#f3f7f7);display:grid;place-items:center;color:var(--muted,#829598)}.sms-provider-card.active .provider-check{background:var(--brand,#0b7a80);color:#fff}.sms-settings-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,.8fr);gap:18px;align-items:start;margin-bottom:18px}.sms-settings-grid>form{min-width:0}.sms-main-switch span{display:flex;flex-direction:column}.sms-main-switch small,.field-help{display:block;color:var(--muted,#829598);font-size:0.6875rem;margin-top:4px}.ltr-input{direction:ltr;text-align:left}.sms-test-card{position:sticky;top:90px}.sms-events-panel>.panel-header{align-items:flex-start}.sms-variable-list{display:flex;flex-wrap:wrap;gap:6px;max-width:440px;justify-content:flex-end}.sms-variable-list span{font-family:monospace;direction:ltr;background:var(--soft,#f3f7f7);border:1px solid var(--border,#dbe5e6);border-radius:8px;padding:4px 7px;font-size:0.625rem}.sms-events-list{display:grid;gap:14px}.sms-event-card{border:1px solid var(--border,#dbe5e6);border-radius:18px;overflow:hidden;background:var(--panel,#fff)}.sms-event-card>header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:var(--soft,#f7fafb);border-bottom:1px solid var(--border,#dbe5e6)}.sms-event-card>header span{font-size:0.625rem;color:var(--brand,#0b7a80)}.sms-event-card>header h4{font-size:0.9375rem;margin:3px 0 0}.sms-event-card>header code{direction:ltr;font-size:0.625rem;color:#b03873;background:rgba(176,56,115,.08);padding:5px 8px;border-radius:8px}.sms-event-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.sms-recipient-config{padding:16px;min-width:0}.sms-recipient-config+ .sms-recipient-config{border-right:1px solid var(--border,#dbe5e6)}.recipient-config-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.recipient-config-head>div{display:flex;align-items:center;gap:8px}.recipient-config-head svg{color:var(--brand,#0b7a80)}.sms-recipient-config>label{font-size:0.6875rem;color:var(--muted,#829598);margin:10px 0 6px}.sms-recipient-config textarea{font-size:0.75rem;line-height:1.8}.sms-recipient-config.is-disabled{background:var(--soft,#f7fafb)}.recipient-not-applicable{display:grid;place-items:center;min-height:190px;color:var(--muted,#829598);font-size:0.75rem;border:1px dashed var(--border,#dbe5e6);border-radius:14px}.mini-switch{margin:0!important}.mini-switch input{display:none}.mini-switch span{display:block;width:42px;height:23px;border-radius:99px;background:#cbd7d8;position:relative;transition:.2s}.mini-switch span:after{content:"";position:absolute;top:3px;right:3px;width:17px;height:17px;border-radius:50%;background:#fff;transition:.2s;box-shadow:0 1px 4px #0002}.mini-switch input:checked+span{background:var(--brand,#0b7a80)}.mini-switch input:checked+span:after{right:22px}.manager-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:154px;overflow:auto;border:1px solid var(--border,#dbe5e6);border-radius:12px;padding:8px}.manager-picker label{display:flex;align-items:center;gap:7px;border:1px solid transparent;border-radius:9px;padding:7px;cursor:pointer}.manager-picker label:hover{background:var(--soft,#f7fafb)}.manager-picker input{accent-color:var(--brand,#0b7a80)}.manager-picker span{display:flex;flex-direction:column;min-width:0}.manager-picker b{font-size:0.6875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.manager-picker small{font-size:0.5625rem;color:var(--muted,#829598);direction:ltr}.sms-error-text{display:block;max-width:280px;color:#c74350;margin-top:5px;white-space:normal}.sms-recipient-config [data-sms-pattern-fields]{margin-top:8px}.sms-recipient-config [data-sms-text-fields]{margin-top:8px}

@media(max-width:1200px){.sms-provider-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.sms-settings-grid{grid-template-columns:1fr}.sms-test-card{position:static}.sms-event-columns{grid-template-columns:1fr}.sms-recipient-config+ .sms-recipient-config{border-right:0;border-top:1px solid var(--border,#dbe5e6)}.sms-provider-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.jalali-input-row{flex-direction:column}.jalali-time{max-width:none}.jalali-popover{right:auto;left:0;width:310px}.patient-mode-switch,.sms-provider-grid{grid-template-columns:1fr}.sms-variable-list{justify-content:flex-start}.manager-picker{grid-template-columns:1fr}}
.jalali-field.has-error .jalali-display-wrap .form-control{border-color:#dc5261;box-shadow:0 0 0 3px rgba(220,82,97,.1)}
.manager-picker label.is-disabled{opacity:.55;cursor:not-allowed;background:var(--surface-soft)}
.manager-picker label.is-disabled input{cursor:not-allowed}

.database-update-alert{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:16px 18px;margin-bottom:18px;border:1px solid #7fc6ca;background:linear-gradient(135deg,#edfafa,#f7ffff);border-radius:18px;box-shadow:0 10px 28px rgba(11,122,128,.08)}.database-update-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:#d8f2f3;color:var(--brand,#0b7a80)}.database-update-icon .icon{width:24px;height:24px}.database-update-alert strong{display:block;font-size:0.875rem;color:var(--text,#17383b);margin-bottom:4px}.database-update-alert p{margin:0;color:var(--muted,#72888b);font-size:0.6875rem;line-height:1.8}.secret-field{display:grid;gap:8px}.secret-saved-state{display:flex;align-items:center;gap:8px;min-height:38px;padding:8px 10px;border:1px solid #b9e0d0;background:#effaf5;border-radius:11px;font-size:0.625rem;color:#28775a}.secret-saved-state span{display:flex;align-items:center;gap:5px;font-weight:700}.secret-saved-state .icon{width:15px;height:15px}.secret-saved-state code{direction:ltr;color:#185d48;background:#dff3e9;padding:3px 7px;border-radius:7px}.secret-saved-state small{margin-right:auto;color:#628578}.secret-remove{display:flex;align-items:center;gap:6px;font-size:0.625rem;color:#a4424b;cursor:pointer}.secret-remove input{accent-color:#c74350}.sms-provider-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:760px){.database-update-alert{grid-template-columns:auto 1fr}.database-update-alert .btn{grid-column:1/-1}.secret-saved-state{flex-wrap:wrap}.secret-saved-state small{margin-right:0}.sms-provider-grid{grid-template-columns:1fr}}


/* Cross-browser patient combobox */
.patient-combobox-shell{position:relative}.patient-native-select[hidden]{display:none!important}.patient-combobox{position:relative}.patient-combobox-control{position:relative}.patient-combobox-input{padding-left:48px!important}.patient-combobox-input::-webkit-search-cancel-button{display:none}.patient-combobox-toggle{position:absolute;left:7px;top:50%;transform:translateY(-50%);width:34px;height:34px;border:0;border-radius:9px;background:var(--surface-2,#f3f7f7);color:var(--muted,#71868a);font:700 20px/1 sans-serif;display:grid;place-items:center;cursor:pointer;transition:.18s}.patient-combobox.open .patient-combobox-toggle{transform:translateY(-50%) rotate(180deg);color:var(--brand,#0b7a80)}.patient-combobox-menu{position:absolute;z-index:1095;top:calc(100% + 7px);right:0;left:0;max-height:270px;overflow:auto;padding:7px;border:1px solid var(--line,#dbe5e6);border-radius:14px;background:var(--surface,#fff);box-shadow:0 18px 45px rgba(17,51,55,.18);scrollbar-width:thin}.patient-combobox-menu[hidden]{display:none!important}.patient-combobox-option{width:100%;border:0;background:transparent;color:var(--text,#17383b);font:inherit;text-align:right;border-radius:10px;padding:10px 11px;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer}.patient-combobox-option:hover,.patient-combobox-option.active{background:var(--brand-soft,#e8f5f4);color:var(--brand,#0b7a80)}.patient-combobox-option[aria-selected=true]{box-shadow:inset 3px 0 0 var(--brand,#0b7a80)}.patient-combobox-option span{font-size:0.75rem;font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.patient-combobox-option small{font-size:0.625rem;color:var(--muted,#71868a);direction:ltr;white-space:nowrap}.patient-combobox-empty{padding:18px 12px;text-align:center;color:var(--muted,#71868a);font-size:0.6875rem}.patient-combobox-input:invalid:not(:focus){border-color:#dc5261}
@media(max-width:600px){.patient-combobox-option{align-items:flex-start;flex-direction:column;gap:3px}.patient-combobox-option small{direction:rtl}}


/* Medino 1.0 — scheduled messaging, font controls and update suggestions */
.font-scale-picker{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.font-scale-picker label{cursor:pointer;min-width:0}.font-scale-picker input{position:absolute;opacity:0;pointer-events:none}.font-scale-picker span{min-height:94px;border:1px solid var(--border,#dbe5e6);border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:4px;background:var(--surface,#fff);transition:.18s}.font-scale-picker b{font-size:0.75rem}.font-scale-picker small{color:var(--brand,#0b7a80)}.font-scale-picker em{font-style:normal;color:var(--muted,#829598);margin-top:auto;white-space:nowrap;overflow:hidden}.font-scale-picker input:checked+span{border-color:var(--brand,#0b7a80);background:var(--brand-soft,#e8f5f4);box-shadow:0 0 0 3px rgba(11,122,128,.08)}.settings-hint{color:var(--muted,#829598);font-size:0.6875rem;margin-top:-4px}
.sms-scheduler-panel{margin-bottom:18px}.sms-schedule-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}.sms-schedule-card{border:1px solid var(--border,#dbe5e6);border-radius:16px;padding:15px;background:var(--surface,#fff)}.schedule-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.schedule-card-head span{font-size:0.625rem;color:var(--brand,#0b7a80)}.schedule-card-head h4{font-size:0.875rem;margin:3px 0}.sms-schedule-card>p{font-size:0.625rem;line-height:1.9;color:var(--muted,#829598);min-height:42px}.sms-schedule-card label{font-size:0.625rem;color:var(--muted,#829598);margin-bottom:5px}.sms-schedule-card small{display:block;color:var(--muted,#829598);margin-top:4px;font-size:0.5625rem}.scheduler-runtime-box,.cron-config-box{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--border,#dbe5e6);border-radius:15px;padding:14px 16px;margin-top:12px;background:var(--soft,#f7fafb)}.scheduler-runtime-box p,.cron-config-box p{margin:4px 0 0;color:var(--muted,#829598);font-size:0.625rem;line-height:1.8}.cron-config-box{display:block}.cron-url-row{display:flex;gap:8px;margin:10px 0 7px}.cron-url-row input{font-family:monospace;font-size:0.625rem}.scheduler-run-form{border-top:1px solid var(--border,#dbe5e6);padding:12px 16px;display:flex;align-items:center;justify-content:flex-end;gap:12px}.scheduler-run-form span{color:var(--muted,#829598);font-size:0.625rem}
.update-suggestion-panel{margin-top:18px}.update-suggestion-panel>.panel-header>a{color:var(--brand,#0b7a80);font-weight:700;direction:ltr}.suggestion-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr)}.suggestion-form{border-left:1px solid var(--border,#dbe5e6)}.suggestion-terms{border:1px solid #f0d89d;background:#fff9e9;border-radius:15px;padding:14px 16px;margin-bottom:16px;color:#705b28}.suggestion-terms h4{font-size:0.8125rem;margin:0 0 8px}.suggestion-terms ul{margin:0;padding-right:18px;line-height:2;font-size:0.625rem}.suggestion-agree{display:flex;align-items:center;gap:8px;margin-top:16px;font-weight:650}.suggestion-agree input{accent-color:var(--brand,#0b7a80);width:17px;height:17px}.suggestion-history{min-width:0}.suggestion-history h4{font-size:0.875rem;margin-bottom:12px}.suggestion-history article{border:1px solid var(--border,#dbe5e6);border-radius:13px;padding:12px;margin-bottom:9px;background:var(--surface,#fff)}.suggestion-history article header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.suggestion-history article header b{font-size:0.6875rem}.suggestion-history article p{font-size:0.625rem;line-height:1.8;color:var(--muted,#829598);margin:8px 0}.suggestion-history article footer{display:flex;flex-wrap:wrap;gap:8px;color:var(--muted,#829598);font-size:0.5625rem}.suggestion-history article>small{display:block;color:#b36a20;margin-top:7px}
@media(max-width:1100px){.font-scale-picker{grid-template-columns:repeat(3,minmax(0,1fr))}.sms-schedule-grid{grid-template-columns:1fr}.suggestion-layout{grid-template-columns:1fr}.suggestion-form{border-left:0;border-bottom:1px solid var(--border,#dbe5e6)}}
@media(max-width:600px){.font-scale-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.cron-url-row,.scheduler-run-form{flex-direction:column;align-items:stretch}.scheduler-runtime-box{align-items:flex-start}.suggestion-terms ul{padding-right:15px}}
html[data-theme="dark"] .suggestion-terms{background:#332d1f;border-color:#5f5030;color:#e8d39a}
html[data-theme="dark"] .font-scale-picker span,html[data-theme="dark"] .sms-schedule-card,html[data-theme="dark"] .suggestion-history article{background:var(--surface,#152427)}

/* Medino 1.0 — hard lock for appointment dates before today */
.weekly-schedule [data-bookable="0"]{cursor:not-allowed}
.weekly-schedule .slot[data-bookable="0"] .slot-add{display:none!important;visibility:hidden!important;pointer-events:none!important}
.weekly-schedule .schedule-head[data-bookable="0"]{background:var(--surface-2);color:var(--muted)}
.weekly-schedule .slot[data-bookable="0"]{background:repeating-linear-gradient(135deg,rgba(112,128,132,.035),rgba(112,128,132,.035) 8px,rgba(112,128,132,.065) 8px,rgba(112,128,132,.065) 16px)}

/* Medino 1.0 — clinical, scheduling, billing, backup and security suite */
.clinical-patient-filter{margin-bottom:16px}.clinical-patient-filter .panel-body{padding:16px}.clinical-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(330px,.55fr);gap:16px;align-items:start}.treatment-plan-workspace{display:flex;flex-direction:column;gap:16px}.module-tabs{display:flex;align-items:center;gap:6px;overflow:auto;margin:0 0 16px;padding:6px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow-sm);scrollbar-width:thin}.module-tabs a{flex:0 0 auto;min-height:38px;padding:9px 14px;border-radius:10px;color:var(--muted);font-size:.6875rem;font-weight:700;text-decoration:none;white-space:nowrap}.module-tabs a:hover{background:var(--surface-2);color:var(--brand)}.module-tabs a.active{background:var(--brand-soft);color:var(--brand);box-shadow:inset 0 0 0 1px rgba(17,148,156,.16)}
.split-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,.6fr);gap:16px;align-items:start}.split-layout.wide-main{grid-template-columns:minmax(0,1.65fr) minmax(330px,.55fr)}.split-layout>form,.document-layout>form,.backup-side>form{min-width:0}.weekday-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.weekday-picker label{margin:0;cursor:pointer}.weekday-picker input{position:absolute;opacity:0;pointer-events:none}.weekday-picker span{display:grid;place-items:center;min-height:38px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--muted);font-size:.625rem;transition:.18s}.weekday-picker input:checked+span{border-color:var(--brand);background:var(--brand-soft);color:var(--brand);font-weight:750}.table-warning-row{background:rgba(220,138,22,.075)}.table-warning-row:hover{background:rgba(220,138,22,.12)}

/* Odontogram */
.odontogram-panel{overflow:hidden}.odontogram-panel .panel-body{padding:18px}.odontogram{display:flex;flex-direction:column;gap:18px;overflow:auto;padding:8px 2px 14px}.tooth-row{display:grid;grid-template-columns:repeat(16,minmax(42px,1fr));gap:6px;min-width:790px}.tooth-row+.tooth-row{padding-top:17px;border-top:1px dashed var(--line)}.tooth-button{--tooth-accent:#9fb1b3;--tooth-soft:rgba(159,177,179,.12);position:relative;min-height:74px;border:1px solid rgba(159,177,179,.35);border-radius:13px;background:linear-gradient(180deg,var(--surface) 0%,var(--tooth-soft) 100%);color:var(--text);padding:7px 4px 6px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:5px;text-decoration:none;transition:.18s;overflow:hidden}.tooth-button:hover,.tooth-button.active,.tooth-button.selected{border-color:var(--tooth-accent);transform:translateY(-2px);box-shadow:0 7px 18px rgba(7,93,99,.09)}.tooth-button.active,.tooth-button.selected{box-shadow:0 0 0 3px rgba(17,148,156,.12)}.tooth-button b{font-size:.6875rem}.tooth-button small{max-width:100%;font-size:.46rem;color:var(--tooth-accent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:700}.tooth-shape{width:28px;height:31px;border:2px solid currentColor;border-radius:48% 48% 36% 36%;background:var(--surface);position:relative;color:var(--tooth-accent)}.tooth-shape:after{content:"";position:absolute;inset:5px;border:1px solid currentColor;border-radius:50%;opacity:.42}.tooth-button.healthy,.tooth-state.healthy{--tooth-accent:#7a9396;--tooth-soft:rgba(122,147,150,.12);color:#7a9396}.tooth-button[data-status="پوسیدگی"],.tooth-state.caries{--tooth-accent:#c74b57;--tooth-soft:rgba(199,75,87,.14);color:#c74b57}.tooth-button[data-status="ترمیم‌شده"],.tooth-state.filled{--tooth-accent:#3978d4;--tooth-soft:rgba(57,120,212,.14);color:#3978d4}.tooth-button[data-status="روکش"],.tooth-state.crown{--tooth-accent:#b88422;--tooth-soft:rgba(184,132,34,.16);color:#b88422}.tooth-button[data-status="عصب‌کشی‌شده"],.tooth-state.root{--tooth-accent:#8a60bf;--tooth-soft:rgba(138,96,191,.16);color:#8a60bf}.tooth-button[data-status="ایمپلنت"],.tooth-state.implant{--tooth-accent:#1b966c;--tooth-soft:rgba(27,150,108,.16);color:#1b966c}.tooth-button[data-status="شکستگی"],.tooth-state.fracture{--tooth-accent:#d46d2e;--tooth-soft:rgba(212,109,46,.16);color:#d46d2e}.tooth-button[data-status="نیازمند بررسی"],.tooth-state.review,.tooth-button.warning,.tooth-state.warning{--tooth-accent:#d18a16;--tooth-soft:rgba(209,138,22,.16);color:#d18a16}.tooth-button[data-status="کشیده‌شده"],.tooth-button[data-status="غایب"],.tooth-button.missing,.tooth-state.missing{--tooth-accent:#8a9b9f;--tooth-soft:rgba(138,155,159,.10);color:#8a9b9f}.tooth-button[data-status="کشیده‌شده"] .tooth-shape,.tooth-button[data-status="غایب"] .tooth-shape,.tooth-button.missing .tooth-shape,.tooth-state.missing{opacity:.35}.odontogram-legend{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.odontogram-legend span{display:flex;align-items:center;gap:5px;padding:5px 8px;border:1px solid currentColor;border-radius:9px;background:rgba(255,255,255,.6);font-size:.5rem}.odontogram-legend i{width:9px;height:9px;border-radius:50%;background:currentColor}.tooth-editor{position:sticky;top:100px}.tooth-editor .panel-body{display:flex;flex-direction:column;gap:10px}.surface-picker{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}.surface-picker label{cursor:pointer;margin:0}.surface-picker input{position:absolute;opacity:0}.surface-picker span{height:34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:9px;background:var(--surface-2);font-weight:800;color:var(--muted)}.surface-picker input:checked+span{background:var(--brand);border-color:var(--brand);color:#fff}.tooth-state{display:inline-flex;align-items:center;gap:5px}.tooth-state:before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}

/* Treatment plans */
.plan-layout{display:grid;grid-template-columns:290px minmax(0,1fr);min-height:560px}.plan-list{border-left:1px solid var(--line);background:var(--surface-2);padding:10px;max-height:760px;overflow:auto}.plan-list-item{display:flex;flex-direction:column;gap:5px;padding:12px;margin-bottom:7px;border:1px solid transparent;border-radius:12px;text-decoration:none;color:var(--text);background:var(--surface)}.plan-list-item:hover,.plan-list-item.active{border-color:#b9d8d8;background:var(--brand-soft)}.plan-list-item b{font-size:.6875rem}.plan-list-item small{font-size:.5625rem;color:var(--muted)}.plan-list-item span{display:flex;justify-content:space-between;gap:8px}.plan-detail{min-width:0;padding:16px}.plan-summary-form{border:1px solid var(--line);border-radius:15px;background:var(--surface-2);padding:15px;margin-bottom:14px}.plan-summary-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:15px;padding-top:13px;border-top:1px solid var(--line)}.plan-summary-actions>div{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.plan-summary-actions span{font-size:.5625rem;color:var(--muted)}.plan-summary-actions strong{font-size:.75rem;color:var(--brand)}.add-plan-item{border:1px dashed #a8cccc;border-radius:14px;background:rgba(232,245,244,.45);padding:14px;margin-top:14px}.inline-item-status{display:grid;grid-template-columns:minmax(120px,1fr) 90px 80px minmax(150px,1fr) auto;gap:7px;align-items:end}.inline-item-status select,.inline-item-status input{min-width:0}.inline-item-status button{height:38px}.treatment-plan-workspace .data-table td{vertical-align:middle}

/* Documents */
.document-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px}.document-summary article{border:1px solid var(--line);border-radius:15px;background:var(--surface);box-shadow:var(--shadow-sm);padding:14px}.document-summary span{display:block;color:var(--muted);font-size:.5625rem}.document-summary strong{display:block;margin-top:5px;font-size:.875rem}.document-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.55fr);gap:16px;align-items:start}.document-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:16px}.document-card{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:15px;background:var(--surface);transition:.18s}.document-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}.document-preview{height:145px;display:grid;place-items:center;background:linear-gradient(145deg,var(--surface-2),var(--brand-soft));text-decoration:none;color:var(--brand);overflow:hidden}.document-preview img{width:100%;height:100%;object-fit:cover}.document-preview .icon{width:42px;height:42px}.document-preview span{font-size:.625rem;font-weight:800}.document-info{padding:12px}.document-info h4{font-size:.6875rem;margin:9px 0 5px}.document-info p{height:36px;margin:0;color:var(--muted);font-size:.5625rem;line-height:1.8;overflow:hidden}.document-info>small{display:block;margin-top:8px;color:var(--muted);font-size:.5rem}.document-actions{display:flex;gap:5px;flex-wrap:wrap;margin-top:10px}.document-actions form{margin:0}.document-upload-panel{position:sticky;top:100px}.document-upload-panel .field-help{display:block;margin-top:-8px}

/* Billing */
.billing-layout{display:grid;grid-template-columns:285px minmax(0,1fr);min-height:610px}.invoice-list{max-height:800px;overflow:auto;border-left:1px solid var(--line);background:var(--surface-2);padding:9px}.invoice-list-item{display:grid;grid-template-columns:1fr auto;gap:7px;padding:11px;margin-bottom:7px;border:1px solid transparent;border-radius:12px;background:var(--surface);text-decoration:none;color:var(--text)}.invoice-list-item:hover,.invoice-list-item.active{border-color:#b7d8d8;background:var(--brand-soft)}.invoice-list-item span{min-width:0}.invoice-list-item b{display:block;font-size:.6875rem}.invoice-list-item small{display:block;margin-top:3px;color:var(--muted);font-size:.5rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.invoice-list-item em{font-style:normal;align-self:start}.invoice-list-item>strong{grid-column:1/-1;font-size:.5625rem;color:var(--warning)}.invoice-detail{min-width:0;padding:16px}.invoice-detail-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--line)}.invoice-detail-head h3{font-size:1rem;margin:0}.invoice-detail-head p{margin:4px 0 0;color:var(--muted);font-size:.625rem}.invoice-detail-head>div:last-child{display:flex;align-items:center;gap:7px}.invoice-meta-form,.invoice-add-row{padding:14px 0;border-bottom:1px solid var(--line)}.invoice-totals{display:flex;align-items:center;justify-content:flex-end;gap:15px;flex-wrap:wrap;padding:15px;border:1px solid var(--line);border-radius:13px;background:var(--surface-2);margin-top:13px}.invoice-totals span{font-size:.5625rem;color:var(--muted)}.invoice-totals strong{font-size:.6875rem}.invoice-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.invoice-actions form{margin:0}.payment-zone{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:14px;margin-top:15px}.payment-zone>section,.payment-forms{border:1px solid var(--line);border-radius:14px;padding:13px}.payment-zone h4{font-size:.75rem;margin:0 0 12px}.payment-forms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;background:var(--surface-2)}.payment-forms form{padding:11px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.cash-session-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:15px}.cash-session-summary div{padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}.cash-session-summary span{display:block;color:var(--muted);font-size:.5rem}.cash-session-summary b{display:block;margin-top:5px;font-size:.6875rem}.cash-close-form{display:grid;grid-template-columns:1fr 1.5fr auto;gap:9px;align-items:end;padding:15px;border-top:1px solid var(--line)}.cash-open-form{max-width:460px;margin:0 auto;padding:16px}

/* Backup and health */
.health-score{display:flex;align-items:center;gap:18px;padding:18px 20px;margin-bottom:16px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(135deg,var(--surface),var(--brand-soft));box-shadow:var(--shadow-sm)}.health-score-ring{--score:0;width:92px;height:92px;flex:0 0 92px;border-radius:50%;display:grid;place-items:center;position:relative;background:conic-gradient(var(--brand) calc(var(--score)*1%),var(--line) 0)}.health-score-ring:before{content:"";position:absolute;inset:9px;border-radius:50%;background:var(--surface)}.health-score-ring strong,.health-score-ring span{position:relative;z-index:1}.health-score-ring strong{font-size:1rem}.health-score-ring span{position:absolute;bottom:23px;color:var(--muted);font-size:.4375rem}.health-score h2{font-size:1rem;margin:0 0 5px}.health-score p{margin:0;color:var(--muted);font-size:.625rem}.health-score form{margin-right:auto}.health-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px}.health-card{display:flex;align-items:flex-start;gap:10px;padding:13px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.health-card>span{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--surface-2);color:var(--muted)}.health-card .icon{width:17px;height:17px}.health-card.ok{border-color:rgba(27,150,108,.25)}.health-card.ok>span{background:rgba(27,150,108,.1);color:var(--success)}.health-card.issue{border-color:rgba(220,138,22,.3)}.health-card.issue>span{background:rgba(220,138,22,.1);color:var(--warning)}.health-card h4{font-size:.625rem;margin:1px 0 4px}.health-card p{font-size:.5rem;color:var(--muted);line-height:1.7;margin:0}.backup-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(330px,.55fr);gap:16px;align-items:start}.backup-side{display:flex;flex-direction:column;gap:16px}.restore-panel{border-color:rgba(217,77,92,.25)}

/* Security */
.security-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:16px}.security-overview article{display:flex;align-items:center;gap:11px;padding:15px;border:1px solid var(--line);border-radius:15px;background:var(--surface);box-shadow:var(--shadow-sm)}.security-overview article>.icon{width:38px;height:38px;padding:9px;border-radius:12px;background:var(--brand-soft);color:var(--brand)}.security-overview span{display:block;color:var(--muted);font-size:.5625rem}.security-overview strong{display:block;margin-top:4px;font-size:.75rem}.security-two-factor-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:16px}.two-factor-intro{padding:15px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}.two-factor-intro h4,.two-factor-enabled h4{font-size:.8125rem}.two-factor-intro p,.two-factor-enabled p{color:var(--muted);font-size:.625rem;line-height:2}.two-factor-setup ol{padding-right:18px;color:var(--muted);font-size:.625rem;line-height:2}.secret-copy{display:flex;align-items:center;gap:8px;padding:9px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2);direction:ltr}.secret-copy code{flex:1;font-size:.75rem;letter-spacing:.08em;overflow-wrap:anywhere}.secret-copy button{border:0;border-radius:8px;background:var(--brand);color:#fff;padding:7px 10px;font:inherit;font-size:.5625rem}.confirm-two-factor{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end;margin-top:13px}.confirm-two-factor label{grid-column:1/-1}.recovery-code-box{border:1px solid rgba(220,138,22,.35);background:rgba(220,138,22,.08);border-radius:14px;padding:14px;margin-bottom:14px}.recovery-code-box h4{font-size:.75rem}.recovery-code-box>div{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;direction:ltr}.recovery-code-box code{display:block;padding:8px;border:1px dashed rgba(220,138,22,.5);border-radius:8px;background:var(--surface);text-align:center}.two-factor-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.two-factor-actions form{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--line);border-radius:12px}.security-guidance{display:flex;flex-direction:column;gap:9px}.security-guidance p{margin:0;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);color:var(--muted);font-size:.625rem;line-height:1.8}.admin-security-actions{display:flex;gap:5px}.admin-security-actions select{max-width:155px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);font:inherit;font-size:.5625rem;padding:5px}.security-policy-panel .switch-row{border:1px solid var(--line);border-radius:12px;padding:10px 12px}.security-policy-panel .switch-row b{display:block;font-size:.625rem}.security-policy-panel .switch-row small{display:block;color:var(--muted);font-size:.5rem}

/* Shared refinements */
.data-table.compact th,.data-table.compact td{padding:8px 9px}.field-help{display:block;color:var(--muted);font-size:.5rem;line-height:1.8}.panel-count{font-size:.5625rem;color:var(--muted);padding:5px 8px;border-radius:8px;background:var(--surface-2)}.text-warning{color:var(--warning)!important}.summary-strip .summary-mini strong .text-success{font-size:inherit}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn-danger:hover{background:var(--danger);border-color:var(--danger);filter:brightness(.94);color:#fff}

@media(max-width:1350px){.clinical-grid,.document-layout,.backup-layout{grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr)}.document-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.health-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1100px){.clinical-grid,.split-layout,.split-layout.wide-main,.document-layout,.backup-layout,.security-two-factor-layout{grid-template-columns:1fr}.tooth-editor,.document-upload-panel{position:static}.plan-layout,.billing-layout{grid-template-columns:240px minmax(0,1fr)}.health-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.document-summary,.cash-session-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){.plan-layout,.billing-layout{grid-template-columns:1fr}.plan-list,.invoice-list{border-left:0;border-bottom:1px solid var(--line);max-height:250px}.plan-summary-actions,.invoice-detail-head,.health-score{align-items:flex-start;flex-direction:column}.health-score form{margin-right:0;width:100%}.health-score .btn{width:100%}.payment-zone{grid-template-columns:1fr}.security-overview{grid-template-columns:1fr}.inline-item-status{grid-template-columns:1fr 1fr}.inline-item-status>*:last-child{grid-column:1/-1}.cash-close-form{grid-template-columns:1fr}.health-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.document-summary,.document-grid,.health-grid,.cash-session-summary,.payment-forms,.two-factor-actions{grid-template-columns:1fr}.weekday-picker{grid-template-columns:repeat(2,1fr)}.plan-detail,.invoice-detail{padding:11px}.plan-summary-actions>div:last-child,.invoice-actions{width:100%}.plan-summary-actions .btn,.invoice-actions .btn{flex:1}.surface-picker{grid-template-columns:repeat(3,1fr)}.health-score-ring{width:76px;height:76px;flex-basis:76px}.document-preview{height:170px}.recovery-code-box>div{grid-template-columns:1fr}.confirm-two-factor{grid-template-columns:1fr}.tooth-row{min-width:720px}.module-tabs{border-radius:12px}.admin-security-actions{flex-direction:column}}
html[data-theme="dark"] .table-warning-row{background:rgba(220,138,22,.12)}html[data-theme="dark"] .add-plan-item{background:rgba(17,148,156,.08)}html[data-theme="dark"] .health-score{background:linear-gradient(135deg,var(--surface),rgba(17,148,156,.1))}html[data-theme="dark"] .document-preview{background:linear-gradient(145deg,var(--surface-2),rgba(17,148,156,.12))}
.advanced-dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:18px}.advanced-dashboard-grid a{display:flex;flex-direction:column;min-height:112px;padding:14px;border:1px solid var(--line);border-radius:15px;background:var(--surface);box-shadow:var(--shadow-sm);text-decoration:none;color:var(--text);transition:.18s}.advanced-dashboard-grid a:hover{border-color:#b7d7d7;transform:translateY(-2px)}.advanced-dashboard-grid span{font-size:.5625rem;color:var(--muted)}.advanced-dashboard-grid strong{font-size:.875rem;margin:7px 0;color:var(--brand)}.advanced-dashboard-grid small{margin-top:auto;color:var(--muted);font-size:.5rem}@media(max-width:1000px){.advanced-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.advanced-dashboard-grid{grid-template-columns:1fr}}

.patient-documents-inline .panel-body{padding-top:0}.patient-documents-inline .document-summary{margin-top:0}.patient-documents-inline .document-layout{margin-top:12px}



/* Medino 1.0 — editable Persian date fields */
.jalali-display-wrap .jalali-manual-input{cursor:text;direction:ltr;text-align:center;font-variant-numeric:tabular-nums;padding-left:48px}
.jalali-help{display:block;margin-top:6px;color:var(--muted,#829598);font-size:.7rem;line-height:1.6}
.jalali-error{display:none;margin-top:5px;color:#c73f50;font-size:.72rem;line-height:1.6}
.jalali-field.has-error .jalali-error{display:block}
.jalali-field.has-error .jalali-help{display:none}
.jalali-field.is-readonly .jalali-manual-input{cursor:default;background:var(--soft,#f4f8f8)}

/* Jalali picker: direct month/year selection and reliable manual entry */
.jalali-head{gap:8px}
.jalali-head>button{flex:0 0 36px;display:grid;place-items:center;transition:.15s}
.jalali-head>button:disabled{opacity:.35;cursor:not-allowed;background:var(--soft,#f4f8f8)}
.jalali-title{min-width:0;flex:1;display:grid;grid-template-columns:minmax(112px,1fr) 82px;gap:7px;align-items:center;font-size:inherit}
.jalali-title select,.jalali-title input{width:100%;height:36px;border:1px solid var(--border,#dbe5e6);border-radius:10px;background:var(--panel,#fff);color:var(--text,#17383b);font:inherit;font-size:.76rem;font-weight:750;outline:0;transition:border-color .15s,box-shadow .15s}
.jalali-title select{padding:0 10px;cursor:pointer;text-align:center;text-align-last:center}
.jalali-title input{padding:0 8px;text-align:center;direction:ltr;font-variant-numeric:tabular-nums}
.jalali-title select:focus,.jalali-title input:focus{border-color:var(--brand,#0b7a80);box-shadow:0 0 0 3px rgba(11,122,128,.1)}
.jalali-display-wrap .jalali-manual-input{unicode-bidi:plaintext;letter-spacing:.02em}
@media(max-width:380px){.jalali-popover{width:calc(100vw - 24px);max-width:none}.jalali-title{grid-template-columns:minmax(98px,1fr) 72px;gap:5px}.jalali-head{gap:5px}.jalali-head>button{flex-basis:34px;width:34px;height:34px}.jalali-title select,.jalali-title input{height:34px;font-size:.7rem}}


/* Three-dimensional odontogram */
.odontogram3d-layout{grid-template-columns:minmax(0,1fr) 290px;align-items:start}
.odontogram3d-panel{overflow:hidden}
.odontogram3d-panel .panel-header{align-items:flex-start;gap:18px}
.odontogram3d-panel .panel-header p{max-width:760px}
.odontogram3d-mini-legend{display:flex;align-items:center;flex-wrap:wrap;gap:7px;justify-content:flex-end}
.odontogram3d-mini-legend span{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);font-size:.5rem;color:var(--muted);white-space:nowrap}
.odontogram3d-mini-legend i{width:8px;height:8px;border-radius:50%;background:var(--legend-color)}
.odontogram3d-shell{position:relative;min-height:660px;border:1px solid rgba(9,113,119,.12);border-radius:22px;overflow:hidden;background:radial-gradient(circle at 50% 40%,#fff 0,#f7fbfb 56%,#eef6f6 100%);isolation:isolate}
.odontogram3d-canvas{position:absolute;inset:0;min-height:660px;touch-action:none}
.odontogram3d-canvas canvas{display:block;width:100%;height:100%;outline:0}
.odontogram3d-loading{position:absolute;inset:0;z-index:5;display:grid;place-content:center;justify-items:center;gap:12px;background:rgba(248,252,252,.88);backdrop-filter:blur(5px);color:var(--muted)}
.odontogram3d-loading[hidden]{display:none}
.odontogram3d-loader{width:46px;height:46px;border:4px solid rgba(9,128,134,.12);border-top-color:var(--brand);border-radius:50%;animation:odontogram-spin .9s linear infinite}
@keyframes odontogram-spin{to{transform:rotate(360deg)}}
.odontogram3d-tools{position:absolute;top:16px;left:16px;z-index:4;display:flex;gap:7px;padding:6px;border:1px solid rgba(17,104,109,.12);border-radius:14px;background:rgba(255,255,255,.82);box-shadow:0 10px 30px rgba(20,75,78,.08);backdrop-filter:blur(10px)}
.odontogram3d-tools button{width:36px;height:36px;border:0;border-radius:10px;background:transparent;color:var(--text);font-size:1rem;display:grid;place-items:center;transition:.18s}
.odontogram3d-tools button:hover{background:var(--surface-2);color:var(--brand)}
.odontogram3d-selected-badge{position:absolute;top:18px;right:18px;z-index:4;min-width:94px;padding:8px 13px;border-radius:999px;background:rgba(0,112,118,.92);color:#fff;text-align:center;font-weight:800;font-size:.7rem;box-shadow:0 8px 24px rgba(0,112,118,.18);backdrop-filter:blur(8px)}
.odontogram3d-axis-label{position:absolute;left:50%;z-index:3;transform:translateX(-50%);padding:7px 17px;border:1px solid rgba(11,113,119,.13);border-radius:999px;background:rgba(255,255,255,.78);box-shadow:0 8px 25px rgba(21,74,76,.06);font-size:.65rem;font-weight:800;color:#315d61;pointer-events:none;backdrop-filter:blur(8px)}
.odontogram3d-axis-label.upper{top:13%}.odontogram3d-axis-label.lower{bottom:13%}
.odontogram3d-help{position:absolute;right:18px;bottom:18px;z-index:4;max-width:300px;display:flex;align-items:center;gap:9px;padding:9px 12px;border:1px solid rgba(11,113,119,.12);border-radius:13px;background:rgba(255,255,255,.84);color:var(--muted);font-size:.52rem;line-height:1.8;backdrop-filter:blur(8px)}
.odontogram3d-help svg{width:19px;height:19px;color:var(--brand);flex:0 0 auto}
.odontogram3d-fallback{position:absolute;inset:0;z-index:6;padding:30px;overflow:auto;background:#f8fbfb;text-align:center;color:var(--muted)}
.odontogram3d-fallback[hidden]{display:none}
.odontogram3d-fallback-grid{max-width:740px;margin:22px auto;display:grid;grid-template-columns:repeat(8,1fr);gap:9px;direction:ltr}
.odontogram3d-fallback-tooth{height:54px;border:2px solid color-mix(in srgb,var(--status-color),#fff 48%);border-radius:13px;background:color-mix(in srgb,var(--status-color),#fff 90%);color:#173e42;font-weight:900;transition:.18s}
.odontogram3d-fallback-tooth:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(9,98,103,.1)}
.odontogram3d-side{display:flex;flex-direction:column;gap:14px;position:sticky;top:96px}
.odontogram3d-selected-card .panel-body{text-align:center;padding:22px}
.odontogram3d-selected-card .tooth-card-icon{width:68px;height:68px;margin:0 auto 12px;border-radius:22px;display:grid;place-items:center;background:linear-gradient(145deg,#f4fbfb,#e9f5f5);color:var(--brand);box-shadow:inset 0 0 0 1px rgba(8,119,125,.10)}
.odontogram3d-selected-card .tooth-card-icon svg{width:38px;height:38px}
.odontogram3d-selected-card h3{font-size:1.22rem;margin-bottom:5px}
.odontogram3d-selected-card p{font-size:.57rem;color:var(--muted);margin-bottom:14px}
.odontogram3d-selected-status{--status-color:#1ea985;display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border-radius:999px;background:color-mix(in srgb,var(--status-color),#fff 88%);color:color-mix(in srgb,var(--status-color),#102e31 24%);font-size:.57rem;font-weight:800;margin-bottom:16px}
.odontogram3d-selected-status:before{content:"";width:9px;height:9px;border-radius:50%;background:var(--status-color);box-shadow:0 0 0 4px color-mix(in srgb,var(--status-color),transparent 84%)}
.odontogram3d-selected-card .btn{width:100%}
.odontogram3d-summary .panel-body{padding:8px 16px 14px}
.odontogram3d-summary-row{display:grid;grid-template-columns:32px 1fr 18px;align-items:center;gap:8px;min-height:41px;border-bottom:1px dashed var(--line);font-size:.56rem;color:var(--muted)}
.odontogram3d-summary-row:last-child{border:0}
.odontogram3d-summary-row b{width:29px;height:25px;display:grid;place-items:center;border-radius:8px;background:color-mix(in srgb,var(--status-color),#fff 88%);color:color-mix(in srgb,var(--status-color),#193d40 25%);font-size:.55rem}
.odontogram3d-summary-row i{width:10px;height:10px;border-radius:50%;background:var(--status-color)}
.odontogram3d-modal .modal-dialog{max-width:720px}
.odontogram3d-modal .modal-content{border:0;border-radius:22px;overflow:hidden;box-shadow:0 28px 80px rgba(20,57,60,.22)}
.odontogram3d-modal .modal-header{padding:20px 24px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#fff,#f9fcfc)}
.odontogram3d-modal-title small{display:block;margin-top:5px;color:var(--muted);font-size:.56rem;font-weight:500}
.odontogram3d-modal .modal-body{padding:22px 24px}
.odontogram3d-status-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin-top:9px}
.odontogram3d-status-option{cursor:pointer;margin:0;position:relative}
.odontogram3d-status-option input{position:absolute;opacity:0;pointer-events:none}
.odontogram3d-status-option span{--status-color:#1ea985;min-height:78px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:9px;padding:10px 6px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--text);font-size:.54rem;font-weight:800;text-align:center;transition:.18s}
.odontogram3d-status-option i{width:20px;height:20px;border-radius:50%;background:var(--status-color);box-shadow:0 0 0 6px color-mix(in srgb,var(--status-color),transparent 86%)}
.odontogram3d-status-option input:checked+span{border-color:var(--status-color);background:color-mix(in srgb,var(--status-color),#fff 93%);box-shadow:0 0 0 3px color-mix(in srgb,var(--status-color),transparent 86%);transform:translateY(-2px)}
.odontogram3d-color-row{display:grid;grid-template-columns:1fr auto;gap:9px;align-items:end;margin-top:18px}
.odontogram3d-color-control{display:flex;align-items:center;gap:10px;height:43px;padding:5px 10px;border:1px solid var(--line);border-radius:11px;background:var(--surface)}
.odontogram3d-color-control input[type=color]{width:35px;height:31px;padding:0;border:0;background:transparent;cursor:pointer}
.odontogram3d-color-control span{font-size:.55rem;color:var(--muted)}
.odontogram3d-modal .surface-picker{grid-template-columns:repeat(6,1fr)}
.odontogram3d-modal .surface-picker span{height:45px}
.odontogram3d-modal .surface-picker small{display:block;font-size:.43rem;font-weight:500}
.odontogram3d-modal .modal-footer{padding:15px 24px;border-top:1px solid var(--line);background:#fbfdfd}
.odontogram3d-modal .modal-footer .btn-brand{min-width:180px}
.odontogram3d-notice{position:fixed;left:24px;bottom:24px;z-index:1100;max-width:380px;padding:13px 18px;border-radius:13px;background:#167c72;color:#fff;box-shadow:0 16px 45px rgba(18,69,65,.22);font-size:.62rem;font-weight:700;opacity:0;transform:translateY(18px);pointer-events:none;transition:.22s}
.odontogram3d-notice.is-visible{opacity:1;transform:translateY(0)}
.odontogram3d-notice.is-error{background:#b93c4c}
@media(max-width:1180px){.odontogram3d-layout{grid-template-columns:1fr}.odontogram3d-side{position:static;display:grid;grid-template-columns:300px 1fr}.odontogram3d-shell,.odontogram3d-canvas{min-height:610px}}
@media(max-width:760px){.odontogram3d-panel .panel-header{display:block}.odontogram3d-mini-legend{justify-content:flex-start;margin-top:12px}.odontogram3d-shell,.odontogram3d-canvas{min-height:520px}.odontogram3d-side{display:flex}.odontogram3d-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.odontogram3d-tools{top:10px;left:10px}.odontogram3d-selected-badge{top:11px;right:11px}.odontogram3d-help{display:none}.odontogram3d-axis-label{font-size:.55rem}.odontogram3d-fallback-grid{grid-template-columns:repeat(4,1fr)}}

/* Remote patient picker — treatment plan */
.treatment-patient-picker-panel{position:relative;z-index:12;overflow:visible}
.treatment-patient-picker-panel .panel-body{overflow:visible}
.remote-patient-picker{position:relative}
.remote-patient-picker-control{position:relative;display:flex;align-items:center}
.remote-patient-picker-control>.icon{position:absolute;right:14px;width:19px;height:19px;color:#718c91;z-index:2;pointer-events:none}
.remote-patient-picker-control .form-control{padding-right:44px;padding-left:42px;min-height:46px}
.remote-patient-clear{position:absolute;left:9px;border:0;background:#edf5f5;color:#496a70;width:29px;height:29px;border-radius:9px;font-size:21px;line-height:1;display:grid;place-items:center}
.remote-patient-clear:hover{background:#dfeeee;color:#075f66}
.remote-patient-results{position:absolute;top:calc(100% + 8px);right:0;left:0;z-index:40;max-height:340px;overflow:auto;padding:7px;background:#fff;border:1px solid #d8e7e8;border-radius:16px;box-shadow:0 20px 50px rgba(31,68,73,.17)}
.remote-patient-result{width:100%;display:flex;align-items:center;gap:11px;text-align:right;border:0;background:transparent;padding:10px;border-radius:12px;color:#23484e;transition:.16s ease}
.remote-patient-result:hover,.remote-patient-result.active{background:#edf8f8}
.remote-patient-avatar{flex:0 0 38px;width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:#dceeee;color:#08767c;font-weight:800}
.remote-patient-result-body{display:flex;min-width:0;flex-direction:column;gap:2px}
.remote-patient-result-body strong{font-size:.91rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.remote-patient-result-body small{font-size:.73rem;color:#789096;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.remote-patient-empty,.remote-patient-loading{padding:20px 12px;text-align:center;color:#6b858a;font-size:.83rem}
.remote-patient-empty.is-error{color:#b84d58}
.remote-patient-loading{display:flex;align-items:center;justify-content:center;gap:9px}
.remote-patient-loading span{width:16px;height:16px;border:2px solid #cae1e2;border-top-color:#087c82;border-radius:50%;animation:remotePatientSpin .7s linear infinite}
@keyframes remotePatientSpin{to{transform:rotate(360deg)}}
.treatment-patient-empty .empty-state{min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}
.treatment-patient-empty .empty-state>.icon{width:54px;height:54px;color:#6fa8ac;background:#edf7f7;border-radius:18px;padding:13px}
.treatment-patient-empty .empty-state p{margin:0;color:#789095}
@media(max-width:767.98px){.remote-patient-results{position:fixed;top:145px;right:16px;left:16px;max-height:55vh}}
.odontogram3d-attribution{position:absolute;left:14px;bottom:14px;z-index:5;max-width:min(68%,520px);padding:7px 10px;border-radius:10px;background:rgba(255,255,255,.88);backdrop-filter:blur(8px);box-shadow:0 6px 18px rgba(31,68,73,.10);font-size:.66rem;color:#6c858a}
.odontogram3d-attribution a{color:#087c82;text-decoration:none;font-weight:700}
.odontogram3d-attribution a:hover{text-decoration:underline}

/* Odontogram 2D image overlay — 2026-06-30 */
.odontogram2d-layout{grid-template-columns:minmax(0,1fr) 300px;align-items:start}
.odontogram2d-panel .panel-body{padding:18px;background:linear-gradient(180deg,#fbfdfd,#f5f9f9)}
.odontogram2d-shell{position:relative;max-width:780px;margin:0 auto}
.odontogram2d-stage{position:relative;width:100%;overflow:hidden;border-radius:24px;background:#fff;box-shadow:0 20px 55px rgba(17,55,61,.10);border:1px solid #e5eeee;isolation:isolate}
.odontogram2d-stage>img{display:block;width:100%;height:auto;pointer-events:none;user-select:none;-webkit-user-drag:none}
.odontogram2d-svg{position:absolute;inset:0;width:100%;height:100%;display:block;overflow:visible;touch-action:manipulation}
.odontogram2d-neutral{fill:#fff8ef;fill-opacity:.08;pointer-events:none;mix-blend-mode:screen}
.odontogram2d-state{pointer-events:none;transition:fill .18s ease,fill-opacity .18s ease,stroke .18s ease}
.odontogram2d-hit{fill:transparent;stroke:transparent;stroke-width:2.5;cursor:pointer;outline:none;vector-effect:non-scaling-stroke}
.odontogram2d-outline{fill:none;stroke:transparent;stroke-width:4;pointer-events:none;vector-effect:non-scaling-stroke;transition:stroke .18s ease,filter .18s ease}
.odontogram2d-tooth:hover .odontogram2d-outline,.odontogram2d-tooth:focus-within .odontogram2d-outline{stroke:#26aeb4;filter:drop-shadow(0 0 4px rgba(255,255,255,.95))}
.odontogram2d-tooth.is-selected .odontogram2d-outline{stroke:#087c82;stroke-width:5;filter:drop-shadow(0 0 5px #fff) drop-shadow(0 5px 9px rgba(8,124,130,.32))}
.odontogram2d-tooth.is-missing .odontogram2d-outline{stroke:#c66c74}
.odontogram2d-fracture{fill:none;stroke:#b91c1c;stroke-width:4.5;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 1px #fff)}
.odontogram2d-review{font:900 40px/1 "Vazirmatn",Tahoma,sans-serif;text-anchor:middle;fill:#9a6700;stroke:#fff;stroke-width:5;paint-order:stroke;pointer-events:none}
.odontogram2d-label{pointer-events:none}
.odontogram2d-label rect{fill:#fff;fill-opacity:.97;stroke:#d5e2e4;stroke-width:1.2;filter:drop-shadow(0 3px 5px rgba(26,66,71,.12))}
.odontogram2d-label text{font:800 15px/1 "Vazirmatn",Tahoma,sans-serif;text-anchor:middle;dominant-baseline:middle;fill:#244b50}
.odontogram2d-help{display:flex;align-items:center;justify-content:center;gap:9px;margin:14px auto 0;padding:10px 14px;border:1px solid #dfeaec;border-radius:14px;color:#58787c;background:#fff;font-size:13px;line-height:1.8;max-width:680px}
.odontogram2d-help .icon{width:19px;height:19px;color:#087c82;flex:0 0 auto}
.odontogram2d-toast{position:fixed;left:24px;bottom:24px;z-index:1100;padding:12px 17px;border-radius:13px;background:#123f44;color:#fff;box-shadow:0 16px 40px rgba(0,0,0,.22);opacity:0;transform:translateY(14px);pointer-events:none;transition:.2s ease;font-weight:700}
.odontogram2d-toast.is-visible{opacity:1;transform:translateY(0)}
.odontogram2d-toast.is-error{background:#a52a35}
.odontogram2d-layout .odontogram3d-side{position:sticky;top:18px}
.odontogram2d-layout .odontogram3d-selected-card .tooth-card-icon{background:linear-gradient(145deg,#f4fbfb,#e7f4f4)}
.odontogram2d-layout .odontogram3d-selected-status{border-radius:999px;padding:7px 14px;border:1px solid color-mix(in srgb,var(--status-color) 35%,#fff);background:color-mix(in srgb,var(--status-color) 12%,#fff);color:color-mix(in srgb,var(--status-color) 72%,#173b40)}
@media(max-width:1180px){.odontogram2d-layout{grid-template-columns:1fr}.odontogram2d-layout .odontogram3d-side{position:static;display:grid;grid-template-columns:1fr 1fr;gap:16px}.odontogram2d-layout .odontogram3d-side .panel{margin:0}}
@media(max-width:700px){.odontogram2d-panel .panel-body{padding:8px}.odontogram2d-stage{border-radius:16px}.odontogram2d-layout .odontogram3d-side{grid-template-columns:1fr}.odontogram2d-label text{font-size:17px}.odontogram2d-help{font-size:12px;margin-top:9px}.odontogram2d-toast{left:12px;right:12px;bottom:12px;text-align:center}}

/* Odontogram clinical page redesign - 2026-06 */
.pagehead-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.pagehead-actions .btn{display:inline-flex;align-items:center;gap:7px}
.pagehead-actions .icon{width:18px;height:18px}
.odontogram-clinical-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:18px;align-items:start}
.odontogram-main-panel{min-width:0;overflow:hidden}
.odontogram-page-panel-header{align-items:center;gap:16px}
.odontogram-page-panel-header h3{font-size:1.22rem;margin-bottom:5px}
.odontogram-page-panel-header p{font-size:.72rem;line-height:1.8;color:var(--muted);margin:0}
.odontogram-patient-pill{display:inline-flex;align-items:center;gap:7px;max-width:310px;padding:8px 12px;border:1px solid #d9e8e9;border-radius:999px;background:#f6fbfb;color:#315c61;font-size:.7rem;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.odontogram-patient-pill .icon{width:17px;height:17px;flex:0 0 auto;color:var(--brand)}
.odontogram-main-panel.odontogram2d-panel .panel-body{padding:16px;background:linear-gradient(180deg,#fafdfd 0%,#f4f8f8 100%)}
.odontogram-main-panel .odontogram2d-shell{max-width:820px}
.odontogram-main-panel .odontogram2d-stage{border-radius:20px;box-shadow:0 18px 48px rgba(26,66,71,.09)}
.odontogram-guide-column{position:sticky;top:94px;min-width:0}
.odontogram-guide-panel{overflow:hidden}
.odontogram-guide-panel .panel-header{padding:16px 17px}
.odontogram-guide-panel .panel-header h3{font-size:.92rem;margin-bottom:4px}
.odontogram-guide-panel .panel-header p{font-size:.62rem;color:var(--muted);margin:0}
.odontogram-guide-panel .panel-body{padding:6px 16px 10px}
.odontogram-guide-panel .odontogram3d-summary-row{grid-template-columns:38px minmax(0,1fr) 18px;min-height:47px;gap:9px;font-size:.7rem;color:#486a6e}
.odontogram-guide-panel .odontogram3d-summary-row b{width:34px;height:29px;border-radius:9px;font-size:.66rem}
.odontogram-guide-panel .odontogram3d-summary-row i{width:11px;height:11px;box-shadow:0 0 0 4px color-mix(in srgb,var(--status-color),transparent 86%)}
.odontogram-guide-note{display:flex;gap:9px;align-items:flex-start;margin:0 12px 14px;padding:11px 12px;border:1px solid #dce9ea;border-radius:12px;background:#f7fbfb;color:#607c80;font-size:.62rem;line-height:1.85}
.odontogram-guide-note .icon{width:18px;height:18px;flex:0 0 auto;color:var(--brand);margin-top:1px}
.odontogram2d-help{max-width:730px;margin-top:12px;padding:9px 13px;font-size:.67rem}

/* Large, readable tooth editor */
.odontogram-editor-modal{--editor-line:#dce8e9;--editor-soft:#f7fbfb}
.odontogram-editor-modal .modal-dialog{width:calc(100% - 28px);max-width:1040px;height:calc(100vh - 28px);margin:14px auto}
.odontogram-editor-modal .modal-content{max-height:100%;border:0;border-radius:24px;overflow:hidden;background:#f8fbfb;box-shadow:0 30px 90px rgba(16,48,52,.28)}
.odontogram-editor-modal .odontogram-editor-form{display:flex;flex-direction:column;min-height:0;height:100%}
.odontogram-editor-modal .modal-header{flex:0 0 auto;display:grid;grid-template-columns:minmax(0,1fr) auto 38px;align-items:center;gap:18px;padding:18px 22px;border-bottom:1px solid var(--editor-line);background:#fff}
.odontogram-modal-heading{display:flex;align-items:center;gap:13px;min-width:0}
.odontogram-modal-tooth-icon{width:52px;height:52px;display:grid;place-items:center;flex:0 0 auto;border-radius:17px;background:linear-gradient(145deg,#eaf7f7,#dff1f1);color:var(--brand);box-shadow:inset 0 0 0 1px rgba(8,124,130,.11)}
.odontogram-modal-tooth-icon .icon{width:30px;height:30px}
.odontogram-editor-modal .odontogram3d-modal-title h5{margin:0 0 5px;font-size:1.18rem;font-weight:900;color:#173b40}
.odontogram-editor-modal .odontogram3d-modal-title small{font-size:.68rem;line-height:1.7}
.odontogram-modal-status-preview{--status-color:#1ea985;min-width:160px;padding:9px 14px;border:1px solid color-mix(in srgb,var(--status-color),#fff 45%);border-radius:13px;background:color-mix(in srgb,var(--status-color),#fff 91%);text-align:center}
.odontogram-modal-status-preview span{display:block;margin-bottom:3px;color:#668085;font-size:.58rem}
.odontogram-modal-status-preview strong{display:flex;align-items:center;justify-content:center;gap:7px;color:color-mix(in srgb,var(--status-color),#173b40 25%);font-size:.76rem}
.odontogram-modal-status-preview strong:before{content:"";width:10px;height:10px;border-radius:50%;background:var(--status-color);box-shadow:0 0 0 4px color-mix(in srgb,var(--status-color),transparent 84%)}
.odontogram-editor-modal .btn-close{margin:0;opacity:.62}
.odontogram-editor-modal .modal-body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:18px 22px 22px;background:#f8fbfb}
.odontogram-editor-section{padding:16px;border:1px solid var(--editor-line);border-radius:17px;background:#fff;box-shadow:0 8px 24px rgba(29,74,79,.04)}
.odontogram-editor-section+.odontogram-editor-section{margin-top:14px}
.odontogram-editor-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:13px}
.odontogram-editor-section-head h6{margin:0 0 4px;font-size:.83rem;font-weight:900;color:#173b40}
.odontogram-editor-section-head p{margin:0;color:#6c8589;font-size:.63rem;line-height:1.75}
.odontogram3d-status-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:11px;margin-top:0}
.odontogram3d-status-option span{position:relative;min-height:112px;gap:7px;padding:13px 8px;border:1.5px solid var(--editor-line);border-radius:15px;background:#fff;font-size:.7rem}
.odontogram3d-status-option i{width:31px;height:31px;box-shadow:0 0 0 8px color-mix(in srgb,var(--status-color),transparent 88%)}
.odontogram3d-status-option strong{display:block;font-size:.72rem;line-height:1.5}
.odontogram3d-status-option small{display:block;min-height:29px;color:#789095;font-size:.54rem;font-weight:500;line-height:1.55}
.odontogram3d-status-option em{position:absolute;top:8px;left:8px;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:var(--status-color);color:#fff;font-size:.7rem;font-style:normal;opacity:0;transform:scale(.65);transition:.18s ease}
.odontogram3d-status-option input:checked+span{border-color:var(--status-color);background:color-mix(in srgb,var(--status-color),#fff 94%);box-shadow:0 0 0 3px color-mix(in srgb,var(--status-color),transparent 86%),0 10px 24px color-mix(in srgb,var(--status-color),transparent 88%);transform:translateY(-2px)}
.odontogram3d-status-option input:checked+span em{opacity:1;transform:scale(1)}
.odontogram-editor-columns{display:grid;grid-template-columns:.82fr 1.18fr;gap:14px;margin-top:14px}
.odontogram-editor-columns .odontogram-editor-section{margin:0}
.odontogram3d-color-row{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin:0}
.odontogram3d-color-control{height:64px;padding:7px 10px;border-radius:13px;background:var(--editor-soft)}
.odontogram3d-color-control input[type=color]{width:49px;height:49px;border-radius:10px;overflow:hidden;flex:0 0 auto}
.odontogram3d-color-control>div{display:flex;flex-direction:column;gap:3px}
.odontogram3d-color-control b{font-size:.75rem;direction:ltr;text-align:right;color:#244b50}
.odontogram3d-color-control span{font-size:.57rem;line-height:1.5}
.odontogram-color-section .btn{min-height:42px;width:100%}
.odontogram-editor-modal .surface-picker{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.odontogram-editor-modal .surface-picker span{height:62px;border-radius:12px}
.odontogram-editor-modal .surface-picker span b{display:block;font-size:.78rem;line-height:1.2}
.odontogram-editor-modal .surface-picker small{margin-top:3px;font-size:.5rem;line-height:1.3}
.odontogram-note-limit{padding:5px 9px;border-radius:999px;background:#eff6f6;color:#6a8589;font-size:.54rem;white-space:nowrap}
.odontogram-notes-section textarea{min-height:132px;padding:14px 15px;border-radius:13px;font-size:.72rem;line-height:1.95;resize:vertical}
.odontogram-editor-modal .modal-footer{position:relative;z-index:3;flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 22px;border-top:1px solid var(--editor-line);background:#fff;box-shadow:0 -10px 30px rgba(31,70,74,.06)}
.odontogram-ajax-save-note{display:flex;align-items:center;gap:8px;color:#668085;font-size:.62rem}
.odontogram-ajax-save-note .icon{width:19px;height:19px;color:#1a9c7e}
.odontogram-modal-actions{display:flex;align-items:center;gap:9px}
.odontogram-modal-actions .btn{min-height:44px;padding-inline:22px}
.odontogram-modal-actions .btn-brand{min-width:225px;font-size:.72rem;font-weight:900}
.odontogram-modal-actions .btn-brand.is-saving{opacity:.75;cursor:wait}

@media(max-width:1180px){
  .odontogram-clinical-layout{grid-template-columns:minmax(0,1fr) 245px;gap:14px}
  .odontogram-editor-modal .modal-dialog{max-width:940px}
}
@media(max-width:930px){
  .odontogram-clinical-layout{grid-template-columns:1fr}
  .odontogram-guide-column{position:static}
  .odontogram-guide-panel .panel-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px}
  .odontogram-guide-panel .odontogram3d-summary-row:nth-last-child(-n+2){border-bottom:0}
  .odontogram-editor-modal .modal-header{grid-template-columns:minmax(0,1fr) 36px}
  .odontogram-modal-status-preview{grid-column:1/-1;grid-row:2;min-width:0;text-align:right}
  .odontogram-modal-status-preview strong{justify-content:flex-start}
  .odontogram3d-status-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .odontogram-editor-columns{grid-template-columns:1fr}
}
@media(max-width:620px){
  .pagehead-actions{width:100%}.pagehead-actions .btn{flex:1;justify-content:center}
  .odontogram-page-panel-header{display:block}.odontogram-patient-pill{margin-top:10px;max-width:100%}
  .odontogram-guide-panel .panel-body{grid-template-columns:1fr}
  .odontogram-guide-panel .odontogram3d-summary-row:nth-last-child(-n+2){border-bottom:1px dashed var(--line)}
  .odontogram-guide-panel .odontogram3d-summary-row:last-child{border-bottom:0}
  .odontogram-editor-modal .modal-dialog{width:100%;height:100vh;margin:0;max-width:none}
  .odontogram-editor-modal .modal-content{border-radius:0}
  .odontogram-editor-modal .modal-header{padding:13px 14px;gap:10px}
  .odontogram-modal-tooth-icon{width:44px;height:44px;border-radius:14px}.odontogram-modal-tooth-icon .icon{width:25px;height:25px}
  .odontogram-editor-modal .odontogram3d-modal-title h5{font-size:1rem}
  .odontogram-editor-modal .modal-body{padding:12px}
  .odontogram-editor-section{padding:13px;border-radius:14px}
  .odontogram3d-status-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .odontogram3d-status-option span{min-height:100px;padding:11px 6px}
  .odontogram-editor-modal .surface-picker{grid-template-columns:repeat(3,minmax(0,1fr))}
  .odontogram-editor-modal .modal-footer{display:block;padding:10px 12px}
  .odontogram-ajax-save-note{justify-content:center;margin-bottom:8px}
  .odontogram-modal-actions{display:grid;grid-template-columns:1fr 2fr}.odontogram-modal-actions .btn,.odontogram-modal-actions .btn-brand{min-width:0;width:100%;padding-inline:8px}
}


/* Blog comments admin */
.blog-comments-admin-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1.25rem}.blog-comments-stat-card .panel-body{display:flex;flex-direction:column;gap:.35rem}.blog-comments-stat-card small{color:var(--muted,#6b7280)}.blog-comments-stat-card strong{font-size:2rem;line-height:1;color:#0f766e}.blog-comments-stat-card span{color:var(--muted,#6b7280)}.blog-comments-list{display:grid;gap:1rem}.blog-comment-admin-card .panel-body{display:grid;gap:1rem}.blog-comment-admin-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.blog-comment-admin-meta,.blog-comment-admin-submeta,.blog-comment-admin-actions,.blog-comment-reply-actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.blog-comment-admin-submeta{font-size:.9rem;color:var(--muted,#6b7280)}.blog-comment-admin-body{padding:1rem;border-radius:18px;background:#f8fbfb}.blog-comment-admin-body h4{margin:0 0 .5rem;font-size:1rem}.blog-comment-admin-body p{margin:0;line-height:2}.blog-comment-admin-reply-preview{padding:1rem;border-radius:18px;background:#eef8f8;border:1px solid rgba(8,111,117,.12)}.blog-comment-admin-reply-preview strong{display:block;margin-bottom:.4rem}.blog-comment-admin-reply-preview p{margin:0 0 .4rem;line-height:2}.blog-comment-admin-reply-preview small{color:var(--muted,#6b7280)}.blog-comment-reply-form{display:grid;gap:.75rem}.blog-comment-reply-actions{justify-content:space-between}.blog-comment-reply-actions small{color:var(--muted,#6b7280)}@media (max-width: 1199px){.blog-comments-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 767px){.blog-comments-admin-grid{grid-template-columns:1fr}.blog-comment-admin-head{flex-direction:column}.blog-comment-admin-actions{width:100%}.blog-comment-admin-actions form{flex:1 1 auto}.blog-comment-admin-actions .btn{width:100%}.blog-comment-reply-actions{flex-direction:column;align-items:stretch}}

/* SMS settings redesign v1.3.4 */
.sms-health-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.sms-health-card{display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:center;min-width:0;padding:14px 15px;border:1px solid var(--border,#dbe5e6);border-radius:17px;background:var(--panel,#fff);box-shadow:0 8px 26px rgba(15,60,64,.04)}.sms-health-card>span{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--soft,#f3f7f7);color:var(--muted,#829598)}.sms-health-card .icon{width:21px;height:21px}.sms-health-card div{display:flex;flex-direction:column;min-width:0}.sms-health-card small{font-size:.625rem;color:var(--muted,#829598)}.sms-health-card strong{font-size:.8125rem;margin:3px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sms-health-card em{font-size:.5625rem;line-height:1.65;color:var(--muted,#829598);font-style:normal}.sms-health-card.is-ready{border-color:#a9d8c5}.sms-health-card.is-ready>span{background:#e6f7ef;color:#247557}.sms-health-card.is-warning{border-color:#efcf8e}.sms-health-card.is-warning>span{background:#fff6dd;color:#9a6d12}.sms-provider-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.sms-provider-card{appearance:none;text-align:right;min-height:94px;padding:12px;display:grid;grid-template-columns:30px 1fr;align-items:start;gap:9px;cursor:pointer;font:inherit;color:inherit}.sms-provider-card .provider-copy{display:flex;flex-direction:column;min-width:0}.sms-provider-card .provider-copy strong{font-size:.75rem;margin:3px 0 5px}.sms-provider-card .provider-copy small{font-size:.5625rem;line-height:1.65;color:var(--muted,#829598);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.sms-settings-grid-clean{grid-template-columns:minmax(0,1.55fr) minmax(300px,.65fr)}.sms-config-panel{overflow:visible}.sms-panel-heading>div{position:relative;padding-right:48px}.sms-step{position:absolute;right:0;top:0;width:35px;height:35px;border-radius:12px;display:grid;place-items:center;background:var(--brand,#0b7a80);color:#fff;font-weight:800}.sms-panel-heading h3{margin:0 0 4px}.sms-panel-heading p{margin:0;color:var(--muted,#829598);font-size:.6875rem}.sms-enable-switch{align-self:center}.sms-config-sections{display:grid;gap:14px}.sms-config-section{border:1px solid var(--border,#dbe5e6);border-radius:18px;padding:16px;background:linear-gradient(180deg,var(--panel,#fff),var(--soft,#f9fbfb))}.sms-config-section>header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}.sms-config-section>header>div{display:flex;flex-direction:column}.sms-config-section>header strong{font-size:.8125rem}.sms-config-section>header small{margin-top:4px;color:var(--muted,#829598);font-size:.625rem;line-height:1.7}.sms-config-footer{position:sticky;bottom:0;background:color-mix(in srgb,var(--panel,#fff) 94%,transparent);backdrop-filter:blur(9px);z-index:3}.sms-pattern-priority{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;margin-bottom:14px;border:1px dashed #c5d7d9;border-radius:14px;background:#f7fafb}.sms-pattern-priority.is-pattern{border-style:solid;border-color:#9fd6bf;background:#effaf5}.sms-pattern-priority p{margin:0;color:var(--muted,#829598);font-size:.625rem;line-height:1.75}.sms-pattern-check{display:flex;align-items:center;gap:8px;white-space:nowrap;margin:0}.sms-pattern-check input{position:absolute;opacity:0;pointer-events:none}.sms-pattern-check span{width:20px;height:20px;border-radius:7px;border:1px solid #bccbcc;background:#fff;position:relative}.sms-pattern-check input:checked+span{background:#21856b;border-color:#21856b}.sms-pattern-check input:checked+span:after{content:"✓";color:#fff;position:absolute;inset:0;display:grid;place-items:center;font-size:.75rem;font-weight:800}.sms-pattern-check b{font-size:.6875rem}.compact-switch{height:100%;margin:0}.sms-test-card{top:78px;overflow:hidden}.sms-test-alert{display:flex;align-items:center;gap:8px;padding:10px 11px;border:1px solid #d5e4e5;background:#f5f9f9;border-radius:12px;margin-bottom:15px;color:var(--muted,#6f8588);font-size:.625rem}.sms-test-alert .icon{width:18px;height:18px;color:#b07a20}.sms-event-head-meta{display:flex;align-items:center;gap:8px}.sms-event-card>header code{margin:0}.sms-recipient-config .row label{display:block;font-size:.6875rem;color:var(--muted,#829598);margin:0 0 6px}.sms-recipient-config [data-sms-text-fields],.sms-recipient-config [data-sms-pattern-fields]{margin-top:12px}.sms-recipient-config [data-sms-text-fields]>label,.sms-recipient-config [data-sms-pattern-fields]>label{display:block;font-size:.6875rem;color:var(--muted,#829598);margin:9px 0 6px}.sms-events-panel>.panel-header{position:sticky;top:72px;z-index:4;background:var(--panel,#fff);border-radius:18px 18px 0 0}.sms-event-card{box-shadow:0 7px 24px rgba(12,58,62,.035)}
@media(max-width:1300px){.sms-health-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.sms-provider-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.sms-settings-grid-clean{grid-template-columns:1fr}.sms-test-card{position:static}.sms-pattern-priority{align-items:flex-start;flex-direction:column}.sms-events-panel>.panel-header{position:static}}
@media(max-width:620px){.sms-health-strip{grid-template-columns:1fr}.sms-provider-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sms-provider-card{grid-template-columns:1fr}.sms-provider-card .provider-check{display:none}.sms-config-section{padding:13px}.sms-panel-heading>div{padding-right:43px}.sms-event-head-meta{flex-direction:column;align-items:flex-end}.sms-config-footer{position:static}}
html[data-theme="dark"] .sms-config-section,html[data-theme="dark"] .sms-pattern-priority,html[data-theme="dark"] .sms-test-alert{background:var(--surface,#152427)}html[data-theme="dark"] .sms-pattern-priority.is-pattern{background:#17372f}

/* SMS gateway diagnostics and OTP pattern mapping — v1.3.6 */
.btn-outline-brand{border:1px solid var(--brand,#0b7a80);color:var(--brand,#0b7a80);background:transparent}.btn-outline-brand:hover,.btn-outline-brand:focus{background:var(--brand,#0b7a80);border-color:var(--brand,#0b7a80);color:#fff}.sms-otp-diagnostic{display:grid;grid-template-columns:48px minmax(0,1fr);gap:13px;align-items:start;padding:15px 17px;margin:0 0 18px;border-radius:18px;border:1px solid var(--border,#dbe5e6);background:var(--panel,#fff)}.sms-otp-diagnostic>span{width:48px;height:48px;border-radius:15px;display:grid;place-items:center}.sms-otp-diagnostic .icon{width:22px;height:22px}.sms-otp-diagnostic strong{display:block;font-size:.8125rem;margin:2px 0 5px}.sms-otp-diagnostic p{margin:0 0 5px;font-size:.6875rem;line-height:1.85;word-break:break-word}.sms-otp-diagnostic small{font-size:.625rem;color:var(--muted,#829598)}.sms-otp-diagnostic.is-error{border-color:#efb3b8;background:#fff6f6}.sms-otp-diagnostic.is-error>span{background:#ffe6e8;color:#b83c49}.sms-otp-diagnostic.is-error p{color:#9c303b}.sms-otp-diagnostic.is-success{border-color:#a9d8c5;background:#f3fbf7}.sms-otp-diagnostic.is-success>span{background:#e0f5eb;color:#247557}.sms-otp-params{min-height:82px;direction:ltr;text-align:left;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.sms-config-section code{direction:ltr;display:inline-block;color:#8f3565;background:rgba(143,53,101,.08);border-radius:6px;padding:1px 5px}.sms-test-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.sms-health-card em{white-space:normal;overflow:visible;text-overflow:clip}.sms-health-card{align-items:start}@media(max-width:767px){.sms-otp-diagnostic{grid-template-columns:40px minmax(0,1fr);padding:13px}.sms-otp-diagnostic>span{width:40px;height:40px}.sms-test-actions{grid-template-columns:1fr}.sms-config-footer{gap:8px}.sms-config-footer .btn{width:100%}}

/* Scheduling and medical workflow */
.booking-rule-panel .panel-body,.quick-week-program .panel-body{padding:18px}.booking-rule-panel .form-control,.quick-week-program .form-control,.quick-week-program .form-select{min-height:44px}.weekday-checks{display:flex;flex-wrap:wrap;gap:8px}.weekday-checks label{display:flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid var(--border,#dbe5e6);border-radius:11px;background:var(--panel,#fff);font-size:.7rem}.medical-question-layout{align-items:start}.medical-answer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.medical-answer-grid article{padding:14px;border:1px solid var(--border,#dbe5e6);border-radius:15px;background:var(--soft,#f8fbfb)}.medical-answer-grid span{display:block;color:var(--muted,#718487);font-size:.66rem;line-height:1.7;margin-bottom:6px}.medical-answer-grid strong{display:block;font-size:.78rem;line-height:1.9}.medical-review-form{margin-top:18px;padding-top:18px;border-top:1px solid var(--border,#dbe5e6)}
@media(max-width:900px){.medical-answer-grid{grid-template-columns:1fr}.medical-question-layout{grid-template-columns:1fr}}

/* Schedule-locked appointment booking */
.appointment-slot-notice{margin-top:14px;display:flex;align-items:center;gap:9px;padding:11px 13px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);color:var(--muted);font-size:.68rem;line-height:1.8}
.appointment-slot-notice .icon{width:18px;height:18px;flex:0 0 auto}.appointment-slot-notice.is-success{border-color:rgba(31,157,112,.28);background:rgba(31,157,112,.07);color:#167d5b}.appointment-slot-notice.is-error{border-color:rgba(217,90,104,.25);background:rgba(217,90,104,.06);color:#ad3948}.appointment-slot-notice.is-loading{opacity:.78}.appointment-schedule-empty{padding:44px 20px}.appointment-schedule-empty p{margin:7px 0 16px}.weekly-schedule .slot[data-bookable="0"]{cursor:not-allowed}.weekly-schedule .slot[data-bookable="1"]{background:rgba(12,132,139,.025)}

/* v1.4.2 scheduling workspace */
.scheduling-summary{grid-template-columns:repeat(4,minmax(0,1fr))}
.scheduling-tabs{margin-bottom:18px;display:flex;gap:5px;flex-wrap:wrap}
.scheduling-tabs a{min-width:130px;text-align:center}
.scheduling-hero-panel{border-color:#bdd9d6;background:linear-gradient(135deg,#f9fcfb,#eaf5f3)}
.scheduling-hero-panel .panel-header{align-items:center}
.section-kicker{display:block;margin-bottom:5px;color:var(--brand);font-size:.58rem;font-weight:850;letter-spacing:.02em}
.schedule-window-badge{display:flex;align-items:center;gap:7px;padding:10px 13px;border-radius:13px;background:#dcedea;color:#145d60;font-size:.76rem;font-weight:850;white-space:nowrap}
.schedule-window-badge small{font-size:.56rem;font-weight:700;color:#507779}
.schedule-config-grid{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr)) minmax(290px,1.35fr);gap:12px;align-items:stretch}
.config-field{display:flex;flex-direction:column;gap:7px;padding:13px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.65);margin:0}
.config-field>span,.schedule-form-grid label>span{color:#597477;font-size:.64rem;font-weight:750}
.booking-policy-card{padding:13px;border:1px solid #bcd8d5;border-radius:15px;background:#e7f3f1;display:flex;flex-direction:column;gap:10px}
.booking-policy-card>span{font-size:.64rem;font-weight:800;color:#285f62}
.segmented-control{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:4px;background:rgba(255,255,255,.7);border:1px solid #c7dedb;border-radius:12px}
.segmented-control label{margin:0;cursor:pointer}
.segmented-control input{position:absolute;opacity:0;pointer-events:none}
.segmented-control label span{display:grid;place-items:center;min-height:38px;padding:6px;border-radius:9px;color:#607b7d;font-size:.61rem;font-weight:750;text-align:center;transition:.18s}
.segmented-control input:checked+span{background:linear-gradient(135deg,var(--brand),#128f94);color:#fff;box-shadow:0 5px 12px rgba(8,108,113,.2)}
.quick-program-panel{border-color:#cbdedc}
.schedule-form-grid{display:grid;grid-template-columns:1.4fr repeat(3,minmax(135px,.72fr));gap:12px;align-items:end}
.schedule-form-grid label{display:flex;flex-direction:column;gap:7px;margin:0}
.scheduling-weekdays{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:16px}
.scheduling-weekdays label{margin:0;cursor:pointer}
.scheduling-weekdays input{position:absolute;opacity:0;pointer-events:none}
.scheduling-weekdays span{display:grid;place-items:center;min-height:42px;border:1px solid #cbdedc;border-radius:12px;background:#f6faf9;color:#587476;font-size:.65rem;font-weight:800;transition:.18s}
.scheduling-weekdays input:checked+span{border-color:#4d9e9d;background:#dff1ee;color:#0b666a;box-shadow:inset 0 0 0 1px rgba(255,255,255,.7)}
.schedule-form-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:16px;padding-top:15px;border-top:1px solid var(--line)}
.schedule-form-footer .form-check{display:flex;align-items:center;gap:8px;margin:0;font-size:.63rem}
.scheduling-program-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.58fr);gap:18px;align-items:start}
.schedule-table-panel{min-width:0}
.schedule-program-table td{vertical-align:middle}
.weekday-chip{display:inline-flex;align-items:center;justify-content:center;min-width:72px;padding:6px 10px;border-radius:999px;background:#e0f0ee;color:#176b6e;font-size:.61rem;font-weight:800}
.danger-icon{color:var(--danger);background:#fff4f5;border-color:#f3d3d7}
.manual-schedule-form{position:sticky;top:98px}
.manual-schedule-form .panel-body label{font-size:.61rem;font-weight:700}
.jalali-closure-panel{max-width:860px;margin-inline:auto}
.jalali-calendar-toolbar{align-items:center}
.calendar-month-nav{display:flex;align-items:center;gap:7px}
.calendar-month-nav .icon-button{font-size:1.25rem;font-weight:900;text-decoration:none}
.jalali-month-calendar{display:grid;grid-template-columns:repeat(7,minmax(72px,1fr));gap:8px;direction:rtl}
.month-weekday{display:grid;place-items:center;min-height:34px;color:#587476;font-size:.61rem;font-weight:850;background:#eaf3f2;border-radius:10px}
.month-weekday:last-of-type{color:#b94856;background:#fcebed}
.month-day-form{margin:0;min-width:0}
.month-day{width:100%;min-height:72px;padding:9px;border:1px solid #d1e1df;border-radius:14px;background:linear-gradient(145deg,#fbfdfc,#f0f7f6);color:var(--text);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-family:inherit;transition:.18s}
button.month-day{cursor:pointer}
button.month-day:hover{transform:translateY(-2px);border-color:#73aaa8;box-shadow:0 8px 18px rgba(18,65,67,.09)}
.month-day strong{font-size:.86rem}
.month-day small{font-size:.52rem;color:#708789}
.month-day.today{border-color:#2a8e90;box-shadow:inset 0 0 0 2px rgba(42,142,144,.12)}
.month-day.today strong{color:var(--brand)}
.month-day.closed{background:linear-gradient(145deg,#fff0f1,#fde4e7);border-color:#efbdc3;color:#aa3544}
.month-day.closed small{color:#b44754}
.month-day.friday{background:repeating-linear-gradient(135deg,#f8e8ea,#f8e8ea 7px,#fceff0 7px,#fceff0 14px);border-color:#ecc7cb;color:#af4652}
.month-day.past{opacity:.58}
.month-day.empty{background:transparent;border-color:transparent;box-shadow:none}
.calendar-legend{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;margin-top:15px;padding-top:14px;border-top:1px solid var(--line)}
.calendar-legend span{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:.58rem}
.calendar-legend i{width:12px;height:12px;border-radius:4px;border:1px solid #c8d9d7;background:#f4f9f8}
.calendar-legend .legend-closed{background:#f8dfe2;border-color:#e9b9bf}
.calendar-legend .legend-friday{background:repeating-linear-gradient(135deg,#f2dfe2,#f2dfe2 3px,#faedef 3px,#faedef 6px);border-color:#e6bec3}
.scheduling-closure-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.55fr);gap:18px;align-items:start}

/* Weekly calendar: distinguish unprogrammed time from occupied capacity. */
.weekly-calendar-panel{border-color:#c8dcda}
.weekly-calendar-panel .calendar-toolbar{background:linear-gradient(135deg,#edf6f4,#f8fbfa)}
.weekly-schedule .schedule-head{background:#e8f2f1;border-color:#d0e0de}
.weekly-schedule .schedule-head.is-closed{background:#f9e9eb;color:#a34652}
.weekly-schedule .slot{border-color:#dbe7e5;background:#f8fbfa}
.weekly-schedule .slot.is-programmed{background:#f2f8f7}
.weekly-schedule .slot[data-bookable="1"]{background:linear-gradient(145deg,#f4fbf9,#eaf6f3);cursor:default}
.weekly-schedule .slot.is-off-day:not(.is-programmed){background:repeating-linear-gradient(135deg,#f4f7f6,#f4f7f6 8px,#f8faf9 8px,#f8faf9 16px)}
.weekly-schedule .slot.is-blocked{background:linear-gradient(145deg,#fff9ee,#fff3dc)}
.weekly-schedule .slot.is-closed{background:repeating-linear-gradient(135deg,#f9edef,#f9edef 8px,#fdf5f6 8px,#fdf5f6 16px)}
.slot-blocked-note{min-height:58px;display:flex;align-items:center;justify-content:center;gap:7px;padding:8px;border:1px solid #efd39f;border-radius:11px;background:rgba(255,246,224,.86);color:#996313;font-size:.56rem;line-height:1.65;text-align:center}
.slot-blocked-note .icon{width:16px;height:16px;flex:0 0 auto}
.weekly-schedule .slot-add{color:#4e8586;border-color:#bed8d5;background:rgba(255,255,255,.56);font-weight:500}
.weekly-schedule .slot-add:hover{color:#fff;background:var(--brand);border-color:var(--brand);transform:translateY(-1px)}
.appointment-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.appointment-actions form{margin:0}
.appointment-actions .btn{min-height:34px;padding:5px 9px;font-size:.58rem;border-radius:9px}
.appointment-actions .btn .icon{width:14px;height:14px}

html[data-theme="dark"] .scheduling-hero-panel,html[data-theme="dark"] .config-field,html[data-theme="dark"] .booking-policy-card{background:#193033;border-color:#315154}
html[data-theme="dark"] .schedule-window-badge,html[data-theme="dark"] .weekday-chip{background:#214144;color:#bce5e2}
html[data-theme="dark"] .segmented-control,html[data-theme="dark"] .scheduling-weekdays span{background:#172a2d;border-color:#315154;color:#a8bfbe}
html[data-theme="dark"] .month-weekday{background:#1b3235;color:#b3c9c8}
html[data-theme="dark"] .month-day{background:#182b2e;border-color:#315053}
html[data-theme="dark"] .month-day.closed,html[data-theme="dark"] .month-day.friday{background:#3a2428;border-color:#674048;color:#f1aab2}
html[data-theme="dark"] .weekly-schedule .slot,html[data-theme="dark"] .weekly-schedule .slot.is-programmed{background:#152729;border-color:#294246}
html[data-theme="dark"] .weekly-schedule .slot.is-blocked{background:#352d1d}
html[data-theme="dark"] .slot-blocked-note{background:#42371f;border-color:#6d5728;color:#e9c77c}

@media(max-width:1180px){
  .schedule-config-grid{grid-template-columns:repeat(3,1fr)}
  .booking-policy-card{grid-column:1/-1}
  .scheduling-program-layout,.scheduling-closure-layout{grid-template-columns:1fr}
  .manual-schedule-form{position:static}
}
@media(max-width:820px){
  .scheduling-summary{grid-template-columns:repeat(2,1fr)}
  .schedule-form-grid{grid-template-columns:repeat(2,1fr)}
  .scheduling-weekdays{grid-template-columns:repeat(3,1fr)}
  .jalali-month-calendar{gap:5px;grid-template-columns:repeat(7,minmax(48px,1fr))}
  .month-day{min-height:58px;padding:6px;border-radius:10px}
  .month-day small{display:none}
}
@media(max-width:560px){
  .scheduling-tabs a{min-width:calc(50% - 4px);flex:1}
  .schedule-config-grid,.schedule-form-grid{grid-template-columns:1fr}
  .booking-policy-card{grid-column:auto}
  .schedule-form-footer{align-items:stretch;flex-direction:column}
  .schedule-form-footer .btn{width:100%}
  .jalali-closure-panel .panel-body{padding:10px}
  .jalali-month-calendar{grid-template-columns:repeat(7,minmax(38px,1fr));gap:3px}
  .month-weekday{font-size:.48rem;min-height:28px}
  .month-day{min-height:48px;border-radius:8px}
  .appointment-actions .btn span{display:none}
}

/* Account management and inline AJAX feedback */
.sidebar-account-link{display:flex;align-items:center;gap:10px;min-width:0;flex:1;color:inherit;text-decoration:none;border-radius:12px;padding:4px;transition:.18s}
.sidebar-account-link:hover{background:var(--brand-soft);color:var(--brand)}
.sidebar-account-link .user-meta{min-width:0}
.sidebar-account-link .user-meta small{display:block;margin-top:2px;font-size:.48rem;color:var(--muted)}
.sidebar.compact .sidebar-account-link .user-meta{display:none}
.admin-form-feedback,.account-form-feedback{margin:0 0 18px;padding:13px 15px;border:1px solid transparent;border-radius:12px;font-size:.65rem;font-weight:700;line-height:1.9;white-space:pre-line;outline:0}
.admin-form-feedback.is-error,.account-form-feedback.is-error{color:#9f2430;background:#fff0f1;border-color:#f0b8be}
.admin-form-feedback.is-success,.account-form-feedback.is-success{color:#176343;background:#eaf8f1;border-color:#a9ddc3}
.admin-form-feedback.is-loading,.account-form-feedback.is-loading{color:#185e63;background:#eaf7f7;border-color:#add9da}
html[data-theme="dark"] .admin-form-feedback.is-error,html[data-theme="dark"] .account-form-feedback.is-error{color:#ffb9c0;background:#3b2025;border-color:#71343d}
html[data-theme="dark"] .admin-form-feedback.is-success,html[data-theme="dark"] .account-form-feedback.is-success{color:#a8e7c7;background:#18372b;border-color:#2e6b50}
html[data-theme="dark"] .admin-form-feedback.is-loading,html[data-theme="dark"] .account-form-feedback.is-loading{color:#a8e1e2;background:#173438;border-color:#2c6267}
.modal-scroll-form.is-submitting{pointer-events:none}
.modal-scroll-form.is-submitting .modal-body,.account-password-form.is-submitting .panel-body{opacity:.76}
.account-overview{display:flex;align-items:center;gap:18px;padding:22px;margin-bottom:18px;background:linear-gradient(135deg,var(--surface),var(--brand-soft));overflow:hidden;position:relative}
.account-overview:after{content:"";position:absolute;inset:auto -65px -90px auto;width:220px;height:220px;border-radius:50%;background:rgba(15,129,135,.08);pointer-events:none}
.account-avatar{width:72px;height:72px;display:grid;place-items:center;border-radius:22px;background:linear-gradient(145deg,var(--brand),var(--brand-2));color:#fff;font-size:1.25rem;font-weight:900;box-shadow:0 12px 28px rgba(15,105,111,.2);flex:0 0 auto}
.account-overview-main{min-width:0}.account-overview-main>span{display:inline-flex;padding:4px 9px;border-radius:99px;background:#e4f7ee;color:#1c774f;font-size:.5rem;font-weight:800}.account-overview-main h3{margin:7px 0 3px;font-size:1.15rem}.account-overview-main p{margin:0;color:var(--muted);font-size:.62rem}.account-overview-meta{margin-right:auto;display:grid;grid-template-columns:repeat(2,minmax(125px,1fr));gap:10px;position:relative;z-index:1}.account-overview-meta>div{padding:12px 14px;border:1px solid var(--line);background:color-mix(in srgb,var(--surface) 88%,transparent);border-radius:13px}.account-overview-meta span{display:block;color:var(--muted);font-size:.5rem;margin-bottom:5px}.account-overview-meta strong{font-size:.62rem}
.account-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:18px;align-items:start}.account-password-form .panel-header>.icon{width:28px;height:28px;color:var(--brand)}.account-password-form label{display:block;margin-bottom:7px;font-size:.62rem;font-weight:750}.account-side-stack{display:flex;flex-direction:column;gap:18px}.account-info-card .panel-body>div{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid var(--line)}.account-info-card .panel-body>div:last-child{border-bottom:0}.account-info-card span{font-size:.56rem;color:var(--muted)}.account-info-card strong{font-size:.62rem}.account-security-note p{font-size:.6rem;color:var(--muted);line-height:2;margin:0 0 10px}.account-shortcut-card{text-align:center}.account-shortcut-icon{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;margin:4px auto 12px;background:var(--brand-soft);color:var(--brand)}.account-shortcut-icon .icon{width:28px;height:28px}.account-shortcut-card h4{font-size:.85rem;margin:0 0 7px}.account-shortcut-card p{font-size:.58rem;color:var(--muted);line-height:1.9;margin:0 0 15px}
@media(max-width:991.98px){.account-layout{grid-template-columns:1fr}.account-overview{align-items:flex-start;flex-wrap:wrap}.account-overview-meta{margin-right:90px;width:100%}}
@media(max-width:575.98px){.account-overview{padding:17px}.account-avatar{width:58px;height:58px;border-radius:17px}.account-overview-meta{margin-right:0;grid-template-columns:1fr;width:100%}.admin-form-feedback,.account-form-feedback{font-size:.6rem}}

/* Fixed patient admission form management */
.medical-admin-modal{width:min(1100px,calc(100vw - 32px))}
.medical-confirmation-audit{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:18px;padding:14px;border:1px solid var(--line,#dbe5e6);border-radius:15px;background:var(--surface-soft,#f6f9f9)}
.medical-confirmation-audit>div{display:grid;gap:4px;min-width:0}
.medical-confirmation-audit span{font-size:.625rem;color:var(--muted,#72888b)}
.medical-confirmation-audit strong{font-size:.71875rem;overflow-wrap:anywhere}
.medical-admin-edit-form section{padding:17px 0;border-bottom:1px solid var(--line,#dbe5e6)}
.medical-admin-edit-form section:first-child{padding-top:0}
.medical-admin-edit-form section:last-of-type{border-bottom:0}
.medical-admin-edit-form section>h4{margin:0 0 13px;font-size:.875rem;color:var(--text,#17383b)}
.medical-admin-edit-form textarea{resize:vertical}
.medical-admin-condition-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 11px}
.medical-admin-condition-grid label{display:flex;align-items:center;gap:8px;min-height:40px;padding:8px 10px;border:1px solid var(--line,#dbe5e6);border-radius:11px;background:var(--surface,#fff);cursor:pointer}
.medical-admin-condition-grid input{accent-color:var(--brand,#0b7a80)}
.medical-admin-condition-grid span{font-size:.6875rem;font-weight:700}
.medical-admin-question-list{display:grid;gap:11px}
.medical-admin-choice{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(180px,.45fr) minmax(240px,1fr);gap:12px;align-items:end;padding:12px;border:1px solid var(--line,#dbe5e6);border-radius:13px;background:var(--surface-soft,#f7fafb)}
.medical-admin-choice>strong{align-self:center;font-size:.71875rem;line-height:1.8}
.medical-admin-choice label{margin:0}
.medical-admin-save{position:sticky;bottom:0;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:14px;margin:18px -20px -20px;padding:14px 20px;border-top:1px solid var(--line,#dbe5e6);background:color-mix(in srgb,var(--surface,#fff) 94%,transparent);backdrop-filter:blur(10px)}
.medical-admin-save p{margin:0;color:var(--muted,#72888b);font-size:.6875rem;line-height:1.75}
.medical-consent-record{display:flex;gap:10px;align-items:flex-start;margin-top:14px;padding:13px 14px;border:1px solid #aedaCB;border-radius:12px;background:#effaf6;color:#255f50}
.medical-consent-record .icon{width:22px;height:22px;flex:0 0 auto}
.medical-consent-record>div{display:grid;gap:4px}
.medical-consent-record span{font-size:.625rem;color:#27745c;font-weight:800}
.medical-consent-record strong{font-size:.6875rem;line-height:1.9}
.medical-consent-record small{font-size:.59375rem;color:var(--muted,#72888b)}
@media(max-width:900px){.medical-confirmation-audit{grid-template-columns:repeat(2,minmax(0,1fr))}.medical-admin-condition-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.medical-admin-choice{grid-template-columns:1fr 1fr}.medical-admin-choice>strong{grid-column:1/-1}}
@media(max-width:600px){.medical-confirmation-audit,.medical-admin-condition-grid,.medical-admin-choice{grid-template-columns:1fr}.medical-admin-choice>strong{grid-column:auto}.medical-admin-save{align-items:stretch;flex-direction:column}.medical-admin-save .btn{width:100%}}
.medical-admin-question-list>div{display:grid;grid-template-columns:minmax(220px,.8fr) auto minmax(240px,1fr);gap:12px;align-items:center;padding:12px;border:1px solid var(--line,#dbe5e6);border-radius:13px;background:var(--surface-soft,#f7fafb)}
.medical-admin-question-list>div>span{font-size:.71875rem;font-weight:750;line-height:1.8}
.medical-admin-choice{display:flex;grid-template-columns:none;gap:7px;align-items:center}
.medical-admin-choice label{position:relative;margin:0;cursor:pointer}
.medical-admin-choice input{position:absolute;opacity:0;pointer-events:none}
.medical-admin-choice label span{display:grid;place-items:center;min-width:62px;min-height:38px;padding:6px 10px;border:1px solid var(--line,#dbe5e6);border-radius:10px;background:var(--surface,#fff);font-size:.65625rem;font-weight:750}
.medical-admin-choice input:checked+span{border-color:var(--brand,#0b7a80);background:var(--brand-soft,#e8f5f4);color:var(--brand,#0b7a80)}
.medical-consent-record{display:grid;gap:5px}
.medical-consent-record>strong{font-size:.65625rem;color:#27745c}
.medical-consent-record>p{margin:0;font-size:.71875rem;line-height:1.9}
@media(max-width:900px){.medical-admin-question-list>div{grid-template-columns:1fr 1fr}.medical-admin-question-list>div>span{grid-column:1/-1}}
@media(max-width:600px){.medical-admin-question-list>div{grid-template-columns:1fr}.medical-admin-question-list>div>span{grid-column:auto}.medical-admin-choice{width:100%}.medical-admin-choice label{flex:1}.medical-admin-choice label span{width:100%;min-width:0}}

/* Backup center */
.backup-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px;background:linear-gradient(135deg,rgba(8,124,130,.11),rgba(255,255,255,.96));border:1px solid rgba(8,124,130,.16)}
.backup-hero h3{margin:12px 0 8px;font-size:1.45rem;color:#123f45}.backup-hero p{margin:0;color:#5d7378}.backup-hero code{direction:ltr;display:inline-block}.backup-hero-stat{min-width:210px;background:#fff;border:1px solid rgba(8,124,130,.14);border-radius:18px;padding:16px}.backup-hero-stat span{display:block;color:#789; font-size:.86rem}.backup-hero-stat strong{display:block;margin-top:6px;color:#087c82}
.backup-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:20px 0}.backup-action-card{padding:24px;position:relative;overflow:hidden}.backup-action-card:before{content:"";position:absolute;inset:auto -35px -45px auto;width:130px;height:130px;border-radius:50%;background:rgba(8,124,130,.08)}.backup-action-card.featured:before{background:rgba(14,165,164,.12)}.backup-action-card.portable:before{background:rgba(32,80,98,.12)}.backup-action-icon{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;background:#eefafa;color:#087c82;margin-bottom:18px}.backup-action-icon .icon{width:26px;height:26px}.backup-action-card h3{font-size:1.12rem;margin:0 0 10px;color:#153f45}.backup-action-card p{min-height:96px;margin:0 0 18px;color:#5e7479;line-height:1.9}.backup-action-card code,.backup-guide-panel code{direction:ltr;display:inline-block;background:#eef7f7;border-radius:8px;padding:1px 6px}.backup-guide-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:18px}.backup-guide-steps span{display:block;background:#f7fbfb;border:1px solid #dcecec;border-radius:16px;padding:14px;line-height:1.8}.backup-checksum{direction:ltr;display:inline-block;color:#607277}
@media(max-width:1100px){.backup-action-grid{grid-template-columns:1fr}.backup-action-card p{min-height:auto}.backup-guide-steps{grid-template-columns:1fr 1fr}.backup-hero{align-items:flex-start;flex-direction:column}.backup-hero-stat{width:100%}}
@media(max-width:680px){.backup-guide-steps{grid-template-columns:1fr}.backup-action-card{padding:20px}}

/* AvaSite footer branding override */
.app-footer{direction:rtl;display:flex;align-items:center;justify-content:space-between;gap:18px}
.footer-designer{margin-right:auto;margin-left:0;direction:rtl;display:inline-flex;align-items:center;gap:10px;color:var(--muted);text-decoration:none}
.footer-designer span{white-space:nowrap;font-weight:700}
.footer-designer img{width:126px;height:36px;object-fit:contain}
.footer-designer:hover{color:var(--brand)}
.product-info-card .panel-body>a img,.auth-designer img{object-fit:contain}
@media(max-width:767px){.footer-designer span{display:inline}.footer-designer img{width:96px}.app-footer{gap:10px}}
