/* BLEUGATSH shared presentation. Financial and authentication behavior stays in its existing modules. */
:root{--bg-blue:#1f5bff;--bg-ink:#173c6a;--bg-muted:#536781;--bg-line:#dce5ef;--bg-surface:#f5f8fc;--bg-radius:12px}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:100px}
body{-webkit-font-smoothing:antialiased}
button,input,select,textarea{font-family:inherit}
button,a,input,select,textarea,summary{touch-action:manipulation}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #1f5bff;outline-offset:3px}
input[type=checkbox],input[type=radio]{width:20px;height:20px;min-height:20px;max-width:20px;flex-shrink:0;padding:0;accent-color:var(--bg-blue)}
input:not([type=checkbox]):not([type=radio]),select,textarea{min-width:0;max-width:100%}
button:disabled{cursor:not-allowed}
dialog{max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain}
[hidden]{display:none!important}
/* Customer space and registration */
body:has(>.app-shell){background:var(--bg-surface);color:#0b1440;font-size:16px;line-height:1.6;padding:28px 20px}
.app-shell{max-width:920px;border:1px solid var(--bg-line);border-radius:20px;box-shadow:0 8px 30px #173c6a06}
.app-shell>header{padding:18px 30px;gap:14px;background:#fff}
.app-shell>header strong{font-size:20px;letter-spacing:.01em}
.app-shell>header .brand{width:80px;height:54px}
.app-shell>main,body[data-payment-page] .app-shell>main{padding:32px 36px;min-height:420px}
.app-shell h1,#crypto-flow h1,#card-flow h1{font-size:clamp(1.75rem,3.5vw,2.25rem);letter-spacing:-.03em;line-height:1.2;margin:0 0 14px;color:var(--bg-ink)}
.app-shell h2,#card-flow h2{font-size:1.35rem;line-height:1.35;letter-spacing:-.02em}
.app-shell p{overflow-wrap:anywhere}
.app-shell .intro{font-size:1.0625rem;color:var(--bg-muted)}
.app-shell .eyebrow{font-size:.8125rem;letter-spacing:.065em;margin:0 0 10px}
.app-shell .primary,.app-shell .secondary{min-height:46px;padding:11px 18px;border-radius:10px;font-size:1rem;line-height:1.4;white-space:normal;text-align:center}
.app-shell .primary:hover:not(:disabled){filter:brightness(.95)}
.app-shell .secondary:hover:not(:disabled){background:#f3f7fc}
.app-shell .actions{margin-top:24px;gap:10px;flex-wrap:wrap}
.app-shell .actions>*{min-width:0;max-width:100%}
.app-shell input:where(:not([type=checkbox]):not([type=radio])),.app-shell select,.app-shell textarea{font-size:1rem;min-height:48px;border-radius:10px}
.app-shell input[type=file]{height:auto}
.app-shell .fields{gap:18px}
.app-shell .field{font-size:.9375rem;font-weight:700}
.app-shell .field input,.app-shell .field select,.app-shell .field textarea{font-weight:400}
.app-shell .hint,.app-shell .back-link{font-size:.875rem;line-height:1.55;color:var(--bg-muted)}
.app-shell .service-grid{gap:12px}
.app-shell .service{padding:18px;font-size:1rem;border-radius:12px;gap:14px}
.app-shell .hero-card.hero-transfer{margin:24px 0 20px;border-radius:14px}
.app-shell .hero-transfer h2{font-size:clamp(1.5rem,4vw,1.875rem)}
.app-shell .bottom-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:12px 16px;background:#fff}
.app-shell .bottom-nav a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:9px 4px;font-size:.875rem;border-radius:8px;text-align:center;line-height:1.3;box-shadow:none;color:var(--bg-muted)}
.app-shell .bottom-nav a[aria-current=page]{background:#e9eefb;color:#075cbe}
.app-shell .access-footer{padding:20px 30px;gap:14px;font-size:.875rem;align-items:center}
.app-shell .access-footer a,.app-shell .access-footer button{min-height:32px;display:inline-flex;align-items:center}
.app-shell .setting-row{min-height:76px;padding:16px 0;gap:12px}
.app-shell .setting-row strong{font-size:1rem;line-height:1.45}
.app-shell .setting-row small{font-size:.875rem}
.app-shell .settings-person>span,.app-shell .setting-row>span{min-width:0;overflow-wrap:anywhere}
.app-shell .settings-panel{padding:20px 0}
.app-shell .profile-hero{padding:18px 0 24px}
.app-shell .profile-hero h2{font-size:1.5rem}
.app-shell .detail-row dd{font-size:1rem}
.app-shell .photo-actions{flex-wrap:wrap;gap:12px}
.app-shell .status-badge{font-size:.8125rem}
.app-shell .preference-row{padding:18px 0;gap:14px}
.app-shell .preference-row strong{font-size:1rem}
/* Form steps, estimates and payment summaries */
.pay-layout{gap:24px}
.pay-steps,.crypto-progress,.bank-steps{margin-top:24px;margin-bottom:28px}
.pay-steps li,.crypto-progress li,.bank-steps li{min-width:0;overflow-wrap:anywhere}
.pay-summary,.bank-summary,.referral-credit{border-radius:14px}
.crypto-estimate>div,.crypto-review>div{gap:16px;align-items:flex-start}
.crypto-estimate dt,.crypto-review dt,.crypto-estimate dd,.crypto-review dd{min-width:0;overflow-wrap:anywhere}
.crypto-estimate dd,.crypto-review dd{margin:0;text-align:right}
.bank-actions{flex-wrap:wrap;gap:10px}
.bank-actions>*{min-width:0}
.referral-totals>*{min-width:0;overflow-wrap:anywhere}
/* Assistance follows the same palette; state colors retain their meaning. */
.support-ticket{border-color:var(--bg-line);color:var(--bg-ink);border-radius:12px;padding:16px;gap:8px}
.support-ticket:hover{border-color:#8db4e3;background:#f5f7fb}
.support-message{border-color:var(--bg-line);background:#f7f9fc;border-radius:12px;color:#0b1440}
.support-message.admin{background:#e9eefb;border-color:#c9ddf6}
.support-unread{background:#e8f1ff;color:#1546cc}
.support-compose textarea,.support-compose select{color:#0b1440;border-color:#b9cbe0}
#support-thread,#support-new{border-color:var(--bg-line);border-radius:14px;padding:20px}
.support-compose button{min-height:46px}
/* History keeps the requested rectangular summary and operator logo. */
.history-row{min-height:88px}
.history-main>.history-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.history-filters>*{min-width:0}
.history-filters input[type=date]{display:block;width:100%;max-width:100%;min-width:0;min-inline-size:0}
.history-auto input{min-height:20px;height:20px;width:20px}
.history-detail-actions{gap:8px}
.history-stat{border-radius:10px;padding:14px}
.history-stat strong{font-size:1.75rem}
.history-day{margin-top:22px!important}
/* Administration */
body:has(.admin-layout),body:has(>main.access){background:var(--bg-surface)}
.admin-layout{grid-template-columns:230px minmax(0,1fr)}
.admin-layout>aside{padding:24px 18px;border-color:var(--bg-line)}
.admin-layout>aside nav{gap:6px}
.admin-layout>aside nav>*{width:100%;display:flex;align-items:center;min-height:44px;text-align:left;padding:11px 13px;font-size:.875rem;line-height:1.4;border-radius:8px;white-space:normal}
.admin-layout>main{padding:32px;min-width:0}
.admin-layout header{flex-wrap:wrap;align-items:center;gap:14px}
.admin-layout h1{font-size:clamp(1.5rem,3vw,1.875rem);letter-spacing:-.025em}
.admin-layout .primary,.admin-layout .secondary,body:has(.admin-layout) dialog .primary,body:has(.admin-layout) dialog .secondary{display:inline-flex;align-items:center;justify-content:center;min-height:44px;font-size:.9375rem;line-height:1.4;padding:10px 15px;border-radius:9px}
.admin-layout .stat{padding:18px;border-radius:12px}
.admin-layout .stat strong{font-size:1.875rem;font-variant-numeric:tabular-nums}
.admin-layout :is(.panel,.table-wrap,#filters){border-color:var(--bg-line);border-radius:12px}
.admin-layout form label{min-width:0;max-width:100%}
.admin-layout input,.admin-layout select,body:has(.admin-layout) dialog input,body:has(.admin-layout) dialog select{min-height:44px;font-size:1rem}
.admin-layout td{vertical-align:top}
.admin-layout .row-button{min-height:40px}
body:has(.admin-layout) dialog{padding:24px;border-radius:16px}
body:has(.admin-layout) dialog textarea{font:inherit;padding:12px;min-width:0;max-width:100%;border:1px solid #b9cbe0;border-radius:9px}
/* Public presentation */
.bleugatsh-site.b-presentation{line-height:1.65}
.bleugatsh-site .wrap{width:min(1200px,calc(100% - 64px))}
.bleugatsh-site .section{padding-top:72px;padding-bottom:72px}
.bleugatsh-site .b-hero{gap:40px;padding-top:48px;padding-bottom:48px}
.bleugatsh-site h1{font-size:clamp(2.25rem,4.5vw,3.625rem);line-height:1.13}
.bleugatsh-site h2{font-size:clamp(1.75rem,3.4vw,2.625rem);line-height:1.22}
.bleugatsh-site .b-heading{gap:28px;margin-bottom:32px}
.bleugatsh-site .b-button{min-height:46px;border-radius:9px;padding:13px 20px}
.bleugatsh-site .b-solutions{gap:16px}
.bleugatsh-site .b-solutions article{border-radius:12px;padding:24px 20px}
.bleugatsh-site .b-solutions h3{min-height:0;font-size:1.25rem}
.bleugatsh-site .b-solutions p{margin:14px 0 22px}
@media(max-width:850px){
 .admin-layout{grid-template-columns:minmax(0,1fr)}
 .admin-layout>aside{padding:18px;border-bottom:1px solid var(--bg-line)}
 .admin-layout>aside nav{display:flex;flex-wrap:wrap;margin:16px 0;gap:8px}
 .admin-layout>aside nav>*{width:auto;flex:1 1 145px}
 .admin-layout>main{padding:24px 20px}
 .bleugatsh-site .b-solutions{grid-template-columns:repeat(2,minmax(0,1fr))}
 .pay-layout{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:600px){
 body:has(>.app-shell){padding:0;background:#fff}
 .app-shell,body[data-payment-page] .app-shell{width:100%;border:0;border-radius:0;box-shadow:none}
 .app-shell>header{padding:14px 18px;min-height:76px}
 .app-shell>header .brand{width:60px;height:44px}
 .app-shell>header strong{font-size:18px}
 .app-shell>main,body[data-payment-page] .app-shell>main{padding:24px 18px 28px;min-height:360px}
 .app-shell h1,#crypto-flow h1,#card-flow h1{font-size:1.75rem}
 .app-shell .access-footer{padding:18px 18px max(18px,env(safe-area-inset-bottom));gap:12px;font-size:.8125rem}
 .app-shell .bottom-nav{padding:10px 12px;gap:3px}
 .app-shell .bottom-nav a{font-size:.8125rem}
 .app-shell .fields,.app-shell .details-grid{grid-template-columns:minmax(0,1fr)}
 .app-shell .telephone{grid-template-columns:minmax(100px,.85fr) minmax(0,1.5fr)}
 .app-shell .actions>.primary{flex:1 1 180px}
 .app-shell .service{padding:15px;gap:12px}
 .app-shell .service-grid{gap:10px}
 .app-shell .hero-card.hero-transfer{padding:20px;margin-top:20px}
 .app-shell .hero-transfer h2{font-size:1.5rem}
 .app-shell .preference-row{align-items:flex-start}
 .app-shell .preference-row input{margin-top:3px}
 .history-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .history-filters label:first-child,.history-filters>button{grid-column:1/-1}
 .history-filters input,.history-filters select{padding:10px 8px}
 .history-summary{gap:8px;margin-bottom:18px}
 .history-stat{padding:12px 9px}
 .history-stat span{font-size:.8125rem}
 .history-expanded{padding:14px}
 .pay-steps{gap:6px}
 .pay-steps li{flex-direction:column;align-items:flex-start;font-size:.8125rem}
 .bank-receipt-progress{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 10px}
 .crypto-assets{gap:10px}
 .crypto-choice,.crypto-network{padding:14px;gap:8px}
 .crypto-choice:has(input:checked),.crypto-network:has(input:checked){padding:13px}
 .crypto-choice strong,.crypto-network strong{font-size:1rem}
 .bank-actions>*{flex:1 1 140px}
 .referral-totals{gap:12px}
 #support-thread,#support-new{padding:16px}
 .support-message.admin{margin-left:10px}
 .admin-layout>main{padding:22px 16px}
 .admin-layout #filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:14px;gap:10px}
 .admin-layout #filters label:first-child{grid-column:1/-1}
 .admin-layout #filters input,.admin-layout #filters select{width:100%}
 .admin-layout .stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .admin-layout .stat{padding:14px 12px}
 .admin-layout .panel{padding:18px}
 body:has(.admin-layout) dialog{padding:18px;width:calc(100% - 24px)}
 .dialog-header{align-items:flex-start}
 .dialog-header h2{margin:0}
 .bleugatsh-site .wrap{width:calc(100% - 36px)}
 .bleugatsh-site .section{padding-top:48px;padding-bottom:48px}
 .bleugatsh-site .b-hero{grid-template-columns:minmax(0,1fr);gap:28px;padding:32px 0}
 .bleugatsh-site .b-heading{display:block;margin-bottom:24px}
 .bleugatsh-site .b-heading>p{margin-top:16px}
 .bleugatsh-site .b-solutions{grid-template-columns:minmax(0,1fr)}
 .bleugatsh-site .b-actions{gap:16px;margin:24px 0}
 .bleugatsh-site .b-visual,.bleugatsh-site .b-visual>img{min-height:360px;max-height:480px}
 .bleugatsh-site .b-paymarks{gap:18px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Corporate landing uses the same spacing without changing its content. */
body:has(.topbar) .wrap{width:min(1200px,calc(100% - 64px))}
body:has(.topbar) .section{padding-top:72px;padding-bottom:72px}
body:has(.topbar) .button{min-height:46px;border-radius:9px}
body:has(.topbar) .hero{gap:40px}
body:has(.topbar) .project{border-radius:12px}
@media(max-width:600px){body:has(.topbar) .wrap{width:calc(100% - 36px)}body:has(.topbar) .section{padding-top:48px;padding-bottom:48px}body:has(.topbar) .hero{gap:28px}}

.crypto-symbol{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex:0 0 44px;border-radius:50%;background:#e9eefb;color:#1546cc;font-size:14px;font-weight:700}
.crypto-choice:has(input:disabled){opacity:.55}
.crypto-choice small[data-availability]{font-size:12px}

/* Operator identity and labelled navigation */
.app-shell .bottom-nav a{flex-direction:column;gap:5px;min-height:64px;font-size:12px;font-weight:600}
.bottom-nav img{width:23px;height:23px;object-fit:contain}
.app-shell .access-footer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;border-top:1px solid var(--bg-line)}
.app-shell .access-footer a,.app-shell .access-footer button{display:flex;gap:9px;align-items:center;text-decoration:none;border:1px solid var(--bg-line);border-radius:10px;padding:11px;font-size:13px;font-weight:500;text-align:left;background:#fff;color:var(--bg-ink)}
.access-footer img{width:19px;height:19px;flex:0 0 19px;object-fit:contain}
.app-shell .service .logos{display:flex;flex-wrap:wrap;align-items:center;gap:10px;min-height:34px}
.app-shell .service .logos img{width:36px;height:28px;object-fit:contain}
.app-shell .service-pispi .logos img{width:96px;height:68px}
.service small{font-size:12px;color:var(--bg-muted)}
.crypto-recipient-card,.pay-recipient-card{display:flex;align-items:center;gap:14px;padding:18px;border-radius:12px;border:1px solid var(--bg-line);background:#f6f9ff}
.crypto-recipient-card>img{width:44px;height:44px;flex:0 0 44px;object-fit:contain;border-radius:9px;background:#fff}
.crypto-recipient-card>div{min-width:0}.crypto-recipient-card strong,.crypto-recipient-card small{display:block;overflow-wrap:anywhere}
.crypto-recipient-card small{color:var(--bg-muted);margin-top:4px}
.pay-review-recipient,.pay-recipient-summary{align-items:center}
#pay-review-logo,#bank-operator-logo,.operator-logo img{object-fit:contain;object-position:center;border-radius:8px}
#pay-review-logo{width:42px;height:42px;flex:0 0 42px;padding:0}
.fee-cards{display:grid;gap:12px}.fee-cards article{position:relative;padding:20px 20px 16px 72px;background:#f7f9fd;border:1px solid var(--bg-line);border-radius:12px}.fee-cards article>img{position:absolute;left:20px;top:22px;width:34px;height:34px;object-fit:contain}.fee-cards h2{margin:0 0 5px}.fee-cards article>strong{color:var(--bg-blue);font-size:25px}.fee-cards p{font-size:14px;margin:8px 0 0}.bank-required dd{overflow-wrap:anywhere;font-size:15px}

.pay-review-recipient>.pay-operator{display:grid;place-items:center;overflow:hidden}.pay-review-recipient #pay-review-logo{display:block;width:36px;height:36px;margin:0}.limit-request{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;text-align:left;width:100%;padding:18px;margin:12px 0;border:1px solid #dce5ef;border-radius:12px;color:#173c6a;background:#fff}.limit-request small{grid-column:1/-1}#decision{display:grid;gap:14px}#decision label{display:grid;gap:6px}#decision input[type=checkbox]{display:inline-block}#detail-body p{white-space:pre-wrap}#detail-body small{display:block}
