
:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#1c302a;background:#f5f7f5;font-synthesis:none;font-size:14px}*{box-sizing:border-box}body{margin:0}a{color:#226449;text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}input,select,textarea{width:100%;border:1px solid #cbd6cf;border-radius:7px;background:white;color:#1c302a;padding:12px;min-height:44px}input:focus,select:focus,textarea:focus{outline:2px solid #2a7455;outline-offset:2px}a:focus-visible,button:focus-visible{outline:3px solid #409474;outline-offset:4px}label{display:block;font-size:13px;font-weight:600;margin:0 0 8px}label.required:after{content:' *';color:#668273}p{color:#62716b;line-height:1.7;margin:8px 0 0}h1,h2{line-height:1.2}h1{font-size:38px;letter-spacing:-1.4px;margin:10px 0 12px;overflow-wrap:anywhere}h2{font-size:19px;letter-spacing:-.3px;margin:0 0 14px}header{height:88px;background:#fff;border-bottom:1px solid #e0e7e1;display:flex;align-items:center;gap:60px;padding:0 max(28px,calc((100vw - 1200px)/2));white-space:nowrap}.brand{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:750;color:inherit;letter-spacing:-.6px}.brand:hover{text-decoration:none}.brand-icon{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#20533f;color:white;font-size:27px;line-height:1;padding-bottom:4px}header nav{align-self:stretch;display:flex;align-items:stretch}.nav-active{display:flex;align-items:center;border-bottom:3px solid #276546;padding:2px 8px 0;font-weight:650}.user-menu{margin-left:auto;display:flex;align-items:center;gap:20px;font-size:13px}.button-quiet{border:0;background:none;color:#66766d;font-size:12px;padding:8px}.button-quiet:hover{color:#203f2e;text-decoration:underline}main{max-width:1200px;margin:auto;padding:40px 28px 64px;min-height:calc(100vh - 155px)}footer{max-width:1144px;margin:auto;border-top:1px solid #dce4de;padding:24px 0;font-size:12px;color:#68766e;display:flex;justify-content:space-between}.eyebrow{text-transform:uppercase;font-size:10px;font-weight:700;letter-spacing:1.8px;color:#4c765d;margin:0}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:8px 0 30px}.page-heading p{font-size:14px}.page-heading .eyebrow{font-size:10px}.button{display:inline-flex;justify-content:center;align-items:center;gap:14px;border:1px solid #23553f;border-radius:7px;padding:12px 18px;background:#23553f;color:white;min-height:44px;font-weight:600;font-size:13px;white-space:nowrap}.button:hover{background:#193f2e;text-decoration:none}.button.secondary{background:white;border-color:#ccd8cf;color:#2d4f3a}.button.secondary:hover{background:#edf3ef}.full{width:100%;margin-top:24px;justify-content:space-between}.surface{background:white;border:1px solid #e0e7e1;border-radius:12px;overflow:hidden}.filters{padding:24px;display:flex;align-items:flex-end;gap:14px;background:#fdfefd}.filters .search-field{flex:1}.filters>div:nth-child(2){min-width:165px}.text-link{font-size:12px;white-space:nowrap;padding:14px 0}.table-caption{padding:20px 24px 12px;font-size:12px;color:#6e7c73;border-top:1px solid #edf1ed}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{color:#63766a;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.7px;padding:12px 24px;background:#fafbf9}td{padding:20px 24px;border-top:1px solid #edf1ed;font-size:13px}tr:hover td{background:#fbfcfa}td small{display:block;color:#7a867e;font-size:11px;margin-top:5px}.relation-link{font-weight:650;font-size:14px}.badge{display:inline-block;background:#e8f3e9;color:#3c7250;border-radius:5px;padding:5px 8px;font-size:10px;font-weight:600;vertical-align:middle}.badge.muted{background:#f0f1ef;color:#727a73}.page-heading .badge{margin-left:10px}.empty{text-align:center;padding:52px 24px 60px}.empty-icon{display:grid;place-items:center;font-size:36px;color:#52876a;background:#edf4ee;width:68px;height:68px;border-radius:18px;margin:0 auto 24px}.empty p{max-width:440px;margin:12px auto 24px}.empty h2{font-size:23px}.back{display:inline-block;font-size:12px;margin:0 0 18px}.form-section{display:grid;grid-template-columns:230px 1fr;padding:30px;gap:35px;margin-bottom:18px}.section-title p{font-size:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.form-grid.single{grid-template-columns:1fr}.form-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:8px}.relation-form ul,.auth-form ul{color:#a32e32;font-size:12px;list-style:none;padding:0;line-height:1.6}.flash{border:1px solid #c9dccb;border-radius:8px;background:#eaf5eb;color:#31563e;padding:14px 18px;line-height:1.6;margin-bottom:24px}.flash.error{color:#912f36;background:#fff0f0;border-color:#ebc5c7}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.detail{padding:28px}.detail h2{margin-bottom:24px}dl{display:grid;grid-template-columns:155px 1fr;gap:20px 18px;margin:0}dt{color:#708077;font-size:12px}dd{margin:0;font-size:13px;line-height:1.7;overflow-wrap:anywhere}.notes{grid-column:1/-1}.notes p{white-space:pre-wrap;overflow-wrap:anywhere}.future{margin:24px 0;padding:28px;border:1px dashed #cdd8cf;border-radius:12px}.future h2{margin-top:16px}.archive-area{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:35px}.archive-area p{font-size:12px;max-width:520px}.pagination{display:flex;justify-content:center;gap:28px;padding:24px;border-top:1px solid #edf1ed;font-size:12px}.auth-layout{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.auth-story{background:#183f30;color:white;padding:48px 64px;display:flex;flex-direction:column;justify-content:space-between;min-height:100vh}.auth-story .brand-icon{background:#d9edbf;color:#254930}.auth-story h1{font-size:clamp(34px,4vw,62px);font-weight:550;letter-spacing:-2.5px;margin:24px 0}.auth-story .eyebrow{color:#b3d596}.auth-story p{color:#b4cabc;font-size:15px;line-height:1.9}.auth-foot{font-size:12px;color:#91ad9c}.auth-main{width:100%;display:flex;align-items:center;justify-content:center;min-height:100vh;padding:45px;background:#fafbf9}.auth-card{width:100%;max-width:370px}.auth-card h1{font-size:34px}.auth-card>p{font-size:13px}.auth-form{margin-top:30px}.auth-form>label:not(:first-child),.auth-form #setup>div{margin-top:20px}.auth-form #setup_password>div+div{margin-top:20px}
@media(max-width:1000px){header{gap:28px}.auth-story{padding:40px 32px}.form-section{grid-template-columns:180px 1fr;gap:24px}dl{grid-template-columns:1fr;gap:7px}dd{margin-bottom:12px}footer{margin:0 28px}}
@media(max-width:700px){header{padding:0 20px;height:auto;min-height:80px;flex-wrap:wrap;gap:18px}.brand{font-size:16px}.user-menu{gap:6px}.user-menu>span{max-width:90px;overflow:hidden;text-overflow:ellipsis}header nav{order:3;width:100%;height:38px}main{padding:28px 20px 48px}.page-heading{align-items:flex-start;flex-direction:column}.page-heading h1{font-size:31px}.filters{flex-wrap:wrap;padding:18px}.filters .search-field{flex-basis:100%}.filters>div:nth-child(2){flex:1}.form-section{grid-template-columns:1fr;padding:22px}.form-grid{gap:20px;grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr}.detail{padding:22px}.archive-area{align-items:flex-start;flex-direction:column}.auth-layout{grid-template-columns:1fr}.auth-story{min-height:auto;padding:28px}.auth-story>div,.auth-foot{display:none}.auth-main{min-height:calc(100vh - 92px);padding:38px 24px}footer{gap:18px}.auth-card h1{font-size:30px}.form-actions{flex-wrap:wrap}}

.membership-section{margin-top:24px}.membership-heading{padding:24px;display:flex;align-items:center;justify-content:space-between;gap:20px}.membership-heading h2{margin-bottom:6px}.membership-empty{padding:16px 24px 28px;color:#6c7d72}.help-text{color:#687a6e;font-size:12px;line-height:1.6;margin-top:7px}@media(max-width:700px){.membership-heading{align-items:flex-start;flex-direction:column}}

header nav{gap:18px}header nav>a{display:flex;align-items:center;padding:2px 8px 0}.span-full{grid-column:1/-1}.article-price{font-size:36px;font-weight:650;letter-spacing:-1px;color:#23553f;line-height:1.3}.article-filters{flex-wrap:wrap}.article-filters .search-field{min-width:220px}.future>h2{margin-top:16px}

.purchasing-section{margin-top:24px}.pricing-explanation{padding:0 24px 20px;max-width:900px;color:#68776d;font-size:12px;line-height:1.7}.pricing-notice{margin:0 24px 20px;padding:14px;border-radius:7px;background:#fff6de;color:#735927;font-size:13px}.purchase-table td{vertical-align:top;padding:20px 16px}.purchase-table th{padding:12px 16px}.purchase-table details{font-size:12px;margin-top:12px;max-width:230px;white-space:normal}.purchase-table details p{white-space:pre-wrap;overflow-wrap:anywhere}.comparison-reason{white-space:normal;max-width:245px;min-width:180px;font-size:12px;color:#8a6424}.button.compact{font-size:11px;min-height:36px;margin-top:12px;padding:8px 10px}.price-loss{color:#a12c33;font-weight:600}.price-profit{color:#276744;font-weight:650}.archived-row{background:#f4f5f3}.purchase-table .badge{margin-top:8px}.purchase-table .button-quiet{padding-left:0;margin-top:8px}

/* PenningPro: golden penning, forest green and a clear wordmark. */
.brand-logo{display:block;object-fit:contain;flex:none;width:52px;height:52px}.brand-wordmark{font-weight:780;letter-spacing:-.9px;font-size:23px}.brand-wordmark>span{color:#9b6e17}.auth-story .brand-logo{width:64px;height:64px}.auth-story .brand-wordmark{font-size:28px}.auth-story .brand-wordmark>span{color:#f4cb65}.hero-logo{display:block;object-fit:contain;width:150px;height:150px;margin:0 0 26px}.auth-story .brand-hero h1{font-size:clamp(32px,3.7vw,54px);letter-spacing:-1.8px}.auth-story .eyebrow{color:#f4cb65}footer{justify-content:flex-start;gap:7px}footer strong{color:#315641}@media(max-height:850px) and (min-width:701px){.auth-story{padding-top:30px;padding-bottom:30px}.hero-logo{width:108px;height:108px;margin-bottom:18px}.auth-story .brand-hero h1{font-size:40px;margin:18px 0}.auth-story .brand-logo{width:52px;height:52px}}@media(max-width:700px){.brand-logo{width:42px;height:42px}.brand-wordmark{font-size:20px}.auth-story .brand-logo{width:52px;height:52px}.auth-story .brand-wordmark{font-size:24px}footer{flex-wrap:wrap;gap:4px 7px}}
@media(min-width:701px){.auth-story{padding-bottom:52px}}

.action-group,.subscription-actions{display:flex;flex-wrap:wrap;gap:12px}.subscription-actions{margin-top:28px}.subscription-lines td{vertical-align:top}.subscription-lines details{margin-top:10px;font-size:12px;color:#617568}.subscription-lines details ul{padding-left:18px;line-height:1.9}.subscription-lines .badge{margin-top:8px}.checkbox-field{align-self:center}.checkbox-field input{width:18px;min-height:18px;height:18px;vertical-align:middle}.checkbox-field label{display:inline;margin-left:8px}header{gap:32px}@media(max-width:850px){header{gap:16px;padding-left:20px;padding-right:20px}header nav{gap:8px}.user-menu{gap:8px}.brand-wordmark{font-size:20px}}

/* Invoices and print layout */
header{gap:20px}header nav{gap:8px}.organization-logo{max-width:190px;max-height:140px;object-fit:contain;background:#fff;padding:8px;border:1px solid #e0e7e1;border-radius:8px}
.invoice-links{display:flex;gap:24px;flex-wrap:wrap;margin:-8px 0 24px}.invoice-article-picker{padding:24px;margin-bottom:24px}.invoice-article-picker select{flex:1;min-width:190px}
.invoice-line-actions{padding:24px;margin-bottom:24px}.invoice-line-action{display:flex;align-items:center;gap:20px;padding:14px 24px;border-top:1px solid #e0e7e1}.invoice-line-action>span:first-child{flex:1}.invoice-line-action small{display:block;color:#6e7c73;font-size:12px;margin-top:5px}.invoice-line-actions .invoice-line-action{padding-left:0;padding-right:0}
.invoice-document{background:#fff;max-width:900px;margin:0 auto;padding:48px;border:1px solid #dce4de;border-radius:10px;color:#20382c;overflow-wrap:anywhere}
.invoice-document-header{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:start}.invoice-document p{font-size:13px;color:#465b4e}.invoice-document h2{font-size:20px}.invoice-logo{display:block;width:auto;max-width:190px;height:auto;max-height:100px;object-fit:contain;margin-bottom:22px}.invoice-meta{text-align:right}.invoice-kind{letter-spacing:2px;font-weight:750;color:#356747!important;font-size:11px!important}.invoice-meta h2{margin-top:12px}.invoice-meta dl{grid-template-columns:1fr 1fr;gap:8px 12px}.invoice-meta dt,.invoice-meta dd{font-size:12px;margin:0}.invoice-recipient{margin:30px 0}.invoice-title{margin:30px 0 12px!important}.invoice-text{white-space:pre-wrap;overflow-wrap:anywhere}
.invoice-items{white-space:normal;table-layout:fixed;margin-top:26px}.invoice-items th{padding:12px 8px;font-size:10px;background:#eef4ee}.invoice-items td{padding:16px 8px;vertical-align:top;font-size:12px}.invoice-items th:first-child{width:42%}.invoice-items th:nth-child(2){width:9%}.invoice-items th:nth-child(3){width:18%}.invoice-items th:nth-child(4){width:14%}.invoice-items th:last-child{width:17%}.invoice-items th:not(:first-child),.invoice-items td:not(:first-child){text-align:right}.invoice-items small{font-size:10px;line-height:1.5}
.invoice-total{display:flex;justify-content:flex-end;margin:22px 0 30px}.invoice-total dl{width:390px;max-width:100%;grid-template-columns:1fr auto;gap:12px 20px}.invoice-total dd{text-align:right;margin:0}.invoice-total small{display:block;margin-top:4px}.invoice-total .grand-total{border-top:2px solid #356747;padding-top:15px;font-size:17px;font-weight:750;color:#214b35}
.invoice-payment{margin-top:30px;padding-top:20px;border-top:1px solid #dce4de}.invoice-legal{margin-top:35px;padding-top:18px;border-top:1px solid #dce4de;font-size:10px;color:#63766a;line-height:1.8}.invoice-final-actions{display:flex;justify-content:space-between;align-items:start;flex-wrap:wrap;gap:24px;margin:28px auto;max-width:900px}.invoice-final-actions details{max-width:350px}.invoice-final-actions details button{margin-top:15px}.print-toolbar{max-width:900px;margin:24px auto;padding:0 20px;display:flex;flex-wrap:wrap;gap:12px}.print-toolbar p{flex-basis:100%;font-size:12px}.invoice-print{padding-top:0}
@media(max-width:1100px){header{flex-wrap:wrap;height:auto;padding-top:12px;gap:12px}header nav{order:3;width:100%;height:46px;overflow-x:auto}.user-menu{margin-left:auto}.invoice-meta dl{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.invoice-document{padding:20px}.invoice-document-header{grid-template-columns:1fr}.invoice-meta{text-align:left}.invoice-meta dl{grid-template-columns:130px 1fr}.invoice-line-action{flex-wrap:wrap}.invoice-items th,.invoice-items td{padding:10px 3px;font-size:10px}.invoice-items small{font-size:9px}.invoice-total dl{gap:12px}.invoice-line-actions{padding:18px}.invoice-line-action>span:first-child{flex-basis:100%}}
@page{size:A4;margin:16mm}
@media print{body{background:#fff;color:#000}.print-toolbar,body>header,body>footer,.sf-toolbar{display:none!important}.invoice-print{padding:0;margin:0;max-width:none;min-height:0}.invoice-document{border:0;border-radius:0;padding:0;max-width:none}.invoice-document-header{grid-template-columns:1fr 1fr}.invoice-meta{text-align:right}.invoice-meta dl{grid-template-columns:1fr 1fr}.invoice-items thead{display:table-header-group}.invoice-items tr,.invoice-total,.invoice-payment,.invoice-legal{break-inside:avoid}.invoice-items th,.invoice-items td{font-size:10px;padding:10px 5px}.invoice-items small{font-size:9px}a{color:inherit;text-decoration:none}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}}

/* Settings navigation */
.settings-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:28px;align-items:start}
.settings-sidebar{position:sticky;top:24px;background:#fff;border:1px solid #e0e7e1;border-radius:12px;padding:14px}
.settings-menu-label{padding:8px 12px 14px;margin:0;font-size:10px;letter-spacing:1.6px;text-transform:uppercase;font-weight:700;color:#728276}
.settings-menu-item{display:block;padding:15px 12px;border-radius:8px;margin-bottom:5px;color:#435a4c;border-left:3px solid transparent}
.settings-menu-item>span{display:block;font-size:13px;font-weight:650}.settings-menu-item small{display:block;font-size:11px;line-height:1.6;color:#758579;margin-top:5px}
.settings-menu-item:hover{background:#f4f7f3;text-decoration:none}.settings-menu-item.is-active{background:#edf5ee;border-left-color:#2b6849;color:#20533f}
.settings-soon{display:inline-block;margin-left:7px;font-size:9px;font-weight:500;color:#7d8175}
.settings-content{min-width:0}.settings-panel{padding:30px}.settings-panel-heading{margin-bottom:28px}.settings-panel-heading h2{font-size:23px;margin:0 0 10px}
.settings-panel .form-actions{margin-top:26px;padding-top:22px;border-top:1px solid #edf1ed}
.settings-related{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;padding:24px 4px;font-size:12px}.settings-related p{font-size:12px}
.settings-coming{padding:26px;background:#f5f8f4;border:1px dashed #cdd9cc;border-radius:9px;margin-top:25px}.settings-coming h3{font-size:17px;margin:18px 0 10px}
@media(max-width:850px){.settings-layout{grid-template-columns:215px minmax(0,1fr);gap:18px}.settings-panel{padding:22px}.settings-content .form-grid{grid-template-columns:1fr}}
@media(max-width:650px){.settings-layout{grid-template-columns:1fr}.settings-sidebar{position:static;padding:10px}.settings-sidebar nav{display:grid;grid-template-columns:1fr 1fr;gap:4px}.settings-menu-label{grid-column:1/-1;padding-bottom:5px}.settings-menu-item{margin:0;padding:12px 8px}.settings-menu-item small{display:none}.settings-soon{display:block;margin:5px 0 0}.settings-panel-heading h2{font-size:21px}}

.invoice-color-setting input[type=color]{width:74px;height:48px;padding:4px;cursor:pointer;margin-top:0}
.invoice-color-setting>label{margin-top:16px}
.invoice-themed .invoice-items th{background:var(--invoice-accent);color:var(--invoice-on-accent)}
.invoice-themed .invoice-kind{color:var(--invoice-accent-text)!important}
.invoice-themed .invoice-recipient .eyebrow{color:var(--invoice-accent-text)}
.invoice-themed .invoice-total .grand-total{border-top-color:var(--invoice-accent);color:var(--invoice-accent-text)}
.invoice-themed .invoice-payment,.invoice-themed .invoice-legal{border-top-color:var(--invoice-accent)}

/* Keep sender and recipient aligned side by side, including on printed invoices. */
.invoice-addresses{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:35px;margin:30px 0;align-items:start;break-inside:avoid}
.invoice-addresses .invoice-recipient{margin:0}
.invoice-themed .invoice-sender .eyebrow{color:var(--invoice-accent-text)}
@media(max-width:700px){.invoice-addresses{gap:18px}.invoice-addresses p{font-size:12px}}
@media print{.invoice-addresses{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:25px}.invoice-addresses p{font-size:12px}}

.purchase-upload{margin-top:24px}.purchase-upload-body{padding:0 24px 26px}.purchase-upload-body form{margin:20px 0 14px}.purchase-upload-body button{margin-top:14px}.purchase-upload-body>small{color:#758579;line-height:1.6}
.purchase-attachment{padding:26px;border-top:1px solid #dfe8e0}.purchase-attachment-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.purchase-attachment h3{font-size:17px;margin:10px 0 0;overflow-wrap:anywhere}.purchase-attachment-heading p{font-size:12px}.purchase-attachment .action-group{align-items:center;margin-top:20px}
.recognized-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0;padding:20px;background:#f4f8f3;border-radius:8px}.recognized-values span,.recognized-values strong,.recognized-values small{display:block;overflow-wrap:anywhere}.recognized-values span{font-size:11px;color:#687d6d}.recognized-values strong{font-size:16px;margin-top:7px}.recognized-values small{font-size:10px;color:#758579;margin-top:8px}
.recognized-text{margin-top:20px;padding:18px;font-size:12px}.recognized-text pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:320px;overflow-y:auto;line-height:1.7;background:#f7f8f5;padding:16px}.recognition-tag{display:block;color:#8a6424;font-size:11px;margin-top:7px}.recognition-warning{color:#8a6424}
@media(max-width:700px){.recognized-values{grid-template-columns:1fr 1fr}.purchase-attachment-heading{align-items:flex-start;flex-direction:column}.purchase-attachment{padding:20px}}

.purchase-payment .membership-heading{padding:0 0 22px}.purchase-payment .membership-heading h2{margin:0}.purchase-payment-hint{margin-top:22px;font-size:12px}.purchase-payment .recognized-text{padding:18px 0 0}

.sales-payments { margin-bottom: 1.5rem; padding: 1.5rem; }

/* Payment registration */
.payment-page{max-width:1040px;margin:0 auto}
.payment-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start}
.payment-card-heading{display:flex;gap:16px;align-items:center;padding:28px 30px;border-bottom:1px solid #edf1ed}
.payment-card-heading h2{margin:0 0 6px}.payment-card-heading p{font-size:13px;margin:0}
.payment-step{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:12px;background:#edf4ee;color:#356747;font-size:23px;font-weight:600}
.payment-fields{padding:28px 30px;display:grid;gap:24px}
.payment-fields .help-text,.payment-fields .help-text p,.payment-fields .form-text{font-size:12px;line-height:1.6;margin-top:8px;color:#708077}
.payment-fields input,.payment-fields select{min-height:48px}
.payment-amount input{font-size:26px;font-weight:650;letter-spacing:-.5px;padding:14px 16px;background:#fbfdfb}
.payment-actions{display:flex;justify-content:flex-end;gap:12px;padding:20px 30px;background:#fafcf9;border-top:1px solid #edf1ed}
.payment-summary{padding:28px;background:#fdfefd}
.payment-summary h2{margin:12px 0 6px;font-size:22px;overflow-wrap:anywhere}
.payment-customer{margin:0 0 14px;overflow-wrap:anywhere}
.payment-summary dl{grid-template-columns:1fr auto;gap:16px;margin-top:28px;padding-top:24px;border-top:1px solid #e0e7e1}
.payment-summary dd{margin:0;text-align:right;font-weight:600}
.payment-balance{margin-top:24px;padding:20px;border-radius:9px;background:#eaf2eb;color:#23553f}
.payment-balance span{display:block;font-size:12px;font-weight:600}.payment-balance strong{display:block;font-size:32px;letter-spacing:-1px;margin-top:8px;overflow-wrap:anywhere}
.payment-summary .payment-summary-note{font-size:12px;line-height:1.7;margin-top:18px}
.payment-footnote{font-size:12px;margin-top:20px}
.payment-card form>ul{margin:16px 30px}
@media(max-width:800px){.payment-layout{grid-template-columns:1fr}.payment-summary{grid-row:1}.payment-summary dl{margin-top:18px}.payment-balance strong{font-size:28px}}
@media(max-width:500px){.payment-card-heading,.payment-fields,.payment-summary{padding:22px}.payment-card-heading{align-items:flex-start}.payment-fields .form-grid{grid-template-columns:1fr}.payment-actions{padding:18px 22px;flex-wrap:wrap}.payment-actions .button{flex:1}}

/* Cash control reports */
.report-period{margin:24px 0 18px;font-size:12px}
.report-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.report-card{padding:26px}.report-card h2{font-size:32px;margin:12px 0 0;overflow-wrap:anywhere}.report-card dl{grid-template-columns:1fr auto;gap:12px;margin-top:24px}.report-card dd{text-align:right;margin:0}.report-total{background:#eaf2eb}
.report-note{font-size:12px;margin:22px 0}.report-ledger{margin:24px 0}.report-ledger h2{margin:0}.report-ledger td{vertical-align:top}.report-ledger td:nth-child(2){white-space:normal;min-width:220px;overflow-wrap:anywhere}.report-ledger td:not(:nth-child(2)){white-space:nowrap}.report-ledger td:nth-child(n+3),.report-ledger th:nth-child(n+3){text-align:right}.report-ledger td,.report-ledger th{padding:14px 16px}.report-ledger details{font-size:11px;margin-top:10px}.report-opening{background:#f6f8f5}.report-check{padding:26px;margin-top:24px}.report-check p{margin-top:18px}
@media(max-width:1100px){header{flex-wrap:wrap;height:auto;min-height:88px;padding-top:12px}header nav{order:3;width:100%;overflow-x:auto;min-height:44px}.report-cards{gap:12px}.report-card{padding:20px}}
@media(max-width:700px){.report-cards{grid-template-columns:1fr}.report-card h2{font-size:28px}}
@media print{.report-controls,.report-note~.flash{display:none!important}.report-cards{grid-template-columns:repeat(3,1fr)}.report-card h2{font-size:22px}.report-card{padding:14px}.report-ledger{overflow:visible;break-inside:auto}.report-ledger .table-scroll{overflow:visible}.report-ledger table{white-space:normal}.report-ledger td,.report-ledger th{padding:8px 6px;font-size:10px}.report-ledger tr,.report-check,.report-card{break-inside:avoid}.report-ledger thead{display:table-header-group}.report-ledger tfoot{display:table-row-group}.report-ledger td:nth-child(2){min-width:0}.report-check{margin-top:20px}.report-period{margin:12px 0}.page-heading h1{font-size:28px}main{max-width:none;padding:0;min-height:0}}

/* Grouped main navigation */
.nav-dropdown{position:relative;display:flex;align-items:stretch}
.nav-dropdown summary{height:100%;min-height:44px;display:flex;align-items:center;gap:8px;padding:2px 8px 0;color:#2d4f3a;cursor:pointer;list-style:none;border-bottom:3px solid transparent}
.nav-dropdown summary::-webkit-details-marker{display:none}.nav-dropdown summary:focus-visible{outline:2px solid #2a7455;outline-offset:-3px}
.nav-dropdown-active summary{border-bottom-color:#276546;font-weight:650}.nav-dropdown[open] summary{background:#f0f5f0}
.nav-dropdown-links{position:absolute;z-index:30;top:100%;left:0;width:260px;padding:8px;border:1px solid #dce4de;border-radius:0 0 12px 12px;background:white;box-shadow:0 12px 28px #183f3018}
.nav-dropdown-links a{display:block;padding:13px 14px;border-radius:7px;font-weight:600;white-space:normal}
.nav-dropdown-links a:hover,.nav-dropdown-links a[aria-current]{background:#edf4ee;text-decoration:none}
.nav-dropdown-links small{display:block;font-weight:400;font-size:11px;color:#6c7d72;margin-top:5px}
@media(max-width:1100px){header nav{overflow:visible;flex-wrap:wrap}.nav-dropdown summary{min-height:44px}.nav-dropdown{display:block}}
@media(max-width:700px){header nav{height:auto;gap:3px}header nav>a{min-height:44px}.nav-dropdown-links{width:235px;left:auto;right:0}}

.security-panel{padding:30px;max-width:900px}.two-factor-enrollment{display:grid;grid-template-columns:264px 1fr;gap:28px;align-items:center;margin:24px 0}.two-factor-qr{max-width:100%;height:auto;border:1px solid #e0e7e1;border-radius:10px}.two-factor-enrollment li{line-height:1.8;margin-bottom:12px}.two-factor-enrollment ol{padding-left:20px}.two-factor-secret{overflow-wrap:anywhere}.security-panel #confirm-code{max-width:280px;letter-spacing:5px;font-size:24px}.recovery-codes{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:24px 0}.recovery-codes code{padding:12px;background:#f0f5ef;border-radius:7px;overflow-wrap:anywhere}.security-manage{margin-top:25px;border-top:1px solid #e0e7e1;padding-top:22px}.security-manage form{margin-top:20px}@media(max-width:700px){.two-factor-enrollment{grid-template-columns:1fr}.recovery-codes{grid-template-columns:1fr}.security-panel{padding:22px}}

.administration-bar{display:flex;gap:22px;align-items:center;padding:12px max(28px,calc((100vw - 1144px)/2));background:#edf3ed;font-size:12px;flex-wrap:wrap}.administration-bar span{flex:1}@media print{.administration-bar{display:none}}

.invoice-mail-history{padding:26px;margin-top:24px}.invoice-mail-history td{vertical-align:top}.invoice-mail-history details{white-space:normal;max-width:420px;margin-top:8px;font-size:12px}.invoice-mail-history .table-scroll{margin:0 -26px}.button:disabled{opacity:.5;cursor:not-allowed}

/* Administration dashboard */
.dash-heading{display:flex;justify-content:space-between;gap:24px;align-items:center;margin:10px 0 30px}.dash-heading h1{font-size:36px;letter-spacing:-1.2px;margin:10px 0}.dash-heading p{margin:8px 0}.dash-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.dash-metric{position:relative;padding:25px 22px;background:white;border:1px solid #dce6dc;border-radius:14px;display:block;color:#244e38;transition:transform .15s,box-shadow .15s}.dash-metric:hover{text-decoration:none;transform:translateY(-2px);box-shadow:0 8px 24px #244e3810}.dash-metric p{font-size:13px;margin:30px 0 12px}.dash-metric strong{display:block;font-size:30px;letter-spacing:-1px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.dash-metric small{display:block;margin-top:12px;line-height:1.5;font-size:11px}.dash-icon{position:absolute;top:17px;right:18px;background:#eef4ee;border-radius:50%;width:28px;height:28px;display:grid;place-items:center;font-size:20px}.dash-receive{background:#244f3a;color:white;border-color:#244f3a}.dash-receive .dash-icon{background:#ffffff20}.dash-late .dash-icon{background:#fbf0df;color:#976323}.dash-middle{display:grid;grid-template-columns:1.55fr 1fr;gap:20px;margin:24px 0}.dash-cash,.dash-work{padding:26px;border-radius:14px}.dash-section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.dash-section-heading h2,.dash-work h2{font-size:21px;margin:7px 0}.dash-section-heading a{font-size:12px}.dash-cash-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:27px 0}.dash-cash-values span{display:block;font-size:12px;color:#617469}.dash-cash-values strong{display:block;font-size:22px;margin-top:10px;overflow-wrap:anywhere}.dash-note{font-size:12px;line-height:1.7;color:#6b7c70;margin:20px 0 0}.dash-work-links{margin-top:15px}.dash-work-links a{display:flex;justify-content:space-between;padding:12px 0;font-size:13px;border-bottom:1px solid #edf1eb}.dash-work-links a:last-child{border:0}.dash-work-links strong{font-weight:600}.dash-ledger{margin:24px 0;border-radius:14px;scroll-margin-top:24px;overflow:hidden}.dash-ledger>.dash-section-heading{padding:25px 26px 18px}.dash-count{display:inline-block;vertical-align:middle;margin-left:8px;padding:4px 9px;background:#eef3ec;border-radius:20px;font-size:12px;font-weight:500}.dash-ledger-total{font-size:24px;letter-spacing:-.5px}.dash-aging{padding:0 26px 20px}.dash-track{height:5px;background:#dbe9dd;border-radius:8px;overflow:hidden}.dash-track span{display:block;height:100%;background:#b37e3f}.dash-aging p{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:11px;margin:10px 0 0;color:#6b786f}.dash-dot{width:6px;height:6px;background:#b37e3f;border-radius:50%}.dash-table td,.dash-table th{padding:17px 26px}.dash-table td:first-child a{font-weight:650}.dash-table small{display:block;margin-top:6px;color:#6b7d70;font-size:11px}.dash-table th:nth-child(4),.dash-amount{text-align:right;white-space:nowrap}.dash-amount{font-weight:650;font-variant-numeric:tabular-nums}.dash-open{white-space:nowrap;font-size:12px}.dash-overdue{background:#fcf0df;color:#8a571e}.dash-ledger-footer{display:flex;justify-content:space-between;gap:16px;padding:17px 26px;background:#fbfcfa;font-size:11px;color:#708075;border-top:1px solid #edf1eb}.dash-empty{text-align:center;padding:25px 20px 35px}.dash-empty>span{display:grid;place-items:center;width:38px;height:38px;background:#eef5ed;border-radius:50%;margin:0 auto;color:#3a7252;font-size:21px}.dash-empty h3{font-size:16px;margin:14px 0 8px}.dash-empty p{font-size:13px}.dash-more summary{padding:17px 26px;font-size:13px;color:#356747;cursor:pointer}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(max-width:1000px){.dash-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-middle{grid-template-columns:1fr}.dash-heading{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.dash-heading h1{font-size:28px}.dash-metric{padding:20px 16px}.dash-metric strong{font-size:24px}.dash-cash-values{grid-template-columns:1fr}.dash-cash-values>div{display:flex;align-items:center;justify-content:space-between}.dash-cash-values strong{margin:0;font-size:22px}.dash-section-heading{flex-wrap:wrap}.dash-ledger-footer{flex-direction:column}.dash-table td,.dash-table th{padding:14px 16px}.dash-metrics{gap:10px}.dash-heading .action-group{flex-wrap:wrap}}

.dash-receive p{color:#e3eee6}

.settings-context-title{font-size:30px;font-weight:700;letter-spacing:-.8px;color:#20382c;margin:10px 0}

.article-dropdown{position:relative;flex:1;min-width:0;background:#fff;border:1px solid #d7e1d8;border-radius:8px}.article-dropdown summary{display:flex;justify-content:space-between;gap:12px;padding:14px 16px;cursor:pointer;list-style:none;font-size:13px}.article-dropdown summary::-webkit-details-marker{display:none}.article-dropdown summary:focus-visible{outline:2px solid #356747;outline-offset:2px}.article-dropdown-panel{padding:16px;border-top:1px solid #e4ebe4}.article-dropdown-panel input{margin:8px 0 12px;width:100%}.article-dropdown-panel select{width:100%;min-width:0!important;height:auto;padding:6px}.article-dropdown-panel option{padding:10px;font-size:13px}.article-dropdown-panel label{font-size:12px}.article-dropdown-panel .help-text{font-size:12px;margin-bottom:0}.invoice-article-picker .action-group{align-items:flex-start}@media(max-width:600px){.invoice-article-picker .action-group{flex-direction:column}.article-dropdown{width:100%}}

.quote-line-delete{margin-top:20px;padding-top:20px;border-top:1px solid #dce5dd}

.dash-reminder{display:block;font-size:12px;font-weight:650;margin-bottom:10px;white-space:nowrap}.dash-reminder-notice{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 26px;background:#fcf2e4;border:1px solid #eddcc2;border-radius:12px;margin-top:24px;color:#795328}.dash-reminder-notice p{font-size:12px;margin:8px 0 0}.dash-reminder-notice a{white-space:nowrap;font-size:12px}.reminder-summary{background:#f1f6ee;padding:20px;margin-top:24px;border-radius:8px;font-size:12px;line-height:1.7}.reminder-summary .invoice-text{white-space:pre-wrap}@media(max-width:600px){.dash-reminder-notice{align-items:flex-start;flex-direction:column}}

.member-membership{padding:24px 26px;border-top:1px solid #e0e8df;display:flex;flex-direction:column;gap:15px}.member-membership p{font-size:13px;margin:8px 0}.member-membership .action-group{flex-wrap:wrap;font-size:12px}.member-note{padding:18px 26px;font-size:12px;color:#6b7c70;line-height:1.7}

.member-report-filters{flex-wrap:wrap}.member-report-filters>div{min-width:150px;flex:1}.member-report-filters .checkbox-field{min-width:260px}.member-report-table td{vertical-align:top}.member-report-table small{display:block;margin-top:6px}.member-report-table td:last-child{white-space:normal}@media print{.member-report .report-controls{display:none!important}.member-report .table-scroll{overflow:visible}.member-report-table{table-layout:fixed;width:100%;font-size:9px}.member-report-table th,.member-report-table td{white-space:normal!important;overflow-wrap:anywhere;padding:8px}.member-report-table tr{break-inside:avoid}.member-report-table thead{display:table-header-group}.member-report-table tfoot{display:table-row-group}.member-report .report-card{break-inside:avoid}.member-report .report-cards h2{font-size:20px}}

.report-categories .report-note{padding:0 20px}.report-categories td:first-child{white-space:normal;overflow-wrap:anywhere}.report-categories td:nth-child(2){min-width:0;white-space:nowrap}.report-categories th:nth-child(n+2),.report-categories td:nth-child(n+2){text-align:right}

.audit-table td{vertical-align:top;white-space:normal}.audit-table td:first-child{min-width:190px}.audit-table td:nth-child(2){min-width:160px}.audit-table details{min-width:220px}.audit-table summary{cursor:pointer;color:var(--green,#356747)}.audit-table dl{margin:14px 0;max-width:700px}.audit-table dt{font-weight:700;margin-top:12px}.audit-table dd{margin:4px 0;overflow-wrap:anywhere}.audit-value{white-space:pre-wrap}.audit-arrow{font-weight:700}

.vat-rubrics td:first-child{white-space:normal;min-width:260px}.vat-rubrics td:nth-child(n+2){min-width:0;text-align:right;white-space:nowrap}.vat-rubrics th:nth-child(n+2){text-align:right}
