/* Private workspace and invoices. Public landing styles remain independent. */
.app-page,.payment-page{background:#f4f6f8;color:#14263a;font-family:'DM Sans',Arial,sans-serif}
.app-page .app-main{max-width:1180px;min-width:0;padding:2.5rem clamp(1rem,3vw,3rem);margin-inline:auto;width:100%}
.app-page .app-main>h1,.app-page .app-title-row h1,.app-page .admin-standalone h1{font:500 clamp(2rem,3.2vw,3rem)/1.2 'DM Sans',Arial,sans-serif;letter-spacing:-.04em;margin:.4rem 0 1rem}
.app-page .app-main h2,.app-page .admin-standalone h2{font:600 1.35rem/1.3 'DM Sans',Arial,sans-serif;letter-spacing:-.025em}
.app-page h3{font:600 1rem/1.4 'DM Sans',Arial,sans-serif;letter-spacing:0}
.app-page .app-sidebar{background:#14263a;border:0;padding:1.5rem 1rem;min-width:210px}
.app-page .app-sidebar a{display:block;color:#e8eef4;border-radius:9px;padding:.65rem .8rem;font-size:.83rem;line-height:1.4;letter-spacing:0}
.app-page .app-sidebar a:hover,.app-page .app-sidebar a.is-current{background:#253b51;color:white}
.app-page .app-sidebar .side-label{color:#aebbc8;padding-inline:.8rem}
.app-page .app-section,.app-page .admin-card,.app-page .admin-row,.app-page .stat-grid>div{background:#fff;border:1px solid #e2e7ed;border-radius:14px;box-shadow:0 3px 14px #13263a04}
.app-page .app-section{padding:1.5rem;margin:1.5rem 0}
.app-page .admin-row{margin:.65rem 0;overflow:hidden}.app-page .admin-row>summary{padding:1.15rem 1.25rem}
.app-page .admin-row>summary::after{content:'+';font-size:1.25rem;color:#597084}.app-page .admin-row[open]>summary::after{content:'−'}
.app-page .admin-row summary strong{font-size:.92rem}.app-page .admin-row summary small{font-size:.78rem;line-height:1.5}
.app-page .admin-inline-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;padding:1.3rem;gap:1rem}
.app-page label,.payment-page label{font-size:.82rem;line-height:1.5;letter-spacing:0;color:#243b50}
.app-page input,.app-page select,.app-page textarea,.payment-page input,.payment-page select,.payment-page textarea{background:#fff;color:#14263a;border:1px solid #cdd7e0;border-radius:9px;padding:.85rem;line-height:1.5;font:400 .95rem 'DM Sans',Arial,sans-serif;box-shadow:none;max-width:100%;min-width:0}
.app-page input:focus,.app-page textarea:focus,.payment-page input:focus{outline:2px solid #436987;outline-offset:2px}
.app-page .app-form,.payment-page .payment-form{gap:1rem}.app-page .form-grid{gap:1rem}
.app-page .button-gold,.payment-page .button-gold,.app-page button:not(.text-action):not(.link-danger),.payment-page button:not(.text-action){background:#14263a;color:#fff;border:1px solid #14263a;border-radius:9px;padding:.85rem 1.15rem;font:600 .85rem 'DM Sans',Arial,sans-serif;letter-spacing:0;text-transform:none;cursor:pointer;box-shadow:0 2px 4px #14263a0d}
.app-page .button-gold:hover,.payment-page .button-gold:hover{background:#28445e;border-color:#28445e;color:white}
.app-page button:disabled,.payment-page button:disabled{opacity:.55;cursor:wait}.app-page .link-danger{background:transparent;border:0;color:#922f32;padding:.5rem}
.app-page .quick-links{display:flex;align-items:center;flex-wrap:wrap;gap:.65rem;margin:1.3rem 0;background:transparent;border:0;padding:0}
.app-page .quick-links a,.app-page .quick-links button{background:#fff;color:#14263a;border:1px solid #dce4ea;border-radius:9px;padding:.7rem .9rem;font-size:.82rem;letter-spacing:0;text-transform:none}
.app-page .quick-links .button-gold{background:#14263a;color:#fff;border-color:#14263a}.app-page .text-action{color:#284b68;letter-spacing:0;text-transform:none}
.app-page .stat-grid strong{font:600 1.9rem 'DM Sans',Arial,sans-serif;letter-spacing:-.04em}.app-page .stat-grid span{font-size:.75rem;letter-spacing:0;text-transform:none}
.app-page .status-pill{background:#edf2f6;color:#365269;border:0;border-radius:20px;padding:.3rem .6rem;font-size:.72rem;letter-spacing:0;text-transform:none}
.app-page .notice,.app-page .flash{background:#eaf0f5;color:#213c52;border:1px solid #d5e0e9;border-radius:10px}.app-page .add-card,.app-page .add-row{background:#f8fafc}.app-page .add-row summary{color:#14263a}
.portal-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.5rem 0}.portal-card{display:block;background:white;border:1px solid #e1e7ec;border-radius:14px;overflow:hidden;color:#14263a;text-decoration:none}.portal-card img{width:100%;height:140px;object-fit:cover;display:block}.portal-card>div{padding:1.1rem}.portal-card h3{margin:0 0 .4rem}.portal-card p{font-size:.82rem;line-height:1.6;margin:0;color:#5c6e7d}.portal-card:hover{border-color:#7c93a6}
.portal-banner{display:grid;grid-template-columns:220px 1fr;background:#14263a;border-radius:16px;overflow:hidden;margin:1.5rem 0;color:white}.portal-banner img{width:100%;height:100%;max-height:220px;object-fit:cover}.portal-banner>div{padding:1.5rem 2rem}.portal-banner h2{color:white!important}.portal-banner p{color:#d3dfe8;font-size:.9rem}.portal-banner .small-label{color:#b7c9d8}
.file-drop{padding:1.2rem!important;border:1px dashed #8ca3b6;border-radius:12px;background:#f8fafc}.file-drop input{border:0;background:transparent;padding:.5rem 0}.file-drop small{display:block}.drop-active{outline-color:#375e7d}
.app-page .check-label,.payment-page .check-label{display:flex;align-items:center;gap:.6rem}.app-page input[type=checkbox],.payment-page input[type=checkbox],.payment-page input[type=radio]{accent-color:#14263a;width:18px;height:18px;flex:0 0 auto}
.payment-page .simple-header .brand-main,.payment-page .simple-header .brand-sub,.payment-page .simple-header a{color:#14263a}.payment-page .text-action{color:#14263a;letter-spacing:0;text-transform:none}
.payment-page{background:#fff}.payment-page .simple-header{background:#fff;border-bottom:1px solid #e8edf1}.payment-page .payment-layout{max-width:1120px;margin:2rem auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4rem;padding:1rem 2rem;background:white}.payment-page .invoice-summary,.payment-page .payment-panel{background:white;border:0;padding:0;min-width:0;box-shadow:none}.payment-page h1{font:500 1.5rem/1.35 'DM Sans',Arial,sans-serif;letter-spacing:-.025em}.payment-page h2{font:600 1.25rem 'DM Sans',Arial,sans-serif;letter-spacing:-.02em}.payment-page .amount-heading strong{font:600 2.8rem 'DM Sans',Arial,sans-serif;letter-spacing:-.05em}.payment-page .small-label{color:#617686;letter-spacing:.08em;font-size:.68rem}.payment-page .invoice-details,.payment-page .invoice-totals{border-color:#e4eaf0}.payment-page .company-name{font-size:.94rem}.payment-page .payment-methods{gap:.65rem;grid-template-columns:repeat(2,minmax(0,1fr));border:0;padding:0;margin:1.2rem 0}.payment-page .payment-methods label{background:#fff;border:1px solid #dce4eb;border-radius:10px;padding:.8rem;display:flex;align-items:center;gap:.6rem}.payment-page .payment-methods label:has(input:checked){background:#f1f5f8;border-color:#14263a}.payment-page .transfer-details{background:#f8fafc;border:1px solid #e1e7ec;border-radius:12px;padding:1rem}.payment-page .wallet-layout{display:grid;grid-template-columns:128px minmax(0,1fr);gap:1rem}.payment-page .wallet-qr{width:128px;border-radius:8px;background:white;padding:6px}.payment-page .wallet-address{font-size:.8rem;overflow-wrap:anywhere}.payment-page .transfer-note{font-size:.75rem;line-height:1.6;color:#617383}.payment-page .bank-details dd{overflow-wrap:anywhere}.payment-page .payment-confirmation{margin-top:1.5rem}.payment-page .payment-confirmation h3{font-size:1rem}.payment-page .payment-history{margin-top:2rem}.payment-page .more-payments{grid-column:1/-1}.payment-page .invoice-details small{overflow-wrap:anywhere}
.stripe-options{display:flex;gap:.7rem;margin:1rem 0}.stripe-options form{flex:1}.stripe-options button{width:100%}#embedded-checkout{margin:1rem 0;min-height:0}.invoice-ready{background:#edf4f8;border:1px solid #cddce7;border-radius:12px;padding:1.3rem;margin:1rem 0}.invoice-ready input{width:100%}.app-page .fold-section>summary{font-weight:600;cursor:pointer;display:flex;justify-content:space-between}.fold-section>summary::after{content:'+'}.fold-section[open]>summary::after{content:'−'}.app-page .fold-section{margin:1rem 0}.app-page .table-scroll{border-radius:10px}.app-page table th{color:#3c566a;letter-spacing:0;text-transform:none}
.welcome-shell{max-width:1050px;margin:3rem auto;padding:0 1.5rem}.welcome-stage{display:grid;grid-template-columns:1.1fr 1fr;border-radius:18px;overflow:hidden;background:white;border:1px solid #dde5ec}.welcome-stage>img{width:100%;height:480px;object-fit:cover}.welcome-copy{padding:3rem;align-self:center}.welcome-copy h1{font:500 2rem/1.2 'DM Sans',Arial,sans-serif;letter-spacing:-.04em}.welcome-copy p{color:#5a6f7e;line-height:1.7}.welcome-copy .quick-links{margin-top:2rem}.welcome-progress{display:flex;gap:.7rem;margin:1.5rem 0}.welcome-progress span{height:4px;flex:1;background:#d7e0e8;border-radius:5px}.welcome-progress span.current{background:#14263a}
@media(max-width:850px){.portal-cards{grid-template-columns:1fr}.portal-card{display:grid;grid-template-columns:130px 1fr}.portal-card img{height:100%;min-height:125px}.portal-banner{grid-template-columns:140px 1fr}.portal-banner>div{padding:1.25rem}.payment-page .payment-layout{grid-template-columns:1fr;gap:2rem;padding:1rem 1.25rem}.welcome-stage{grid-template-columns:1fr}.welcome-stage>img{height:240px}.welcome-copy{padding:2rem}.app-page .admin-inline-form{grid-template-columns:1fr}.app-page .app-sidebar{max-height:none}.app-page .app-main{padding:1.5rem 1rem}.app-page .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media print{.payment-page .payment-panel{display:none}.payment-page .payment-layout{display:block}.payment-page{background:white}}
