:root{--blue:#17458f;--deep:#0c3566;--gold:#f7a81b;--ink:#263b50;--muted:#677582;--line:#dce4ec}*{box-sizing:border-box}body{margin:0;font:16px/1.6 'Segoe UI',Arial,sans-serif;color:var(--ink);background:#f5f7fa}.utility{background:#f4f5f6;padding:8px 6%;font-size:13px;display:flex;justify-content:space-between;color:var(--muted)}a{color:var(--blue)}header{background:white;padding:20px 6%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{font-size:24px;font-weight:700;color:var(--blue);letter-spacing:-.6px}.brand span{font-size:20px;font-weight:400;margin-left:14px;padding-left:14px;border-left:1px solid #cad3dd}header a{font-size:14px;text-decoration:none;border-bottom:3px solid var(--gold)}main{max-width:1200px;padding:52px 28px;margin:auto}.hero{display:grid;grid-template-columns:1.15fr 1fr;gap:64px;align-items:center}.eyebrow{color:var(--blue);font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase}h1{font-size:clamp(34px,4.3vw,55px);font-weight:400;line-height:1.16;letter-spacing:-1.7px;margin:17px 0 24px;color:var(--deep)}h1::after{content:'';display:block;width:68px;height:5px;background:var(--gold);margin-top:25px}.lead{font-size:19px;color:var(--muted);max-width:500px}.promise{margin:30px 0;font-size:14px;border-left:3px solid var(--gold);padding-left:16px}.panel{background:white;padding:36px;border:1px solid var(--line);border-radius:4px;box-shadow:0 12px 35px #0d356609}.panel h2{margin:0 0 5px;font-size:26px;font-weight:500}.panel p{color:var(--muted);margin-top:5px}label{display:block;font-size:14px;font-weight:600;margin:20px 0 6px}input,select{width:100%;font:inherit;padding:12px 14px;border:1px solid #b8c5d2;border-radius:3px;background:white;color:var(--ink)}input:focus,select:focus{outline:2px solid #8fbce8;outline-offset:2px}button{font:inherit;padding:12px 24px;background:var(--blue);color:white;border:0;border-radius:24px;font-weight:600;cursor:pointer}button:disabled{opacity:.6;cursor:wait}form button{margin-top:26px;width:100%}.hint{font-size:13px;margin:18px 0 0!important}#message{min-height:24px;font-size:14px}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;padding:40px 0;margin-top:46px;border-top:1px solid var(--line)}.features h3{font-size:19px;font-weight:600;margin:12px 0}.features p{font-size:14px;color:var(--muted)}.feature-num{color:var(--gold);font-size:27px;font-weight:600}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:24px 0}.metric{padding:24px;background:white;border:1px solid var(--line);border-top:3px solid var(--gold)}.metric strong{display:block;font-size:36px;color:var(--blue)}nav{display:flex;gap:8px;flex-wrap:wrap;margin:28px 0}nav button{border-radius:4px;font-size:14px;background:white;color:var(--blue);border:1px solid var(--line)}nav button[aria-pressed=true]{background:var(--blue);color:white}.table-wrap{overflow:auto;background:white;border:1px solid var(--line)}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;padding:14px 18px;border-bottom:1px solid var(--line);white-space:nowrap}th{background:#eef3f9;color:var(--blue)}.empty{padding:28px;color:var(--muted)}footer{border-top:1px solid var(--line);padding:24px 6%;display:flex;justify-content:space-between;background:white;color:var(--muted);font-size:12px}[hidden]{display:none!important}@media(max-width:760px){.hero{grid-template-columns:1fr;gap:28px}.features{grid-template-columns:1fr;gap:12px}.cards{grid-template-columns:repeat(2,1fr)}main{padding:28px 18px}.brand{font-size:20px}.brand span{font-size:16px}.panel{padding:24px}.utility span:last-child{display:none}footer{display:block}header a{display:none}}
form .password-toggle{width:auto;margin:8px 0 0;padding:4px 0;background:transparent;color:var(--blue);font-size:13px;border-radius:0;text-decoration:underline}

.brand,.footer-brand{display:flex;align-items:center}.rotary-symbol{object-fit:contain;flex-shrink:0;margin-right:12px}.brand .rotary-symbol{width:42px;height:42px}.footer-brand .rotary-symbol{width:24px;height:24px}@media(max-width:760px){.brand .rotary-symbol{width:34px;height:34px;margin-right:8px}.brand span{margin-left:10px;padding-left:10px}}

#administration{margin:28px 0}.admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.admin-grid form{min-width:0}.admin-grid h3{margin-top:0}.form-result{font-size:14px}#administration .table-wrap{margin-bottom:24px}@media(max-width:900px){.admin-grid{grid-template-columns:1fr}}

#operation-editor{margin:24px 0}.operation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}textarea{width:100%;min-height:90px;font:inherit;padding:12px;border:1px solid #b8c5d2}.secondary{margin-left:12px;background:#edf2f8;color:var(--blue)}.record-action{padding:6px 12px;font-size:13px;margin-right:8px}td a{font-size:13px;margin:0 8px}dialog{border:1px solid var(--line);border-radius:8px;max-width:520px;padding:28px;color:var(--ink)}dialog::backdrop{background:#12263d66}dialog button{margin:12px 8px 0 0}.qr-label{text-align:center}.qr-label a{display:block}@media(max-width:760px){.operation-grid{grid-template-columns:1fr}}@media print{body:has(dialog[open])>*:not(dialog){display:none}dialog[open]{position:static;margin:0 auto;border:0}dialog button,.qr-label a{display:none}}

.location-picker{margin:24px 0}.location-picker button{width:auto;margin:8px 8px 8px 0}.location-picker .secondary{margin-left:0}.beneficiary-map{width:100%;height:360px;border:1px solid var(--line);border-radius:4px;position:relative;z-index:0}.leaflet-control button,.leaflet-control a{margin:0}.leaflet-container{font:14px Arial,sans-serif}.leaflet-control-attribution a{font-size:11px}@media(max-width:760px){.beneficiary-map{height:300px}}

.form-section-title,.form-section-wide,.responsible-toggle{grid-column:1/-1}.responsible-toggle{display:flex;align-items:center;gap:10px}.responsible-toggle input{width:18px;height:18px;margin:0}.form-section-title{margin:24px 0 0}

.report-controls{display:flex;flex-wrap:wrap;gap:16px;align-items:end}.report-controls label{flex:1;min-width:160px}.report-brand{display:flex;align-items:center;gap:12px;color:#17458f;font-size:24px}.report-brand img{width:52px;height:52px;object-fit:contain}#report-sheet{padding:24px;background:white}#report-sheet td{white-space:pre-line;overflow-wrap:anywhere;vertical-align:top}#report-sheet h2{margin:16px 0} @media print{@page{size:A4 landscape;margin:12mm}body.printing-report{background:white}body.printing-report>*{display:none!important}body.printing-report main,body.printing-report #workspace,body.printing-report #records,body.printing-report #report-sheet{display:block!important;margin:0!important;padding:0!important;max-width:none!important;overflow:visible!important}body.printing-report main>*:not(#workspace),body.printing-report #workspace>*:not(#records){display:none!important}#report-sheet table{width:100%;font-size:9pt;table-layout:fixed}#report-sheet th,#report-sheet td{padding:6px;white-space:pre-line!important}#report-sheet thead{display:table-header-group}#report-sheet tr{break-inside:avoid}#report-sheet h2{font-size:18pt}#report-sheet p{font-size:10pt}.report-brand img{width:40px;height:40px}}

.app-tools{max-width:1200px;margin:12px auto 0;padding:0 28px;display:flex;gap:12px;flex-wrap:wrap}.app-tools .secondary{margin-left:0}.connection-status{background:#fff3cf;color:#563c00;margin:12px 0;padding:14px 24px}.admin-details summary{cursor:pointer;font-size:22px;color:var(--blue);font-weight:600}.admin-details[open] summary{margin-bottom:18px}#install-help{max-width:480px;width:calc(100% - 32px);max-height:85dvh;overflow:auto}#install-help h2{color:var(--blue);font-size:24px}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{touch-action:manipulation}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px}main{padding-bottom:max(28px,env(safe-area-inset-bottom))}header{padding-top:max(16px,env(safe-area-inset-top))}
@media screen and (max-width:760px){.utility{font-size:11px;padding:6px 16px}header{padding-left:16px;padding-right:16px}.app-tools{padding:0 16px}.app-tools button{font-size:14px;min-height:44px}.hero{display:flex;flex-direction:column;align-items:stretch}.hero #access{order:-1}.hero h1{font-size:32px}.hero .lead{font-size:16px}main{padding:20px 16px}.panel{padding:20px}.metric{padding:14px}.metric strong{font-size:28px}.cards{gap:10px}#workspace h1{font-size:28px!important}input,select,textarea{font-size:16px;min-height:48px}button{min-height:44px}.record-action{padding:10px 12px;margin:4px 4px 4px 0}#modules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}#modules button{padding:12px 8px;font-size:14px}.report-controls{display:block}.report-controls label{min-width:0}.report-controls button{margin-top:16px}#records{overflow:visible;background:transparent;border:0}#records table,#records tbody,#records tr,#records td{display:block;width:100%}#records thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}#records tbody tr{border:1px solid var(--line);background:white;border-radius:8px;margin:12px 0;padding:12px}#records td{white-space:normal!important;overflow-wrap:anywhere;padding:8px 0;border:0;display:grid;grid-template-columns:35% minmax(0,1fr);gap:10px}#records td::before{content:attr(data-label);font-weight:600;color:var(--blue)}#records td:last-child{border:0}#report-sheet{padding:16px}.report-brand{font-size:21px}.report-brand img{width:40px;height:40px}#report-sheet h2{font-size:23px}.secondary{margin-left:0}dialog{width:calc(100% - 32px);max-height:85dvh;overflow:auto;padding:20px}.qr-label svg{max-width:100%;height:auto}.beneficiary-map{height:280px}footer{padding:20px 16px;font-size:12px}.footer-brand{align-items:flex-start}.admin-details summary{font-size:20px}}
@media (display-mode:standalone){.utility{display:none}}

.about-entry{display:inline-flex;align-items:center;min-height:44px;padding:10px 20px;background:white;color:var(--blue);border:1px solid var(--line);border-radius:24px;text-decoration:none;font-size:14px;font-weight:600}

#access #message:empty{display:none}#access #message:not(:empty){color:#991b1b;background:#fff1f2;border:1px solid #fecdd3;border-left:4px solid #b91c1c;padding:12px 14px;margin:16px 0;font-size:15px;font-weight:600;border-radius:4px}#access input[aria-invalid=true]{border-color:#b91c1c}

.guardian-dialog{width:min(850px,calc(100% - 24px));max-height:90dvh;overflow:auto;border:1px solid var(--line);border-radius:8px;padding:24px;color:var(--ink)}.guardian-dialog::backdrop{background:#0c356699}.guardian-dialog h2{color:var(--blue)}.operation-grid .record-action{width:auto;margin-top:10px;font-size:14px}

.brand-wordmark{display:flex;flex-direction:column;align-items:flex-start}.brand-title{display:flex;align-items:center;line-height:1.25}.brand-club{display:block;font-size:11px;font-weight:400;letter-spacing:.8px;line-height:1.4;color:var(--muted);margin-top:4px}.brand .rotary-symbol{align-self:center}@media(max-width:760px){.brand-club{font-size:10px;letter-spacing:.6px;margin-top:3px}}

.dashboard-charts{margin-top:30px}.chart-panel{border-top:1px solid var(--line);padding-top:20px;margin-top:24px}.bar-chart{display:flex;gap:10px;align-items:flex-end;overflow-x:auto;padding:12px 0 20px;min-height:190px}.chart-column{min-width:45px;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;font-size:12px}.chart-bar{width:70%;max-width:55px;min-height:2px;background:var(--blue);border-radius:4px 4px 0 0}.chart-bar.children{background:var(--gold)}.chart-column small{white-space:nowrap;margin-top:8px;color:var(--muted)}.dashboard-charts label{display:inline-block;max-width:180px;margin-right:12px}.dashboard-charts details{margin:12px 0;overflow:auto}
