:root{color-scheme:light;--ink:#13231e;--muted:#687872;--paper:#f5f4ee;--surface:#fff;--accent:#14745d;--accent-soft:#e4f0eb;--nav:#112b25;--line:#dfe4df;--danger:#a83c35;--shadow:0 18px 50px rgba(19,35,30,0.09)}*{box-sizing:border-box}html{min-width:320px}body{margin:0;color:var(--ink);background:var(--paper);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select{font:inherit}button,select{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.brand{display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:-.025em}.brandLight{color:white}.brandMark{width:40px;height:40px;display:grid;place-items:center;color:white;background:var(--accent);border-radius:12px;font-family:Georgia,serif;font-size:23px}.eyebrow{margin:0 0 10px;color:var(--accent);font-size:11px;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.muted{color:var(--muted);line-height:1.55}.loginPage{min-height:100vh;display:grid;grid-template-columns:minmax(380px,.95fr) minmax(480px,1.05fr)}.loginStory{padding:clamp(34px,5vw,72px);color:white;background:radial-gradient(circle at 18% 82%,rgba(71,185,144,.2),transparent 26rem),linear-gradient(145deg,#0d2922,#174a3d);display:flex;flex-direction:column;justify-content:space-between}.loginStory h1{max-width:680px;margin:18px 0 24px;font-family:Georgia,serif;font-size:clamp(48px,6vw,82px);font-weight:500;line-height:.98;letter-spacing:-.055em}.loginStory .eyebrow{color:#8fd3ba}.loginStory .lead{max-width:600px;color:#c7ddd5;font-size:19px;line-height:1.6}.storyFoot{margin:0;color:#91aaa1;font-size:13px}.loginPanel{padding:40px;display:grid;place-items:center;background:radial-gradient(circle at 90% 12%,rgba(20,116,93,.11),transparent 23rem),#f8f7f2}.loginCard{width:min(430px,100%)}.loginCard h2{margin:0;font-family:Georgia,serif;font-size:42px;font-weight:500;letter-spacing:-.035em}.mobileBrand{display:none;margin-bottom:64px}.authForm{margin-top:34px;display:grid;grid-gap:19px;gap:19px}.authForm label{display:grid;grid-gap:8px;gap:8px;font-size:13px;font-weight:750}.authForm input,.contextSelect select{width:100%;border:1px solid var(--line);outline:0;background:var(--surface);color:var(--ink);transition:border-color .15s,box-shadow .15s}.authForm input{height:52px;padding:0 15px;border-radius:10px}.authForm input:focus,.contextSelect select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(20,116,93,.13)}.formAssist{display:flex;justify-content:space-between;gap:16px;color:var(--muted);font-size:12px}.textButton{border:0;padding:0;color:var(--accent);background:transparent;font-weight:750}.primaryButton{min-height:52px;border:0;border-radius:10px;color:white;background:var(--accent);font-weight:800;box-shadow:0 10px 24px rgba(20,116,93,.2)}.primaryButton:hover:not(:disabled){background:#0f624e}.formError{padding:12px 14px;border:1px solid #ebc4c0;border-radius:9px;color:var(--danger);background:#fff0ee;font-size:13px;line-height:1.45}.demoHint{margin-top:30px;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;color:var(--muted);font-size:12px}.appShell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.sidebar{position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:28px 22px;color:#bdd0c9;background:var(--nav);display:flex;flex-direction:column}.sidebar nav{margin-top:48px;display:grid;grid-gap:5px;gap:5px}.sidebar nav a,.sidebar nav span{min-height:40px;padding:10px 12px;border-radius:8px;color:inherit;text-decoration:none;font-size:13px;font-weight:650}.sidebar nav span{opacity:.65}.sidebar nav .active{color:white;background:rgba(255,255,255,.1)}.logoutButton{margin-top:auto;flex-shrink:0;min-height:42px;border:1px solid rgba(255,255,255,.14);border-radius:8px;color:white;background:transparent}.dashboard{min-width:0;padding:38px clamp(24px,4vw,64px) 64px}.topbar{display:flex;align-items:flex-end;justify-content:space-between;gap:30px}.topbar h1{margin:0;font-family:Georgia,serif;font-size:clamp(38px,5vw,58px);font-weight:500;letter-spacing:-.045em}.contextSelect{width:min(380px,45%);display:grid;grid-gap:7px;gap:7px;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.contextSelect select{height:48px;padding:0 38px 0 13px;border-radius:9px;text-transform:none;letter-spacing:0;font-weight:700}.contextBanner{margin-top:32px;padding:16px 20px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.55);display:grid;grid-template-columns:repeat(3,1fr);grid-gap:20px;gap:20px}.contextBanner div{display:grid;grid-gap:4px;gap:4px}.contextBanner span{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.contextBanner strong{font-size:13px}.metricGrid{margin-top:22px;display:grid;grid-template-columns:repeat(4,1fr);grid-gap:16px;gap:16px}.metricGrid article,.panel{border:1px solid var(--line);border-radius:13px;background:var(--surface);box-shadow:0 8px 28px rgba(19,35,30,.045)}.metricGrid article{min-height:148px;padding:20px;display:grid;align-content:space-between}.metricGrid span{color:var(--muted);font-size:12px;font-weight:700}.metricGrid strong{font-family:Georgia,serif;font-size:42px;font-weight:500}.metricGrid small{color:var(--muted)}.contentGrid{margin-top:20px;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr);grid-gap:20px;gap:20px}.panel{padding:24px}.panelHeader{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.panel h2{margin:0;font-family:Georgia,serif;font-size:27px;font-weight:500}.statusPill{padding:6px 10px;border-radius:999px;color:var(--accent);background:var(--accent-soft);font-size:11px;font-weight:800}.sefazDiagnostic{margin-top:1rem;padding:1rem;border:1px solid #8ac7ad;border-radius:12px;background:#eef8f2}.sefazDiagnostic p{margin:.35rem 0 0}.companyRow{margin-top:20px;padding-top:20px;border-top:1px solid var(--line);display:grid;grid-template-columns:40px 1fr auto;grid-gap:13px;gap:13px;align-items:center}.companyIcon{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;color:white;background:var(--accent);font-weight:800}.companyRow div:nth-child(2){display:grid;grid-gap:4px;gap:4px}.companyRow span{color:var(--muted);font-size:12px}.quickPanel{display:flex;flex-direction:column;gap:10px}.quickPanel button{min-height:43px;border:1px solid var(--line);border-radius:8px;text-align:left;padding:0 13px;color:var(--ink);background:#fafbf9;font-weight:700}.emptyState,.quickPanel p{color:var(--muted);font-size:12px;line-height:1.5}.emptyState{padding:34px 0;text-align:center}.loadingPage{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:36px 0}.skeleton{height:150px;border-radius:13px;background:linear-gradient(90deg,#e6e8e4,#f4f5f2,#e6e8e4);background-size:200% 100%;animation:pulse 1.3s infinite}.skeleton.wide{height:70px;margin-top:70px}.skeletonGrid{margin-top:22px;display:grid;grid-template-columns:repeat(3,1fr);grid-gap:18px;gap:18px}@keyframes pulse{to{background-position:-200% 0}}.registryPage{min-height:100vh;background:#f3f4f0;padding:42px max(24px,calc((100vw - 1180px) / 2));color:#19251f}.registryHeader{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin-bottom:28px}.registryHeader a{color:#42634f;text-decoration:none;font-weight:650;display:inline-block;margin-bottom:28px}.registryHeader h1{font-size:clamp(32px,4vw,48px);margin:4px 0 8px;letter-spacing:-.04em}.registryHeader p{color:#657068;margin:0}.primaryButton{border:0!important;background:#1f6645!important;color:white!important;border-radius:9px;padding:13px 19px!important;font-weight:700;cursor:pointer}.registryTabs{display:flex;gap:8px;margin-bottom:12px}.registryTabs button{border:0;background:transparent;padding:12px 18px;border-radius:9px;font-weight:700;color:#68736b;cursor:pointer}.registryTabs button.active{background:#193e2d;color:white}.registryPanel{background:white;border:1px solid #dfe3dd;border-radius:14px;overflow:hidden;box-shadow:0 10px 30px rgba(28,47,36,.05)}.registryToolbar{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:18px;border-bottom:1px solid #e7e9e5}.registryToolbar input{width:min(440px,100%);padding:12px 14px;border:1px solid #ccd2cb;border-radius:8px;font:inherit}.registryToolbar span{color:#798179;font-size:14px}.tableWrap{overflow-x:auto}.tableWrap table{width:100%;border-collapse:collapse}.tableWrap td,.tableWrap th{text-align:left;padding:15px 18px;border-bottom:1px solid #eceeeb;white-space:nowrap}.tableWrap th{color:#778079;font-size:12px;text-transform:uppercase;letter-spacing:.06em}.tableWrap td small,.tableWrap td strong{display:block}.tableWrap td small{color:#7b837d;margin-top:3px}.tableWrap td button{border:0;background:transparent;color:#236548;font-weight:700;cursor:pointer;margin-right:10px}.tableWrap td button.dangerLink{color:#a44949}.modalBackdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:20px;background:rgba(12,25,18,.62)}.modal{width:min(720px,100%);max-height:calc(100vh - 40px);overflow:auto;background:white;border-radius:16px;padding:26px;box-shadow:0 24px 70px rgba(0,0,0,.24)}.modalTitle{display:flex;justify-content:space-between;align-items:flex-start}.modalTitle h2{margin:3px 0 22px;font-size:28px;text-transform:capitalize}.modalTitle>button{border:0;background:#edf0ec;border-radius:50%;width:34px;height:34px;font-size:22px;cursor:pointer}.partyForm{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.partyForm label{display:grid;grid-gap:7px;gap:7px;color:#4b574f;font-size:13px;font-weight:700}.partyForm input,.partyForm select{padding:11px 12px;border:1px solid #cdd3cd;border-radius:8px;font:inherit;background:white}.partyForm .fullField{grid-column:1/-1}.partyForm .checkField{display:flex;align-items:center;gap:9px;align-self:end;min-height:42px}.partyForm .checkField input{width:18px;height:18px}.invoiceGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));grid-gap:18px;gap:18px}.invoiceCard{background:white;border:1px solid #dfe3dd;border-radius:14px;padding:21px;box-shadow:0 10px 30px rgba(28,47,36,.05)}.invoiceCard h2{margin:4px 0;font-size:21px}.invoiceCard>p{color:#737d75}.invoiceTotal{display:flex;justify-content:space-between;align-items:baseline;padding:18px 0;border-bottom:1px solid #e7eae6}.invoiceTotal span{color:#778078}.invoiceTotal strong{font-size:25px}.invoiceCard summary{cursor:pointer;font-weight:700;margin:16px 0 8px}.eventRow{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid #eef0ed;font-size:12px}.eventRow small{color:#788079}.simulationActions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.simulationActions button{border:1px solid #bfc8c1;background:#f6f8f5;border-radius:8px;padding:9px 11px;cursor:pointer;color:#24553c;font-weight:700}.danfeButton{display:inline-flex;margin-top:14px;padding:9px 12px;border-radius:8px;background:#e7eee9;color:#1d5b3d;text-decoration:none;font-size:13px;font-weight:750}.status-authorized{background:#dff4e7;color:#17623c}.status-denied,.status-error,.status-rejected{background:#fae3e3;color:#922f2f}.modalActions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:10px;margin-top:10px;padding-top:18px;border-top:1px solid #e7e9e5}.modalActions button{border:1px solid #ccd2cc;background:white;border-radius:8px;padding:11px 17px;cursor:pointer}.publicAuthPage{min-height:100vh;display:grid;place-items:center;padding:28px;background:#f4f4ef}.publicAuthCard{width:min(100%,520px);background:white;border:1px solid #dce1db;border-radius:18px;padding:34px;box-shadow:0 18px 55px rgba(24,54,38,.09)}.publicAuthCard h1{margin:5px 0 10px}.publicAuthCard>p:not(.eyebrow){color:#647068;margin-bottom:24px}.publicAuthCard>a,.signupLink{display:inline-block;margin-top:16px;color:#176543;font-weight:700}.termsField{display:flex!important;align-items:flex-start;gap:10px!important}.termsField input{width:18px;height:18px;margin-top:2px}.adminPage{max-width:1280px;margin:0 auto}.adminSection{margin-top:20px;padding:24px}.adminSection h2{margin-top:0}.adminCards{margin-top:16px}.adminCard,.adminCards{display:grid;grid-gap:12px;gap:12px}.adminCard{border:1px solid #dfe3dd;border-radius:12px;padding:16px}.adminCard>div:first-child{display:grid;grid-gap:4px;gap:4px}.adminCard span{color:#647068;font-size:14px}.branchLine,.membershipLine,.rowActions{display:flex;align-items:center;flex-wrap:wrap;gap:9px}.branchLine button,.membershipLine button,.rowActions a,.rowActions button{border:1px solid #c8d0ca;border-radius:8px;background:#f7f9f7;color:#18583a;padding:8px 11px;font:inherit;font-weight:700;text-decoration:none;cursor:pointer}.branchLine,.membershipLine{justify-content:space-between;border-top:1px solid #e6e9e5;padding-top:10px}.branchLine span,.membershipLine span{flex:1 1}.successBox{margin:14px 0;padding:12px 14px;border:1px solid #a9d6ba;border-radius:9px;background:#e8f6ed;color:#175c38}.sequenceList{display:grid;grid-gap:5px;gap:5px;margin-top:14px;color:#59645c}@media (max-width:980px){.loginPage{grid-template-columns:1fr}.loginStory{display:none}.loginPanel{min-height:100vh;padding:28px}.mobileBrand{display:flex}.appShell{grid-template-columns:78px 1fr}.sidebar{padding:24px 13px}.sidebar .brand span:last-child,.sidebar nav a,.sidebar nav span{font-size:0}.sidebar nav a:first-letter{font-size:15px}.metricGrid{grid-template-columns:repeat(2,1fr)}.contentGrid{grid-template-columns:1fr}}@media (max-width:680px){.registryPage{padding:25px 16px}.registryHeader{align-items:stretch;flex-direction:column}.partyForm{grid-template-columns:1fr}.appShell{display:block}.sidebar{position:static;width:100%;height:auto;overflow-y:visible;scrollbar-gutter:auto;padding:16px 20px;flex-direction:row;align-items:center}.sidebar nav{display:none}.sidebar .brand span:last-child{display:inline;font-size:14px}.logoutButton{margin:0 0 0 auto;padding:0 14px}.dashboard{padding:28px 18px 50px}.topbar{align-items:stretch;flex-direction:column}.contextSelect{width:100%}.contextBanner{grid-template-columns:1fr}.metricGrid{grid-template-columns:1fr 1fr;gap:10px}.metricGrid article{min-height:130px;padding:16px}.metricGrid strong{font-size:34px}.companyRow{grid-template-columns:40px 1fr}.companyRow>span{grid-column:2}}