:root{color:#17202a;background:#f6f7f3;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;line-height:1.5;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,textarea,select{font:inherit}.app{min-height:100vh}.topbar{border-bottom:1px solid #dfe4dc;background:#ffffffdb;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);position:sticky;top:0;z-index:10}.brand{align-items:center;color:inherit;display:flex;gap:12px;margin:0 auto;max-width:1180px;padding:16px 22px;text-decoration:none}.brand-mark{align-items:center;aspect-ratio:1;background:#12343b;border-radius:8px;color:#fff;display:inline-flex;font-size:.74rem;font-weight:800;justify-content:center;width:42px}.brand strong,.brand small{display:block}.brand small{color:#627069;font-size:.78rem}main{margin:0 auto;max-width:1180px;padding:38px 22px 64px}.admin-app main{max-width:1440px}.admin-app .brand{max-width:1440px}.invoice-layout{display:grid;gap:24px;grid-template-columns:minmax(0,1fr) 340px}.invoice-main,.payment-panel,.shell-panel,.admin-dashboard{background:#fff;border:1px solid #dfe4dc;border-radius:8px;box-shadow:0 18px 40px #12343b14}.invoice-main{padding:30px}.payment-panel{align-self:start;padding:24px;position:sticky;top:88px}.shell-panel{margin:0 auto;max-width:560px;padding:34px}.admin-dashboard{padding:30px}.admin-profile{display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.admin-layout-header{align-items:start;border-bottom:1px solid #dfe4dc;display:grid;gap:18px;grid-template-columns:minmax(220px,1fr) auto auto;margin:-4px 0 26px;padding-bottom:22px}.admin-nav{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.admin-nav a{border:1px solid #cfd8d0;border-radius:8px;color:#12343b;font-weight:800;padding:9px 12px;text-decoration:none}.admin-nav a.active,.admin-nav a:hover{background:#12343b;border-color:#12343b;color:#fff}.admin-grid{display:grid;gap:22px;grid-template-columns:minmax(0,1fr) 340px}.admin-section-heading{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:14px}.admin-section-heading h2,.admin-form-panel h2{font-size:1.2rem;margin:0}.admin-table-wrap{border:1px solid #dfe4dc;border-radius:8px;overflow-x:auto}.admin-table{border-collapse:collapse;min-width:980px;width:100%}.admin-table th,.admin-table td{border-bottom:1px solid #e5e9e3;padding:12px;text-align:left;vertical-align:top}.admin-table th{background:#f7f8f5;color:#4c5d55;font-size:.78rem;text-transform:uppercase}.admin-table td{overflow-wrap:anywhere}.table-subtext{color:#65726b;display:block;margin-top:2px}.admin-table tbody tr:last-child td{border-bottom:0}.admin-form-panel{background:#f7f8f5;border:1px solid #dfe4dc;border-radius:8px;padding:18px}.admin-form{display:grid;gap:10px;margin-top:16px}.admin-form label{font-weight:800}.admin-form input,.admin-form textarea,.admin-form select{border:1px solid #cfd8d0;border-radius:8px;min-height:42px;padding:10px 12px}.admin-form textarea{min-height:88px;resize:vertical}.checkbox-row{align-items:center;display:flex;gap:8px}.checkbox-row input{min-height:auto;width:18px}.table-button{background:#fff;border:1px solid #b9c7bf;border-radius:8px;color:#12343b;cursor:pointer;font-weight:800;padding:7px 10px}.table-link{display:inline-flex;text-decoration:none}.table-button:hover{background:#f4f7f4}.table-button.danger{border-color:#e2aaa4;color:#9b2d20}.table-button:disabled{cursor:not-allowed;opacity:.58}.admin-page-copy{margin-bottom:18px}.admin-action-bar{align-items:center;background:#f7f8f5;border:1px solid #dfe4dc;border-radius:8px;display:flex;gap:16px;justify-content:space-between;margin-bottom:16px;padding:14px}.admin-message{border-radius:8px;margin-bottom:14px;padding:12px 14px}.form-success.admin-message{background:#edf9f1;border:1px solid #b7e5c7}.form-error.admin-message{background:#ffe1dc;border:1px solid #efbbb3}.row-actions{display:flex;flex-wrap:wrap;gap:8px}.pill{border-radius:999px;display:inline-flex;font-size:.78rem;font-weight:800;padding:5px 9px;text-transform:capitalize}.pill.active{background:#dff5e8;color:#0a6c3d}.pill.archived,.pill.inactive{background:#eef0ef;color:#5d6963}.empty-state{align-items:start;background:#f7f8f5;border:1px dashed #bbc8c0;border-radius:8px;display:grid;gap:10px;padding:28px}.empty-state h2{font-size:1.25rem;margin:0}.empty-state p{color:#65726b;margin:0}.invoice-heading{align-items:start;display:flex;gap:20px;justify-content:space-between;margin-bottom:28px}.invoice-admin-table{min-width:1100px}.invoice-builder{align-items:start;display:grid;gap:22px;grid-template-columns:minmax(0,1fr) 340px}.invoice-builder-main{display:grid;gap:18px;min-width:0}.form-section,.invoice-builder-summary{background:#fff;border:1px solid #dfe4dc;border-radius:8px;box-shadow:0 12px 28px #12343b0f;padding:22px}.form-section{display:grid;gap:16px}.form-section h2,.form-section-header h2{font-size:1.16rem;margin:0}.form-section-header{align-items:center;display:flex;gap:12px;justify-content:space-between}.invoice-form-grid{display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.invoice-form-grid label,.wide-label{color:#283930;display:grid;font-weight:800;gap:8px}.invoice-form-grid input,.invoice-form-grid select,.wide-label textarea,.invoice-line-row input,.invoice-line-row select{border:1px solid #cfd8d0;border-radius:8px;min-height:42px;padding:10px 12px;width:100%}.wide-label textarea{min-height:88px;resize:vertical}.invoice-line-editor{border:1px solid #dfe4dc;border-radius:8px;overflow-x:auto}.invoice-line-header,.invoice-line-row{display:grid;gap:10px;grid-template-columns:minmax(150px,1fr) minmax(220px,1.5fr) 80px 150px 130px 92px;min-width:900px}.invoice-line-header{background:#f7f8f5;color:#4c5d55;font-size:.78rem;font-weight:800;padding:12px;text-transform:uppercase}.invoice-line-row{align-items:center;border-top:1px solid #e5e9e3;padding:12px}.invoice-line-row strong{text-align:right}.invoice-builder-summary{align-self:start;position:sticky;top:88px}.invoice-created-message{display:grid;gap:10px}.invoice-detail-admin{display:grid;gap:24px;grid-template-columns:minmax(0,1fr) 340px}.public-link-text{overflow-wrap:anywhere}.eyebrow{color:#5a7565;font-size:.78rem;font-weight:800;letter-spacing:0;margin:0 0 6px;text-transform:uppercase}h1{font-size:clamp(2rem,4vw,3rem);line-height:1.05;margin:0}.setup-copy h1,.shell-panel h1{font-size:2.35rem}.muted{color:#65726b;margin:10px 0 0}.summary-grid{display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:28px}.summary-item{background:#f7f8f5;border:1px solid #e3e8e0;border-radius:8px;min-width:0;padding:16px}.summary-item span,.summary-item small{color:#65726b;display:block}.summary-item strong{display:block;margin-top:4px;overflow-wrap:anywhere}.line-items{border:1px solid #dfe4dc;border-radius:8px;overflow:hidden}.line-items-header,.line-item{display:grid;gap:12px;grid-template-columns:minmax(180px,1fr) 70px 110px 120px}.line-items-header{background:#12343b;color:#fff;font-size:.82rem;font-weight:800;padding:12px 16px}.line-item{border-top:1px solid #e5e9e3;padding:16px}.line-item span{min-width:0;overflow-wrap:anywhere}.line-item span:not(:first-child),.line-items-header span:not(:first-child){text-align:right}.status-badge{border-radius:999px;display:inline-flex;font-size:.78rem;font-weight:800;padding:6px 10px;text-transform:capitalize;white-space:nowrap}.status-badge.open,.status-badge.payment_pending{background:#fff2c4;color:#6e5100}.status-badge.paid{background:#dff5e8;color:#0a6c3d}.status-badge.payment_failed,.status-badge.void{background:#ffe1dc;color:#9b2d20}.amount{display:block;font-size:2.25rem;line-height:1.1;margin-bottom:22px}dl{border-bottom:1px solid #e2e6df;border-top:1px solid #e2e6df;margin:0 0 22px;padding:12px 0}dl div{align-items:center;display:flex;justify-content:space-between;padding:6px 0}dt{color:#65726b}dd{font-weight:800;margin:0}.primary-button{background:#0f6f6a;border:0;border-radius:8px;color:#fff;cursor:pointer;font-weight:800;min-height:46px;padding:12px 18px;width:100%}.primary-action-button{background:#0f6f6a;border:0;border-radius:8px;color:#fff;cursor:pointer;font-weight:800;min-height:42px;padding:10px 16px;white-space:nowrap}.primary-action-button:hover:not(:disabled){background:#0a5d59}.primary-action-button:disabled{cursor:not-allowed;opacity:.6}.secondary-button,.link-button{align-items:center;background:#fff;border:1px solid #b9c7bf;border-radius:8px;color:#12343b;cursor:pointer;display:inline-flex;font-weight:800;justify-content:center;min-height:42px;padding:10px 16px;text-decoration:none}.link-button{margin-top:22px}.secondary-button:hover,.link-button:hover{background:#f4f7f4}.secondary-button:disabled{cursor:not-allowed;opacity:.6}.primary-button:hover:not(:disabled){background:#0a5d59}.primary-button:disabled{cursor:not-allowed;opacity:.6}.inline-notice{border:1px solid;border-radius:8px;display:grid;gap:2px;margin-bottom:22px;padding:14px 16px}.inline-notice.success{background:#edf9f1;border-color:#b7e5c7;color:#114f30}.inline-notice.neutral{background:#eef4f4;border-color:#cbdedd;color:#244f54}.setup-form{display:grid;gap:10px;margin-top:28px}.setup-form label{font-weight:800}.setup-form input{border:1px solid #cfd8d0;border-radius:8px;min-height:46px;padding:10px 12px}.setup-form input:focus{border-color:#0f6f6a;outline:3px solid rgba(15,111,106,.14)}.form-error{color:#9b2d20;font-weight:700;margin:0 0 12px}.form-success{color:#0a6c3d;font-weight:700;margin:0 0 12px}.result-icon{align-items:center;border-radius:999px;display:inline-flex;font-size:1.35rem;font-weight:900;height:44px;justify-content:center;margin-bottom:16px;width:44px}.result-icon.success{background:#dff5e8;color:#0a6c3d}.result-icon.neutral{background:#eef4f4;color:#244f54}.result-icon.danger{background:#ffe1dc;color:#9b2d20}.modal-backdrop{align-items:center;background:#12202a70;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:100}.modal-panel{background:#fff;border:1px solid #dfe4dc;border-radius:8px;box-shadow:0 26px 70px #12343b3d;max-height:calc(100vh - 48px);max-width:560px;overflow-y:auto;padding:22px;width:min(560px,100%)}.modal-header{align-items:center;border-bottom:1px solid #e2e6df;display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:12px}.modal-header h2{font-size:1.35rem;margin:0}.icon-button{align-items:center;background:#f7f8f5;border:1px solid #cfd8d0;border-radius:999px;color:#12343b;cursor:pointer;display:inline-flex;font-size:1.2rem;font-weight:800;height:34px;justify-content:center;line-height:1;width:34px}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:8px}@media(max-width:900px){.invoice-layout,.invoice-builder,.invoice-detail-admin{grid-template-columns:1fr}.payment-panel,.invoice-builder-summary{position:static}.summary-grid,.admin-profile,.admin-layout-header,.admin-grid{grid-template-columns:1fr}.admin-layout-header{align-items:stretch}.admin-action-bar,.modal-actions{align-items:stretch;flex-direction:column}.invoice-form-grid{grid-template-columns:1fr}.form-section-header{align-items:stretch;flex-direction:column}}@media(max-width:680px){main{padding:22px 14px 42px}.brand{padding:12px 14px}.invoice-main,.payment-panel,.shell-panel,.admin-dashboard{padding:20px}.invoice-heading{display:grid}.line-items{border:0;display:grid;gap:10px}.line-items-header{display:none}.line-item{border:1px solid #dfe4dc;border-radius:8px;grid-template-columns:1fr}.line-item span:not(:first-child){text-align:left}.modal-backdrop{align-items:flex-start;padding:12px}.modal-panel{max-height:calc(100vh - 24px);padding:18px}}
