@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap";:root{--ink: #142d4c;--muted: #65778d;--blue: #075ba8;--blue-dark: #163b8f;--accent: #00a7e1;--line: #dbe4ed;--paper: #ffffff;--canvas: #f3f7fb;--danger: #b73535;--shadow: 0 18px 60px rgba(17, 54, 45, .11)}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--ink);font-family:Manrope,sans-serif}h1{margin-bottom:8px;font-size:clamp(2rem,4vw,3.15rem);line-height:1.05;letter-spacing:-.045em}h2{margin-bottom:6px;letter-spacing:-.025em}.muted,.page-heading p,.section-title p{color:var(--muted)}.eyebrow{margin-bottom:8px;color:var(--accent);font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.login-shell{display:grid;min-height:100vh;grid-template-columns:1.12fr .88fr;background:var(--paper)}.login-panel{position:relative;display:flex;overflow:hidden;padding:48px 7vw;flex-direction:column;justify-content:space-between;color:#fff;background:linear-gradient(145deg,var(--blue-dark) 0%,var(--blue) 58%,#008dcc 100%)}.login-panel:before{position:absolute;right:-9vw;bottom:-15vw;width:37vw;height:37vw;border:1px solid rgba(255,255,255,.13);border-radius:50%;box-shadow:0 0 0 5vw #ffffff09,0 0 0 11vw #ffffff06;content:""}.brand-lockup,.brand-button{display:flex;align-items:center;gap:15px}.brand-lockup{position:relative;z-index:1}.brand-lockup img{width:150px;max-height:62px;object-fit:contain;filter:brightness(0) invert(1)}.brand-lockup span{padding-left:15px;border-left:1px solid rgba(255,255,255,.35);font-size:.8rem;letter-spacing:.06em}.login-copy{position:relative;z-index:1;max-width:650px;padding:80px 0 8vh}.login-copy .eyebrow{color:#ffb181}.login-copy h1{max-width:600px;color:#fff;font-size:clamp(3rem,5.2vw,5.6rem)}.login-copy>p:last-child{max-width:490px;margin-top:24px;color:#ffffffb8;font-size:1.12rem;line-height:1.7}.login-form-wrap{display:grid;padding:40px;place-items:center;background:#fbfcfa}.login-card{display:flex;width:min(430px,100%);flex-direction:column;gap:25px}.login-card h2{margin:0;font-size:2rem}.field{display:flex;min-width:0;flex-direction:column;gap:8px;color:var(--ink);font-size:.86rem;font-weight:700}.field small{float:right;color:#92a09c;font-weight:500}.field input,.field textarea,.search-box{width:100%;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);transition:border-color .18s,box-shadow .18s}.field input{height:48px;padding:0 14px}.field textarea{min-height:150px;padding:14px;line-height:1.55;resize:vertical}.field input:focus,.field textarea:focus,.search-box:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px #075ba81a;outline:none}.button{min-height:44px;padding:0 20px;border:1px solid transparent;border-radius:7px;font-weight:700;transition:transform .16s,background .16s}.button:not(:disabled):active{transform:translateY(1px)}.button.primary{background:var(--blue);color:#fff;box-shadow:0 7px 18px #075ba833}.button.primary:not(:disabled):hover{background:var(--blue-dark)}.button.ghost{border-color:var(--line);background:#fff;color:var(--ink)}.button.ghost:hover{border-color:#adbbb6}.button.wide{width:100%}.text-button{padding:4px;border:0;background:none;color:var(--blue);font-weight:700}.text-button.danger{color:var(--danger)}.icon-button{width:38px;height:38px;border:0;border-radius:50%;background:#f1f5f2;color:var(--ink);font-size:1.5rem}.alert{padding:13px 16px;border-radius:7px;font-size:.9rem}.alert.error{border:1px solid #f2caca;background:#fff1f0;color:#972f2f}.alert.success{border:1px solid #b9dfd3;background:#edf9f4;color:#17614d}.global-alert{position:fixed;z-index:15;top:82px;left:50%;display:flex;width:min(600px,calc(100% - 32px));justify-content:space-between;transform:translate(-50%);box-shadow:var(--shadow)}.global-alert button{border:0;background:none;color:inherit;font-size:1.2rem}.dashboard{min-height:100vh;background:var(--canvas)}.topbar{position:sticky;z-index:10;top:0;display:grid;height:74px;padding:0 clamp(20px,5vw,72px);grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--line);background:#fffffff0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand-button{justify-self:start;padding:0;border:0;background:none;color:var(--muted);font-size:.74rem}.brand-button img{width:116px;max-height:47px;object-fit:contain}.brand-button span{padding-left:13px;border-left:1px solid var(--line)}.topbar nav{display:flex;height:100%;gap:32px}.topbar nav button{position:relative;padding:0 3px;border:0;background:none;color:var(--muted);font-weight:700}.topbar nav button.active{color:var(--blue)}.topbar nav button.active:after{position:absolute;right:0;bottom:0;left:0;height:3px;background:var(--accent);content:""}.logout-button{justify-self:end;border:0;background:none;color:var(--muted);font-weight:700}.page-content{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:65px 0 110px}.page-heading{display:flex;margin-bottom:35px;justify-content:space-between;align-items:end;gap:25px}.page-heading>div{max-width:690px}.page-heading>div>p:last-child{margin:0}.toolbar{display:flex;margin-bottom:16px;justify-content:space-between;align-items:center;gap:20px}.search-box{display:flex;max-width:430px;height:45px;padding:0 14px;align-items:center;gap:9px;color:var(--muted)}.search-box input{width:100%;border:0;outline:0;background:transparent;color:var(--ink)}.selection-count{color:var(--muted);font-size:.85rem}.selection-count strong{color:var(--blue)}.toolbar-actions{display:flex;align-items:center;gap:18px}.organize-help{display:flex;flex-direction:column;color:var(--ink);font-size:.88rem}.organize-help span{margin-top:3px;color:var(--muted);font-size:.8rem}.table-card,.content-card,.send-summary{border:1px solid var(--line);border-radius:11px;background:var(--paper);box-shadow:0 8px 25px #18332d09}.recipient-row{display:grid;min-height:70px;padding:12px 20px;grid-template-columns:38px 1.1fr 1.4fr .7fr;align-items:center;border-bottom:1px solid #e8eeea;transition:background .14s}.recipient-row:last-child{border-bottom:0}.recipient-row:not(.table-header):hover,.recipient-row.selected{background:#f1f7fd}.table-header{min-height:48px;color:var(--muted);background:#f8faf8;font-size:.74rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.recipient-row input[type=checkbox]{width:17px;height:17px;accent-color:var(--blue)}.person-cell{display:flex;min-width:0;align-items:center;gap:12px}.position-number{display:grid;width:27px;height:27px;flex:0 0 auto;place-items:center;border:1px solid #c9dbea;border-radius:6px;background:#f1f7fd;color:var(--blue);font-size:.75rem;font-weight:800}.avatar{display:grid;width:35px;height:35px;flex:0 0 auto;place-items:center;border-radius:50%;background:#dcecf8;color:var(--blue);font-weight:800}.email-cell{overflow:hidden;color:var(--muted);text-overflow:ellipsis}.align-right{text-align:right}.row-actions{display:flex;justify-content:flex-end;gap:10px}.order-actions{display:flex;justify-content:flex-end;gap:7px}.order-button{display:grid;width:35px;height:35px;padding:0;place-items:center;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--blue);font-size:1.05rem;font-weight:800}.order-button:not(:disabled):hover{border-color:var(--blue);background:#f0f7fd}.empty-state{padding:70px 20px;text-align:center}.empty-state p{margin:0;color:var(--muted)}.empty-mark{display:grid;width:55px;height:55px;margin:0 auto 16px;place-items:center;border-radius:50%;background:#e5f1fa;color:var(--blue);font-size:1.5rem;font-weight:800}.sticky-action{position:sticky;z-index:5;bottom:20px;display:flex;width:calc(100% - 40px);max-width:780px;min-height:72px;margin:24px auto 0;padding:12px 14px 12px 24px;justify-content:space-between;align-items:center;gap:20px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:var(--ink);color:#fff;box-shadow:0 16px 40px #0a2a2238}.sticky-action span{color:#ffffff9e}.sticky-action .button{background:var(--accent);box-shadow:none}.sticky-action .button:hover{background:#008fc3}.composer-page{width:min(1240px,calc(100% - 40px))}.composer-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:22px}.stack{display:flex;flex-direction:column;gap:22px}.content-card{padding:clamp(22px,4vw,38px)}.section-title{display:flex;margin-bottom:28px;align-items:flex-start;gap:14px}.section-title h2{margin:0;font-size:1.25rem}.section-title p{margin:4px 0 0;font-size:.86rem}.step-number{display:grid;width:31px;height:31px;flex:0 0 auto;place-items:center;border-radius:50%;background:var(--blue);color:#fff;font-weight:800}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-grid .full{grid-column:1 / -1}.variable-help{display:grid;margin-top:16px;padding:14px;grid-template-columns:auto auto 1fr auto 1fr;align-items:center;gap:9px;border-radius:7px;background:#f3f7f4;color:var(--muted);font-size:.78rem}.variable-help code{padding:4px 7px;border-radius:4px;background:#dcecf8;color:var(--blue);font-weight:800}.save-settings{margin-top:14px}.file-list{border-top:1px solid var(--line)}.bulk-upload{display:flex;margin-bottom:22px;padding:18px;align-items:center;justify-content:space-between;gap:20px;border:1px solid #bdd8ed;border-radius:9px;background:#f1f7fd}.bulk-upload>div{display:flex;min-width:0;flex-direction:column;gap:4px}.bulk-upload span{color:var(--muted);font-size:.8rem;line-height:1.45}.bulk-button{display:flex;flex:0 0 auto;align-items:center;justify-content:center;cursor:pointer}.bulk-button input{position:absolute;width:1px;height:1px;opacity:0}.file-row{display:grid;min-height:80px;padding:14px 0;grid-template-columns:45px minmax(150px,1fr) minmax(210px,.9fr);align-items:center;gap:14px;border-bottom:1px solid var(--line)}.file-order{color:#a0ada8;font-family:Manrope,sans-serif;font-weight:800}.file-person{display:flex;min-width:0;flex-direction:column}.file-person span{overflow:hidden;color:var(--muted);font-size:.82rem;text-overflow:ellipsis}.file-picker{position:relative;display:flex;overflow:hidden;min-height:42px;padding:0 13px;align-items:center;justify-content:center;border:1px dashed #aab9c8;border-radius:7px;color:var(--blue);font-size:.82rem;font-weight:700;text-align:center;cursor:pointer}.file-picker.has-file{justify-content:flex-start;border-style:solid;border-color:#a8cae5;background:#f0f7fd}.file-picker span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.file-picker input{position:absolute;width:1px;height:1px;opacity:0}.send-summary{position:sticky;top:96px;padding:26px}.send-summary h2{font-size:1.25rem}.summary-stat{display:flex;padding:17px 0;align-items:baseline;gap:10px;border-bottom:1px solid var(--line)}.summary-stat strong{color:var(--blue);font-family:Manrope,sans-serif;font-size:1.8rem}.summary-stat span{color:var(--muted);font-size:.84rem}.summary-note{margin:22px 0;color:var(--muted);font-size:.82rem;line-height:1.55}.result-banner{display:flex;margin-bottom:22px;padding:24px;justify-content:space-between;gap:25px;border:1px solid #aedbc9;border-radius:10px;background:#effaf5}.result-banner.partial{border-color:#f1cf9a;background:#fff8e9}.result-banner h2{margin-bottom:4px;font-size:1.2rem}.result-banner p{margin-bottom:0}.result-list{display:flex;max-width:50%;flex-wrap:wrap;justify-content:flex-end;gap:7px}.result-list span{padding:5px 9px;border-radius:20px;background:#fff;font-size:.76rem}.result-list .sent{color:#17614d}.result-list .failed{color:var(--danger)}.modal-backdrop{position:fixed;z-index:30;top:0;right:0;bottom:0;left:0;display:grid;padding:20px;place-items:center;background:#08211b94;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{width:min(520px,100%);max-height:calc(100vh - 40px);overflow-y:auto;padding:30px;border-radius:12px;background:#fff;box-shadow:var(--shadow)}.modal.confirmation{width:min(650px,100%)}.modal-header{display:flex;margin-bottom:24px;justify-content:space-between;align-items:start;gap:20px}.modal-header h2{margin:0}.modal-actions{display:flex;margin-top:8px;justify-content:flex-end;gap:10px}.confirm-summary{display:grid;margin:22px 0;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:8px}.confirm-summary div{display:flex;min-width:0;padding:14px;flex-direction:column;border-bottom:1px solid var(--line)}.confirm-summary div:nth-child(odd){border-right:1px solid var(--line)}.confirm-summary div:nth-last-child(-n+2){border-bottom:0}.confirm-summary span{color:var(--muted);font-size:.75rem}.confirm-summary strong{overflow:hidden;margin-top:4px;text-overflow:ellipsis}.recipient-preview{display:flex;max-height:140px;padding:12px;overflow-y:auto;flex-direction:column;gap:7px;border-radius:7px;background:#f4f7f4;color:var(--muted);font-size:.82rem}.sending-backdrop{z-index:40;cursor:wait}.sending-card{width:min(460px,100%);padding:44px 35px;border-radius:14px;background:#fff;text-align:center;box-shadow:var(--shadow)}.sending-card h2{margin-bottom:10px}.sending-card>p:last-child{max-width:350px;margin:0 auto;color:var(--muted);line-height:1.55}.sending-spinner{display:block;width:58px;height:58px;margin:0 auto 27px;border:5px solid #dcecf8;border-top-color:var(--blue);border-radius:50%;animation:sending-spin .8s linear infinite}.success-modal{width:min(460px,100%);padding:42px 35px 35px;text-align:center}.success-modal>p:not(.eyebrow){margin-bottom:28px;color:var(--muted)}.success-mark{display:grid;width:66px;height:66px;margin:0 auto 23px;place-items:center;border-radius:50%;background:#e3f5ec;color:#16724f;font-size:2rem;font-weight:800}.success-modal .button{margin-top:4px}.loading-screen{display:flex;min-height:100vh;align-items:center;justify-content:center;flex-direction:column;gap:20px;color:var(--muted)}.loading-screen img{width:160px}@keyframes sending-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.sending-spinner{animation-duration:1.8s}}@media (max-width: 900px){.login-shell{grid-template-columns:1fr}.login-panel{min-height:320px;padding:30px}.login-copy{padding:65px 0 10px}.login-copy h1{font-size:clamp(2.5rem,10vw,4rem)}.login-form-wrap{padding:60px 24px}.composer-grid{grid-template-columns:1fr}.send-summary{position:static}.topbar{grid-template-columns:1fr auto}.topbar nav{position:fixed;right:0;bottom:0;left:0;height:64px;justify-content:center;gap:70px;border-top:1px solid var(--line);background:#fff}.logout-button{grid-column:2}.page-content{padding-bottom:100px}}@media (max-width: 650px){.brand-button span{display:none}.topbar{height:64px;padding:0 18px}.page-content,.composer-page{width:min(100% - 28px,1180px);padding-top:38px}.page-heading{align-items:stretch;flex-direction:column}.page-heading .button{align-self:flex-start}.toolbar{align-items:stretch;flex-direction:column}.toolbar-actions{justify-content:space-between}.search-box{max-width:none}.recipient-row{padding:14px;grid-template-columns:30px 1fr auto}.table-header span:nth-of-type(2),.table-header span:nth-of-type(3),.email-cell{display:none}.table-header{grid-template-columns:30px 1fr}.row-actions{flex-direction:column;gap:2px}.person-cell{align-items:center;gap:8px}.avatar{display:none}.sticky-action{width:100%;padding:12px;flex-direction:column;text-align:center}.sticky-action .button{width:100%}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.variable-help{grid-template-columns:auto 1fr}.variable-help strong{grid-column:1 / -1}.file-row{grid-template-columns:34px 1fr}.bulk-upload{align-items:stretch;flex-direction:column}.bulk-button{width:100%}.file-picker{grid-column:2}.result-banner{flex-direction:column}.result-list{max-width:none;justify-content:flex-start}.confirm-summary{grid-template-columns:1fr}.confirm-summary div,.confirm-summary div:nth-child(odd),.confirm-summary div:nth-last-child(-n+2){border-right:0;border-bottom:1px solid var(--line)}.confirm-summary div:last-child{border-bottom:0}.modal-actions{flex-direction:column-reverse}.modal-actions .button{width:100%}}:root{font-family:DM Sans,sans-serif;color:#18332d;background:#f4f7f4;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html{min-width:320px;min-height:100%}body{margin:0;min-width:320px;min-height:100vh}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid rgba(236,114,36,.25);outline-offset:2px}
