:root{--navy:#0b1f3a;--blue:#1e527e;--pale:#eef4f8;--gold:#c79a3b;--ink:#17212f;--muted:#667085;--line:#d8e0e8;--white:#fff;--green:#18794e;--red:#b42318;--shadow:0 9px 28px rgba(11,31,58,.07)}
.access-check{min-height:100vh;display:grid;place-content:center;gap:12px;text-align:center;background:linear-gradient(145deg,#0b1f3a,#1e527e);color:white}.access-check strong{font:500 2rem Georgia}.access-check span{color:#d9e4ee}
*{box-sizing:border-box}html{background:#f4f7f9;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}body{margin:0}.app-header{background:var(--navy);color:white}.header-inner{max-width:1180px;margin:auto;min-height:72px;padding:0 24px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center}.brand strong,.brand span{display:block}.brand span{font-size:.78rem;color:#c9d8e6;margin-top:3px}.saved{font-size:.78rem;color:#c9d8e6}main{max-width:1180px;margin:auto;padding:34px 24px 70px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:24px}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-weight:800;font-size:.7rem;color:var(--blue);margin:0 0 5px}.page-head h1{font:500 clamp(1.9rem,4vw,2.7rem) Georgia;color:var(--navy);margin:0}.subtle,.helper,.hint{color:var(--muted)}.subtle{margin:.4rem 0 0}.helper{font-size:.86rem;line-height:1.5}.hint{font-size:.75rem}.actions,.output-buttons{display:flex;gap:9px;flex-wrap:wrap}button{border:0;border-radius:8px;padding:10px 14px;font:700 .84rem inherit;cursor:pointer}.primary{background:var(--navy);color:white}.secondary{background:#dfeaf2;color:var(--navy)}.ghost{background:white;border:1px solid var(--line);color:var(--navy)}button:hover{filter:brightness(.96)}button:focus,input:focus,select:focus,textarea:focus{outline:3px solid rgba(30,82,126,.2);outline-offset:1px}.card,.results,.outputs{background:white;border:1px solid var(--line);border-radius:13px;padding:21px;box-shadow:var(--shadow);margin-bottom:18px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.section-heading>div{display:flex;align-items:center;gap:10px}.section-heading h2{font:500 1.3rem Georgia;color:var(--navy);margin:0}.step{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--navy);color:white;font-size:.76rem;font-weight:800}.form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;align-items:end}.form-grid .wide{grid-column:span 2}.compact{grid-template-columns:repeat(2,1fr)}label{display:grid;gap:6px;color:var(--muted);font-size:.75rem;font-weight:700}input,select,textarea{border:1px solid var(--line);border-radius:7px;padding:10px 11px;min-height:40px;width:100%;font:inherit;color:var(--ink);background:white}textarea{resize:vertical;line-height:1.45}.field-note{font-weight:400;color:var(--muted)}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.number-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;align-items:end}.check{font-size:.78rem;font-weight:700;margin:14px 0 0}.check.ok{color:var(--green)}.check.warn{color:var(--red)}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:9px}table{width:100%;min-width:800px;border-collapse:collapse}th,td{text-align:left;padding:11px 12px;border-bottom:1px solid var(--line);font-size:.8rem}th{background:var(--pale);color:var(--navy);text-transform:uppercase;letter-spacing:.04em;font-size:.69rem}tr:last-child td{border-bottom:0}.row-actions{white-space:nowrap}.text-button{background:none;padding:5px;color:var(--blue)}.text-button.delete{color:var(--red)}.empty{text-align:center;color:var(--muted);padding:28px}.results{background:linear-gradient(135deg,var(--navy),#163e66);color:white;border:0}.results .section-heading h2,.results .hint{color:white}.results .step{background:var(--gold);color:var(--navy)}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.metrics>div{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);border-radius:9px;padding:16px}.metrics span,.metrics small{display:block;color:#cad9e7}.metrics span{font-size:.76rem}.metrics strong{display:block;font:500 1.7rem Georgia;margin:5px 0}.metrics small{font-size:.72rem}.summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.summary{background:white;color:var(--ink);border-radius:9px;padding:16px}.summary h3{font:500 1rem Georgia;color:var(--navy);margin:0 0 9px}.summary p{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:8px;margin:8px 0 0;font-size:.8rem}.outputs{border-left:4px solid var(--gold)}#toast{position:fixed;right:22px;bottom:22px;background:#101828;color:white;padding:11px 15px;border-radius:8px;opacity:0;transform:translateY(10px);transition:.2s;pointer-events:none}#toast.show{opacity:1;transform:none}.print-only{display:none}
.operations{background:white;border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow);margin-bottom:18px;overflow:hidden}.operations summary{cursor:pointer;list-style:none;padding:20px 22px;display:flex;justify-content:space-between;align-items:center;color:var(--navy)}.operations summary::-webkit-details-marker{display:none}.operations summary span:first-child{display:grid;gap:4px}.operations summary small{color:var(--muted);font-weight:400}.operations[open] .chevron{transform:rotate(180deg)}.operations-body{padding:0 22px 22px}.operations-body>section{border-top:1px solid var(--line);padding-top:22px;margin-top:6px}.mini-table{overflow:auto;margin-top:14px;border:1px solid var(--line);border-radius:8px}.mini-table table{min-width:650px}
.button{text-decoration:none;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;padding:10px 14px;font:700 .84rem inherit;line-height:normal;min-height:40px}.app-header nav{display:flex;gap:5px;margin-left:auto}.app-header nav a{color:#d9e4ee;text-decoration:none;font-size:.78rem;padding:9px 10px;border-radius:7px}.app-header nav a:hover,.app-header nav a.active{background:rgba(255,255,255,.16);color:white}.member-form{background:var(--pale);padding:15px;border-radius:9px}.member-cards{display:grid;gap:8px;margin-top:16px;max-height:560px;overflow:auto}.member-card{border:1px solid var(--line);border-radius:8px;background:white}.member-card summary{padding:12px 14px;display:flex;justify-content:space-between;gap:15px;cursor:pointer}.member-card summary span:first-child{display:grid;gap:3px}.member-card summary small{color:var(--muted)}.member-details{padding:0 14px 14px;border-top:1px solid var(--line)}.member-details p{margin:10px 0;font-size:.8rem}.member-details b{display:block;color:var(--navy);margin-bottom:2px}.calendar-list{display:grid;gap:7px}.calendar-item{display:grid;grid-template-columns:130px minmax(0,1fr) auto auto;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding:10px 0}.calendar-item div{display:grid;gap:3px}.calendar-item small{color:var(--muted)}.calendar-actions{display:flex!important;grid-auto-flow:column;align-items:center;gap:2px!important}.event-type{font-size:.7rem;font-weight:800;text-transform:uppercase;color:var(--blue)}.status{font-size:.7rem;background:#e7f6ef;color:var(--green);padding:5px 8px;border-radius:999px}.menu-card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:21px;box-shadow:var(--shadow);margin-bottom:18px}.menu-card h2{font:500 1.3rem Georgia;color:var(--navy);margin:0}.menu-grid{display:grid;grid-template-columns:1fr 2fr;gap:22px}.menu-grid>div{background:var(--pale);border-radius:9px;padding:17px}.menu-grid h3{font:500 1rem Georgia;color:var(--navy);margin:0 0 10px}.menu-grid ol,.menu-grid ul{margin:0;padding-left:21px}.menu-grid li{font-size:.82rem;margin:5px 0}.calendar-note{border-top:1px solid var(--line);padding-top:13px;margin:14px 0 0;font-size:.82rem;color:var(--muted)}
.operations-body{background:white;border:1px solid var(--line);border-radius:13px;padding:22px;box-shadow:var(--shadow)}.operations-body>section:first-child{border-top:0;padding-top:0;margin-top:0}.members-stack{display:grid;gap:22px}.directory-panel{border-top:4px solid var(--blue)}.directory-panel .member-cards{margin-top:0}.member-actions{display:flex;align-items:center;gap:8px;margin-top:12px}
.whatsapp-template pre{white-space:pre-wrap;background:var(--pale);border:1px solid var(--line);border-radius:9px;padding:18px;font:400 .86rem/1.55 inherit;color:var(--ink);max-height:430px;overflow:auto}
.dashboard-controls{display:grid;gap:10px;justify-items:end}.dashboard-month-picker{min-width:210px;text-align:left}.dashboard-month-picker select{margin-top:5px}button:disabled{opacity:.45;cursor:not-allowed;filter:none}
.poll-import{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--line)}.poll-import h3{margin:0 0:.35rem}.poll-import textarea{margin:.45rem 0 .7rem}
.visitor-form select{-webkit-appearance:none;appearance:none;min-height:40px;height:40px;padding-right:38px;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%23101d2f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center;background-size:12px 7px}
.receipt-import{background:linear-gradient(135deg,#f7fafc,#eef4f8)}.upload-row{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.file-picker{min-width:min(100%,420px);flex:1}.scan-status{min-height:1.3em;color:var(--blue);font-size:.8rem;font-weight:700}.scan-results{display:grid;gap:12px;margin-top:16px}.scan-results h3{font:500 1.05rem Georgia;color:var(--navy);margin:0}.scan-draft{display:grid;grid-template-columns:1fr 1fr 2fr 1fr 1fr 1fr auto;gap:10px;align-items:end;background:white;border:1px solid var(--line);border-radius:9px;padding:14px}.scan-file{grid-column:1/-1;display:flex;justify-content:space-between;gap:10px;font-size:.78rem}.scan-file span{color:var(--muted)}.scan-description{min-width:230px}.scan-draft .actions{flex-wrap:nowrap}.month-filter{min-width:180px}.monthly-total{display:flex;justify-content:space-between;align-items:center;background:var(--navy);color:white;border-radius:9px;padding:14px 17px;margin-bottom:16px}.monthly-total span{font-size:.82rem}.monthly-total strong{font:500 1.35rem Georgia}
.meeting-form{display:grid;gap:16px}.setup-group{border:1px solid var(--line);border-radius:11px;background:#fbfcfd;padding:17px}.setup-group-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-bottom:11px;margin-bottom:13px;border-bottom:1px solid var(--line)}.setup-group-title span{font:600 1rem Georgia;color:var(--navy)}.setup-group-title small{font-size:.7rem;color:var(--muted)}.menu-setup-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.menu-setup-grid .occasion-field{grid-column:1/-1}.menu-setup-grid textarea{min-height:168px}.menu-setup-grid .dinner-menu textarea{min-height:244px}.setup-footer{display:grid;grid-template-columns:1fr auto;align-items:end;gap:14px;padding-top:2px}.setup-actions{display:flex;gap:9px;align-items:center}.setup-footer button{min-height:44px;padding-inline:24px}
@media(max-width:900px){.header-inner{flex-wrap:wrap;padding-bottom:10px}.app-header nav{order:3;width:100%;overflow-x:auto;margin:4px 0 0}.app-header nav a{white-space:nowrap}.work-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:repeat(2,1fr)}.number-grid{grid-template-columns:repeat(4,1fr)}.metrics{grid-template-columns:repeat(2,1fr)}.menu-grid{grid-template-columns:1fr}.scan-draft{grid-template-columns:1fr 1fr}.scan-draft .scan-description,.scan-draft .actions{grid-column:span 2}}
@media(max-width:760px){.menu-setup-grid,.setup-footer{grid-template-columns:1fr}.menu-setup-grid .occasion-field{grid-column:auto}.setup-actions{display:grid;grid-template-columns:1fr}.setup-footer button{width:100%}.setup-group-title{align-items:flex-start;flex-direction:column;gap:3px}}
@media(max-width:600px){main{padding:24px 14px 50px}.page-head{align-items:flex-start;flex-direction:column}.header-inner{padding:0 15px}.saved{display:none}.form-grid,.compact,.number-grid{grid-template-columns:1fr 1fr}.form-grid .wide{grid-column:span 2}.summary-grid{grid-template-columns:1fr}.output-buttons button{width:100%}.setup-group{padding:14px}.setup-pricing{grid-template-columns:1fr 1fr}}

/* Keep native Safari controls aligned with text and number inputs. */
input:not([type="file"]),select,.visitor-form select{height:44px;min-height:44px;line-height:22px;padding-top:10px;padding-bottom:10px}
select:not(.visitor-form select){-webkit-appearance:none;appearance:none;padding-right:38px;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%23101d2f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center;background-size:12px 7px}
@media print{@page{size:A4 portrait;margin:13mm}.no-print,.results,.outputs,.app-header,#toast{display:none!important}html,body{background:white}main{max-width:none;padding:0}.print-only{display:block}.report{font:9.5pt Arial;color:#111}.report header{text-align:center;border-bottom:3px double var(--navy);padding-bottom:10px}.report header p{font-weight:800;letter-spacing:.1em}.report header h1{font:500 20pt Georgia;color:var(--navy);margin:6px}.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:12mm;margin-top:10px}.report h2{font-size:9pt;text-transform:uppercase;letter-spacing:.06em;color:var(--blue);border-bottom:1px solid var(--line);padding-bottom:4px;margin:13px 0 7px}.report section p{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #eee;padding:4px 0;margin:0}.report footer{text-align:center;color:#666;border-top:1px solid var(--line);padding-top:8px;margin-top:18px;font-size:8pt}}
