:root{--ink:#202923;--muted:#68736c;--green:#176b3a;--green-dark:#10542d;--line:#e2e9e4;--surface:#ffffff;--danger:#b42318}*{box-sizing:border-box}#__next,body,html{min-height:100%}body{margin:0;color:var(--ink);background:radial-gradient(ellipse at 14% 8%,rgba(212,231,216,.62),transparent 32rem),radial-gradient(ellipse at 92% 88%,rgba(239,224,218,.5),transparent 28rem),#f5f7f4;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}.app-shell{min-height:100vh;display:grid;place-items:center;padding:40px 20px}.portal-card{width:min(100%,470px);padding:clamp(24px,5vw,42px);border:1px solid rgba(226,233,228,.9);border-radius:22px;background:var(--surface);box-shadow:0 24px 70px rgba(30,54,38,.09),0 2px 8px rgba(30,54,38,.035);text-align:center}.portal-card--wide{width:min(100%,790px)}.brand-logo{display:block;width:min(100%,230px);height:auto;margin:0 auto 22px}.eyebrow{margin:0 0 8px;color:var(--green);font-size:11px;font-weight:750;letter-spacing:.15em;text-transform:uppercase}.page-title{margin:0;font-size:clamp(25px,5vw,32px);font-weight:740;letter-spacing:-.04em;line-height:1.15}.page-copy{max-width:390px;margin:12px auto 27px;color:var(--muted);font-size:15px;line-height:1.65}.portal-form{display:grid;grid-gap:17px;gap:17px;text-align:left}.field{display:grid;grid-gap:7px;gap:7px}.field-label{color:#35433a;font-size:13px;font-weight:650}.field-input{width:100%;min-width:0;min-height:50px;padding:12px 14px;border:1px solid #d6dfd8;border-radius:10px;outline:none;background:#fcfdfc;color:var(--ink);font-size:16px;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.field-input::placeholder{color:#9aa49d}.field-input:hover{border-color:#aab9ae}.field-input:focus{border-color:var(--green);background:#fff;box-shadow:0 0 0 4px rgba(23,107,58,.12)}.field-input--code{text-align:center;font-size:22px;font-weight:650;letter-spacing:.28em}.primary-button{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:51px;padding:13px 18px;border:0;border-radius:10px;background:var(--green);color:#fff;font-size:15px;font-weight:700;cursor:pointer;transition:background .18s ease,transform .18s ease,box-shadow .18s ease}.primary-button:hover:not(:disabled){transform:translateY(-1px);background:var(--green-dark);box-shadow:0 7px 15px rgba(23,107,58,.18)}.primary-button:focus-visible,.secondary-button:focus-visible{outline:3px solid #91c5a3;outline-offset:3px}.primary-button:disabled{cursor:not-allowed;opacity:.45}.inline-error{margin:18px 0 0;color:var(--danger);font-size:14px;line-height:1.5}.dashboard-heading{display:grid;justify-items:center;grid-gap:10px;gap:10px}.dashboard-topline{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap}.secondary-button{padding:9px 13px;border:1px solid var(--line);border-radius:9px;background:#fff;color:#5b665f;font-size:13px;font-weight:650;cursor:pointer;transition:border-color .18s ease,color .18s ease,background .18s ease}.secondary-button:hover{border-color:#f0c9c5;background:#fff8f7;color:#9c3028}.document-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:13px;gap:13px;text-align:left}.document-option{display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:10px;padding:18px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(150deg,#fff,#fbfdfb);transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}.document-option:hover{transform:translateY(-2px);border-color:#b7d2bf;box-shadow:0 10px 24px rgba(30,54,38,.07)}.document-mark{display:grid;width:38px;height:38px;place-items:center;border-radius:11px;background:#edf6ef;color:var(--green);font-size:16px;font-weight:800}.document-title{min-height:40px;margin:0;font-size:14px;font-weight:700;line-height:1.45}.document-description{min-height:36px;margin:-4px 0 3px;color:var(--muted);font-size:12px;line-height:1.5}.document-option .primary-button{min-height:43px;margin-top:auto;padding:10px 12px;font-size:13px}.feedback{margin:22px 0 0;padding:13px 15px;border-radius:10px;font-size:14px;line-height:1.55}.feedback--success{border:1px solid #cee5d4;background:#f2faf4;color:#176b3a}.feedback--error{border:1px solid #f0d2ce;background:#fff6f5;color:var(--danger)}@media (max-width:620px){.app-shell{padding:20px 14px}.portal-card{border-radius:18px}.brand-logo{width:min(100%,205px);margin-bottom:18px}.document-grid{grid-template-columns:1fr}.document-option{display:grid;grid-template-columns:40px minmax(0,1fr);grid-column-gap:12px;column-gap:12px;grid-row-gap:4px;row-gap:4px;align-items:center;padding:14px}.document-mark{grid-row:span 2}.document-description,.document-title{min-height:0}.document-option .primary-button{grid-column:1/-1;margin-top:8px}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.document-group{margin-top:28px;padding-top:24px;border-top:1px solid var(--line);text-align:left}.document-group-title{margin:0 0 13px;color:#35433a;font-size:15px;font-weight:750;letter-spacing:-.01em}.document-price{margin:-4px 0 3px;color:var(--green);font-size:13px;font-weight:750}.billing-admin{text-align:left}.billing-admin>.brand-logo,.billing-admin>.eyebrow,.billing-admin>.page-title{margin-left:auto;margin-right:auto;text-align:center}.billing-admin>.page-title{margin-bottom:24px}.admin-login{max-width:360px;margin:0 auto}.billing-toolbar{display:grid;grid-template-columns:repeat(3,minmax(130px,1fr));grid-gap:12px;gap:12px;align-items:end;margin-bottom:20px}.billing-toolbar .primary-button,.billing-toolbar .secondary-button{min-height:46px}.billing-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));grid-gap:10px;gap:10px;margin:16px 0 22px}.billing-summary>div{display:grid;grid-gap:7px;gap:7px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fbfdfb}.billing-summary span{color:var(--muted);font-size:12px}.billing-summary strong{color:var(--ink);font-size:20px}.billing-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px}.billing-table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}.billing-table td,.billing-table th{padding:11px 12px;border-bottom:1px solid var(--line);white-space:nowrap}.billing-table th{background:#f5f8f5;color:#425047;font-size:11px;letter-spacing:.04em;text-transform:uppercase}.billing-table tr:last-child td{border-bottom:0}.small-action{border:1px solid #c8dfce;border-radius:7px;background:#f4faf5;color:var(--green);padding:7px 9px;font:inherit;font-size:12px;font-weight:700;cursor:pointer}.admin-message{color:var(--muted);font-size:13px}@media (max-width:620px){.billing-toolbar{grid-template-columns:1fr 1fr}.billing-toolbar .field:first-child{grid-column:1}.billing-summary{grid-template-columns:1fr 1fr}}.row-actions{display:inline-flex;gap:6px}.small-action--muted{border-color:var(--line);background:#fff;color:var(--muted)}.small-action:disabled{cursor:wait;opacity:.6}.link-button{margin-top:14px;border:0;background:none;color:var(--green);font:inherit;font-size:14px;font-weight:650;cursor:pointer}.link-button:disabled{color:var(--muted);cursor:default}.error-detail{max-width:220px;overflow:hidden;text-overflow:ellipsis;color:var(--danger)}.small-action--danger{border-color:#f0c9c5;background:#fff8f7;color:var(--danger)}.summary-alert{border-color:#f0c9c5!important;background:#fff6f5!important}.summary-alert strong{color:var(--danger)!important}.admin-tabs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:22px;padding-bottom:14px;border-bottom:1px solid var(--line)}.admin-tab{border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted);padding:8px 16px;font:inherit;font-size:14px;font-weight:650;cursor:pointer}.admin-tab--active{border-color:var(--green);background:var(--green);color:#fff}.admin-signout{margin-left:auto}.admin-form{display:grid;grid-gap:14px;gap:14px;margin-bottom:26px;padding:18px;border:1px solid var(--line);border-radius:12px;background:#fbfdfb}.admin-section-title{margin:0;font-size:16px;font-weight:750}.admin-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:12px;gap:12px}.checkbox-field{display:flex;gap:8px;align-items:center;color:#35433a;font-size:14px}.billing-toolbar--compact{grid-template-columns:minmax(180px,1fr) auto}.drop-zone{padding:26px 16px;border:2px dashed #b7d2bf;border-radius:12px;background:#fff;color:var(--muted);text-align:center;cursor:pointer}.drop-zone--active,.drop-zone:hover{border-color:var(--green);background:#f2faf4;color:var(--green)}.upload-queue{display:grid;grid-gap:8px;gap:8px;margin:0;padding:0;list-style:none}.upload-queue li{display:grid;grid-template-columns:minmax(0,1fr) minmax(160px,220px) auto;grid-gap:8px;gap:8px;align-items:center}.upload-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.upload-name small{color:var(--muted)}.cart-bar{position:-webkit-sticky;position:sticky;bottom:12px;z-index:5;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-top:24px;padding:14px 16px;border:1px solid #b7d2bf;border-radius:14px;background:#fff;box-shadow:0 10px 30px rgba(30,54,38,.14);text-align:left}.cart-bar strong{font-size:15px}.cart-bar .primary-button{width:auto;min-width:200px}.document-option--selected{border-color:var(--green);box-shadow:0 0 0 2px rgba(23,107,58,.18)}.document-option .secondary-button.in-cart{border-color:var(--green);color:var(--green);background:#f2faf4}@media (max-width:640px){.billing-toolbar--compact,.upload-queue li{grid-template-columns:1fr}.cart-bar .primary-button{width:100%}}.test-banner{margin:0 0 18px;padding:10px 14px;border:1px solid #f5c26b;border-radius:10px;background:#fff8e6;color:#8a5a00;font-size:13px;font-weight:700;text-align:center}.test-list{margin:0 0 18px;padding-left:18px;text-align:left;font-size:14px;line-height:1.7}.billing-note{margin:0 0 10px;color:var(--muted);font-size:13px}.statement-card{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:10px 16px;gap:10px 16px;align-items:center;margin-bottom:12px;padding:14px 16px;border:1px solid #f5c26b;border-radius:12px;background:#fffaf0;text-align:left}.statement-card .primary-button{width:auto;min-width:170px}.statement-card small{color:var(--muted)}.bank-details{grid-column:1/-1;margin:0;color:#35433a;font-size:13px;line-height:1.6}@media (max-width:640px){.statement-card{grid-template-columns:1fr}.statement-card .primary-button{width:100%}}.page-copy--hint{margin-top:-6px;font-size:13px;color:var(--muted)}.statement-card--early{border-color:#b7d2bf;background:#f2faf4}.wide-button{width:100%;margin-top:14px}.terms-card{width:min(100%,790px)}.terms-box{max-height:46vh;overflow-y:auto;margin:18px 0 16px;padding:18px 20px;border:1px solid #dfe6e1;border-radius:12px;background:#fafcfb}.terms-box:focus{outline:2px solid var(--green);outline-offset:2px}.terms-content{font-size:14px;line-height:1.6;color:#24312a;text-align:left}.terms-title{margin:0 0 6px;font-size:17px;line-height:1.35;color:var(--green-dark)}.terms-updated{margin:0 0 10px;font-size:13px;color:var(--muted)}.terms-meta{margin:0 0 4px;font-size:13px}.terms-section{margin-top:18px}.terms-section h3{margin:0 0 8px;font-size:14px;letter-spacing:.2px;color:var(--green)}.terms-section p{margin:0 0 8px}.terms-section ul{margin:0 0 8px;padding-left:20px}.terms-section li{margin-bottom:8px}.terms-check{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border:1px solid #dfe6e1;border-radius:12px;background:#fff;text-align:left;font-size:14px;line-height:1.5;cursor:pointer}.terms-check input{flex:none;width:20px;height:20px;margin-top:2px;accent-color:var(--green)}.terms-check a{color:var(--green);font-weight:650;white-space:nowrap}.terms-page .terms-content{margin-top:8px}.terms-actions{display:flex;gap:16px;align-items:center;margin-top:24px}.terms-actions .link-button{margin-top:0;text-decoration:none}.portal-footer{margin-top:18px;text-align:center;font-size:13px}.portal-footer a{color:var(--muted);text-decoration:underline}@media print{body{background:#fff!important}.app-shell{padding:0!important;min-height:0!important}.terms-page{box-shadow:none!important;border:0!important;width:100%!important;padding:0!important}.brand-logo,.terms-actions{display:none!important}.terms-section{page-break-inside:avoid;break-inside:avoid}}.debts-card{margin:22px 0 6px;padding:20px;border:1px solid #dfe6e1;border-radius:16px;background:#fbfdfc;text-align:left}.debts-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 12px}.debts-head h2{margin:0;font-size:18px;color:var(--green-dark)}.debts-date{font-size:12px;color:var(--muted)}.debts-totals{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin:14px 0 4px}.debts-totals div{padding:12px 14px;border-radius:12px;background:#fff;border:1px solid #e6ece8}.debts-totals span{display:block;font-size:12px;color:var(--muted)}.debts-totals strong{display:block;margin-top:2px;font-size:19px;color:#1d2a22}.debts-totals .debts-overdue{border-color:#f0c9c5;background:#fff6f5}.debts-totals .debts-overdue strong{color:#9b1c1c}.debts-warning{margin:10px 0 0;padding:10px 12px;border-radius:10px;background:#fff6e0;color:#7a5300;font-size:13px}.debts-warning--danger{background:#fdecec;color:#9b1c1c}.debts-subtitle{margin:18px 0 8px;font-size:14px;color:var(--green)}.debts-list{list-style:none;margin:0;padding:0;border:1px solid #e6ece8;border-radius:12px;background:#fff;overflow:hidden}.debts-item{display:flex;justify-content:space-between;gap:12px;padding:11px 14px;border-top:1px solid #eef2ef}.debts-item:first-child{border-top:0}.debts-item small{display:block;margin-top:2px;font-size:12px;color:var(--muted)}.debts-item-main strong{font-size:13px}.debts-item-side{text-align:right;white-space:nowrap}.debts-item--soon{background:#fffaf0}.debts-item--past{opacity:.6}.debts-note{margin:12px 0 0;font-size:12px;line-height:1.5;color:var(--muted)}@media (max-width:520px){.debts-item{flex-direction:column}.debts-item-side{text-align:left}}