:root{--ink: #1c241e;--muted: #5d675f;--paper: #f3eee4;--card: #fffaf3;--line: #ddd4c4;--forest: #2c4a38;--forest-deep: #22382b;--brass: #b0894a;--wash: #efe4cc;--warn: #8a4b12;--good: #1f6b45;--shadow: 0 18px 50px rgba(28, 36, 30, .07);font-family:Outfit,Segoe UI,sans-serif;color:var(--ink);background:var(--paper);line-height:1.5;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*,*:before,*:after{box-sizing:border-box}html,body,#root,.app{margin:0;min-height:100%}body{background:radial-gradient(900px 420px at 8% -8%,color-mix(in srgb,var(--brass) 28%,transparent),transparent 55%),radial-gradient(720px 360px at 100% 0%,color-mix(in srgb,var(--forest) 10%,transparent),transparent 52%),var(--paper)}img{max-width:100%;display:block}h1,h2,h3{font-family:Fraunces,Georgia,serif;font-weight:600;letter-spacing:-.03em;line-height:1.15;margin:0 0 .45rem}h1{font-size:clamp(2rem,4vw,3.1rem)}h2{font-size:1.45rem}p,dd{margin:0 0 .8rem}a{color:var(--forest-deep)}button,input,textarea{font:inherit}address{font-style:normal;color:var(--ink)}:focus-visible{outline:2px solid var(--forest);outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:.8rem;top:.6rem;transform:translateY(-140%);background:var(--card);color:var(--ink);padding:.45rem .7rem;border-radius:.6rem;z-index:50}.skip-link:focus{transform:none}.boot-screen{min-height:100vh;display:grid;place-items:center;padding:2rem 1rem}.boot-screen>p,.status-card{width:min(100%,36rem);background:var(--card);border:1px solid color-mix(in srgb,var(--ink) 8%,transparent);border-radius:1.4rem;box-shadow:var(--shadow);padding:1.5rem 1.4rem 1.6rem}.eyebrow{margin:0 0 .4rem;color:var(--brass);font-size:.76rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.lede{font-size:1.05rem;max-width:40rem;color:var(--muted)}.hint{color:var(--muted);font-size:.86rem;margin:0}.alert{color:var(--warn);font-weight:600}.vendor-logo{max-height:3.2rem;width:auto;margin-bottom:.8rem}.vendor-logo-small{max-height:2.4rem;margin:0}.sign-in{min-height:100vh;display:grid;align-items:center;padding:2.5rem 1rem 3rem}.sign-in-panel{width:min(100%,56rem);margin:0 auto;justify-self:center}.sign-in-brand{max-width:38rem;margin-bottom:1.4rem}.sign-in-grid,.card-grid,.summary-grid,.detail-grid{display:grid;gap:1rem}.sign-in-grid,.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card-grid,.summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.choice-card,.action-card,.summary-grid article,.panel,.invoice-sheet,.toast{background:var(--card);border:1px solid color-mix(in srgb,var(--ink) 8%,transparent);border-radius:1.3rem;box-shadow:var(--shadow)}.choice-card,.action-card,.summary-grid article,.panel,.invoice-sheet{padding:1.25rem 1.25rem 1.35rem}.action-card{display:flex;flex-direction:column;min-height:100%}.action-card p{color:var(--muted)}.action-card-footer{margin-top:auto;display:grid;gap:.55rem;padding-top:.4rem}.summary-value{font-family:Fraunces,Georgia,serif;font-size:1.55rem;margin:0 0 .25rem}.portal-top{position:sticky;top:0;z-index:30;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.8rem 1rem;padding:.85rem 1.2rem;background:color-mix(in srgb,var(--paper) 88%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid color-mix(in srgb,var(--ink) 8%,transparent)}.portal-brand,.portal-actions,.form-actions,.section-head{display:flex;align-items:center;gap:.75rem}.portal-brand{flex:1 1 auto;min-width:12rem}.portal-brand strong,.portal-brand span{display:block;white-space:nowrap}.portal-brand span,.portal-actions{color:var(--muted)}.portal-actions,.form-actions{flex-wrap:wrap}.section-head{justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem 1rem;margin-bottom:.6rem}.demo-banner{margin:0;padding:.7rem 1.2rem;background:var(--wash);color:var(--ink);font-size:.92rem}.portal-nav{display:flex;gap:.4rem;overflow-x:auto;padding:.75rem 1.2rem 0}.nav-pill,.btn,.btn-primary{white-space:nowrap;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--ink);padding:.55rem 1rem;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.nav-pill.is-active,.nav-pill:hover,.btn:hover{border-color:color-mix(in srgb,var(--forest) 35%,var(--line))}.nav-pill.is-active{background:#fff;box-shadow:var(--shadow)}.btn-primary{background:var(--forest);border-color:var(--forest);color:#f7f1e6}.btn-primary:hover{background:var(--forest-deep)}.btn:disabled,.btn-primary:disabled{opacity:.55;cursor:not-allowed}.portal-shell{width:min(100% - 2rem,72rem);margin:0 auto;padding:1.4rem 0 4rem;display:grid;gap:1.2rem}.section-intro{max-width:44rem}.toast{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.9rem 1rem}.toast p{margin:0}.detail-list{display:grid;gap:.75rem;margin:0}.detail-list div{display:grid;gap:.15rem}.detail-list dt{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700}.detail-list dd{margin:0}.service-list{margin:0 0 .8rem;padding-left:1.1rem}.billing-form,.billing-form label{display:grid;gap:.35rem}.billing-form{gap:.85rem}input,textarea{width:100%;background:#fff;border:1px solid var(--line);border-radius:.8rem;padding:.7rem .8rem;color:var(--ink)}.table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{text-align:left;padding:.75rem .55rem;border-bottom:1px solid var(--line);vertical-align:middle}.data-table th{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.status-badge{display:inline-flex;border-radius:999px;padding:.15rem .6rem;font-size:.78rem;font-weight:700}.status-paid{background:color-mix(in srgb,var(--good) 14%,white);color:var(--good)}.status-due{background:color-mix(in srgb,var(--brass) 22%,white);color:#6d4e16}.status-overdue{background:color-mix(in srgb,var(--warn) 14%,white);color:var(--warn)}.invoice-sheet{display:grid;gap:.4rem}.sign-in-note{margin-top:1rem}@media (max-width: 900px){.card-grid,.summary-grid,.sign-in-grid,.detail-grid{grid-template-columns:1fr}.portal-shell{width:min(100% - 1.4rem,72rem)}.portal-brand strong,.portal-brand span{white-space:normal}.portal-top{position:static;align-items:flex-start}.data-table thead{display:none}.data-table tr{display:grid;gap:.35rem;padding:.85rem 0}.data-table td{display:grid;grid-template-columns:6.5rem minmax(0,1fr);gap:.5rem .75rem;align-items:center;border:0;padding:.2rem 0}.data-table td:before{content:attr(data-label);color:var(--muted);font-weight:700}}
