:root{--ink:#263c44;--muted:#596b70;--purple:#2268ae;--cyan:#2268ae;--yellow:#ffbf49;--bg:#fffaf2;--line:#e6ded0}
body{background:#fffaf2;background-image:none}header{padding-top:20px;gap:18px}.school-logo{object-fit:contain;border-radius:8px;background:#fff}.brand{font-family:Arial,Helvetica,sans-serif;font-size:29px;color:#a45312;gap:18px}.brand small{margin-top:6px;color:#496469}.brand span{line-height:1.2}
#topnav{background:#2467a4;box-shadow:0 4px 0 #e1d1b3;border-radius:12px;min-height:62px}#topnav::before{border-color:#83b3d6}#topnav a,#topnav button{border-color:#75a2c9;text-transform:none;font-size:16px}#topnav .button,#topnav a:hover,#topnav .ghost:hover{background:#ffca66;color:#3e392c;border-color:#ffdb95}
h1,h2,.feature .bigdate{color:#a45312}.eyebrow,.card h3,.sectionhead>a,.sectionhead h2{color:#275f94}.hero h1{color:#a45312;font-size:clamp(44px,5.1vw,68px)}button,.button{background:#2467a4;box-shadow:0 3px 0 #d5deea}button:hover,.button:hover{background:#174e80}.ghost{color:#245d91;border-color:#b8cddd;background:#fff}.secondary{background:#ffd17c;color:#493a23}.hero .actions .button:first-child{background:#efb954;color:#3c321f}.hero .actions .secondary{border-color:#d8c69c;color:#805019}
.feature{border:2px solid #eab453;box-shadow:8px 8px 0 #f4e6cc}.feature::before{border-color:#e8d3ac}.feature::after{background:#ffbc45;box-shadow:0 0 0 8px #fff0c9}.feature .bigdate{color:#a45312}.feature .tag{background:#ffdda1;color:#6f481d}.feature .button{background:#e7f0f8;color:#245d91}.ribbon{border-color:#edbc6e;box-shadow:none}.ribbon strong{color:#805019}.card,.row,.stat{box-shadow:0 3px 0 #f0e8db;border-color:#e3d7c6}.card.accent{background:#eef5fb;border-color:#cfdeeb}.card.pink{background:#fff1d8;border-color:#e9d2a5}.card.purple{background:#fff;border-color:#e6d5bd}.tag{background:#e9f0f8;color:#245b8e}
.sidenav .profile{background:#fff0d7;border-color:#e4bd7c}.sidenav a{color:#4a606a}.sidenav a.active{background:#2268ae;color:#fff;box-shadow:none}.stat strong{color:#285e88}.stat:first-child{border-top-color:#eeac38}.stat:nth-child(2){border-top-color:#398cc4}.stat:nth-child(3){border-top-color:#69a451}.empty{background:#fffdf8;border-color:#d5bf9b}.auth .card{border-top-color:#e9a849}.noticebar{background:#fff2d6;color:#6f5024;border-color:#e7cb96}input,select,textarea{border-color:#c4cbd0}th{background:#edf3f8;color:#3d5c73}dialog{border-color:#e4b35b;box-shadow:8px 8px 0 #5a421a22}dialog h2{color:#935016}#notice{background:#234d72}footer{background:#f5ebd9;border-color:#ddc69e;color:#655d4c}footer strong{color:#96521b}.finance-chart{display:block;width:100%;max-width:760px;height:auto;margin-top:18px}.finance-chart text{font:14px Arial,sans-serif;fill:#304757}.service-status{display:flex;gap:10px;flex-wrap:wrap}.card summary{cursor:pointer;padding:12px 0;color:#245d91}
@media(max-width:650px){.brand{font-size:23px;gap:12px}.school-logo{width:72px;height:79px}.brand small{font-size:12px}#topnav a,#topnav button{font-size:12px}.hero h1{font-size:46px}.pageheading button{width:100%}.row .actions{flex-wrap:wrap}.finance-chart text{font-size:15px}.workspace{overflow-wrap:anywhere}}

.stat summary{cursor:pointer}.stat summary small,.stat summary strong{display:block}.stat summary strong{margin:10px 0}.stat p{font-size:14px}.cash-final{font-size:32px;color:#246637}
.campaign-photo{display:block;max-width:100%;width:360px;height:auto;margin:12px 0;border-radius:8px}#campaign-preview-content{margin-top:20px}

/* Stable section colours: names and active/focus indicators remain readable. */
.sidenav a{--menu-accent:#216092;--menu-tint:#edf5fc;border-left:5px solid var(--menu-accent);background:linear-gradient(100deg,var(--menu-tint),#fffdf8);color:#263c44;margin-bottom:5px;box-sizing:border-box}
.sidenav a[href="#painel"]{--menu-accent:#216092;--menu-tint:#e5f0fc}
.sidenav a[href="#familia"]{--menu-accent:#4e7f36;--menu-tint:#eaf5e3}
.sidenav a[href="#agenda"]{--menu-accent:#b55b16;--menu-tint:#fff0df}
.sidenav a[href="#tarefas"]{--menu-accent:#886c16;--menu-tint:#fff6d8}
.sidenav a[href="#despesas"]{--menu-accent:#8b4d67;--menu-tint:#f9eaf1}
.sidenav a[href="#pagamentos"]{--menu-accent:#31785e;--menu-tint:#e2f3eb}
.sidenav a[href="#documentos"]{--menu-accent:#6c5a91;--menu-tint:#f0eaf9}
.sidenav a[href="#tesouraria"]{--menu-accent:#246e79;--menu-tint:#e0f2f4}
.sidenav a[href="#inventario"]{--menu-accent:#927032;--menu-tint:#f8efd9}
.sidenav a[href="#vendas"]{--menu-accent:#ad5136;--menu-tint:#fce9e1}
.sidenav a[href="#comunicacoes"]{--menu-accent:#347d9a;--menu-tint:#e4f3fb}
.sidenav a[href="#participacao"]{--menu-accent:#6c8333;--menu-tint:#eff5df}
.sidenav a[href="#pessoas"]{--menu-accent:#576c8c;--menu-tint:#eaf0fa}
.sidenav a:hover{background:var(--menu-tint);color:#172e39;text-decoration:underline}
.sidenav a.active{background:var(--menu-tint);color:#172e39;box-shadow:inset 0 0 0 2px var(--menu-accent);font-weight:800}
.sidenav a:focus-visible{outline:3px solid #216092;outline-offset:2px}
.sidenav a[href="#familias"]{--menu-accent:#487f69;--menu-tint:#e4f3ea}.sidenav>button{width:100%;margin-top:12px}.family-choice{display:flex;align-items:center;gap:12px;padding:14px;margin:8px 0;border:1px solid #d5dfdb;border-radius:8px}.family-choice input{width:auto;flex:0 0 auto}.family-choice small{display:block;color:#4b626b;margin-top:4px}.account-help{max-width:600px;margin:auto}
@media(min-width:651px){.sidenav{max-height:calc(100vh - 40px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding-right:5px}}

.auth-register-card{margin-top:24px;background:#edf5fc;border-top-color:#398cc4!important}.auth-register-card h2{color:#245d91}.auth-register-card .button{background:#2268ae}.auth-register-card p{margin-bottom:20px}

.family-result{width:100%;text-align:left;justify-content:space-between;background:#edf5fc;color:#234d72;border:1px solid #b9d1df}.family-result strong{display:block}.family-result>span:last-child{font-size:13px;white-space:nowrap}.family-manual-button{width:100%;margin-top:20px;border:2px solid #398cc4;color:#245d91}.family-confirm{padding:20px;background:#edf5fc;border-radius:10px;margin:20px 0}.family-error{padding:14px;background:#fff0ed;color:#9b3025;border:1px solid #d89386;border-radius:8px}#family-manual-form button{margin:12px 8px 0 0}.family-filters{margin-top:16px}

.password-help{margin:22px 0 0}.password-help a{color:#245d91;text-decoration:underline;text-underline-offset:3px;font-weight:700}#password-status{padding:16px;background:#edf5fc;border:1px solid #b9d1df;border-radius:8px}

.password-count{font-size:15px;line-height:1.55;color:#865222;margin:8px 0 18px}.password-count.ready{color:#286744}.event-tabs{margin:24px 0;gap:12px;flex-wrap:wrap}.event-tabs button[aria-pressed="false"]{background:#fff;color:#245d91;border:1px solid #9fbdd0}.event-tabs button[aria-pressed="true"]{background:#245d91;color:white}

.sidenav a[href="#galeria"]{--menu-accent:#8b658a;--menu-tint:#f5eaf4}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:20px}.gallery-item img,.gallery-item video,.gallery-album img{width:100%;height:220px;object-fit:cover;border-radius:8px;background:#edf1f3}.gallery-item video{object-fit:contain}.gallery-item .hint a{text-decoration:underline}.gallery-placeholder{height:180px;display:grid;place-items:center;font-size:58px;color:#8b658a;background:#f5eaf4;border-radius:8px;margin-bottom:20px}.gallery-album h2{margin-top:20px}.gallery-hidden{opacity:.65}.gallery-item button{font-size:14px}#gallery-upload-progress{color:#245d91;font-weight:700}

.gallery-albums{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:24px}.gallery-album{padding:0;overflow:hidden;border-top:0}.gallery-album img{border-radius:0;height:220px;display:block}.gallery-album-body{padding:24px}.gallery-album-body h2{font-size:26px;margin:14px 0}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr));gap:24px}.gallery-toolbar{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0}.gallery-tile{background:#fff;border:1px solid #dec9a6;border-radius:16px;overflow:hidden;box-shadow:0 5px 18px #59401d0c}.gallery-preview{display:block;position:relative;padding:0;width:100%;border-radius:0;background:#eae8e3;line-height:0;overflow:hidden}.gallery-preview img{width:100%;height:240px;object-fit:cover;display:block;transition:transform .2s}.gallery-preview:hover img{transform:scale(1.03)}.gallery-format{position:absolute;bottom:14px;left:14px;background:#173c58db;color:#fff;padding:9px;border-radius:5px;font-size:10px;letter-spacing:1px;line-height:1}.gallery-play{position:absolute;inset:0;display:grid;place-items:center;font-size:42px;color:white;text-shadow:0 2px 15px #0009}.gallery-tile-body{padding:20px}.gallery-author{display:flex;gap:11px;align-items:center}.gallery-author strong{font-size:14px;color:#294b62}.gallery-author small{display:block;font-size:12px;color:#72808a;margin-top:5px;line-height:1.5}.gallery-avatar{background:#f8e5be;color:#855523;border:1px solid #e7cb96;border-radius:50%;width:36px;height:36px;flex-shrink:0;display:grid;place-items:center;font-weight:700}.gallery-caption{font-size:15px;line-height:1.6;margin:18px 0}.gallery-saving{color:#437653;display:block;margin-bottom:14px}.gallery-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.gallery-actions .button,.gallery-actions button{font-size:13px;padding:9px 11px;min-height:40px}.gallery-viewer{width:calc(100% - 24px);max-width:1100px;padding:26px}.gallery-stage{background:#152633;border-radius:10px;display:flex;justify-content:center;margin-top:20px}.gallery-stage img,.gallery-stage video{display:block;width:100%;height:60vh;object-fit:contain}.gallery-view-details{padding-top:20px}.gallery-viewer .gallery-actions{justify-content:space-between}.gallery-viewer h2{padding-right:30px}@media(max-width:600px){.gallery-preview img{height:250px}.gallery-stage img,.gallery-stage video{height:50vh}.gallery-viewer{padding:18px}.gallery-view-details .gallery-author small{font-size:11px}}
.gallery-layout{display:flex;align-items:center;gap:10px;margin-left:auto;font-size:14px}.gallery-layout select{width:auto;margin:0;min-height:44px}.gallery-view-compact{grid-template-columns:repeat(auto-fill,minmax(min(100%,190px),1fr));gap:14px}.gallery-view-compact .gallery-preview img{height:155px}.gallery-view-compact .gallery-tile-body{padding:14px}.gallery-view-large{grid-template-columns:repeat(auto-fill,minmax(min(100%,440px),1fr))}.gallery-view-large .gallery-preview img{height:330px}.gallery-view-list{display:flex;flex-direction:column}.gallery-view-list .gallery-tile{display:grid;grid-template-columns:minmax(150px,240px) 1fr}.gallery-view-list .gallery-preview{height:100%;min-height:170px}.gallery-view-list .gallery-preview img{height:100%;position:absolute;inset:0}.gallery-position{font-size:15px;font-weight:400;color:#687b87;margin-left:12px}.gallery-stage{position:relative}.gallery-arrow{position:absolute;top:calc(50% - 24px);width:44px;height:48px;padding:0;background:#173c58db;color:#fff;border:1px solid #ffffff70;border-radius:9px;font-size:38px;line-height:1;display:grid;place-items:center}.gallery-prev{left:10px}.gallery-next{right:10px}.gallery-arrow:focus-visible,.gallery-filmstrip button:focus-visible{outline:3px solid #f1ad40;outline-offset:3px}.gallery-filmstrip{display:flex;gap:8px;overflow-x:auto;overscroll-behavior:contain;padding:14px 3px 8px;scrollbar-width:thin}.gallery-filmstrip button{position:relative;padding:0;flex:0 0 86px;height:66px;border:3px solid transparent;border-radius:8px;overflow:hidden;background:#152633;opacity:.7}.gallery-filmstrip button[aria-current="true"]{border-color:#e79c30;opacity:1;box-shadow:0 0 0 1px #a96a1c}.gallery-filmstrip img{width:100%;height:100%;object-fit:cover;display:block}.gallery-filmstrip span{position:absolute;inset:0;display:grid;place-items:center;color:white;text-shadow:0 2px 6px #000;font-size:22px}.gallery-viewer .gallery-stage video{padding:0 54px}.gallery-viewer h2{font-size:23px}@media(max-width:600px){.gallery-layout{margin-left:0;width:100%;flex-wrap:wrap}.gallery-layout select{flex:1}.gallery-view-compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gallery-view-compact .gallery-preview img{height:135px}.gallery-view-compact .gallery-tile-body{padding:10px}.gallery-view-compact .gallery-author{gap:6px}.gallery-view-compact .gallery-avatar{display:none}.gallery-view-compact .gallery-actions .button,.gallery-view-compact .gallery-actions button{font-size:12px;padding:8px}.gallery-view-list .gallery-tile{grid-template-columns:110px 1fr}.gallery-view-list .gallery-tile-body{padding:12px}.gallery-view-list .gallery-avatar{display:none}.gallery-view-large .gallery-preview img{height:310px}.gallery-filmstrip button{flex-basis:64px;height:54px}.gallery-arrow{width:38px}.gallery-prev{left:4px}.gallery-next{right:4px}.gallery-viewer .gallery-stage video{padding:0 44px}.gallery-viewer h2{font-size:19px}}
.gallery-download-bar{background:#edf3f8;border:1px solid #cfdeeb;border-radius:14px;padding:18px;margin:0 0 24px}.gallery-download-bar strong{color:#294b62}.gallery-download-bar p{margin:8px 0}.gallery-download-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.gallery-download-controls label{margin:0}.gallery-download-controls select{width:auto;flex:1 1 230px}.gallery-view-tools{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;padding-top:12px}.gallery-view-tools .button,.gallery-view-tools button{font-size:13px;padding:9px 12px}.gallery-tile-body>.gallery-select{margin:0 0 16px;font-size:12px;padding:9px 11px}.gallery-select[aria-pressed="true"]{background:#e3f1e7;color:#235437;border-color:#78a589}.gallery-select[aria-pressed="true"]:hover{background:#d1e9d8;color:#183c27}.gallery-viewer{max-height:92vh;max-height:92dvh}.gallery-viewer .gallery-stage img,.gallery-viewer .gallery-stage video{height:clamp(180px,calc(90vh - 400px),560px);height:clamp(180px,calc(90dvh - 400px),560px)}.gallery-filmstrip{justify-content:flex-start}.ghost:hover,.button.ghost:hover,button.ghost:hover{background:#e4eff8;color:#204f79;border-color:#6c9bbc}.secondary:hover,.button.secondary:hover,button.secondary:hover{background:#ffdc99;color:#493a23}.inventory-alert-bar a:nth-child(1){--quick-bg:#fff1d1;--quick-hover:#ffe2a5;--quick-ink:#634716;--quick-border:#ddbf7a}.inventory-alert-bar a:nth-child(2){--quick-bg:#e9f3ee;--quick-hover:#d3e9dc;--quick-ink:#285c43;--quick-border:#9dbfae}.inventory-alert-bar a:nth-child(3){--quick-bg:#f1eaf7;--quick-hover:#e5d7f0;--quick-ink:#65437a;--quick-border:#bda4cc}.inventory-alert-bar a.button{background:var(--quick-bg);color:var(--quick-ink);border:1px solid var(--quick-border);box-shadow:0 3px 0 #ddd6ca}.inventory-alert-bar a.button:hover,.inventory-alert-bar a.button:focus-visible{background:var(--quick-hover);color:var(--quick-ink);text-decoration:underline;transform:none}@media(max-width:600px){.gallery-download-controls{align-items:stretch}.gallery-download-controls label{width:100%}.gallery-download-controls select{width:100%;flex-basis:100%}.gallery-download-controls button{flex:1 1 140px}.gallery-view-tools{justify-content:flex-end}.gallery-view-tools button,.gallery-view-tools a{flex:1 1 130px}.gallery-view-list .gallery-tile-body>.gallery-select{font-size:12px}.gallery-viewer .gallery-stage img,.gallery-viewer .gallery-stage video{height:clamp(180px,calc(90dvh - 400px),420px)}}
.gallery-viewer{width:calc(100% - 24px);max-width:1600px;height:96vh;height:96dvh;max-height:96vh;max-height:96dvh;padding:16px;overflow:hidden}.gallery-viewer #modalbody{height:100%;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;gap:10px}.gallery-viewer h2{font:700 18px Arial,Helvetica,sans-serif;letter-spacing:0;margin:0;padding-right:46px;line-height:1.4}.gallery-viewer .gallery-stage{margin:0;min-height:0;overflow:hidden;border-radius:8px}.gallery-viewer .gallery-stage img,.gallery-viewer .gallery-stage video{width:100%;height:100%;min-height:0;padding:0;object-fit:contain}.gallery-view-dock{display:flex;gap:16px;align-items:center;min-width:0}.gallery-view-dock .gallery-filmstrip{flex:1;min-width:0;gap:7px;padding:3px;align-self:center}.gallery-view-dock .gallery-filmstrip button{flex-basis:74px;height:54px}.gallery-view-dock .gallery-view-tools{flex:0 0 auto;padding:0;gap:8px}.gallery-view-dock .gallery-view-tools button,.gallery-view-dock .gallery-view-tools a{margin:0;min-height:44px;white-space:nowrap}.gallery-viewer .gallery-view-details{padding:0;max-height:22vh;max-height:22dvh;overflow-y:auto;font-size:13px}.gallery-view-details summary{cursor:pointer;color:#486477;line-height:1.5;padding:3px 0}.gallery-detail-content{padding:12px 0 0}.gallery-detail-content p{margin:8px 0;font-size:14px}.gallery-viewer .close{top:7px;right:10px;min-height:36px;width:36px;padding:0;z-index:2}@media(max-width:600px){.gallery-viewer{width:calc(100% - 12px);height:98vh;height:98dvh;max-height:98vh;max-height:98dvh;padding:10px}.gallery-viewer #modalbody{gap:7px}.gallery-viewer h2{font-size:15px}.gallery-position{font-size:12px;margin-left:6px}.gallery-view-dock{flex-direction:column;align-items:stretch;gap:5px}.gallery-view-dock .gallery-filmstrip{width:100%;flex:0 0 auto;gap:6px;padding:3px}.gallery-view-dock .gallery-filmstrip button{flex-basis:52px;height:42px}.gallery-view-dock .gallery-view-tools{flex:0 0 auto;justify-content:flex-end;flex-wrap:nowrap;gap:6px}.gallery-view-dock .gallery-view-tools button,.gallery-view-dock .gallery-view-tools a{flex:0 1 auto;font-size:12px;padding:8px;min-height:44px}.gallery-viewer .gallery-view-details{font-size:12px;max-height:20dvh}.gallery-viewer .close{top:5px;right:5px}}

/* Search matches immediately follow the input, before optional filters. */
.family-filter-options{margin-top:14px}.family-filter-options summary{cursor:pointer;min-height:44px;display:flex;align-items:center;color:#245d91;font-weight:700}.family-filter-options .family-filters{margin-top:0}
.family-picker #family-results{margin-top:6px}.family-picker .family-result{margin:6px 0;min-height:62px}.family-picker .family-result>span:first-child{min-width:0;overflow-wrap:anywhere}
@media(max-width:650px){dialog.family-picker{position:fixed;inset:auto 0 auto;top:calc(var(--family-viewport-top,0px) + 8px);margin:0 auto;width:calc(100% - 16px);max-height:calc(var(--family-viewport-height,100dvh) - 16px);padding:16px;overflow-y:auto;overscroll-behavior:contain;scroll-padding-block:12px}.family-picker h2{font-size:21px;margin:2px 36px 8px 0}.family-picker .family-search-help{font-size:14px;line-height:1.35;margin:0 0 8px}.family-picker label{margin-top:8px}.family-picker .family-result{padding:10px;gap:6px}.family-picker .family-result strong{font-size:16px}.family-picker .family-result>span:last-child{font-size:12px}.family-picker #family-query{scroll-margin-top:8px}}

/* Keep the reconciled amount beneath its title, including on narrow phones. */
.cash-reconciliation-heading{display:block;text-align:left}.cash-reconciliation-heading>div{min-width:0}.cash-reconciliation-heading .cash-final{display:block;white-space:nowrap;overflow-wrap:normal;word-break:normal;margin:12px 0;font-variant-numeric:tabular-nums}
