.public-page{min-height:100vh;background:#f8fafc;color:#0f172a}.public-container{max-width:1280px;margin:auto;padding-left:24px;padding-right:24px}.public-banner{background:#1e40af;color:white;box-shadow:0 2px 6px #0f172a20}.banner-content{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:18px;padding-bottom:18px}.banner-brand{display:flex;align-items:center;gap:16px}.banner-brand>a{padding:6px 12px;border-radius:10px;background:#1e3a8a;font-size:24px}.banner-brand h1{font-size:20px;font-weight:700}.banner-brand p{color:#bfdbfe;font-size:12px;margin-top:3px}.privacy-badge{font-size:11px;border:1px solid #3b82f6;border-radius:30px;padding:8px 12px;background:#1e3a8a}.public-content{display:grid;gap:32px;padding-top:32px;padding-bottom:32px}.public-card{background:white;border:1px solid #e2e8f0;border-radius:16px;padding:32px;box-shadow:0 1px 2px #0f172a05}.public-query{max-width:768px;margin:auto;text-align:center}.search-symbol{color:#1d4ed8;background:#eff6ff;border-radius:16px;width:56px;height:56px;font-size:38px;line-height:50px;margin:0 auto 16px}.public-query h2{font-size:24px;font-weight:700;line-height:1.3}.public-query p{font-size:14px;line-height:1.6;color:#475569;margin:12px 0}.public-query-form{display:grid;grid-template-columns:minmax(0,1fr) 224px auto;gap:12px;text-align:left;align-items:end;margin:24px 0}.public-query-form label,.page-form label{display:block;font-size:12px;font-weight:600;margin-bottom:6px}.public-query-form input,.page-form input,.page-form select,.page-form textarea{width:100%;border:1px solid #cbd5e1;border-radius:12px;padding:12px;font-size:14px;background:white}.public-query-form button,.page-button{display:inline-block;border-radius:12px;padding:12px 20px;background:#1d4ed8;color:white;font-size:14px;font-weight:600}.public-query-form input:focus,.page-form input:focus,.page-form select:focus{outline:2px solid #2563eb;outline-offset:2px}.public-result{max-width:896px;margin:32px auto 0;padding:24px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px}.public-result header{display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid #e2e8f0;padding-bottom:20px}.eyebrow{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#1d4ed8}.public-result h3{font-size:24px;font-weight:800;overflow-wrap:anywhere}.public-result p{font-size:12px;color:#64748b}.status-pill{padding:7px 12px;border-radius:24px;color:#92400e;background:#fef3c7;font-size:12px;font-weight:700}.public-result-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0}.public-result-grid>div{padding:20px;background:white;border:1px solid #e2e8f0;border-radius:12px;text-align:center}.public-result-grid span{font-size:12px;color:#64748b}.public-result-grid strong{display:block;font-size:36px;color:#1d4ed8}.public-result-grid strong.estimate{font-size:26px;color:#059669}.public-result-grid small{font-size:16px;font-weight:400}.public-criteria{background:white;border:1px solid #e2e8f0;border-radius:12px;padding:16px}.public-criteria h4{font-size:12px;font-weight:700;text-transform:uppercase}.public-criteria li{font-size:12px;color:#475569;margin-top:8px}#panorama h2{font-size:20px;font-weight:700;margin-bottom:12px}#panorama>p{font-size:14px;color:#475569;margin-bottom:18px}.public-specialties{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.public-specialties .public-card{padding:24px}.public-specialties h3{font-size:20px;font-weight:700;margin:8px 0}.public-specialties p{font-size:14px;color:#475569}.public-specialties small{color:#64748b}.contact-card,.public-footer{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12px;color:#475569;margin-top:24px}.public-footer a{color:#1d4ed8}.page-panel{background:white;border:1px solid #e2e8f0;border-radius:20px;padding:24px;margin-bottom:24px}.page-panel h2{font-size:18px;font-weight:700;margin-bottom:12px}.page-panel p{font-size:13px;color:#64748b;margin-bottom:12px}.page-form{display:grid;gap:16px}.page-form button{justify-self:start}.page-table{width:100%;font-size:12px;text-align:left;border-collapse:collapse}.page-table td,.page-table th{padding:12px;border-bottom:1px solid #e2e8f0}.page-pagination{display:flex;gap:16px;justify-content:flex-end;align-items:center;font-size:13px;margin:16px 0}.page-pagination a{color:#1d4ed8;text-decoration:underline}
[id^="modal-"]{overflow-y:auto;padding:24px 16px!important}[id^="modal-"]>div{max-height:calc(100dvh - 48px);overflow-y:auto;overscroll-behavior:contain}button:focus-visible,a:focus-visible{outline:2px solid #2563eb;outline-offset:3px}
@media(max-width:767px){.banner-content{flex-direction:column;align-items:flex-start}.public-container{padding-left:16px;padding-right:16px}.public-card{padding:24px 20px}.public-query-form,.public-result-grid,.public-specialties{grid-template-columns:1fr}.public-query h2{font-size:22px}.public-result header{align-items:flex-start;flex-direction:column}.public-result{padding:16px}.public-result-grid strong{font-size:32px}.public-footer{margin-top:0}}
@media print{#admin-sidebar,body>header,form,.page-pagination,button{display:none!important}.page-panel{border:0;box-shadow:none}.page-table{font-size:11px}}

@media(max-width:767px){.public-home>header{flex-wrap:wrap;gap:12px}.public-home>header>div:last-child{flex-wrap:wrap}.page-panel{padding:20px}.page-form fieldset{min-width:0}}

.report-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin-top:12px}.report-columns label{display:flex;align-items:center;gap:8px}.report-columns input{flex-shrink:0}@media(max-width:767px){.attendance-filters{display:grid;grid-template-columns:1fr;gap:8px}.attendance-filters>*{width:100%;margin:0!important}}

@media print{body:has(#report-result) main>div> :not(#report-result){display:none!important}#report-result .overflow-x-auto{overflow:visible}#report-result table{table-layout:fixed}#report-result td,#report-result th{overflow-wrap:anywhere}}
