[hidden]{display:none!important}.runtime-banner{padding:15px 18px;border-radius:9px;background:#e4ebfa;border:1px solid #cdd8f0;font-size:14px;line-height:1.6;color:#334c80;margin:0 0 16px}.runtime-banner.unavailable{background:#fff3ed;color:#8d3b22;border-color:#efd5c7}.account-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);align-items:start;gap:26px}.account-hero{margin-bottom:28px}.account-help{color:var(--muted);margin:16px 0 24px;font-size:16px}.account-grid form{margin:20px 0}.account-grid label{display:block;font-size:15px;font-weight:600;margin:0 0 9px}.account-grid input{display:block;min-height:48px;width:100%;max-width:100%;padding:12px;border-radius:8px;border:1px solid #b8c5dc;font:inherit;color:var(--ink);background:#fff}.account-grid input:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.account-grid form .button{width:100%;margin-top:16px;cursor:pointer}.account-grid button,.simulation-panel button,.pending-row button{font-family:inherit;cursor:pointer}.account-grid button:disabled,.simulation-panel button:disabled{opacity:.55;cursor:not-allowed}.account-message{min-height:1.6em;color:#314f88;font-size:15px;line-height:1.65;overflow-wrap:anywhere}.account-message.error{color:#a63221;background:#fff1eb;padding:13px 16px;border-radius:7px}.account-aside h2{font-size:25px}.account-aside .plain-list{font-size:15px;color:var(--muted)}.account-aside .button{width:100%;margin:8px 0 20px}.test-inbox{padding:18px;background:#f0f4fd;border:1px dashed #b3c2e5;border-radius:8px;margin-top:20px}.test-inbox p{font-size:14px;margin:8px 0 14px;color:var(--muted)}.test-inbox output{display:block;font:700 24px/1.5 monospace;letter-spacing:.18em;margin-top:12px;overflow-wrap:anywhere}.card-heading{display:flex;gap:20px;justify-content:space-between;align-items:center}.card-heading .eyebrow{margin-bottom:8px}.identity-email{font-size:18px;font-weight:600;overflow-wrap:anywhere;margin:22px 0}.ownership{padding:22px;background:#f0f4fd;border-radius:9px;margin:22px 0}.ownership h3{font-size:22px;margin:15px 0 10px}.ownership p{font-size:15px;line-height:1.7;color:var(--muted);margin:0}.profile-panel>#download-v1{width:100%;margin-bottom:14px}.account-actions{display:flex;flex-wrap:wrap;gap:18px;align-items:center;margin:22px 0}.text-action{border:0;background:none;color:var(--blue);font:600 14px/1.5 Arial,sans-serif;text-decoration:underline;cursor:pointer;padding:10px 0}.purchase-history,.simulation-panel{margin-top:26px}.purchase-history .card-heading{margin-bottom:23px}.order-row,.pending-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;border-top:1px solid var(--line);padding:18px 0}.order-row p,.pending-row p{font-size:14px;color:var(--muted);margin:8px 0 0;overflow-wrap:anywhere}.order-row strong{font-size:16px}.order-row .status-tag{text-transform:capitalize}.simulation-panel{border-color:#acbce7;background:#f5f8ff}.simulation-panel p{font-size:15px;color:var(--muted);margin:16px 0}.simulation-actions{display:flex;gap:14px;flex-wrap:wrap}.simulation-actions .button{cursor:pointer}.account-grid .small{margin-top:18px}button:focus-visible{outline:3px solid var(--blue);outline-offset:4px}#artifact-info{font-family:monospace;overflow-wrap:anywhere;font-size:12px}#pending-list:not(:empty){margin:20px 0}.pending-row .button{font-size:13px}.runtime-banner:empty,.account-message:empty{display:none}
@media(max-width:800px){.account-grid{grid-template-columns:1fr}.account-aside{margin-top:0}.account-grid .card{padding:24px}.card-heading{align-items:flex-start}.card-heading .button{font-size:13px;min-height:42px;padding:10px 13px}.simulation-actions{flex-direction:column;align-items:stretch}.simulation-actions .button{justify-content:center}.account-actions{align-items:stretch;flex-direction:column;gap:9px}.account-actions .button{justify-content:center}.order-row,.pending-row{grid-template-columns:1fr;gap:12px}.order-row .status-tag{justify-self:start}.account-message{font-size:14px}.account-aside .plain-list{font-size:15px}}
.status-tag.pro{background:var(--blue);color:#fff}.usage-list{list-style:none;margin:0 0 20px;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px}.usage-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;font-size:14px;color:var(--muted)}.usage-list strong{color:var(--ink);font-size:14px}.meter{grid-column:1/-1;height:6px;border-radius:3px;background:var(--soft);overflow:hidden}.meter span{display:block;height:100%;background:var(--blue)}.plan-choices{display:flex;gap:12px;flex-wrap:wrap}.plan-choices .button{max-width:none;flex:1 1 220px;cursor:pointer}
.workspace-panel{margin-top:26px}.workspace-panel h2{margin-bottom:18px}.filter-label{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600}.filter-label select{min-height:40px;border:1px solid #b8c5dc;border-radius:8px;padding:0 8px;font:inherit;background:#fff}
.receivables{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 14px}.recv{display:grid;gap:2px;padding:14px 16px;border-radius:9px;background:var(--soft);min-width:180px}.recv span{font-size:13px;color:var(--muted)}.recv strong{font-size:20px}.recv .overdue{color:#a63221;font-weight:600}
.doc-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto;gap:6px 16px;align-items:center;border-top:1px solid var(--line);padding:14px 0}.doc-main p{margin:4px 0 0;font-size:14px;color:var(--muted);overflow-wrap:anywhere}.doc-amount{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.row-actions{display:flex;flex-wrap:wrap;gap:4px 14px;justify-content:flex-end}
.status-tag{text-transform:capitalize}.status-paid{background:#e3f4ea;color:#1d6a43}.status-overdue{background:#fde9e4;color:#a63221}.status-partial{background:#fff3dc;color:#8a5a00}.status-sent{background:var(--soft);color:#345098}.status-draft{background:#eef0f3;color:#53627a}
.pay-form,.rem-form{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;padding:12px;border-radius:9px;background:#f6f8fc;border:1px solid var(--line);margin:4px 0 0}.pay-form label{display:grid;gap:6px;font-size:14px;font-weight:600}.pay-form input{min-height:42px;border:1px solid #b8c5dc;border-radius:8px;padding:0 10px;font:inherit;width:160px}.pay-form .button,.rem-form .button{width:auto;cursor:pointer;min-height:42px}.rem-form legend{font-size:14px;font-weight:600;padding:0 4px}.rem-form label{display:flex;align-items:center;gap:6px;font-size:14px;min-height:36px}
.text-action.danger{color:#a63221}.library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}.library-grid .workspace-panel{margin-top:26px}.inline-form{display:grid;gap:6px;margin:0 0 18px}.inline-form label{font-size:14px;font-weight:600;margin-top:6px}.inline-form input,.inline-form textarea{min-height:44px;width:100%;padding:10px;border-radius:8px;border:1px solid #b8c5dc;font:inherit;background:#fff;color:var(--ink)}.inline-form textarea{resize:vertical}.pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pair label{display:block;margin-bottom:6px}.form-actions{display:flex;gap:14px;align-items:center;margin-top:10px}.form-actions .button{width:auto;cursor:pointer}
.lib-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;border-top:1px solid var(--line);padding:12px 0}.lib-row p{margin:4px 0 0;font-size:13px;color:var(--muted);overflow-wrap:anywhere}#data-panel .button{width:auto}.outbox-item{border-top:1px solid var(--line);padding:10px 0}.outbox-item summary{cursor:pointer;font-size:14px;font-weight:600;overflow-wrap:anywhere}.outbox-item pre{white-space:pre-wrap;font-size:13px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:12px;overflow-wrap:anywhere}.simulation-panel h3{margin-top:24px}#sim-checkout,#sim-subscription{margin-bottom:16px}
@media(max-width:800px){.usage-list{grid-template-columns:1fr}.doc-row{grid-template-columns:1fr}.row-actions{justify-content:flex-start}.library-grid{grid-template-columns:1fr;gap:0}.pair{grid-template-columns:1fr}.plan-choices{flex-direction:column}.card-heading{flex-wrap:wrap}}
/* Google sign-in, shown only when the server enables it. White button per Google branding guidance. */
.button.google{width:100%;justify-content:center;gap:12px;background:#fff;color:#1f1f1f;border-color:#747775;cursor:pointer}
.button.google svg{flex:none}
.or-divider{display:flex;align-items:center;gap:12px;margin:20px 0 4px;color:var(--muted);font-size:14px}
.or-divider::before,.or-divider::after{content:"";flex:1;height:1px;background:var(--line)}
/* Sign-in is a form; a verified session becomes a compact workspace, without a sign-in flash. */
body:has(.account-hero)>.review-banner{display:none}.account-hero{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px}.account-hero h1{font-size:clamp(30px,3.5vw,42px)}.account-hero .lede{font-size:17px;margin:14px 0 0;max-width:720px}.account-hero>.button{flex:none;white-space:nowrap}
.account-loading{min-height:330px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;margin:22px 0}.account-loading h2{font-size:24px;margin:18px 0 12px}.account-loading p{color:var(--muted);margin:0}.account-loading-mark{width:34px;height:34px;border:3px solid #e5ebf6;border-top-color:var(--blue);border-radius:50%;animation:account-wait 1s linear infinite}
@keyframes account-wait{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.account-loading-mark{animation:none;border-top-color:var(--blue)}}
.account-unavailable{margin:22px 0}.account-unavailable p{margin:16px 0;color:var(--muted)}.account-unavailable>a{display:inline-block;margin:14px 18px;font-size:15px}.runtime-banner{font-size:13px;padding:10px 14px;margin-bottom:18px;border-radius:7px}.account-message{margin:0 0 16px}
body[data-account-state=signed-in] .account-grid{grid-template-columns:1fr;gap:0}body[data-account-state=signed-in] .profile-panel{padding:24px 28px}body[data-account-state=signed-in] .profile-panel .card-heading h2{font-size:22px}body[data-account-state=signed-in] .profile-panel .identity-email{font-size:14px;margin:10px 0 0;color:var(--muted)}
body[data-account-state=signed-in] .ownership{display:grid;grid-template-columns:auto minmax(120px,auto) 1fr;align-items:center;gap:10px 18px;margin:18px 0;padding:16px 18px}body[data-account-state=signed-in] .ownership h3{font-size:18px;margin:0}body[data-account-state=signed-in] .ownership p{font-size:14px}body[data-account-state=signed-in] .usage-list{grid-template-columns:repeat(4,minmax(0,1fr));margin:18px 0}body[data-account-state=signed-in] .usage-list li{display:flex;flex-direction:column;gap:7px;font-size:13px}body[data-account-state=signed-in] .usage-list strong{font-size:18px}body[data-account-state=signed-in] .usage-list .meter{width:100%}
body[data-account-state=signed-in] .account-actions{margin:16px 0 0;gap:18px}body[data-account-state=signed-in] .profile-panel>.small{font-size:13px;margin:15px 0 0}#documents,#library,#plan-panel,#data-panel{scroll-margin-top:24px}
@media(max-width:800px){.account-hero{align-items:flex-start;flex-wrap:wrap;gap:18px}.account-hero>.button{min-height:42px;padding:10px 16px}.account-hero .lede{font-size:16px}body[data-account-state=signed-in] .profile-panel{padding:22px}body[data-account-state=signed-in] .ownership{grid-template-columns:auto 1fr;gap:12px}body[data-account-state=signed-in] .ownership p{grid-column:1/-1}body[data-account-state=signed-in] .usage-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}body[data-account-state=signed-in] .account-actions{flex-direction:row}.account-loading{min-height:300px}.account-grid{gap:20px}}
