/* Exact colors sampled from the official Sogol logo:
   burgundy #8b2a2f, green #3c7d4f and cream #f7ead0. */
.customer-portal-root{background:#8b2a2f}
.portal-mobile-page{position:relative;background:linear-gradient(165deg,#8b2a2f 0%,#8b2a2f 52%,#722126 100%)}
.portal-login-page{background:linear-gradient(165deg,#8b2a2f 0%,#8b2a2f 58%,#722126 100%)}
@media(min-width:521px){body:has(.portal-mobile-page){background:#64191f!important}}
.portal-white-card{border:2px solid rgba(60,125,79,.78);background:linear-gradient(155deg,rgba(255,249,238,.84),rgba(247,234,208,.74))!important;box-shadow:0 8px 22px rgba(49,8,12,.16),0 0 0 1px rgba(60,125,79,.12) inset;backdrop-filter:blur(16px) saturate(1.08);-webkit-backdrop-filter:blur(16px) saturate(1.08)}
.portal-login-card{border-color:rgba(60,125,79,.78);background:linear-gradient(155deg,rgba(255,249,238,.86),rgba(247,234,208,.78))!important;box-shadow:0 10px 28px rgba(49,8,12,.18),0 0 0 1px rgba(60,125,79,.12) inset;backdrop-filter:blur(16px) saturate(1.08);-webkit-backdrop-filter:blur(16px) saturate(1.08)}
.portal-mobile-header{position:relative;height:72px;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.portal-mobile-header:after{display:none}
.portal-mobile-header>img,.portal-module-header>img,.portal-login-logo{padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;filter:none!important;outline:0!important}
.portal-bell b{background:#3c7d4f}.portal-menu i{background:#f7ead0}
.portal-module-header{margin-bottom:7px;padding:0;border:0;border-radius:0;background:transparent}
.portal-module-header>a{background:rgba(60,125,79,.55)}
.portal-white-card h2{color:#352326}
.portal-white-card{box-shadow:0 8px 22px rgba(49,8,12,.16)}
.portal-hero{border-width:3px;border-color:rgba(60,125,79,.88);box-shadow:0 10px 25px rgba(45,5,9,.22)}
.portal-quick-card>h2,.portal-services-card>h2,.portal-festival-card header h2,.portal-order-card header h2,.portal-notice-card header h2{border-right-color:#3c7d4f}
.portal-quick-grid .quick{border:1px solid rgba(60,125,79,.14);box-shadow:0 2px 8px rgba(55,35,26,.05)}
.quick.green{background:linear-gradient(135deg,#e5f0e7,#d9e9dd);color:#245f37}
.quick.rose{background:linear-gradient(135deg,#e9f1e7,#dceade);color:#245f37}
.quick.gold{background:linear-gradient(135deg,#f8edd8,#f2e1c1);color:#73500e}
.quick.green>span{border-radius:12px;background:#3c7d4f;color:#f7ead0}.quick.rose>span{border-radius:12px;background:#3c7d4f;color:#f7ead0}.quick.gold>span{border-radius:12px;background:rgba(60,125,79,.12)}
.portal-festival-card header>span,.portal-notice-card>div>span{background:rgba(60,125,79,.12);color:#245f37}
.festival-metrics strong{color:#3c7d4f}.festival-metrics strong.remaining{color:#4f6855}
.festival-progress{background:rgba(95,73,59,.15)}.festival-progress span{background:linear-gradient(90deg,#4c9361,#3c7d4f)}.festival-progress b{background:#8b2a2f}
.order-box{background:rgba(60,125,79,.13);color:#3c7d4f}
.portal-services-card a{border:1px solid rgba(77,53,39,.08)}
.portal-services-card a:nth-child(1){background:rgba(169,117,32,.12);color:#77520e}.portal-services-card a:nth-child(2){background:rgba(60,125,79,.12);color:#245f37}.portal-services-card a:nth-child(3){background:rgba(60,125,79,.14);color:#285d39}
.portal-services-card a>b{background:#3c7d4f}
.portal-customer-strip{background:rgba(75,15,20,.48)}
.portal-module-card h2{border-right-color:#3c7d4f}
.portal-document-form input,.portal-document-form select,.portal-chat-compose input{border-color:rgba(93,67,48,.24);background:rgba(255,249,237,.72)}
.portal-document-form>button,.portal-chat-compose button{background:linear-gradient(135deg,#478c5b,#3c7d4f)}
.portal-chat-card{padding:0;overflow:hidden}
.portal-chat-heading{display:flex;align-items:center;justify-content:space-between;padding:15px 16px 12px;background:linear-gradient(120deg,rgba(139,42,47,.14),rgba(60,125,79,.10))}
.portal-chat-heading h2{border:0;padding:0}.portal-chat-heading small{display:flex;align-items:center;gap:5px;margin-top:4px;color:#5d685f;font-size:9px;font-weight:800}.portal-chat-heading small i{width:7px;height:7px;border-radius:50%;background:#3c7d4f;box-shadow:0 0 0 3px rgba(60,125,79,.12)}
.portal-chat-heading>span{width:40px;height:40px;display:grid;place-items:center;border:1px solid rgba(60,125,79,.22);border-radius:13px;background:#3c7d4f;color:#f7ead0;font-size:12px;font-weight:950}
.portal-chat-list{min-height:310px;max-height:55vh;margin:0;padding:18px 14px;overflow-y:auto;background:rgba(255,249,238,.72)}
.portal-chat-list>p,.portal-chat-message,.portal-agent-welcome{position:relative;max-width:86%;margin:0;padding:11px 13px;border:1px solid rgba(60,125,79,.18);border-radius:15px 15px 4px 15px;background:#e1eee4;color:#21432c;font-size:12px;line-height:1.8}
.portal-chat-list>p.agent,.portal-chat-list>p.staff,.portal-chat-message.agent,.portal-chat-message.staff,.portal-agent-welcome{align-self:flex-end;border-color:rgba(60,125,79,.22);border-radius:15px 15px 15px 4px;background:#f0e8da;color:#3f4d43}
.portal-chat-list>p.customer,.portal-chat-message.customer{align-self:flex-start}
.portal-chat-list small{color:inherit}
.portal-handoff{margin:0 14px 9px;padding:8px 10px;border-right:3px solid #8b2a2f;border-radius:8px;background:rgba(139,42,47,.08);color:#6f2529;font-size:10px;font-weight:850}
.portal-chat-compose{grid-template-columns:1fr 72px;margin:0;padding:10px 14px 7px;background:#f7ead0}
.portal-chat-media-compose{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:5px 14px 10px;background:#f7ead0}.portal-chat-file-input{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important}.portal-chat-media-compose label,.portal-chat-media-compose button{height:38px;padding:0 12px;display:grid;place-items:center;border:0;border-radius:10px;background:#3c7d4f;color:#fff;font-size:10px;font-weight:900;cursor:pointer}.portal-chat-media-compose button{background:#8b2a2f}.portal-chat-media-compose button:disabled{opacity:.45}.portal-chat-media-compose span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#554940;font-size:9px}.portal-chat-message img,.portal-chat-message video{display:block;width:min(100%,260px);max-height:280px;border-radius:10px;object-fit:cover}.portal-chat-message small{display:block;margin-top:5px}.portal-chat-upload-message{margin:0;padding:7px 15px;background:#f7ead0;color:#3c7d4f;font-size:9px;font-weight:850}
.portal-agent-note{display:block;padding:0 15px 12px;color:#77685d;font-size:8px;line-height:1.6}
.portal-form-message{background:rgba(60,125,79,.10);color:#3d5144}
.portal-finance-summary{background:rgba(60,125,79,.10)}.portal-finance-summary strong{color:#3c7d4f}
.portal-menu-backdrop{position:fixed;inset:0;z-index:20;background:rgba(38,7,11,.34)}.portal-mobile-menu{position:absolute;z-index:21;top:67px;left:14px;width:min(260px,calc(100% - 28px));display:grid;gap:4px;padding:12px;border:1.5px solid #3c7d4f;border-radius:16px;background:rgba(247,234,208,.96);box-shadow:0 14px 32px rgba(38,7,11,.28)}.portal-mobile-menu strong{padding:4px 8px 8px;color:#3c7d4f;font-size:13px}.portal-mobile-menu a{padding:10px 9px;border-radius:10px;color:#352326;font-size:12px;font-weight:850}.portal-mobile-menu a:hover,.portal-mobile-menu a:focus{background:rgba(60,125,79,.15);color:#245f37}.portal-price-card h2{padding-right:9px;border-right:4px solid #3c7d4f}.portal-price-card p{margin:14px 0 2px;color:#5f625c;font-size:11px}
/* Final glass treatment: the burgundy page remains clearly visible through every card. */
.portal-white-card{border:1px solid rgba(60,125,79,.42)!important;background:rgba(255,255,255,.08)!important;box-shadow:0 8px 22px rgba(40,5,10,.12),0 0 0 1px rgba(60,125,79,.10) inset;backdrop-filter:blur(10px) saturate(1.08);-webkit-backdrop-filter:blur(10px) saturate(1.08);color:#fff3dd}
.portal-login-card{border-color:rgba(247,234,208,.30)!important;background:rgba(255,255,255,.10)!important}
.portal-white-card h2,.portal-white-card p,.portal-white-card small,.portal-white-card label>span,.portal-white-card dt,.portal-white-card dd,.portal-white-card .portal-empty-row{color:#fff3dd}
.portal-quick-grid .quick,.quick.green,.quick.rose,.quick.gold{border-color:rgba(60,125,79,.30);background:rgba(255,255,255,.055);color:#fff3dd}
.quick.green>span,.quick.rose>span{background:#3c7d4f;color:#fff3dd}.quick.gold>span{background:rgba(60,125,79,.82);color:#fff3dd}
.portal-festival-card header>span,.portal-notice-card>div>span{background:rgba(60,125,79,.18);color:#bce3c5;border:1px solid rgba(60,125,79,.50)}
.festival-metrics small{color:#f7ead0}.festival-metrics strong{color:#bce3c5}.festival-metrics strong.remaining{color:#f7ead0}.festival-progress{background:rgba(255,255,255,.16)}
.latest-order-row div strong,.portal-data-row b{color:#fff3dd}.latest-order-row div small,.portal-data-row small{color:rgba(255,243,221,.76)}
.order-box{background:rgba(60,125,79,.22);color:#bce3c5}.portal-services-card a,.portal-services-card a:nth-child(1),.portal-services-card a:nth-child(2),.portal-services-card a:nth-child(3){background:rgba(255,255,255,.06);color:#fff3dd;border-color:rgba(247,234,208,.20)}.portal-services-card a>b{background:#3c7d4f;color:#fff3dd}
.portal-chat-list{background:rgba(255,255,255,.06)}.portal-chat-list>p,.portal-chat-message,.portal-agent-welcome{background:rgba(60,125,79,.18);color:#fff3dd;border-color:rgba(60,125,79,.40)}.portal-chat-list>p.agent,.portal-chat-list>p.staff,.portal-chat-message.agent,.portal-chat-message.staff,.portal-agent-welcome{background:rgba(255,255,255,.10);color:#fff3dd;border-color:rgba(247,234,208,.25)}.portal-chat-compose,.portal-chat-media-compose{background:rgba(255,255,255,.07)}.portal-chat-compose input{background:rgba(255,255,255,.12);color:#fff3dd;border-color:rgba(247,234,208,.30)}.portal-chat-compose input::placeholder{color:rgba(255,243,221,.70)}.portal-chat-upload-message{background:rgba(60,125,79,.18);color:#c5ebce}.portal-price-card p{color:rgba(255,243,221,.78)}
/* V1.83.10: use the logo burgundy as a transparent glass tint. */
.portal-white-card,.portal-login-card{background:rgba(139,42,47,.16)!important;border-color:rgba(60,125,79,.34)!important;backdrop-filter:blur(8px) saturate(1.04);-webkit-backdrop-filter:blur(8px) saturate(1.04);box-shadow:0 8px 22px rgba(40,5,10,.10),0 0 0 1px rgba(60,125,79,.08) inset}
.portal-quick-grid .quick,.quick.green,.quick.rose,.quick.gold{background:rgba(139,42,47,.12)!important;border-color:rgba(60,125,79,.28)!important}
.portal-white-card h2,.portal-white-card p,.portal-white-card small,.portal-white-card label>span,.portal-white-card dt,.portal-white-card dd{color:#fff3dd}
/* V1.83.11: clearer logo-green frame and a more expressive quick-access grid. */
.portal-white-card,.portal-login-card{border:1.5px solid rgba(60,125,79,.64)!important;box-shadow:0 8px 22px rgba(40,5,10,.10),0 0 0 1px rgba(60,125,79,.13) inset}
.portal-quick-grid{gap:10px}
.portal-quick-grid .quick{min-height:78px;padding:12px 13px!important;border:1px solid rgba(60,125,79,.48)!important;border-radius:18px!important;background:rgba(139,42,47,.14)!important;box-shadow:0 6px 14px rgba(40,5,10,.10),0 0 0 1px rgba(255,243,221,.04) inset;transition:transform .18s ease,background .18s ease}
.portal-quick-grid .quick:hover,.portal-quick-grid .quick:focus-visible{transform:translateY(-2px);background:rgba(139,42,47,.24)!important}
.portal-quick-grid .quick>span{width:48px!important;height:48px!important;border-radius:15px!important;display:grid;place-items:center;font-size:20px!important;background:#3c7d4f!important;color:#fff3dd!important;box-shadow:0 4px 10px rgba(18,55,29,.18)}
.portal-quick-grid .quick:nth-child(2)>span{border-radius:50%!important;background:#478c5b!important}
.portal-quick-grid .quick:nth-child(3)>span{background:rgba(60,125,79,.78)!important;border:1px solid rgba(247,234,208,.30)}
.portal-quick-grid .quick:nth-child(4)>span{border-radius:12px 18px 12px 18px!important;background:#3c7d4f!important}
.portal-quick-grid .quick b{font-size:13px!important;line-height:1.65;color:#fff3dd!important}
.portal-quick-grid .quick i{color:#bce3c5!important;font-size:20px!important}
/* V1.83.12: let the burgundy page show through and prevent quick-link text collisions. */
.portal-white-card,.portal-login-card{background:rgba(139,42,47,.075)!important;backdrop-filter:blur(7px) saturate(1.02);-webkit-backdrop-filter:blur(7px) saturate(1.02)}
.portal-quick-grid .quick{display:grid!important;grid-template-columns:48px minmax(0,1fr) 18px;align-items:center;gap:9px;min-width:0}
.portal-quick-grid .quick b{min-width:0;text-align:right;white-space:normal;overflow:visible}
/* V1.83.13: quick-access cards use a clear logo-green surface, without a frosted veil. */
.portal-quick-grid .quick{background:linear-gradient(145deg,#478c5b 0%,#3c7d4f 100%)!important;border-color:rgba(247,234,208,.34)!important;box-shadow:0 7px 15px rgba(18,55,29,.22),0 0 0 1px rgba(255,243,221,.08) inset;backdrop-filter:none;-webkit-backdrop-filter:none}
.portal-quick-grid .quick:hover,.portal-quick-grid .quick:focus-visible{background:linear-gradient(145deg,#55a16b 0%,#478c5b 100%)!important}
.portal-quick-grid .quick>span{background:rgba(255,243,221,.16)!important;border:1px solid rgba(247,234,208,.34);color:#fff8ea!important;box-shadow:0 4px 10px rgba(18,55,29,.20)}
.portal-quick-grid .quick b{color:#fff8ea!important}.portal-quick-grid .quick i{color:#f7ead0!important}
/* V1.83.14: cohesive, modern line-icon system for quick access. */
.portal-quick-grid{gap:11px}
.portal-quick-grid .quick{position:relative;overflow:hidden;min-height:76px;padding:11px 12px!important;grid-template-columns:46px minmax(0,1fr) 24px;gap:10px;background:linear-gradient(138deg,#397b4c 0%,#28633c 100%)!important;border:1px solid rgba(247,234,208,.30)!important;border-radius:18px!important;box-shadow:0 8px 18px rgba(34,10,13,.20),0 1px 0 rgba(255,255,255,.12) inset}
.portal-quick-grid .quick::before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(255,255,255,.10),transparent 45%);pointer-events:none}
.portal-quick-grid .quick:hover,.portal-quick-grid .quick:focus-visible{background:linear-gradient(138deg,#438a57 0%,#2f7044 100%)!important;transform:translateY(-2px);outline:0}
.portal-quick-grid .quick>span,.portal-quick-grid .quick:nth-child(2)>span,.portal-quick-grid .quick:nth-child(3)>span,.portal-quick-grid .quick:nth-child(4)>span{position:relative;z-index:1;width:46px!important;height:46px!important;border:1px solid rgba(247,234,208,.34)!important;border-radius:14px!important;background:rgba(247,234,208,.10)!important;color:#fff7e7!important;box-shadow:0 4px 12px rgba(16,48,26,.16),0 0 0 1px rgba(255,255,255,.05) inset!important}
.portal-quick-grid .quick-icon svg{width:27px;height:27px;display:block;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.portal-quick-grid .quick-icon svg .quick-icon-dots{stroke-width:3}
.portal-quick-grid .quick b{position:relative;z-index:1;font-size:12.5px!important;line-height:1.65;color:#fff8ea!important}
.portal-quick-grid .quick i{position:relative;z-index:1;width:24px;height:24px;display:grid;place-items:center;border:1px solid rgba(247,234,208,.20);border-radius:50%;background:rgba(247,234,208,.08);color:#f7ead0!important;font-size:18px!important;font-style:normal;line-height:1}
/* V1.83.15: approved white canvas with exact Sogol burgundy cards and green frames. */
.customer-portal-root{background:#f3f5f1!important;color:#352326}
.portal-mobile-page,.portal-login-page{background:#fff!important}
@media(min-width:521px){body:has(.portal-mobile-page){background:#edf1ec!important}.portal-mobile-page{box-shadow:0 0 45px rgba(29,66,42,.14)}}
.portal-mobile-header{height:88px;margin:-12px -14px 12px;padding:10px 14px;background:#8b2a2f!important;border-bottom:3px solid #3c7d4f;box-shadow:0 8px 20px rgba(86,24,29,.18)}
.portal-module-header{min-height:70px;margin:-8px -14px 11px;padding:6px 14px;background:#8b2a2f!important;border-bottom:3px solid #3c7d4f!important}
.portal-mobile-header,.portal-mobile-header>strong,.portal-header-actions button,.portal-module-header,.portal-module-header>a{color:#fff8ea!important}
.portal-white-card,.portal-login-card{background:#8b2a2f!important;border:2px solid #3c7d4f!important;box-shadow:0 9px 22px rgba(73,31,31,.16),0 1px 0 rgba(255,255,255,.08) inset!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;color:#f7ead0!important}
.portal-white-card h2,.portal-white-card p,.portal-white-card small,.portal-white-card label>span,.portal-white-card dt,.portal-white-card dd,.portal-white-card .portal-empty-row,.portal-login-card h2{color:#f7ead0!important}
.portal-quick-card>h2,.portal-services-card>h2,.portal-festival-card header h2,.portal-order-card header h2,.portal-notice-card header h2,.portal-module-card h2,.portal-price-card h2{border-right-color:#3c7d4f!important}
.portal-hero{min-height:180px;border:3px solid #3c7d4f!important;background-position:center top;box-shadow:0 9px 22px rgba(32,68,44,.16)}
.portal-hero:not(.portal-hero-image-only)::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(22,32,25,.50),rgba(22,32,25,.08) 55%,transparent);pointer-events:none}
.portal-hero-image-only>div{display:none}.portal-hero-image-only{padding:0}
.portal-dots button{background:rgba(247,234,208,.60)}.portal-dots button.active{background:#3c7d4f}
.portal-quick-grid .quick,.portal-quick-grid .quick:hover,.portal-quick-grid .quick:focus-visible,.quick.green,.quick.rose,.quick.gold{background:#762329!important;border:1.5px solid #3c7d4f!important;box-shadow:0 6px 14px rgba(52,12,16,.18),0 1px 0 rgba(255,255,255,.07) inset!important}
.portal-quick-grid .quick::before{display:none}
.portal-quick-grid .quick>span,.portal-quick-grid .quick:nth-child(2)>span,.portal-quick-grid .quick:nth-child(3)>span,.portal-quick-grid .quick:nth-child(4)>span{background:#3c7d4f!important;border-color:rgba(247,234,208,.34)!important;color:#f7ead0!important}
.portal-quick-grid .quick b,.portal-quick-grid .quick i{color:#fff8ea!important}.portal-quick-grid .quick i{border-color:rgba(60,125,79,.85);background:rgba(60,125,79,.18)}
.portal-festival-card header>span,.portal-notice-card>div>span,.order-box{background:#3c7d4f!important;border:1px solid rgba(247,234,208,.30)!important;color:#f7ead0!important}
.festival-metrics small,.portal-order-card header a,.portal-notice-card header a{color:#f7ead0!important}.festival-metrics strong,.festival-metrics strong.remaining{color:#bde4c6!important}.festival-metrics>i{background:rgba(247,234,208,.40)}.festival-progress{background:rgba(247,234,208,.28)}.festival-progress span{background:#3c7d4f}.festival-progress b{background:#f7ead0}
.latest-order-row div strong,.portal-data-row b{color:#fff8ea!important}.latest-order-row div small,.portal-data-row small{color:rgba(247,234,208,.78)!important}.latest-order-row em{background:#3c7d4f;color:#fff8ea}
.portal-services-card a,.portal-services-card a:nth-child(1),.portal-services-card a:nth-child(2),.portal-services-card a:nth-child(3){background:#762329!important;border:1.5px solid #3c7d4f!important;color:#fff8ea!important}.portal-services-card a>b{background:#3c7d4f!important;color:#f7ead0!important}
.portal-customer-strip{background:#762329!important;border:1px solid #3c7d4f;color:#fff8ea}
.portal-document-form input,.portal-document-form select,.portal-chat-compose input{background:#fffaf0!important;border-color:#3c7d4f!important;color:#352326!important}
.portal-chat-list{background:#762329!important}.portal-chat-list>p,.portal-chat-message,.portal-agent-welcome{background:#3c7d4f!important;color:#fff8ea!important}.portal-chat-list>p.agent,.portal-chat-list>p.staff,.portal-chat-message.agent,.portal-chat-message.staff,.portal-agent-welcome{background:#f7ead0!important;color:#352326!important}.portal-chat-compose,.portal-chat-media-compose{background:#762329!important}
.portal-finance-summary{background:#762329!important;border:1px solid #3c7d4f}.portal-finance-summary span,.portal-finance-summary strong{color:#f7ead0!important}
.portal-menu-backdrop{background:rgba(24,42,30,.30)}.portal-mobile-menu{border-color:#3c7d4f;background:#fff!important}.portal-mobile-menu strong{color:#8b2a2f}.portal-mobile-menu a{color:#352326}
.portal-price-card header{display:flex;align-items:center;justify-content:space-between;gap:10px}.portal-price-card header a{color:#3c7d4f;font-size:10px;font-weight:900}.portal-price-card header+h2{margin-top:0}
