:root{font-family:Arial,Helvetica,sans-serif;color:#17324d;background:#f2f6f9;font-synthesis:none;line-height:1.6}*{box-sizing:border-box}body{margin:0}a{color:#006796}a:hover{text-decoration:underline}button,input,textarea,select{font:inherit}button,a,input,select,textarea{outline-offset:4px}:focus-visible{outline:3px solid #db6b09}button,.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 20px;background:#076f9f;border:1px solid #076f9f;border-radius:5px;color:white;font-weight:700;text-decoration:none;cursor:pointer}button:hover,.button:hover{background:#075578;color:#fff}.button.secondary{background:white;color:#075578}.button.danger,button.danger{background:#9c2424;border-color:#9c2424}input,textarea,select{width:100%;padding:10px 12px;min-height:44px;border:1px solid #899caa;border-radius:4px;background:white;color:#17324d}textarea{resize:vertical;min-height:110px}label{display:block;font-weight:700;margin-bottom:7px}small,.help{color:#536577;font-size:.9rem}.field{margin-bottom:22px}.admin-header{background:white;padding:18px max(5vw,20px);display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #d5e0e7}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#17324d;font-weight:700;line-height:1.35}.brand img{object-fit:contain}.brand small{display:block;font-weight:400}.public-link{font-weight:700}.admin-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px max(5vw,20px);background:#123e5b}.admin-nav>a{color:white;text-decoration:none;padding:10px 14px;border-radius:4px}.admin-nav>a[aria-current=page]{background:white;color:#17324d}.admin-nav form{margin-left:auto}.logout{background:transparent;border-color:#aac2d1}.admin-main{max-width:1120px;margin:auto;padding:34px 24px 60px;min-height:70vh}h1{line-height:1.2;font-size:2rem;margin:0 0 26px}h2{font-size:1.35rem;line-height:1.3;margin-top:0}.panel{padding:28px;background:white;border:1px solid #d5e0e7;border-radius:7px;margin-bottom:22px}.narrow{max-width:520px;margin:25px auto}.notice,.error{padding:14px 18px;margin:0 0 20px;border:1px solid #96bba0;background:#edf8ef;color:#17552a;border-radius:4px}.error{border-color:#cba0a0;background:#fff3f3;color:#861b1b}.grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.table-wrap{overflow:auto;border:1px solid #d5e0e7;border-radius:5px;background:#fff}table{width:100%;border-collapse:collapse;text-align:left}th,td{padding:15px 18px;border-bottom:1px solid #d5e0e7;vertical-align:top}th{background:#e7f0f6}td.actions{min-width:180px}.delete-form{margin:0}.delete-form button{font-size:.9rem;min-height:38px;padding:5px 12px}.stat-list{display:flex;gap:30px;flex-wrap:wrap;padding:0;list-style:none}.stat-list strong{display:block;font-size:2.2rem;color:#076f9f}.gallery-preview{width:100%;height:180px;object-fit:contain;background:#e7f0f6;border:1px solid #d5e0e7;margin-bottom:12px}.gallery-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.gallery-card{background:#fff;padding:18px;border:1px solid #d5e0e7;border-radius:6px;overflow-wrap:anywhere}.gallery-card h2{font-size:1.1rem}.admin-footer{padding:24px;text-align:center;font-size:.85rem;color:#536577}.skip{position:absolute;left:12px;top:-80px;background:white;padding:12px;z-index:100}.skip:focus{top:10px}.empty{padding:30px;background:white;border:1px solid #d5e0e7}code{overflow-wrap:anywhere}p{overflow-wrap:anywhere}.counter{margin-bottom:20px}.inline-check{display:flex;align-items:center;gap:10px}.inline-check input{width:20px;min-height:20px}fieldset{border:1px solid #aabeca;padding:20px;margin-bottom:25px}legend{font-weight:700;padding:0 8px}@media(max-width:760px){.grid,.gallery-list{grid-template-columns:1fr}.panel{padding:20px}.admin-main{padding:25px 18px 40px}.admin-header{padding:14px 18px}.brand{font-size:.95rem}.public-link{font-size:.9rem}.admin-nav{padding:10px 12px;gap:0}.admin-nav>a{padding:9px 10px}.admin-nav form{margin-left:0}.admin-nav button{padding:7px 12px}h1{font-size:1.7rem}.actions .button{flex-grow:1}}
.schedule-panel .help{margin-top:0}.schedule-days{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.schedule-days label{display:flex;align-items:center;gap:10px;min-height:48px;padding:8px 12px;margin:0;border:1px solid #899caa;border-radius:4px;font-weight:400;cursor:pointer}.schedule-days label:has(input:checked){background:#e7f0f6;border-color:#076f9f}.schedule-days input{flex:0 0 20px;width:20px;height:20px;min-height:20px;padding:0;margin:0;accent-color:#076f9f}.schedule-order{max-width:360px}.schedule-confirm{min-height:44px;padding:8px 0}.schedule-confirm input{flex-shrink:0}.schedule-clinic-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.schedule-clinic-heading h2{margin:0}.schedule-clinic-heading .button{flex-shrink:0}.schedule-empty{margin-bottom:0;color:#536577}.schedule-table{table-layout:fixed}.schedule-table th:nth-child(1){width:31%}.schedule-table th:nth-child(2){width:27%}.schedule-table th:nth-child(3){width:19%}.schedule-table th:nth-child(4){width:23%}.schedule-table td{overflow-wrap:anywhere}.schedule-hours{white-space:nowrap}.schedule-actions{display:flex;flex-wrap:wrap;gap:4px}.schedule-actions a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:7px 10px;border:1px solid #899caa;border-radius:4px;text-decoration:none}.schedule-actions a:hover{background:#e7f0f6}.schedule-sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:760px){.schedule-days{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-clinic-heading{align-items:flex-start;flex-direction:column}.schedule-clinic-heading .button{align-self:stretch}.schedule-table,.schedule-table tbody,.schedule-table tr{display:block;width:100%}.schedule-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.schedule-table tr{padding:12px 16px;border-bottom:1px solid #d5e0e7}.schedule-table tr:last-child{border-bottom:0}.schedule-table td{display:grid;grid-template-columns:82px minmax(0,1fr);gap:8px;padding:6px 0;border:0;width:100%;white-space:normal}.schedule-table td::before{content:attr(data-label);font-weight:700;color:#536577}.schedule-actions{gap:8px}.schedule-actions a{min-width:58px}.schedule-clinic .table-wrap{overflow:visible}.schedule-panel fieldset{padding:14px}}
