/* Shared presentation layer. Existing workflows and database functions remain in their pages. */
:root{--blue:#176d62;--blue-dark:#10544c;--blue-light:#eaf3ee;--teal:#176d62;--gray-900:#173d39;--gray-800:#274840;--gray-500:#64776d;--gray-100:#edf2eb;--gray-200:#dce6dc;--siri-paper:#f5f7f2;--siri-line:#dce6dc;--siri-ink:#173d39}
body{background:var(--siri-paper);color:var(--siri-ink)}
button,input,select,textarea{font-family:inherit}button:focus-visible,a:focus-visible,summary:focus-visible,[role=button]:focus-visible{outline:3px solid #b88a33;outline-offset:3px}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #176d62;outline-offset:2px}
button.btn-primary,.btn-primary{background:#176d62;border-color:#176d62;box-shadow:none}button.btn-primary:hover{background:#10544c}
.admin-sidebar,.sidebar{background:#fcfdf9!important;color:#173d39;border-right:1px solid var(--siri-line)}
.admin-sidebar-header,.sidebar-header{border-bottom:1px solid var(--siri-line)}
.admin-sidebar-header .logo-name,.sidebar .logo-name{color:#173d39!important}
.admin-sidebar-footer,.sidebar-footer{border-top:1px solid var(--siri-line)}
.admin-nav-item,.sidebar .nav-item{width:100%;text-align:left;border:0;background:none;font-family:inherit;color:#5d7469;font-size:13px;border-radius:9px;min-height:43px}
.admin-nav-item:hover,.sidebar .nav-item:hover{background:#eef3eb;color:#173d39}
.admin-nav-item.active,.sidebar .nav-item.active{background:#e4eee3;color:#176d62;font-weight:750}
.admin-main,.main,.admin-content,#adminContent,#pageContent{background:var(--siri-paper)}
.admin-card,.card{border-color:var(--siri-line);border-radius:14px;box-shadow:0 10px 35px #173d3906}
.admin-topbar,.topbar{background:#fcfdf9!important;border-bottom:1px solid var(--siri-line)}
.siri-group{margin-bottom:6px}.siri-group>summary{list-style:none;cursor:pointer;padding:13px 14px;border-radius:9px;color:#476658;font-weight:700;display:flex;align-items:center;gap:10px;font-size:14px}.siri-group>summary::-webkit-details-marker{display:none}.siri-group>summary:after{content:'›';margin-left:auto;font-size:18px;transform:rotate(90deg)}.siri-group[open]>summary:after{transform:rotate(-90deg)}.siri-group.siri-current>summary{background:#e4eee3;color:#176d62}.siri-group-items{padding:5px 0 5px 13px;border-left:1px solid #dce6dc;margin:4px 0 12px 20px}.siri-group-items .admin-nav-item,.siri-group-items .nav-item{padding:9px 10px;font-size:12px}.siri-group-summary-icon{width:20px;text-align:center}.siri-hub{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:15px;margin-top:22px}.siri-hub button{padding:23px;background:white;border:1px solid var(--siri-line);border-radius:13px;text-align:left;color:var(--siri-ink);font-size:15px;min-height:125px}.siri-hub button:hover{border-color:#176d62;background:#f7faf5}.siri-hub small{display:block;font-size:12px;color:#64776d;margin-top:9px;line-height:1.5}.siri-subnav{position:static;top:auto;left:auto;right:auto;height:auto;z-index:auto;display:flex;gap:7px;flex-wrap:wrap;background:#fff;padding:12px 28px;border-bottom:1px solid var(--siri-line);flex-shrink:0}.siri-subnav button{background:#fff;color:#526d60;border:1px solid var(--siri-line);border-radius:7px;padding:7px 12px;font-size:12px;cursor:pointer}.siri-subnav button.active{background:#176d62;border-color:#176d62;color:white}.siri-subnav:empty{display:none}.admin-mobile-nav{background:#fcfdf9}.amn-item.active{color:#176d62}.siri-intro{padding:18px 22px;border:1px solid var(--siri-line);border-radius:13px;background:#eaf2e5;margin-bottom:20px}.siri-intro h2{font-size:22px;margin:0 0 5px}.siri-intro p{margin:0;color:#526d60;font-size:13px}
#sv2{--blue:#176d62;--blue-d:#173d39;--teal:#176d62;--ink:#173d39;--muted:#64776d;--line:#dce6dc;background:#fbfcf8}
#sv2 .wrap{max-width:1200px}#sv2 .hero{padding:0;min-height:0;background:#edf3e8;border-bottom:1px solid #dce6dc}#sv2 .hero-in{padding:85px 0;gap:60px}#sv2 .hero h1{font-size:clamp(36px,5vw,62px);font-weight:650;letter-spacing:-2px;line-height:1.08}#sv2 .hero h1 span{background:none;color:#176d62;-webkit-text-fill-color:#176d62}#sv2 .hero p.lead{font-size:18px;line-height:1.7;color:#526d60}#sv2 .tag{background:#dfead9;color:#486547;font-size:11px;letter-spacing:1px;text-transform:uppercase;border-radius:6px}#sv2 .btn{border-radius:9px;font-weight:650;padding:14px 21px;font-size:14px}#sv2 .btn-primary{background:#176d62;box-shadow:none}#sv2 .btn-ghost{border-color:#cad9c7;color:#176d62}#sv2 .btn-wa{background:white;color:#176d62;border:1px solid #cad9c7;box-shadow:none}#sv2 .btn-wa svg{fill:#176d62}#sv2 .logo .ic{background:#176d62;box-shadow:none;border-radius:11px}#sv2 .logo .nm{font-size:23px;font-weight:650}#sv2 .nav-links a{font-size:13px;color:#526d60}#sv2 .hero-card{border-radius:18px;box-shadow:0 20px 55px #173d390b;padding:27px}#sv2 .hero-card .hd .i{background:#eaf2e5}#sv2 .av{background:#eaf2e5}#sv2 .doc-row{border-color:#e6ece0;border-radius:11px}#sv2 .stats{gap:22px}#sv2 .stat .n{font-size:15px;color:#173d39;font-weight:650}#sv2 .stat .l{font-size:11px}#sv2 h2.title{font-weight:650;letter-spacing:-1px}#sv2 .badge{border-radius:5px;font-size:10px;letter-spacing:1.3px}#sv2 .b-teal,#sv2 .b-blue{background:#e8f0e1;color:#4a6c48}#sv2 .spec{border-radius:13px;padding:21px}#sv2 .spec.on{border-color:#176d62;box-shadow:0 8px 20px #173d3908}#sv2 .spec h4{font-size:15px;font-weight:650}#sv2 .dtop{background:#e5eee0}#sv2 .dtop .big{background:#fff8}#sv2 .dcard{border-radius:15px}#sv2 .chiedi{background:#edf3e8;border-color:#d5e2ce;color:#176d62;border-radius:9px}#sv2 .how{background:#f1f5ec}#sv2 .step .num{background:#176d62;box-shadow:none;border-radius:9px}#sv2 .how-visual{border-radius:16px;box-shadow:none}#sv2 .reg{background:#173d39;border-radius:18px;padding:40px}#sv2 .reg h2{font-weight:650}#sv2 footer.v2f{background:#173d39}#sv2 footer.v2f a{color:#c1d5c9}#sv2 .copy{border-color:#426157;color:#a5c0b1}#sv2 .siri-faq{max-width:820px;margin:28px auto 0}#sv2 .siri-faq details{padding:20px 0;border-bottom:1px solid #dce6dc;text-align:left}#sv2 .siri-faq summary{cursor:pointer;font-size:16px;font-weight:650}#sv2 .siri-faq p{color:#64776d;font-size:14px;line-height:1.7;margin-top:12px}#sv2 #rec{background:#f1f5ec!important}.siri-site-access{display:flex;gap:15px;justify-content:center;flex-wrap:wrap;font-size:12px;margin:18px 0 0}.siri-site-access a{color:inherit}.siri-static-link{display:inline-flex;align-items:center;justify-content:center}
body.siri-patient #login{background:#edf3e8}body.siri-patient .lcard{border:1px solid #dce6dc;box-shadow:0 20px 50px #173d3910;border-radius:18px}body.siri-patient .hero{background:#173d39}body.siri-patient .bnav{border-top-color:#dce6dc}body.siri-patient .bnav .active{color:#176d62}body.siri-patient .btn-primary{background:#176d62}body.siri-patient .brand .p{color:#176d62}
@media(max-width:900px){#sv2 .hero-in{padding:42px 0;gap:26px}.siri-subnav{padding:10px 14px;flex-wrap:nowrap;overflow:auto}.siri-subnav button{white-space:nowrap}.siri-hub{grid-template-columns:1fr 1fr}.admin-sidebar .siri-group-items{margin-left:10px}}
@media(max-width:560px){#sv2 .wrap{padding-left:20px;padding-right:20px}#sv2 .hero h1{font-size:39px;letter-spacing:-1.3px}#sv2 .hero-card{padding:20px}#sv2 .hero-btns>*{justify-content:center}#sv2 .stats{grid-template-columns:1fr;gap:12px}#sv2 .stat{display:flex;gap:8px;align-items:baseline}#sv2 .stat .n{font-size:13px}#sv2 .reg{padding:28px 22px}#sv2 .spec-grid{grid-template-columns:1fr 1fr;gap:10px}#sv2 .spec{padding:16px 12px}#sv2 .spec h4{font-size:14px}.siri-hub{grid-template-columns:1fr}.siri-hub button{min-height:95px;padding:18px}.siri-subnav{padding:10px}.siri-intro{padding:16px}.siri-intro h2{font-size:20px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
/* Mobile navigation: stable vector icons, readable labels and original notification dots. */
.siri-icon{display:block;width:23px;height:23px;flex-shrink:0}.siri-group-summary-icon,.nav-icon,.ni{display:inline-flex;align-items:center;justify-content:center}.siri-group-summary-icon .siri-icon,.nav-icon .siri-icon,.ni .siri-icon{width:20px;height:20px}
.admin-mobile-nav,.mobile-nav,.bnav{background:#fcfdf9;border-top:1px solid #dce6dc;box-shadow:0 -4px 20px #173d3908}
.admin-mobile-nav-inner,.mobile-nav-inner{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));width:100%}
.admin-mobile-nav .amn-item,.mobile-nav .mnav-item,.bnav .it{box-sizing:border-box;border:0;background:none;font-family:inherit;font-size:11px;font-weight:650;line-height:1.2;color:#526d60;min-width:0;min-height:64px;padding:9px 2px 7px;gap:5px;text-align:center;justify-content:center;position:relative}
.admin-mobile-nav .amn-item.active,.mobile-nav .mnav-item.active,.bnav .it.active{color:#10544c;background:#eaf3ee;border-radius:10px}
.admin-mobile-nav .amn-item .amni,.mobile-nav .mnav-item .mni,.bnav .it .ic{font-size:23px;line-height:1;height:24px;display:flex;align-items:center;justify-content:center}
.siri-nav-label{max-width:100%;white-space:nowrap}.amn-dot{right:calc(50% - 19px)!important;top:6px!important}.amn-dot:not(:last-child){right:calc(50% - 27px)!important}
@media(max-width:768px){
 .admin-main,.main,.admin-content,#adminContent,#pageContent{min-width:0;max-width:100%}
 .admin-topbar,.topbar{height:auto;min-height:60px;gap:8px;padding:12px!important;flex-wrap:wrap}
 .admin-topbar h1,.topbar h1{font-size:20px;min-width:0;overflow-wrap:anywhere}
 .admin-topbar>div,.topbar>div{min-width:0;max-width:100%}
 .admin-content,.content{padding-left:12px;padding-right:12px;padding-bottom:calc(90px + env(safe-area-inset-bottom))}
 .siri-subnav{min-width:0;max-width:100%;box-sizing:border-box;padding:8px 12px;gap:6px}
 .siri-subnav button{min-height:44px;flex-shrink:0;font-size:12px}
 .siri-calendar-views{width:100%;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px!important}
 .siri-calendar-views button{min-width:0;padding:10px 3px!important;font-size:11px!important;min-height:44px}
 #agSub select{max-width:100%;width:100%}
 .admin-card{min-width:0;padding:16px}
 .siri-hub button{min-height:82px}
 .modal{max-width:100%;max-height:94dvh}.modal-body{min-width:0}
 .cal-header{gap:8px;flex-wrap:wrap}
 #sv2 .nav-in{gap:10px}#sv2 .logo{min-width:0}#sv2 .logo .nm{font-size:21px}
 #sv2 .stat{flex-wrap:wrap;gap:4px 8px}
 #sv2 .hero h1{font-size:clamp(32px,10vw,39px)}
 #sv2 .spec h4{overflow-wrap:anywhere}
 #sv2 .siri-faq summary{min-height:44px;display:list-item;line-height:1.5}
 body.siri-patient #app{padding-bottom:calc(90px + env(safe-area-inset-bottom))}
 body.siri-patient .bnav .it{font-size:10px}
 body.siri-patient #login{padding:16px}body.siri-patient .lcard{padding:26px 20px}
}

@media(max-width:768px){
 #adminContent .btn,#pageContent .btn{white-space:normal;max-width:100%;min-height:44px;justify-content:center}
 .siri-visit-row{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px!important}
 .siri-visit-row>div:first-child{grid-column:1/-1}
 .siri-visit-row>div:nth-child(2){grid-column:1/-1}
 .siri-visit-row>div:nth-child(2)>div:first-child{white-space:normal!important;overflow:visible!important}
 .siri-visit-row>button{min-width:0;min-height:44px;padding:8px 3px!important;overflow-wrap:anywhere}
 #docMenuOverlay button{min-height:48px}#docMenuOverlay button>span{display:inline-flex;align-items:center;justify-content:center}
}

@media(max-width:560px){.siri-waiting-fields{grid-template-columns:minmax(0,1fr)!important}.siri-waiting-fields input,.siri-waiting-fields select{width:100%;min-width:0}}
@media(max-width:380px){body.siri-patient #content div[style*="grid-template-columns:1fr 1fr"]{grid-template-columns:minmax(0,1fr)!important}}

.siri-booking-desk h2{font-size:23px;margin-bottom:8px}.siri-booking-desk p{font-size:13px;line-height:1.5;margin:7px 0;color:#526d60}.siri-booking-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0}.siri-booking-filters label,.siri-booking-settings label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700}.siri-booking-filters input,.siri-booking-filters select,.siri-booking-settings textarea{width:100%;min-width:0;padding:12px;border:1px solid #cbd9cd;border-radius:9px;background:white;font:inherit;font-size:16px;color:#173d39;box-sizing:border-box}.siri-booking-actions{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.siri-booking-actions button{min-height:44px;padding:10px 13px;border:1px solid #cbd9cd;background:#f3f7f1;border-radius:9px;color:#145b51;font-size:13px;font-weight:650;cursor:pointer}.siri-booking-actions button:disabled{opacity:.45;cursor:not-allowed}.siri-booking-settings{border:1px solid #dce6dc;border-radius:12px;padding:14px;margin:14px 0}.siri-booking-settings summary{cursor:pointer;font-size:14px;font-weight:700;min-height:30px}.siri-booking-list{display:grid;gap:12px;margin-top:14px}.siri-booking-row{border:1px solid #dce6dc;border-radius:12px;padding:16px;background:#fff}.siri-booking-row h3{font-size:17px;margin-top:10px;overflow-wrap:anywhere}.siri-booking-heading{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:13px}.siri-booking-status{border-radius:30px;padding:4px 8px;background:#fff3d7;color:#805300}.siri-booking-status.confirmed{background:#e2f4e7;color:#166534}.siri-booking-status.cancelled{background:#fee2e2;color:#991b1b}.siri-booking-status.late{background:#ffedd5;color:#9a3412}.siri-booking-meta{font-size:12px!important}
@media(max-width:800px){.siri-booking-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.siri-booking-filters{grid-template-columns:minmax(0,1fr)}.siri-booking-row{padding:13px}.siri-booking-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.siri-booking-actions button{min-width:0;white-space:normal;overflow-wrap:anywhere}.siri-booking-desk h2{font-size:21px}}

/* Doctor reminder actions keep their text and touch targets on phones. */
.siri-doctor-reminder button,.siri-doctor-reminder a{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.siri-doctor-reminder button:disabled{opacity:.5;cursor:not-allowed!important}
@media(max-width:600px){
 .siri-doctor-reminder{display:grid!important;grid-template-columns:42px minmax(0,1fr)!important}
 .siri-doctor-reminder>div:nth-child(2)>div:first-child{white-space:normal!important;overflow-wrap:anywhere}
 .siri-doctor-reminder>button,.siri-doctor-reminder>a{grid-column:1/-1;width:100%}
}
@media(max-width:760px){
 .siri-doc-agenda-layout{grid-template-columns:minmax(0,1fr)!important}
 .siri-doc-agenda-layout>*{min-width:0;max-width:100%}
 #dayPanel>.card{padding:14px}
 .siri-doc-time-row{display:grid!important;grid-template-columns:minmax(0,1fr) 12px minmax(0,1fr);gap:6px!important}
 .siri-doc-time-row>span:first-child,.siri-doc-time-row>span:last-child{grid-column:1/-1;width:auto!important}
 .siri-doc-time-row input[type=time]{min-width:0;width:100%!important;min-height:44px;font-size:14px!important;padding:5px!important}
 #dayPanel button{min-height:44px}
}
.siri-doc-month{table-layout:fixed}
.siri-doc-month td{overflow:hidden;overflow-wrap:anywhere}
@media(max-width:760px){.siri-doc-month td{padding:4px 2px!important}.siri-doc-month th{padding:7px 1px!important;font-size:10px!important}.siri-doc-time-row input[type=time]{font-size:16px!important}}

/* Notification inbox and direct mobile entry. */
.siri-notification-bell{position:relative;min-width:44px;min-height:44px;flex-shrink:0;border:1px solid #d9e4dd;border-radius:12px;background:#fff;cursor:pointer;font-size:20px;margin-left:auto}
.siri-notification-bell span{position:absolute;right:-5px;top:-4px;border-radius:20px;background:#c5233a;color:white;font:700 11px system-ui;min-width:18px;padding:2px}
.siri-notification-row{display:flex;flex-direction:column;gap:10px;width:100%;text-align:left;margin:0 0 12px;padding:18px;border:1px solid #d9e4dd;border-radius:14px;background:#fff;color:#183f38;font:inherit;cursor:pointer}
.siri-notification-row.unread{border-left:5px solid #bf2738;background:#fffafb}.siri-notification-row small{color:#627169}.siri-notification-row>span{font-size:13px;font-weight:700}
.siri-device-check{background:#f4f7f3;border:1px solid #d9e4dd;border-radius:12px;padding:14px;margin:14px 0;line-height:1.5;font-size:14px}.siri-device-check summary{cursor:pointer;font-weight:700}.siri-device-check button,.siri-notification-open{min-height:44px;background:#fff;border:1px solid #aac1b2;color:#14594d;border-radius:10px;padding:10px 14px;cursor:pointer;font:inherit;margin:8px 0;max-width:100%}
@media(max-width:600px){#topbarDoc{max-width:100px;font-size:11px!important;overflow-wrap:anywhere}.siri-notification-bell{margin-left:auto}.topbar{gap:8px}.siri-device-check button{width:100%}}

/* Visible section grid requested by the clinic. */
.siri-sections-access{padding:8px 14px;background:#fff;border-bottom:1px solid #dde6df}.siri-sections-access button{min-height:42px;background:#edf4ee;color:#164f45;border:1px solid #ccdcd0;border-radius:10px;padding:9px 15px;font:700 13px system-ui;cursor:pointer}
.siri-all-sections{margin-bottom:28px}.siri-all-sections h2{font-size:24px;margin:0 0 8px;color:#183f38}.siri-all-sections>p{font-size:14px;color:#65776b;margin:0 0 18px;line-height:1.5}
.siri-sections-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.siri-sections-grid>button{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:9px;min-width:0;min-height:145px;padding:18px;border:1px solid #d0dfd4;border-radius:15px;background:#fff;text-align:left;color:#17483e;font:inherit;cursor:pointer;box-shadow:0 2px 5px #173d3908}.siri-sections-grid>button:hover{background:#eef5ed;border-color:#2f7b68}.siri-sections-grid>button:focus-visible{outline:3px solid #287b65;outline-offset:3px}.siri-sections-grid strong{font-size:15px;line-height:1.35;overflow-wrap:anywhere}.siri-sections-grid small{font-size:12px;color:#63756a;line-height:1.4}.siri-section-symbol{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#edf4e9;color:#286d59;font-size:22px}
@media(max-width:1000px){.siri-sections-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.siri-sections-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.siri-sections-grid>button{padding:13px;min-height:150px}.siri-sections-grid strong{font-size:14px}.siri-all-sections h2{font-size:22px}}
.siri-section-tools{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.siri-section-tools button{min-height:44px;border:1px solid #cbdcd0;border-radius:9px;background:white;padding:10px 12px;color:#245548;cursor:pointer;font:600 13px system-ui}
