/* Approved Parent Portal concept. Scoped to the shortcode, never receipts or admin. */
.taf-portal.taf-glass{width:min(1280px,calc(100% - 40px));max-width:1280px;margin:28px auto;padding:0 32px 32px!important;border:1px solid #fff;border-radius:26px;background:radial-gradient(ellipse at 0 0,#d7eaded9,transparent 55%),radial-gradient(ellipse at 100% 100%,#eeead5b0,transparent 60%),#f5f9f5ed;box-shadow:0 24px 70px #254b3820;backdrop-filter:blur(22px);color:#213d32;font:15px/1.55 'Avenir Next','Segoe UI',Arial,sans-serif;overflow:visible}
.taf-glass h1,.taf-glass h2,.taf-glass h3,.taf-glass button,.taf-glass input,.taf-glass select{font-family:inherit!important}.taf-glass h1,.taf-glass h2,.taf-glass h3{letter-spacing:-.025em;font-weight:650}.taf-glass a{color:#18543b;text-decoration:none}.taf-glass a:focus-visible,.taf-glass button:focus-visible,.taf-glass summary:focus-visible{outline:3px solid #aa8431;outline-offset:3px}
.taf-glass-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 0;border-bottom:1px solid #ffffffb0}.taf-glass-brand{display:flex;align-items:center;gap:12px;min-width:0}.taf-glass-brand img{width:52px;height:48px;object-fit:contain}.taf-glass-brand strong{display:block;font-size:17px;letter-spacing:.04em}.taf-glass-brand small{display:block;color:#587164;font-size:12px}.taf-glass-monogram{padding:9px;border:1px solid #709b82;border-radius:11px;font-weight:700}.taf-glass-account{position:relative;max-width:48%;z-index:3}.taf-glass-account summary{display:flex;align-items:center;gap:10px;padding:9px 13px;border:1px solid #fff;border-radius:30px;background:#ffffff90;cursor:pointer;list-style:none}.taf-glass-account summary::-webkit-details-marker{display:none}.taf-glass-account svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.5;flex-shrink:0}.taf-glass-account small{display:block;font-size:10px;color:#587164}.taf-glass-account strong{display:block;font-size:13px;overflow-wrap:anywhere}.taf-glass-account>div{position:absolute;right:0;top:100%;width:240px;padding:18px;border:1px solid #dce7e2;border-radius:16px;background:#f8fcf9;box-shadow:0 12px 30px #20362920}.taf-glass-account a{display:block;padding-top:12px;margin-top:10px;border-top:1px solid #dce7e2}.taf-glass-intro{padding:28px 0 22px}.taf-glass-intro h1{margin:0 0 8px;font-size:30px;line-height:1.25;color:#213d32}.taf-glass-intro p{margin:0;color:#587164;font-size:14px}
.taf-glass-summary{border:1px solid white;border-radius:18px;overflow:hidden;margin-bottom:24px}.taf-glass-pay{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:26px 28px;background:linear-gradient(120deg,#154f40ed,#30755de8);color:white}.taf-glass-pay small{font-size:14px}.taf-glass-pay strong{display:block;font-size:44px;line-height:1.2;margin:7px 0}.taf-glass-pay p{margin:0;font-size:12px;color:#e1efe7}.taf-glass-pay a{padding:13px 25px;background:white;color:#18543b!important;border-radius:12px;font-weight:650;white-space:nowrap}.taf-glass-metrics{display:flex;gap:25px;padding:16px 28px;background:#ffffff75;color:#587164;font-size:13px}.taf-glass-metrics strong{margin-left:10px;color:#213d32;font-size:17px}.taf-glass-metrics span+span{border-left:1px solid #cfdcd4;padding-left:25px}
.taf-glass-records{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}.taf-glass-panel{padding:22px;border:1px solid white;border-radius:20px;background:#ffffffa3;min-width:0}.taf-glass-panel h2{font-size:21px;margin:0 0 16px!important;color:#213d32;text-align:left!important}.taf-glass-child{font-size:15px;margin:18px 0 0!important;padding-top:8px;color:#213d32;text-align:left!important}.taf-glass-record{display:grid;grid-template-columns:minmax(0,1fr) auto 38px;gap:10px;align-items:center;padding:15px 0;border-bottom:1px solid #d5e2db}.taf-glass-record:last-child{border-bottom:0}.taf-glass-copy{min-width:0}.taf-glass-copy strong,.taf-glass-value>strong{font-size:14px;font-weight:650}.taf-glass-copy small{display:block;color:#64776b;font-size:11px;margin-top:4px;overflow-wrap:anywhere}.taf-glass-value{display:grid;gap:5px;text-align:right;justify-items:end;max-width:160px}.taf-glass-value>strong{white-space:nowrap}.taf-glass .taf-glass-value .taf-portal-badge{font-size:10px;padding:3px 7px;white-space:normal;text-align:right;line-height:1.4;margin:0;border-radius:8px}.taf-glass-actions .taf-action-group{display:flex;flex-direction:column;gap:6px}.taf-glass .taf-glass-actions .taf-icon-button{width:36px;height:36px;min-width:36px;margin:0;padding:8px;border-radius:10px;background:#ffffffae;border:1px solid #cbded2;color:#18543b}.taf-glass-muted{color:#64776b;font-size:13px}
.taf-glass .taf-portal-card{background:#ffffffb0;border:1px solid white;border-radius:18px}.taf-glass .taf-family-payment{margin-bottom:24px}.taf-glass-dialog{width:min(620px,calc(100% - 24px));max-width:620px;max-height:88vh;padding:22px;border:1px solid #fff;border-radius:22px;background:#f3f8f4;box-shadow:0 24px 80px #102d3940;color:#213d32;overflow:auto;font:14px/1.55 'Avenir Next','Segoe UI',Arial,sans-serif}.taf-glass-dialog::backdrop{background:#17392b80;backdrop-filter:blur(5px)}.taf-glass-dialog .taf-family-payment{margin:0!important;border:0!important;box-shadow:none!important;background:transparent!important}.taf-glass-dialog-close{display:block;margin:0 0 6px auto;border:1px solid #d0ddd5;border-radius:10px;background:white;padding:6px 12px;color:#213d32;cursor:pointer}.taf-glass-dialog h2{font:650 22px/1.3 inherit}.taf-glass-dialog .taf-family-invoice{padding:14px 0!important}.taf-glass-dialog .taf-family-invoices{padding:0 8px}.taf-glass-dialog .taf-family-child small{white-space:normal;overflow-wrap:anywhere}.taf-glass-dialog .taf-family-payment-head{padding:0 8px 18px}.taf-glass-dialog .taf-family-icon{display:none}.taf-glass-dialog .taf-family-method{background:#edf5ee}.taf-glass-dialog .taf-family-method:has(input:checked){background:#18543b;color:#fff}.taf-glass-dialog .taf-family-method:has(input:checked) small,.taf-glass-dialog .taf-family-method:has(input:checked) strong{color:white}.taf-glass-dialog .taf-family-method small{line-height:1.5}.taf-glass-dialog .taf-family-methods{padding:18px 8px 0}.taf-glass-dialog .taf-family-total{padding:20px 8px 0}.taf-glass-dialog .taf-payer-selector.is-wide,.taf-glass-dialog .taf-voucher-field.is-wide{margin-left:8px;margin-right:8px}.taf-glass-dialog .taf-family-pay-button{background:#18543b}.taf-glass-dialog .taf-family-bank{margin-left:8px;margin-right:8px}
.taf-portal.taf-glass.taf-login{display:grid;grid-template-columns:1fr 1fr;width:min(1020px,calc(100% - 40px));min-height:580px;padding:0!important;overflow:hidden}.taf-glass.taf-login .taf-login-brand{padding:42px!important;background:linear-gradient(130deg,#154f40ed,#30755de8)}.taf-glass.taf-login .taf-login-form{padding:42px!important;background:#ffffff55}.taf-glass.taf-login .taf-brand-logo{width:56px!important;flex-basis:56px!important;height:50px!important}.taf-glass.taf-login .taf-brand-lockup h2{font-size:20px!important}.taf-glass.taf-login .taf-login-welcome{margin-top:35px}.taf-glass.taf-login .taf-login-welcome>span{display:none}.taf-glass.taf-login .taf-login-welcome h3{font-size:32px!important;color:white!important}.taf-glass.taf-login .taf-login-welcome p{font-size:14px}.taf-glass.taf-login .taf-login-form h3{font-size:30px;text-align:left}.taf-glass.taf-login .taf-login-points{font-size:13px}.taf-glass.taf-login input{font:inherit}.taf-glass.taf-login .taf-login-intro{text-align:left}
@media(max-width:1000px){.taf-glass-records{grid-template-columns:1fr}.taf-portal.taf-glass{padding:0 24px 24px!important}.taf-portal.taf-glass.taf-login{grid-template-columns:1fr 1fr}.taf-glass.taf-login .taf-login-brand,.taf-glass.taf-login .taf-login-form{padding:28px!important}}
@media(max-width:600px){.taf-portal.taf-glass{width:calc(100% - 20px);margin:10px auto;padding:0 14px 20px!important;border-radius:22px}.taf-glass-header{padding:17px 0;gap:10px}.taf-glass-brand strong{font-size:13px}.taf-glass-brand img{width:40px;height:40px}.taf-glass-account summary>span:not(:last-child){display:none}.taf-glass-account summary{padding:8px}.taf-glass-intro h1{font-size:25px}.taf-glass-pay{flex-direction:column;align-items:stretch;padding:22px 18px}.taf-glass-pay strong{font-size:38px}.taf-glass-pay a{text-align:center}.taf-glass-metrics{padding:14px;gap:12px;flex-wrap:wrap;font-size:11px}.taf-glass-metrics strong{font-size:14px;margin-left:5px}.taf-glass-metrics span+span{padding-left:12px}.taf-glass-panel{padding:16px}.taf-glass-record{gap:8px;grid-template-columns:minmax(0,1fr) auto 36px}.taf-glass-copy strong,.taf-glass-value>strong{font-size:13px}.taf-glass-value{max-width:115px}.taf-glass-dialog{padding:16px}.taf-portal.taf-glass.taf-login{grid-template-columns:1fr;width:calc(100% - 28px);min-height:0;padding:0!important}.taf-glass.taf-login .taf-login-welcome,.taf-glass.taf-login .taf-login-points{display:none}.taf-glass.taf-login .taf-login-brand{padding:22px!important}.taf-glass.taf-login .taf-login-form{padding:28px 24px!important}}
@media(prefers-reduced-transparency:reduce){.taf-portal.taf-glass,.taf-glass-panel{background:#f5f9f5;backdrop-filter:none}}
.taf-portal.taf-glass,.taf-glass-dialog,.taf-glass-dialog *{box-sizing:border-box}
.taf-glass-dialog .taf-family-invoice input:focus-visible+.taf-check-box{outline:3px solid #aa8431;outline-offset:3px}
/* Reset legacy breakout and overlapping login panels for the approved layout. */
.taf-portal.taf-glass{left:auto;transform:none;background:radial-gradient(ellipse at 0 0,#d7eaded9,transparent 55%),radial-gradient(ellipse at 100% 100%,#eeead5b0,transparent 60%),#f5f9f5ed!important}
.taf-glass.taf-login .taf-login-brand,.taf-glass.taf-login .taf-login-form{margin:0;width:auto;align-self:stretch;border-radius:0;box-shadow:none;border:0}
.taf-glass.taf-login .taf-login-brand:before,.taf-glass.taf-login .taf-login-brand:after{display:none}
.taf-glass-dialog .taf-family-payment{padding:0!important}
.taf-glass.taf-login .taf-password-toggle{display:block;margin:-6px 0 12px auto;padding:5px 0;border:0;background:transparent;color:#18543b;font-size:12px;cursor:pointer}

/* Larger brand marks, preserving actual logo proportions. */
.taf-glass-brand img{width:70px;height:70px;object-fit:contain;flex-shrink:0}
.taf-glass-monogram{display:grid;place-items:center;width:70px;height:70px;flex-shrink:0;font-size:23px;border-radius:15px}
.taf-glass.taf-login .taf-brand-logo{width:76px!important;flex-basis:76px!important;height:76px!important;border-radius:17px}
.taf-glass.taf-login .taf-brand-logo img{width:100%;height:100%;object-fit:contain}
@media(max-width:600px){.taf-glass-brand img,.taf-glass-monogram{width:54px;height:54px}.taf-glass-monogram{font-size:19px;border-radius:12px}.taf-glass.taf-login .taf-brand-logo{width:60px!important;flex-basis:60px!important;height:60px!important;border-radius:14px}}
