/* App and share-page containers use identical header and content gutters. */
.flow-container{width:100%;max-width:560px;margin-inline:auto;padding-inline:16px;}
@media(min-width:960px){.flow-container{max-width:1536px;padding-inline:32px;}}
.flow-page button,.flow-page .btn{min-height:44px;min-width:44px;white-space:nowrap;touch-action:manipulation;}
.flow-page button::before,.flow-page button::after,.flow-page .btn::before,.flow-page .btn::after{pointer-events:none;}
.save-overlay{position:fixed;inset:0;z-index:100;background:#0f2137ed;overflow:auto;padding:calc(16px + env(safe-area-inset-top)) 16px calc(16px + env(safe-area-inset-bottom));color:white;}
.save-overlay[hidden]{display:none;}
.save-overlay p{color:white;margin:16px 0;text-align:center;}
.save-overlay button{display:block;margin-left:auto;min-height:44px;padding:10px 20px;border:1px solid #fff;border-radius:8px;background:#015D9B;color:white;font:inherit;white-space:nowrap;}
.save-overlay img{display:block;width:auto;height:auto;max-width:100%;margin:auto;user-select:auto;-webkit-user-select:auto;-webkit-touch-callout:default;}
.flow-toast{position:fixed;bottom:calc(24px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:101;padding:10px 16px;border-radius:8px;background:#0f2137;color:white;font:inherit;font-size:14px;box-shadow:0 2px 12px #0003;pointer-events:none;}
.flow-page button.flow-copy-success{background:#E8F1F8!important;border-color:#015D9B!important;box-shadow:inset 0 0 0 1px #015D9B!important;color:#015D9B!important;white-space:nowrap!important;filter:none!important;padding-inline:8px!important;gap:4px!important;}
.flow-page button.flow-copy-success svg{display:block;width:18px;height:18px;flex-shrink:0;color:#015D9B;}
.flow-copy-label{min-width:0;white-space:nowrap;}
.flow-copy-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0;}

.flow-dialog-backdrop{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;background:#0f2137b3;padding:24px 16px;overflow:auto;overscroll-behavior:contain;}
.flow-dialog{box-sizing:border-box;width:100%;max-width:440px;max-height:calc(100dvh - 48px);overflow:auto;padding:24px;border-radius:16px;background:#fff;color:#0F2137;font-family:Poppins,sans-serif;box-shadow:0 12px 40px #0003;}
.flow-dialog h2{margin:0 0 12px;color:#0F2137;font-size:22px;line-height:1.3;}
.flow-dialog p{margin:0 0 20px;color:#0F2137;font-size:14px;line-height:1.6;}
.flow-dialog input{box-sizing:border-box;width:100%;min-height:44px;margin-bottom:20px;padding:10px 12px;border:1px solid #0f213740;border-radius:8px;background:#F5F5F5;color:#0F2137;font:inherit;font-size:16px;}
.flow-dialog-actions{display:flex;gap:12px;}
.flow-dialog-actions button{flex:1;min-width:0;min-height:44px;padding:10px 12px;border:1px solid #0f213740;border-radius:8px;background:#F5F5F5;color:#0F2137;font:inherit;font-weight:600;white-space:nowrap;touch-action:manipulation;cursor:pointer;}
.flow-dialog-actions .flow-dialog-primary{background:#15803D;border-color:#15803D;color:#fff;}
.flow-dialog :focus-visible{outline:3px solid #0F2137;outline-offset:3px;}
.flow-dialog .flow-dialog-status{margin:12px 0 0;}
.flow-dialog-status:empty{display:none;}

.flow-dialog{background:#F5F5F5;}
.flow-dialog a{display:inline-block;margin-bottom:20px;color:#015D9B;}
.access-remaining{margin:10px 0 0;color:#0F2137;font-family:Poppins,sans-serif;font-size:13px;}

.flow-dialog input[aria-invalid="true"]{border-color:#b91c1c;}
.flow-dialog-actions button:disabled{opacity:.65;cursor:wait;}
