.tfop-wrap{--tfop-navy:#172b4d;--tfop-teal:#27b4bc;--tfop-gold:#f6b94b;--tfop-ink:#243750;--tfop-line:#e3eaf0;max-width:1180px;margin:0 auto 60px;color:var(--tfop-ink);font-family:inherit}.tfop-hero{background:linear-gradient(125deg,#172b4d,#27547a);border-radius:22px;padding:clamp(26px,6vw,65px);color:white;margin:0 0 28px;position:relative;overflow:hidden}.tfop-hero:after{content:'✦';position:absolute;right:4%;top:-55px;color:#ffffff12;font-size:220px}.tfop-hero>span{font-size:12px;letter-spacing:.13em;color:var(--tfop-gold);font-weight:800}.tfop-hero h1{color:#fff!important;font-size:clamp(28px,4vw,46px)!important;line-height:1.15;margin:14px 0!important}.tfop-hero p{color:#e6eff6;margin:0;max-width:690px}.tfop-wrap .tfop-card{background:#fff;border:1px solid var(--tfop-line);border-radius:16px;padding:24px;box-shadow:0 7px 22px #172b4d09}.tfop-wrap h2,.tfop-wrap h3{color:var(--tfop-navy);margin-top:0}.tfop-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0}.tfop-stats>div{padding:23px 20px;background:#f5f8fb;border:1px solid var(--tfop-line);border-radius:15px;display:flex;flex-direction:column;gap:5px}.tfop-stats strong{font-size:29px;color:var(--tfop-navy)}.tfop-stats span{font-size:13px;color:#587083}.tfop-actions,.tfop-links{display:flex;flex-wrap:wrap;gap:10px}.tfop-wrap .tfop-btn{display:inline-block;border-radius:10px;background:var(--tfop-teal);color:#082e37!important;padding:12px 18px;text-decoration:none;font-weight:750;border:2px solid var(--tfop-teal);cursor:pointer}.tfop-wrap .tfop-outline{background:#fff;color:var(--tfop-navy)!important;border-color:#d7e0e8}.tfop-section{margin:38px 0}.tfop-heading{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:16px}.tfop-heading h2{margin:0}.tfop-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.tfop-card h3{font-size:20px;margin:10px 0}.tfop-card p{color:#4f6476}.tfop-chip{display:inline-block;background:#e7f6f5;color:#145862;border-radius:99px;padding:4px 10px;font-size:12px;font-weight:700}.tfop-links a{font-weight:650}.tfop-wrap label{display:block;font-weight:650;margin:15px 0 7px}.tfop-wrap input:not([type=hidden]),.tfop-wrap select,.tfop-wrap textarea{width:100%;border:1px solid #cbd6df;background:#fff;color:#243750;border-radius:9px;padding:12px;font:inherit}.tfop-wrap button{margin-top:16px}.tfop-muted{color:#637688;font-size:13px}.tfop-alert{background:#e8f8f1;padding:15px 18px;border-radius:10px;color:#176646}.tfop-eventprime{margin-top:18px}.tfop-empty{margin:15px 0}.tfop-help{margin-top:30px}@media(max-width:720px){.tfop-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.tfop-cards{grid-template-columns:1fr}.tfop-hero{border-radius:14px}.tfop-wrap .tfop-card{padding:18px}.tfop-heading{align-items:flex-start;flex-direction:column}}@media(max-width:420px){.tfop-stats{grid-template-columns:1fr}}
.tfop-mod-nav{margin:0 0 25px}.tfop-review{margin:15px 0}.tfop-review p{overflow-wrap:anywhere}.tfop-review-form{border-top:1px solid #e4eaf0;margin-top:16px;padding-top:12px}.tfop-review-form .tfop-actions button{margin-top:12px}.tfop-audit{margin:12px 0}.tfop-review-form textarea{max-width:100%}

/* v1.3.0: coherent hero and readable portal navigation across the Blocksy child theme. */
.tfop-wrap > .tfop-hero {
 display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;
 gap:12px!important;text-align:left!important;min-height:300px!important;
}
.tfop-wrap > .tfop-hero > span,
.tfop-wrap > .tfop-hero > h1,
.tfop-wrap > .tfop-hero > p {
 display:block!important;flex:none!important;width:auto!important;max-width:min(780px,100%)!important;
 margin:0!important;text-align:left!important;align-self:flex-start!important;
}
.tfop-wrap > .tfop-hero > span {font-size:12px!important;line-height:1.5!important;letter-spacing:.14em!important;}
.tfop-wrap > .tfop-hero > h1 {font-size:clamp(32px,4.2vw,60px)!important;line-height:1.12!important;overflow-wrap:anywhere!important;text-wrap:balance!important;}
.tfop-wrap > .tfop-hero > p {font-size:clamp(16px,1.4vw,19px)!important;line-height:1.6!important;color:#f3f8fc!important;}
.tfop-wrap > .tfop-hero::before {content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(90deg,rgba(8,27,48,.45),rgba(8,27,48,.1));}
.tfop-wrap > .tfop-hero > * {position:relative!important;z-index:2!important;}
.tfop-wrap .tfop-portal-nav {margin:28px 0 30px!important;clear:both!important;}
.tfop-portal-nav .tfop-nav-title {font-size:21px;font-weight:800;color:#172b4d;margin-bottom:14px;line-height:1.3;}
.tfop-portal-nav .tfop-nav-grid {display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
.tfop-portal-nav .tfop-nav-tile {display:flex!important;align-items:center!important;gap:12px!important;min-height:96px;padding:17px 16px!important; border:1px solid #dce7ef!important;border-radius:16px!important;background:#fff!important;box-shadow:0 7px 20px rgba(14,42,68,.05)!important;color:#172b4d!important;text-decoration:none!important;transition:transform .2s,box-shadow .2s,border-color .2s;}
.tfop-portal-nav .tfop-nav-tile:hover,.tfop-portal-nav .tfop-nav-tile:focus-visible{transform:translateY(-2px);border-color:#1ba7b0!important;box-shadow:0 10px 24px rgba(14,42,68,.12)!important;outline-offset:3px;}
.tfop-portal-nav .tfop-nav-tile.is-active {background:#eaf8fa!important;border-color:#169ba9!important;}
.tfop-portal-nav .tfop-nav-symbol {display:flex!important;align-items:center;justify-content:center;flex:none;width:45px;height:45px;border-radius:12px;background:#e8f7f8;color:#13616a;font-size:26px;line-height:1;}
.tfop-portal-nav .tfop-nav-content {min-width:0;flex:1;display:flex;flex-direction:column;gap:3px;}
.tfop-portal-nav .tfop-nav-content strong {display:block;font-size:15px;line-height:1.35;color:#172b4d!important;}
.tfop-portal-nav .tfop-nav-content small {display:block;font-size:12px;line-height:1.45;color:#53687a!important;}
.tfop-portal-nav .tfop-nav-chevron {font-size:25px;line-height:1;color:#0c8793;}
.tfop-wrap .tfop-actions:not(.tfop-mod-nav){margin:18px 0 28px;gap:12px;}
.tfop-wrap .tfop-btn {background:#0e929f!important;border-color:#0e929f!important;color:#fff!important;box-shadow:0 3px 9px rgba(0,0,0,.07);line-height:1.4!important;text-align:center;}
.tfop-wrap .tfop-btn:hover,.tfop-wrap .tfop-btn:focus-visible {background:#076d78!important;border-color:#076d78!important;color:#fff!important;}
.tfop-wrap .tfop-outline {background:#fff!important;color:#172b4d!important;border-color:#b9cedb!important;}
.tfop-wrap .tfop-outline:hover,.tfop-wrap .tfop-outline:focus-visible {background:#e9f7f9!important;color:#123b51!important;border-color:#0e929f!important;}
.tfop-wrap .tfop-section h2 {font-size:clamp(22px,2.5vw,30px)!important;line-height:1.25!important;}
.tfop-wrap .tfop-card p {line-height:1.7;}
.tfop-wrap a:focus-visible {outline:3px solid #eab850;outline-offset:3px;}
@media(max-width:940px){.tfop-portal-nav .tfop-nav-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:620px){.tfop-portal-nav .tfop-nav-grid{grid-template-columns:1fr;gap:10px;}.tfop-wrap > .tfop-hero{padding:50px 22px!important;min-height:280px!important;}.tfop-wrap > .tfop-hero > h1{font-size:clamp(31px,8vw,44px)!important;}.tfop-portal-nav .tfop-nav-tile{min-height:78px;}.tfop-wrap .tfop-actions:not(.tfop-mod-nav) .tfop-btn{width:100%;}}
@media(prefers-reduced-motion:reduce){.tfop-portal-nav .tfop-nav-tile{transition:none;}}

/* v1.3.1: prevent select/placeholder clipping under Blocksy form controls. */
.tfop-wrap select,
.tfop-wrap select#tfop_group {
 display:block!important; box-sizing:border-box!important; width:100%!important;
 height:auto!important; min-height:54px!important; max-height:none!important;
 padding:12px 42px 12px 15px!important; margin:0 0 18px!important;
 font-size:16px!important; line-height:1.5!important;
 color:#172b4d!important; background-color:#fff!important;
 border:1px solid #bdceda!important; border-radius:10px!important;
 appearance:auto!important; -webkit-appearance:menulist!important;
 overflow:visible!important; vertical-align:middle!important;
}
.tfop-wrap select option{color:#172b4d!important;background:#fff!important;}
.tfop-wrap .tfop-card form label{color:#172b4d!important;line-height:1.5!important;}
.tfop-wrap .tfop-card form textarea{box-sizing:border-box;min-height:145px;line-height:1.55!important;}
.tfop-wrap .tfop-card form select:focus-visible,
.tfop-wrap .tfop-card form textarea:focus-visible{outline:3px solid #27b4bc!important;outline-offset:2px!important;}


/* v1.3.2: Organizer sign-in layout. Scoped so other portal forms remain untouched. */
.tfop-wrap.tfop-login-page{max-width:1180px;}
.tfop-login-page > .tfop-hero{min-height:220px!important;padding-block:38px!important;margin-bottom:0!important;}
.tfop-login-page > .tfop-hero > h1{font-size:clamp(32px,4vw,52px)!important;}
.tfop-login-page > .tfop-hero > p{max-width:580px!important;}
.tfop-login-shell{padding:38px 20px 64px;background:#f5f8fb;}
.tfop-login-panel{box-sizing:border-box;width:min(100%,530px);margin:0 auto;background:#fff;border:1px solid #dce7ef;border-radius:20px;box-shadow:0 18px 45px rgba(16,42,66,.09);padding:clamp(24px,4vw,42px);color:#172b4d;}
.tfop-login-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:#e4f6f7;color:#0b7c89;font-size:26px;margin-bottom:15px;}
.tfop-login-panel h2{font-size:clamp(23px,2.5vw,30px)!important;line-height:1.25!important;margin:0 0 6px!important;color:#172b4d!important;}
.tfop-login-panel .tfop-login-subtitle{font-size:15px;line-height:1.6;color:#587083;margin:0 0 24px;}
.tfop-login-panel #loginform{margin:0;}
.tfop-login-panel #loginform p{margin:0 0 18px;}
.tfop-login-panel #loginform label{display:block;color:#172b4d!important;font-weight:700;font-size:14px;margin:0 0 7px;line-height:1.5;}
.tfop-login-panel #loginform input[type=text],
.tfop-login-panel #loginform input[type=password]{box-sizing:border-box;width:100%!important;min-height:51px!important;border:1px solid #bfcfdb!important;border-radius:10px!important;padding:12px 14px!important;background:#fff!important;color:#172b4d!important;font-size:16px!important;line-height:1.4!important;}
.tfop-login-panel #loginform input[type=text]:focus,
.tfop-login-panel #loginform input[type=password]:focus{border-color:#1297a4!important;outline:3px solid rgba(39,180,188,.23)!important;outline-offset:1px;}
.tfop-login-panel #loginform .login-remember{display:flex!important;align-items:center!important;gap:10px!important;margin:2px 0 24px!important;}
.tfop-login-panel #loginform .login-remember label{display:inline-flex!important;align-items:center!important;gap:10px!important;margin:0!important;cursor:pointer;font-weight:500!important;}
.tfop-login-panel #loginform .login-remember input[type=checkbox]{box-sizing:border-box!important;width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important;margin:0!important;padding:0!important;flex:none!important;accent-color:#0b98a6;}
.tfop-login-panel #loginform .login-submit{margin:0!important;}
.tfop-login-panel #loginform input[type=submit]{display:block!important;width:100%!important;min-height:52px!important;padding:12px 20px!important;margin:0!important;background:#0c929f!important;color:#fff!important;border:2px solid #0c929f!important;border-radius:11px!important;font-size:16px!important;font-weight:750!important;line-height:1.3!important;cursor:pointer!important;transition:background .15s ease;}
.tfop-login-panel #loginform input[type=submit]:hover,
.tfop-login-panel #loginform input[type=submit]:focus-visible{background:#08717d!important;border-color:#08717d!important;color:#fff!important;}
.tfop-login-help{text-align:center;margin:18px 0 0;font-size:14px;}
.tfop-login-panel a{color:#0b7585;font-weight:650;text-decoration:underline;text-underline-offset:3px;}
.tfop-login-panel a:hover{color:#084e5a;}
.tfop-login-note{margin-top:28px;padding:20px;border-radius:13px;background:#edf7f9;border:1px solid #d6eaf0;font-size:14px;line-height:1.55;}
.tfop-login-note strong{color:#172b4d;}
.tfop-login-note p{margin:5px 0 8px;color:#3d5669;}
@media(max-width:620px){.tfop-login-shell{padding:22px 10px 38px;}.tfop-login-page>.tfop-hero{padding:32px 22px!important;min-height:190px!important;}.tfop-login-panel{padding:25px 20px;}}
@media(prefers-reduced-motion:reduce){.tfop-login-panel #loginform input[type=submit]{transition:none;}}
