:root{font-family:Inter,system-ui,sans-serif;color:#1c2d3e;background:#f3f6f8;font-size:15px}*{box-sizing:border-box}body{margin:0}header{height:88px;padding:0 7%;display:flex;align-items:center;gap:28px;background:#fff;border-bottom:1px solid #dee5e9}.brand{font-size:25px;font-weight:750;text-decoration:none;color:#1c2d3e}.symbol{display:inline-grid;place-items:center;background:#164b46;color:#fff;width:38px;height:38px;border-radius:12px}.subtitle,.eyebrow{font-size:11px;font-weight:750;letter-spacing:2px;color:#52766d}#session-status{margin-left:auto;font-size:13px;color:#697c88}main{max-width:1200px;margin:55px auto;padding:0 30px}h1{font-size:42px;letter-spacing:-1.6px;margin:12px 0}h2{font-size:23px;margin:0 0 22px}h3{font-size:16px}#intro{color:#697c88;margin-bottom:35px}section{background:#fff;border:1px solid #dee6eb;padding:30px;border-radius:16px;margin-top:22px;box-shadow:0 6px 24px #20334205}nav{display:flex;gap:8px}button{cursor:pointer;background:#164b46;color:#fff;border:0;border-radius:8px;padding:11px 14px;font:inherit;font-weight:600}button:hover{background:#216a61}button:disabled{opacity:.45;cursor:default}nav button{background:transparent;color:#6a7b86}nav button.selected{background:#e0ebe7;color:#164b46}#logout{margin-left:auto}input,select{padding:12px;border:1px solid #ccd7de;border-radius:7px;font:inherit;max-width:100%;background:white;color:#243c4b}label{display:flex;flex-direction:column;gap:8px;margin:0 0 20px;font-size:13px;font-weight:650}form{max-width:720px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.check{flex-direction:row;align-items:center;font-weight:400;grid-column:1/-1}.check input{width:17px;height:17px}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;color:#6b7d8a;font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.7px}td,th{padding:17px 10px;border-bottom:1px solid #e9eef1}td{max-width:290px;overflow-wrap:anywhere}td button{font-size:12px;padding:7px 10px;margin:2px}.table-wrap{overflow-x:auto}.badge{display:inline-block;font-size:11px;padding:6px 9px;background:#e7f0ec;color:#2e6556;border-radius:5px;white-space:nowrap}.badge.unencrypted,.danger{background:#fff0e5;color:#924a23}.danger{margin-top:20px}.muted,footer{color:#6e808b;font-size:13px;line-height:1.65}.notice{background:#edf4f1;border-left:3px solid #34766b;padding:16px;margin-bottom:20px;overflow-wrap:anywhere}.section-heading{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.section-heading h2{margin-right:auto;margin-bottom:0}.dropzone{border:2px dashed #b8cbc6;align-items:center;padding:40px;background:#f8fbfa;margin-top:28px}.upload-controls{display:flex;gap:10px}progress{width:100%;height:16px;margin-top:30px;accent-color:#226b5c}footer{text-align:center;margin-top:35px}#login{max-width:500px}#error{background:#fff0eb;border:1px solid #e8c1b2;color:#8f3529;padding:15px;border-radius:8px}dialog{border:1px solid #ccd9d4;border-radius:14px;padding:30px;max-width:450px}dialog::backdrop{background:#102b3b66}[hidden]{display:none!important}@media(max-width:700px){header{padding:0 20px}.subtitle{display:none}main{padding:0 15px;margin-top:30px}h1{font-size:32px}section{padding:20px}nav{flex-wrap:wrap}.grid{grid-template-columns:1fr}}
.js-only{display:none!important}.js .js-only{display:block!important}.option-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.option-card{border:1px solid #dce6e2;border-radius:12px;padding:20px;background:#fafcfb}.option-card p{font-size:13px;line-height:1.65;color:#5b707c}.option-card h3{margin-top:0}.button-link{display:inline-block;padding:10px 14px;border-radius:8px;text-decoration:none;background:#164b46;color:#fff;font-weight:600}.help-button{padding:8px 12px;background:#e4eeea;color:#20564a}.js button.js-only{display:inline-block!important}textarea{width:100%;padding:12px;border:1px solid #cbd9d3;border-radius:7px;background:#f7faf9;font-family:ui-monospace,monospace;font-size:12px;resize:vertical;overflow-wrap:anywhere}.option-card label{margin-top:18px}.type-settings{display:grid;grid-template-columns:1fr 1fr 1fr;gap:15px}.wide{grid-column:1/-1}.warning{background:#fff0df;color:#8c4315;border-left:3px solid #c46a2a;padding:15px;margin-bottom:20px}#help-text{white-space:pre-wrap;line-height:1.65}button[data-copy]{margin-bottom:20px}@media(max-width:700px){.type-settings{grid-template-columns:1fr}.option-grid{grid-template-columns:1fr}}

fieldset{border:1px solid #dbe5e0;border-radius:10px;padding:20px;margin:0 0 24px}legend{font-weight:650;font-size:14px;padding:0 8px}fieldset .check{margin-bottom:12px}#token-types>div{display:flex;align-items:center;gap:12px;margin-bottom:10px}#token-types label{flex:1;margin:0}#key-status textarea{margin-top:8px}#step-error{color:#8f3529}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #52a28e;outline-offset:3px}.js [hidden]{display:none!important}

button:not(:disabled):active,.button-link:active,.button-pressed{transform:translateY(1px);box-shadow:inset 0 0 0 3px #78b6a9!important}button[aria-busy="true"]{cursor:progress;box-shadow:inset 0 0 0 2px #78b6a9}#integrity-result{white-space:pre-wrap;overflow-wrap:anywhere}#integrity-result[data-result="match"]{border-color:#287252;background:#e9f5ed}#integrity-result[data-result="mismatch"]{border-color:#ab382e;background:#fff0eb;color:#8f3529}

/* Keep each card's actions at matching heights despite different descriptions. */
.option-card{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.option-card p{flex:1;margin-bottom:16px}
.option-card label{width:100%}
.option-card .copy-command{margin-top:auto}
#upload-queue li{margin-bottom:18px;overflow-wrap:anywhere}
.hash-comparison,#integrity-result{white-space:pre-wrap;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:13px;line-height:1.65;overflow-wrap:anywhere}
.hash-comparison{margin-top:8px}

.upload-unavailable{max-width:640px;margin:28px auto;text-align:center;padding:44px 30px}.upload-unavailable p{color:#5b707c;line-height:1.75}.upload-unavailable h2{margin:22px 0 16px}.unavailable-icon{display:grid;place-items:center;width:72px;height:72px;margin:auto;border-radius:22px;background:#e7f0ec;color:#164b46;font-size:38px}.upload-unavailable .button-link{margin-top:16px}@media(max-width:700px){.upload-unavailable{padding:30px 20px}}

/* Separate upload-link actions from the receipt and adjacent link details. */
#new-link{margin-top:16px}
#new-link textarea{display:block;margin-top:8px}
#new-link button{margin-top:10px}
#token-list{display:grid;grid-template-columns:minmax(0, 1fr) auto;gap:16px 16px;align-items:center;max-width:720px;margin-top:22px}
#token-list .token-row{display:contents}
#token-list .token-description{min-width:0;overflow-wrap:anywhere}
#token-list .token-actions{justify-self:end}
#token-list button{padding:6px 10px;font-size:13px;white-space:nowrap}

/* Use a regular overlay so password-manager popovers remain interactive. */
#step-overlay{position:fixed;inset:0;background:#102b3b66;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}#step-dialog{background:#fff;border:1px solid #ccd9d4;border-radius:14px;padding:30px;width:450px;max-width:100%;max-height:calc(100dvh - 40px);overflow:auto}
