:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#192d50;background:#f3f7fc;font-size:15px;line-height:1.55;color-scheme:light;--blue:#114189;--muted:#596980;--border:#d7e0ed}
*{box-sizing:border-box}body{margin:0}header,main,footer{max-width:1180px;margin:auto;padding:26px 32px}header{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--blue);font-size:10px;letter-spacing:.12em}.brand strong{font-size:17px;letter-spacing:-.025em}.mark{display:grid;place-items:center;background:var(--blue);color:#fff;border-radius:50%;width:45px;height:45px;font-size:30px;font-family:Georgia,serif;letter-spacing:-.06em}.pill,.badge{display:inline-block;background:#e7eef9;border-radius:99px;padding:5px 12px;font-size:12px;font-weight:600}.eyebrow{font-size:11px;letter-spacing:.14em;font-weight:700;text-transform:uppercase;color:#114189}h1{font-family:Georgia,serif;font-weight:400;letter-spacing:-.045em;font-size:clamp(34px,5vw,53px);line-height:1.08;margin:14px 0}h2{font-size:21px;letter-spacing:-.03em;margin:0 0 18px}h3{font-size:16px;margin:0 0 10px}p{margin:8px 0}.intro{max-width:720px;margin:18px 0 30px}.intro p{color:var(--muted);font-size:16px}.grid{display:grid;grid-template-columns:1.15fr 1fr;gap:24px;align-items:start}.card{background:white;border:1px solid var(--border);padding:25px;border-radius:18px;margin-bottom:20px}.basket{position:sticky;top:18px}.row{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.row>*{min-width:0}.row>label{flex:1;min-width:150px}.between{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}label{display:block;font-size:13px;font-weight:600;margin-bottom:15px}input,select,textarea,button{font:inherit}input,select,textarea{display:block;width:100%;padding:12px;border:1px solid #bdcce0;border-radius:9px;background:#fff;color:inherit;margin-top:6px;min-height:44px}button,.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border:1px solid var(--border);border-radius:9px;color:var(--blue);background:#f4f7fc;cursor:pointer;font-weight:600;font-size:14px;text-decoration:none;gap:8px}button:hover,.button:hover{background:#e8eef8}button:disabled{opacity:.45;cursor:not-allowed}.primary{background:var(--blue);color:#fff;border-color:var(--blue)}.primary:hover{background:#0b2b5c}.wide{width:100%}.danger{color:#992121}.quiet{background:transparent;font-size:12px;padding:5px 9px;min-height:34px}.muted,small{color:var(--muted);font-size:13px}.divider{border:0;border-top:1px solid var(--border);margin:24px 0}.prices{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}.price{text-align:center;background:#f4f7fc;border:1px solid var(--border);border-radius:10px;padding:10px;font-size:12px}.price strong{display:block;font-size:19px}.price.active{background:#e3edff;border-color:#114189}.flavors{display:grid;grid-template-columns:1fr 1fr;gap:12px}.flavor{border:1px solid var(--border);padding:15px;border-radius:12px}.flavor strong{display:block;min-height:43px;font-size:14px}.stepper{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px}.stepper button{width:40px;padding:8px;font-size:20px}.stepper output{font-size:20px;font-weight:700}.choice{padding:14px 0;min-height:65px;font-size:13px}.person{padding:15px 0;border-bottom:1px solid var(--border)}.person:first-child{padding-top:0}.person strong{font-size:15px}.person p{font-size:13px}.total{font-size:28px;letter-spacing:-.05em;font-weight:650}.notice{background:#fff2cf;border:1px solid #e8d9a9;border-radius:12px;padding:15px;margin:16px 0;font-size:14px}.success{background:#e8f0fc;border-color:#bfcee7}.error{color:#992121}.check{display:flex;gap:10px;align-items:flex-start;font-weight:400}.check input{width:18px;min-height:18px;height:18px;flex-shrink:0;margin-top:3px}.empty{padding:22px 8px;text-align:center;color:var(--muted)}.empty-symbol{font-size:36px;color:#748baa}nav{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}nav button.active{background:var(--blue);color:#fff}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:20px 0}.stat{background:#e7effb;border-radius:14px;padding:18px}.stat strong{display:block;font-size:28px}.scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:12px 9px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}th{font-size:11px;text-transform:uppercase;letter-spacing:.045em;color:var(--muted)}td small{display:block}details{margin:12px 0}summary{cursor:pointer;font-weight:600;padding:8px 0}code.reference{font:700 22px ui-monospace,monospace;letter-spacing:.02em;overflow-wrap:anywhere}.status-pending{background:#fff1ad;color:#664d00}.status-review{background:#e0edff;color:#114189}.status-paid{background:#def5e6;color:#146b39}.status-rejected{background:#ffead2;color:#944509}.status-cancelled{background:#ffe2df;color:#a1241a}.preview{background:#fff0ba;color:#644b0d;text-align:center;padding:10px 20px;font-size:13px}.preview a{color:inherit}footer{display:flex;justify-content:space-between;gap:20px;font-size:12px;color:var(--muted);border-top:1px solid var(--border);margin-top:25px}a{color:var(--blue)}.login{max-width:450px;margin:40px auto}#toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#102f62;color:#fff;padding:15px 24px;border-radius:12px;box-shadow:0 8px 30px #0002;max-width:90vw;z-index:20}.order-detail{max-width:780px;margin:20px auto}.config-note{font-size:13px;margin:10px 0}.loading{text-align:center;padding:90px 0}[hidden]{display:none!important}:focus-visible{outline:3px solid #c58b1c;outline-offset:3px}@media(max-width:760px){header,main,footer{padding:20px 16px}.grid{grid-template-columns:1fr}.basket{position:static}.card{padding:20px}.stats{grid-template-columns:1fr}.stat strong{font-size:23px}.brand strong{font-size:14px}header>.pill{display:none}h1{font-size:39px}.intro{margin-top:10px}footer{flex-direction:column}th,td{padding:10px 5px}}@media print{header,footer,nav,button,.preview,.no-print{display:none!important}body{background:#fff}.card{border:0;padding:0}main{padding:0}.scroll{overflow:visible}}

/* The Anglo School palette: blue #114189 and red #992121. Parent-led travel fundraiser. */
header{border-top:5px solid #992121;background:#fff}h1{font-family:ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;font-weight:800;letter-spacing:-.045em}.brand{letter-spacing:.1em}.brand strong{font-family:Georgia,serif;font-size:22px;font-weight:700;letter-spacing:-.035em}.brand-caption{font-size:10px;display:block;margin-top:2px}.mark{background:#114189;border-radius:9px;font-family:inherit;font-size:24px}.intro.trip-hero{max-width:none;display:grid;grid-template-columns:1.45fr 1fr;gap:36px;align-items:center;background:#102f62;color:#fff;padding:36px;border-radius:20px;margin:10px 0 28px;border-bottom:6px solid #992121;overflow:hidden}.trip-hero .eyebrow{color:#bbd6f5}.trip-hero h1{font-size:clamp(32px,4vw,48px);line-height:1.13}.trip-hero h1 em{font-style:normal;color:#b9dcff}.trip-hero p{color:#e0e9f7;font-size:15px;max-width:590px}.trip-hero .hero-instruction{font-size:13px;margin-top:14px;color:#c8d9f0}.trip-ticket{color:#114189;background:#f1f7ff;padding:22px 18px;border-radius:12px;transform:rotate(2deg);text-align:center;border-top:5px solid #992121}.ticket-top{font-size:10px;letter-spacing:.12em;font-weight:800}.trip-ticket img{width:100%;height:auto;max-width:270px;display:block;margin:14px auto}.ticket-route{display:flex;justify-content:space-around;gap:10px;border-top:1px dashed #90a7c9;padding-top:16px;font-size:12px;font-weight:700}.trip-ticket small{font-size:10px;display:block;margin-top:12px}.sale-heading{margin-bottom:22px}.sale-heading h2{margin:5px 0;font-size:23px}.sale-heading p{font-size:13px;color:var(--muted)}.brand-subtitle{font-size:12px;color:#596980}.sale-switcher{display:flex;gap:20px;align-items:center;padding:20px 0}.sale-switcher label{flex:1;margin:0;max-width:720px}.sale-finalized{background:#e6eaf0;color:#3a4c65}.sale-open{background:#dceafc;color:#114189}.sale-draft{background:#fff0cb;color:#62481c}.sale-closed{background:#fbe8e7;color:#992121}.archive-notice{background:#edf2fa;border-color:#bdcce0}.history-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-top:24px}.sale-card{border:1px solid var(--border);border-radius:12px;padding:20px;background:#f8faff}.sale-card.selected{border-color:#114189;box-shadow:inset 0 3px #114189}.sale-card h3{margin:14px 0 8px}.sale-card button{margin-top:12px}.sale-card p{font-size:13px}fieldset{border:0;padding:0;margin:0;min-width:0}fieldset:disabled{opacity:.75}.footer-organizer{max-width:720px}.footer-organizer strong{color:#114189;display:block;margin-bottom:4px}header .pill{white-space:nowrap}h1,h2,h3,.sale-card{overflow-wrap:anywhere}@media(max-width:760px){.intro.trip-hero{grid-template-columns:1fr;padding:24px;gap:24px}.trip-ticket{max-width:340px;justify-self:center;width:100%;box-sizing:border-box}.trip-ticket img{max-width:210px}.sale-switcher{align-items:flex-start;flex-direction:column;gap:10px}.sale-switcher label{width:100%}.brand strong{font-size:19px}.history-grid{grid-template-columns:1fr}}@media print{.trip-hero,.sale-switcher{display:none!important}}
@media(max-width:760px){.trip-ticket{padding:12px 16px;transform:none;max-width:none}.trip-ticket img,.trip-ticket .ticket-top,.trip-ticket small{display:none}.ticket-route{padding-top:0;border:0}.intro.trip-hero{gap:18px}}

.phone-contact{margin:0 0 18px}.phone-contact>label{margin-bottom:6px}.phone-number-row{display:flex;align-items:stretch;gap:0}.phone-country-picker{position:relative;display:flex;align-items:center;gap:8px;flex:0 0 130px;padding:0 10px;background:#e7effb;border:1px solid #bdcce0;border-right:0;border-radius:9px 0 0 9px;font-weight:650;font-size:14px;white-space:nowrap}.phone-country-picker>select{position:absolute;inset:0;width:100%;height:100%;margin:0;font-size:16px;opacity:0;cursor:pointer}.phone-country-picker:focus-within{outline:3px solid #c58b1c;outline-offset:3px;z-index:1}.phone-country-arrow{margin-left:auto;font-size:12px}.phone-number-row>input{font-size:16px;margin:0;border-radius:0 9px 9px 0;min-width:0;flex:1}.phone-contact #phone-hint{font-size:12px;margin-top:6px}

.bank-identity{display:flex;align-items:center;gap:14px;min-width:0}.bank-logo{width:80px;height:34px;object-fit:contain;flex-shrink:0;background:#fff;padding:3px;border-radius:4px}.bank-logo.bank-nacion{background:#126088}.bank-picker{position:relative;margin:6px 0 16px}.bank-picker>summary{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid #bdcce0;border-radius:9px;padding:12px;cursor:pointer;list-style:none}.bank-picker>summary::-webkit-details-marker{display:none}.bank-picker[open]{z-index:5}.bank-options{position:absolute;top:100%;left:0;right:0;max-height:340px;overflow:auto;background:#fff;border:1px solid #bdcce0;border-radius:10px;box-shadow:0 12px 26px #192d5026;padding:6px}.bank-options>button{display:flex;justify-content:flex-start;width:100%;background:white;border:0;text-align:left;gap:14px}.bank-options>button:hover,.bank-options>button[aria-pressed=true]{background:#e7effb}.bank-locked{margin:6px 0 18px;padding:12px;border:1px solid #bdcce0;border-radius:9px;background:#f4f7fc}.payment-details{margin:16px 0;display:grid;gap:12px}.payment-details>div{min-width:0}.payment-details dt{font-size:12px;color:#596980}.payment-details dd{margin:2px 0 0;font-weight:600;white-space:pre-line;overflow-wrap:anywhere}.bank-extra,.bank-preview{padding:14px;background:#f3f7fc;border-radius:9px;margin:16px 0}.bank-extra>summary,.bank-preview>summary{cursor:pointer;font-weight:600}.bank-extra .row{margin-top:14px}.payment-settings{margin-bottom:20px}.payment-settings textarea{resize:vertical}

.edit-key{padding:16px;background:#f3f7fc;border-radius:10px;margin:18px 0}.edit-key>summary,.edit-history>summary{cursor:pointer;font-weight:650}.edit-key form{max-width:540px;margin-top:16px}.edit-person{padding:20px;border:1px solid var(--border);border-radius:12px;margin:16px 0}.edit-person h4{margin:0}.edit-counts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.edit-history{border-bottom:1px solid var(--border);padding:16px 0}.edit-history .row{align-items:flex-start}.edit-history .row>div{flex:1;min-width:240px}.edit-comment{white-space:pre-line;overflow-wrap:anywhere}#edit-total{margin-top:20px}#edit-settlement{padding:18px;border:1px solid #d9b753;background:#fff9e8;border-radius:10px;margin-bottom:18px}#edit-special input{max-width:480px}@media(max-width:760px){.edit-counts{grid-template-columns:repeat(2,minmax(0,1fr))}.edit-person{padding:14px}.edit-history .row>div{min-width:0;flex-basis:100%}}
#report-campus-label[hidden]{display:none}

#special-approval-fields[hidden]{display:none}

.payment-approval-actions{margin:16px 0}#special-approval-toggle{background:#992121;border-color:#992121;color:#fff}#special-approval-toggle:hover{background:#7d1919;border-color:#7d1919}

.order-email-notice strong{overflow-wrap:anywhere}

.order-status-banner{background:var(--status-background);color:var(--status-color);border:2px solid var(--status-color);border-radius:16px;text-align:center;padding:26px 22px;margin:18px 0 22px}.order-status-banner h1{color:inherit;font-family:Arial,sans-serif;font-size:clamp(25px,4vw,38px);font-weight:800;letter-spacing:-.02em;line-height:1.2;margin:10px 0 16px;overflow-wrap:anywhere}.order-status-symbol{display:block;font-size:48px;line-height:1.1}.order-status-banner p{color:inherit;font-size:15px;line-height:1.5;margin:0}

.order-status-pending{--status-color:#ffd54a;--status-background:#192d50}.order-status-paid{--status-color:#13783e;--status-background:#eaf8ef}.order-status-cancelled{--status-color:#b42318;--status-background:#fff0ef}.order-status-edited{--status-color:#114189;--status-background:#e8f0fc}.order-status-receipt{--status-color:#b45309;--status-background:#fff1df}

.order-status-observed{--status-color:#b45309;--status-background:#fff1df}.order-status-banner .review-note-prominent{font-size:clamp(22px,3vw,28px);font-weight:750;white-space:pre-line;overflow-wrap:anywhere;margin:22px 0}.contact-actions{margin:18px 0}

.review-observations{border-top:1px solid var(--border);margin-top:24px;padding-top:24px}.receipt-dialog{width:min(1100px,95vw);max-height:94vh;border:1px solid var(--border);border-radius:14px;padding:20px;background:white;color:var(--ink)}.receipt-dialog::backdrop{background:#142b4c99}.receipt-dialog iframe{width:100%;height:70vh;border:1px solid var(--border);margin-top:12px}.receipt-dialog img{display:block;max-width:100%;max-height:70vh;object-fit:contain;margin:16px auto}.receipt-dialog h2{margin:0}

.payment-totals{display:flex;gap:24px;flex-wrap:wrap;margin:12px 0}.payment-totals strong{display:block;font-size:22px}.payments-compact{display:grid;grid-template-columns:minmax(360px,.9fr) minmax(440px,1.1fr);gap:20px;align-items:start}.payments-compact .card{padding:20px}.payments-compact .payment-list .scroll{max-height:65vh}.payments-compact .payment-list th{position:sticky;top:0;background:#fff}.payments-compact .payment-list .row>label{min-width:95px}.payment-mode>label{padding:12px;background:#edf3fb;border:1px solid var(--border);border-radius:9px;margin-bottom:10px}.payment-mode>label:has(input:checked){border-color:#114189;background:#ddeafa}@media(max-width:1000px){.payments-compact{grid-template-columns:1fr}}

.receipt-content{max-height:70vh;overflow:auto;margin-top:16px;background:#f0f3f8;border-radius:8px;padding:12px}.receipt-pages{justify-content:center;padding:8px;position:sticky;top:0;background:#f0f3f8;z-index:1}.receipt-canvas{display:block;max-width:100%;height:auto;margin:auto;background:#fff}.receipt-canvas-wrap{overflow:auto}

/* User access management */
.permission-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:12px;margin:16px 0}.permission-grid .check{padding:12px;border:1px solid #dfe5ef;border-radius:10px;margin:0;background:#f7f9fd}.user-permissions{margin:18px 0;border:1px solid #dfe5ef;border-radius:12px;padding:16px}.user-permissions legend{font-weight:700}.user-state-active{background:#dff2e7;color:#1b6b40}.user-state-blocked{background:#fde4df;color:#a43221}.user-state-inactive{background:#e9ecf1;color:#526077}.user-state-pending{background:#fff0c5;color:#7a5800}.user-status-guide dt{font-weight:700;margin-top:18px}.user-status-guide dd{margin:6px 0 0;line-height:1.6}
