:root{
  --brand-primary:#0d5684;--brand-nav:#0d5684;--brand-accent:#168a45;--login-background:#f4f7fa;
  --text:#17212b;--muted:#66717d;--line:#d8e3eb;--soft:#f4f6f8;--soft-blue:#edf5fb;--app-background:#f3f8fc;--surface:#ffffff;--surface-muted:#edf4f8;--surface-subtle:#f8fbfd;--surface-border:#d8e3eb;--surface-shadow:0 6px 22px rgba(22,38,55,.055);
  --danger:#b42318;--warning:#b86613;--success:#237a4b;--white:#fff;
  --shadow:0 10px 30px rgba(22,38,55,.08);--radius:14px;--radius-sm:9px;
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box}html{min-height:100%;background:#fff;scroll-behavior:smooth}body{margin:0;min-height:100vh;color:var(--text);font-size:14px;line-height:1.45;background:#fff}a{color:var(--brand-primary);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%}[hidden]{display:none!important}.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}

/* Shell based on the supplied CRM layout */
.brand-header{height:76px;padding:12px 22px;display:flex;align-items:center;gap:18px;background:#fff;border-bottom:1px solid #eef1f3}.brand-logo{display:flex;align-items:center;gap:12px;min-width:185px;text-decoration:none}.brand-logo img{display:block;max-width:180px;max-height:52px;object-fit:contain;object-position:left center}.brand-logo strong{font-size:20px;color:var(--brand-primary)}.brand-context{display:flex;flex-direction:column;margin-left:auto;text-align:right}.brand-context strong{font-size:14px}.brand-context span{font-size:12px;color:var(--muted)}.mobile-menu-button{display:none;margin-left:auto;border:0;background:var(--brand-nav);color:#fff;border-radius:7px;padding:9px 12px;font-size:20px}.main-nav{min-height:48px;padding:0 18px;background:var(--brand-nav);display:flex;align-items:stretch;justify-content:space-between;position:relative;z-index:30}.nav-left,.nav-right{display:flex;align-items:stretch}.nav-item{display:flex;align-items:center;padding:0 14px;color:#fff;border:0;background:transparent;text-decoration:none;white-space:nowrap}.nav-item:hover,.nav-item.active{background:rgba(255,255,255,.13);text-decoration:none}.nav-item.active{box-shadow:inset 0 -3px 0 #fff}.nav-button{height:100%}.logout-form{margin:0}.nav-dropdown{position:relative;display:flex}.nav-dropdown-menu{display:none;position:absolute;top:100%;right:0;width:230px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:0 0 10px 10px;padding:7px;z-index:50}.nav-dropdown.open .nav-dropdown-menu{display:block}.nav-dropdown-menu a{display:block;padding:10px 12px;color:var(--text);border-radius:7px}.nav-dropdown-menu a:hover{background:var(--soft-blue);text-decoration:none}.page-shell{padding:22px 26px 42px;max-width:1920px;margin:0 auto;min-height:calc(100vh - 160px)}.app-footer{display:flex;justify-content:space-between;gap:15px;padding:18px 26px;border-top:1px solid var(--line);font-size:12px;color:var(--muted);background:#fafbfc}

.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;margin:0 0 22px}.page-heading h1{margin:2px 0 3px;font-size:28px;line-height:1.15;letter-spacing:-.025em;text-transform:uppercase}.page-heading p{margin:0;color:var(--muted);max-width:760px}.eyebrow{display:block;color:var(--brand-primary);font-size:11px;line-height:1.2;text-transform:uppercase;letter-spacing:.13em;font-weight:800}.heading-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}

.button{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:9px 15px;border:1px solid transparent;border-radius:7px;font-weight:700;font-size:13px;line-height:1;text-decoration:none;transition:.16s ease}.button:hover{text-decoration:none;transform:translateY(-1px)}.button:disabled{opacity:.55;cursor:not-allowed;transform:none}.button-primary{background:var(--brand-accent);border-color:var(--brand-accent);color:#fff}.button-light{background:#fff;border-color:#cfd7df;color:var(--text)}.button-light:hover{background:var(--soft)}.button-danger{background:#fff1f0;border-color:#efb5b0;color:var(--danger)}.button-small{min-height:31px;padding:6px 10px;font-size:12px}.button-large{min-height:46px;font-size:14px}.text-link{font-weight:700}.center{text-align:center;display:block}.icon-button{border:1px solid #c8d3dd;background:#fff;border-radius:50%;width:31px;height:31px;color:var(--success);font-weight:900}.push-left{margin-right:auto}

.panel,.side-panel,.form-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 2px 10px rgba(22,38,55,.035);margin-bottom:20px}.panel,.side-panel{padding:18px}.form-card{overflow:hidden}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:16px}.panel-heading h2,.side-panel h2{font-size:17px;margin:0}.panel-heading p{margin:2px 0 0;color:var(--muted);font-size:12px}.panel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.panel-grid.two-thirds{grid-template-columns:minmax(0,1.7fr) minmax(300px,.8fr)}.settings-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(320px,.7fr);gap:20px}.sticky-panel{position:sticky;top:18px;align-self:start}

.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:20px}.metric-card{display:flex;flex-direction:column;min-height:120px;padding:17px;background:linear-gradient(145deg,#fff,#f8fafb);border:1px solid var(--line);border-top:4px solid var(--brand-primary);border-radius:12px;color:var(--text);box-shadow:0 4px 18px rgba(22,38,55,.045);text-decoration:none}.metric-card:hover{text-decoration:none;box-shadow:var(--shadow);transform:translateY(-1px)}.metric-card span{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:800}.metric-card strong{display:block;margin:8px 0 3px;font-size:27px;line-height:1.1}.metric-card small{color:var(--muted)}.metric-card .metric-text{font-size:18px}.compact-metrics .metric-card{min-height:105px}

.dashboard-layout{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:22px}.dashboard-aside{background:#f4f4f4;margin:-22px -26px -42px 0;padding:18px;min-height:calc(100vh - 124px)}.dashboard-aside .side-panel{box-shadow:none}.side-task-list{display:flex;flex-direction:column;gap:10px}.side-task{padding:12px;border:1px solid var(--line);border-left:4px solid var(--danger);border-radius:9px;background:#fff;display:flex;flex-direction:column}.side-task span,.side-task small{color:var(--muted);font-size:12px}.side-task button{align-self:flex-start;margin-top:7px;border:0;background:transparent;color:var(--brand-primary);font-weight:700;padding:0}.quick-links{display:flex;flex-direction:column}.quick-links a{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--line);font-weight:700}.quick-links a:last-child{border-bottom:0}.count-pill{display:inline-flex;min-width:28px;height:28px;align-items:center;justify-content:center;background:var(--soft-blue);border-radius:999px;color:var(--brand-primary);font-weight:800}

.table-wrap{width:100%;overflow:auto}.data-table{width:100%;border-collapse:separate;border-spacing:0;min-width:720px}.data-table th{padding:10px 11px;text-align:left;color:#fff;background:#477fbd;font-size:12px;font-weight:800}.data-table th:first-child{border-radius:9px 0 0 0}.data-table th:last-child{border-radius:0 9px 0 0}.data-table td{padding:11px;border-bottom:1px solid #fff;background:#f0f0f0;vertical-align:middle}.data-table tbody tr:nth-child(even) td{background:#f5f5f5}.data-table tbody tr:hover td{background:#eaf3fb}.data-table small{display:block;color:var(--muted);margin-top:2px}.data-table code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#e9edf1;padding:2px 6px;border-radius:5px}.table-primary-link{font-weight:800;color:#204b93}.row-overdue td{background:#fff2f0!important}.align-right{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:4px}

.filter-panel{padding:0;overflow:hidden}.filter-row{display:flex;align-items:end;gap:9px;flex-wrap:wrap;padding:15px;background:#f2f2f2}.filter-row label{margin:0}.search-field{min-width:220px;flex:1}.filter-row input,.filter-row select{min-height:36px}.inline-control{display:flex;align-items:center;gap:7px;white-space:nowrap}.inline-form{display:flex;gap:9px;margin-bottom:14px}.inline-form input{flex:1}.inline-note-form{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end;margin-bottom:16px}

input,select,textarea{width:100%;border:1px solid #cbd5de;border-radius:6px;background:#fff;color:var(--text);padding:9px 10px;outline:none;transition:border .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-primary) 16%,transparent)}textarea{resize:vertical}label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:700}label small{font-weight:400;color:var(--muted)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-stack{display:flex;flex-direction:column;gap:14px}.span-2{grid-column:span 2}.form-section{padding:21px;border-bottom:1px solid var(--line)}.form-section:last-of-type{border-bottom:0}.form-section-heading{margin-bottom:15px}.form-section-heading h2{margin:0;font-size:17px}.form-section-heading p{margin:3px 0 0;color:var(--muted)}.form-actions{display:flex;justify-content:flex-end;align-items:center;gap:9px;padding:17px 21px;background:#f6f7f8;border-top:1px solid var(--line)}.form-actions.span-2{grid-column:span 2;margin:6px -1px -1px}.checkbox-field{display:flex;flex-direction:row;align-items:center;gap:8px;font-weight:600}.checkbox-field input{width:17px;height:17px}.checkbox-row{display:flex;align-items:center;gap:18px;min-height:40px}.field-error,.error-text{color:var(--danger);font-size:12px}.muted{color:var(--muted)}

.badge{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:999px;background:#e9edf1;color:#47515b;font-size:11px;font-weight:800;text-transform:capitalize}.status-active,.status-ready,.status-paid,.status-free,.status-completed,.priority-low{background:#dff3e7;color:#226640}.status-disabled,.status-cancelled,.status-void{background:#e6e9ec;color:#5f6871}.status-card_required,.status-not_due,.status-processing,.status-in_progress,.priority-normal{background:#e3effa;color:#285d8c}.status-past_due,.status-failed,.status-requires_action,.priority-urgent{background:#fce3e0;color:#99291f}.priority-high{background:#ffead9;color:#9b4e14}.alert{padding:12px 14px;border-radius:8px;margin:0 0 17px;border:1px solid}.alert.success{background:#e6f5ec;border-color:#b8dfc8;color:#236841}.alert.error{background:#fff0ee;border-color:#efc0bb;color:#8d2d24}.alert.warning{background:#fff6dd;border-color:#ecd79b;color:#745312}.alert a{font-weight:800;color:inherit}.empty-state,.loading-state{padding:28px;text-align:center;color:var(--muted);background:#fafbfc;border-radius:9px}.empty-state.compact{padding:15px}.danger-zone{display:flex;justify-content:flex-end;margin-top:20px}

.stack-list{display:flex;flex-direction:column}.stack-row{display:flex;align-items:center;gap:11px;padding:11px 0;border-bottom:1px solid var(--line)}.stack-row:last-child{border-bottom:0}.stack-row>div{display:flex;flex-direction:column;min-width:0;flex:1}.stack-row small{color:var(--muted)}.stage-dot{display:inline-block;width:11px;height:11px;border-radius:50%;background:var(--stage-colour,#477fbd);flex:0 0 auto;margin-right:5px}.stage-summary{display:flex;flex-direction:column}.stage-summary-row{display:grid;grid-template-columns:14px 1fr auto;align-items:center;gap:9px;padding:11px 0;border-bottom:1px solid var(--line)}.stage-summary-row div{display:flex;flex-direction:column}.stage-summary-row small{color:var(--muted)}.activity-list{display:flex;flex-direction:column}.activity-item{display:flex;gap:11px;padding:11px 0;border-bottom:1px solid var(--line)}.activity-icon{width:31px;height:31px;border-radius:50%;background:var(--soft-blue);color:var(--brand-primary);display:flex;align-items:center;justify-content:center;font-weight:900}.activity-item div{display:flex;flex-direction:column}.activity-item small{color:var(--muted)}

.contact-tabs,.pipeline-tabs{display:flex;gap:2px;overflow:auto;margin-bottom:14px}.contact-tabs a,.pipeline-tabs a{padding:10px 13px;background:#477fbd;color:#fff;white-space:nowrap;font-weight:700}.contact-tabs a.active,.pipeline-tabs a.active{background:#94cfe8;color:#173746}.contact-tabs a:hover,.pipeline-tabs a:hover{text-decoration:none;filter:brightness(.97)}.contact-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.detail-group{background:#f2f2f2;border-radius:18px;padding:14px}.detail-group h3{margin:0 0 9px;font-size:13px;text-transform:uppercase}.detail-group dl{display:grid;grid-template-columns:minmax(90px,.8fr) 1.4fr;gap:7px 10px;margin:0}.detail-group dt{font-weight:700}.detail-group dd{margin:0}.detail-group address{font-style:normal;line-height:1.8}.notes-list{display:flex;flex-direction:column}.note-item{padding:12px 0;border-bottom:1px solid var(--line)}.note-item p{margin:0 0 5px}.note-item small{color:var(--muted)}

/* Pipeline board */
.pipeline-scroll{width:100%;overflow-x:auto;padding-bottom:10px}.pipeline-board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,1fr);min-width:max-content;gap:2px}.pipeline-column{width:285px;border:1px solid #477fbd;background:#f7f9fb}.pipeline-column>header{display:flex;justify-content:space-between;gap:8px;min-height:66px;padding:13px;background:var(--stage-colour,#477fbd);color:#fff}.pipeline-column>header div{display:flex;flex-direction:column}.pipeline-column>header small{opacity:.9}.stage-probability{align-self:start;background:rgba(255,255,255,.18);padding:4px 7px;border-radius:999px;font-size:11px}.pipeline-dropzone{min-height:420px;padding:10px}.opportunity-card{padding:13px;margin-bottom:9px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 2px 7px rgba(0,0,0,.05);cursor:grab}.opportunity-card:active{cursor:grabbing}[data-pipeline-board][data-can-move="0"] .opportunity-card{cursor:default}.opportunity-card-head{display:flex;justify-content:space-between;gap:7px}.opportunity-card-head button{border:0;background:transparent;font-weight:900}.opportunity-value{font-size:20px;font-weight:800;margin:8px 0 2px}.opportunity-card small{color:var(--muted)}.opportunity-card footer{display:flex;justify-content:space-between;margin-top:10px;padding-top:8px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.gu-mirror{transform:rotate(2deg);box-shadow:var(--shadow)}.gu-transit{opacity:.35}

/* FullCalendar */
.calendar-panel{padding:0;overflow:hidden}.calendar-filters{border-bottom:1px solid var(--line)}#task-calendar{padding:15px}.calendar-legend{display:flex;gap:13px;align-items:center;flex-wrap:wrap;margin-left:auto;font-size:11px}.legend-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:4px;background:#397db7}.legend-dot.high{background:#d55f1a}.legend-dot.urgent{background:#b42318}.legend-dot.completed{background:#2f8f5b}.fc{--fc-border-color:#dfe5ea;--fc-button-bg-color:var(--brand-primary);--fc-button-border-color:var(--brand-primary);--fc-button-hover-bg-color:color-mix(in srgb,var(--brand-primary) 85%,black);--fc-button-active-bg-color:color-mix(in srgb,var(--brand-primary) 75%,black);font-size:13px}.fc .fc-toolbar-title{font-size:20px}.fc .fc-button{border-radius:6px;text-transform:capitalize}.fc .fc-event{border-radius:5px;padding:2px 3px;cursor:pointer}.fc-daygrid-day-number{color:var(--text);font-weight:700}

/* Modals */
.modal{position:fixed;inset:0;display:none;z-index:200}.modal[aria-hidden="false"]{display:block}.modal-backdrop{position:absolute;inset:0;background:rgba(14,27,39,.58);backdrop-filter:blur(2px)}.modal-dialog{position:relative;width:min(570px,calc(100vw - 28px));max-height:calc(100vh - 40px);overflow:auto;margin:20px auto;background:#fff;border-radius:14px;box-shadow:0 25px 70px rgba(0,0,0,.28);padding:19px}.modal-large{width:min(800px,calc(100vw - 28px))}.modal-heading{display:flex;justify-content:space-between;gap:15px;margin-bottom:17px}.modal-heading h2{margin:2px 0 0}.modal-close{border:0;background:#eef1f4;border-radius:50%;width:34px;height:34px;font-size:22px;line-height:1}.modal-open{overflow:hidden}

/* Authentication */
.auth-body{background:var(--login-background)}.auth-shell{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px;background:radial-gradient(circle at 15% 15%,color-mix(in srgb,var(--brand-primary) 10%,transparent),transparent 35%),var(--login-background)}.auth-brand{display:flex;flex-direction:column;align-items:center;gap:7px;margin-bottom:18px}.auth-brand img{max-width:220px;max-height:72px;object-fit:contain}.auth-brand strong{font-size:23px;color:var(--brand-primary)}.auth-brand span{color:var(--muted)}.auth-card{width:min(430px,100%);background:#fff;border:1px solid var(--line);border-top:5px solid var(--brand-primary);border-radius:14px;padding:27px;box-shadow:var(--shadow)}.auth-card-heading{text-align:center;margin-bottom:20px}.auth-card-heading h1{margin:4px 0 4px;font-size:27px}.auth-card-heading p{margin:0;color:var(--muted)}

/* Billing */
.billing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.price-summary{display:flex;flex-direction:column}.price-summary>div{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line)}.price-total{font-size:17px;font-weight:800}.saved-card{padding:17px;background:linear-gradient(135deg,var(--brand-primary),color-mix(in srgb,var(--brand-primary) 65%,#000));color:#fff;border-radius:12px;margin-bottom:15px;display:flex;flex-direction:column;gap:4px}.card-chip{width:30px;height:22px;border-radius:4px;background:#e7cf82}.stripe-element{padding:13px;border:1px solid #cbd5de;border-radius:7px;background:#fff}.brand-preview{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:9px;padding:12px}.brand-preview img{max-height:70px;max-width:220px}.copy-field{display:grid;grid-template-columns:1fr auto;gap:8px;margin-bottom:18px}.login-preview{background:var(--preview-bg,#f4f7fa);border:1px solid var(--line);border-radius:12px;padding:20px}.login-preview-logo{text-align:center;margin-bottom:13px}.login-preview-logo img{max-height:55px;max-width:180px}.login-preview-card{background:#fff;border-top:4px solid var(--preview-primary,#0d5684);border-radius:9px;padding:17px;box-shadow:0 7px 22px rgba(0,0,0,.08)}.login-preview-card small{font-weight:800;color:var(--preview-primary)}.login-preview-card h3{margin:4px 0}.login-preview-card p{color:var(--muted)}.login-preview-card span{display:block;background:var(--brand-accent);color:#fff;text-align:center;padding:9px;border-radius:6px;font-weight:800}

/* Settings */
.list-settings-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:20px}.settings-tabs{display:flex;flex-direction:column;align-self:start;padding:8px}.settings-tabs a{display:flex;justify-content:space-between;gap:10px;padding:11px 12px;color:var(--text);border-radius:7px;font-weight:700}.settings-tabs a.active{background:var(--soft-blue);color:var(--brand-primary)}.settings-tabs a:hover{text-decoration:none;background:#f3f5f7}.colour-chip{display:inline-flex;align-items:center;gap:5px}.colour-chip:before{content:"";width:12px;height:12px;border-radius:50%;background:var(--chip-colour)}.info-list>div{display:flex;flex-direction:column;padding:10px 0;border-bottom:1px solid var(--line)}.info-list>div:last-child{border-bottom:0}.info-list span{color:var(--muted)}.admin-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(320px,.7fr);gap:20px}.admin-account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}

.toast-region{position:fixed;right:18px;bottom:18px;z-index:400;display:flex;flex-direction:column;gap:8px}.toast{max-width:390px;padding:12px 15px;border-radius:9px;background:#1f2b35;color:#fff;box-shadow:var(--shadow);transform:translateY(12px);opacity:0;transition:.2s}.toast.show{transform:translateY(0);opacity:1}.toast.error{background:#9f2e25}.toast.success{background:#216b45}

/* User access and billing controls */
.billing-pill{display:inline-flex;align-items:center;white-space:nowrap;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800}.billing-pill.free{background:#dff3e7;color:#226640}.billing-pill.paid{background:#e3effa;color:#285d8c}.permission-fieldset{min-width:0;margin:2px 0 0;padding:16px;border:1px solid var(--line);border-radius:10px;background:#fafbfc}.permission-fieldset legend{padding:0 7px;font-size:14px;font-weight:800}.permission-fieldset>p{margin:0 0 13px;color:var(--muted);font-size:12px}.permission-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.permission-group{padding:12px;border:1px solid #e1e7ec;border-radius:9px;background:#fff}.permission-group h3{margin:0 0 9px;font-size:13px;color:var(--brand-primary)}.permission-grid{display:flex;flex-direction:column;gap:7px}.permission-option{display:grid;grid-template-columns:18px 1fr;align-items:start;gap:8px;font-weight:600;line-height:1.3}.permission-option input{width:17px;height:17px;margin:0}.checkbox-card{display:grid;grid-template-columns:20px 1fr;align-items:start;gap:10px;padding:13px;border:1px solid var(--line);border-radius:9px;background:#fff}.checkbox-card input{width:18px;height:18px;margin:1px 0 0}.checkbox-card span{display:flex;flex-direction:column;gap:2px}.checkbox-card small{font-weight:400;color:var(--muted)}.billing-exemption{background:#f4f9fd;border-color:#c9dfee}.user-table td:nth-child(4){min-width:180px}.modal-large .form-actions{position:sticky;bottom:-19px;z-index:2}

@media (max-width:1100px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-layout{grid-template-columns:1fr}.dashboard-aside{margin:0;padding:0;background:transparent;min-height:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.panel-grid.two-thirds,.settings-grid,.admin-dashboard-grid{grid-template-columns:1fr}.sticky-panel{position:static}.detail-groups{grid-template-columns:1fr}.brand-context{display:none}}
@media (max-width:820px){.brand-header{height:68px;padding:8px 14px}.brand-logo img{max-height:45px;max-width:160px}.mobile-menu-button{display:block}.main-nav{display:none;position:absolute;top:68px;left:0;right:0;flex-direction:column;padding:8px;box-shadow:var(--shadow)}.main-nav.open{display:flex}.nav-left,.nav-right{flex-direction:column;width:100%}.nav-item{min-height:42px;border-radius:6px}.nav-item.active{box-shadow:none;background:rgba(255,255,255,.16)}.nav-dropdown{display:block}.nav-dropdown-menu{position:static;width:100%;border-radius:7px;margin-bottom:5px}.page-shell{padding:18px 15px 35px}.page-heading{flex-direction:column}.page-heading h1{font-size:24px}.heading-actions{width:100%}.panel-grid,.contact-detail-grid,.billing-grid,.admin-account-grid{grid-template-columns:1fr}.list-settings-layout{grid-template-columns:1fr}.settings-tabs{flex-direction:row;overflow:auto}.settings-tabs a{white-space:nowrap}.dashboard-aside{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.span-2,.form-actions.span-2{grid-column:span 1}.form-actions{flex-wrap:wrap}.metric-grid{grid-template-columns:1fr 1fr}.panel,.side-panel{padding:14px}.permission-groups{grid-template-columns:1fr}.filter-row{align-items:stretch}.filter-row>*{flex:1 1 180px}.calendar-legend{margin-left:0}.fc .fc-toolbar{align-items:flex-start;gap:8px}.fc .fc-toolbar-chunk:last-child{display:flex;flex-wrap:wrap;justify-content:flex-end}.app-footer{flex-direction:column}.pipeline-column{width:265px}}
@media (max-width:540px){body{font-size:13px}.metric-grid{grid-template-columns:1fr}.metric-card{min-height:100px}.heading-actions .button{flex:1}.auth-shell{padding:16px}.auth-card{padding:20px}.inline-note-form{grid-template-columns:1fr}.copy-field{grid-template-columns:1fr}.modal-dialog{padding:15px}.fc .fc-toolbar{flex-direction:column}.fc .fc-toolbar-chunk{width:100%;display:flex;justify-content:center}.data-table{min-width:650px}.dashboard-aside{display:block}.page-heading h1{text-transform:none}}


/* Public signup */
.auth-card-wide{width:min(900px,100%)}
.signup-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.75fr);gap:26px;align-items:start}
.signup-price-card{border:1px solid var(--line);border-radius:12px;padding:20px;background:linear-gradient(180deg,var(--soft-blue),#fff)}
.signup-price{display:flex;align-items:baseline;gap:10px;padding:15px 0;border-bottom:1px solid var(--line)}
.signup-price strong{font-size:34px;line-height:1;color:var(--brand-primary)}
.signup-price span{font-weight:700;color:var(--muted)}
.signup-price.secondary strong{font-size:27px;color:var(--brand-accent)}
.feature-list{margin:17px 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:9px}
.feature-list li{position:relative;padding-left:23px}
.feature-list li:before{content:"✓";position:absolute;left:0;color:var(--brand-accent);font-weight:900}
.signup-billing-note{display:flex;flex-direction:column;gap:4px;padding:13px;border-radius:9px;background:#fff;border:1px solid var(--line)}
.signup-billing-note span{font-size:12px;color:var(--muted)}
.workspace-field{display:grid;grid-template-columns:auto minmax(150px,1fr);align-items:center;border:1px solid #cbd5de;border-radius:6px;overflow:hidden;background:#f7f9fa}
.workspace-field:focus-within{border-color:var(--brand-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-primary) 16%,transparent)}
.workspace-field span{padding:9px 0 9px 10px;color:var(--muted);font-weight:500;white-space:nowrap}
.workspace-field input{border:0;border-radius:0;background:#fff;box-shadow:none!important}
.signup-terms{align-items:flex-start;line-height:1.4}
.signup-terms span{font-weight:500}
.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.auth-switch{text-align:center;margin:0;color:var(--muted)}
.auth-divider{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.auth-divider:before,.auth-divider:after{content:"";height:1px;flex:1;background:var(--line)}
.field-success{color:var(--success)!important;font-size:12px}
.text-button{border:0;background:transparent;color:var(--brand-primary);padding:0;font-weight:800;text-decoration:underline}
.verification-steps{display:grid;grid-template-columns:30px 1fr;gap:10px 12px;align-items:center;margin:0 0 20px}
.verification-steps span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--soft-blue);color:var(--brand-primary);font-weight:900}
.verification-steps p{margin:0;color:var(--muted)}
.badge.status-pending{background:#fff3d7;color:#865b08}.badge.status-verified{background:#dff3e7;color:#226640}.badge.status-expired,.badge.status-cancelled{background:#f4e5e3;color:#8b332b}
@media (max-width:760px){.signup-layout{grid-template-columns:1fr}.signup-price-card{order:-1}.workspace-field{grid-template-columns:1fr}.workspace-field span{padding-bottom:0;white-space:normal}.workspace-field input{padding-top:4px}}

/* CRM list views, contact sub-pages and pipeline history */
.heading-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.contact-tabs{display:flex;gap:4px;overflow-x:auto;margin:-6px 0 18px;padding:4px;border-bottom:1px solid var(--line)}
.contact-tabs a{display:inline-flex;align-items:center;min-height:38px;padding:8px 15px;border-radius:7px 7px 0 0;color:var(--muted);font-weight:800;white-space:nowrap;border-bottom:3px solid transparent}
.contact-tabs a:hover{background:var(--soft-blue);color:var(--brand-primary)}
.contact-tabs a.active{background:var(--soft-blue);color:var(--brand-primary);border-bottom-color:var(--brand-primary)}
.contact-metrics{margin-bottom:18px}.contact-metrics .metric-card{text-decoration:none;color:inherit}.contact-metrics .metric-card:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(25,45,65,.08)}
.contact-dashboard-grid{grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr)}
.split-summary{display:grid;gap:22px}.subheading-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.subheading-row h3{margin:0}
.contact-notes-page{max-width:1100px}.contact-notes-page .inline-note-form{max-width:none}
.ajax-filter-grid{display:grid;grid-template-columns:repeat(5,minmax(145px,1fr));gap:12px;align-items:end;margin-bottom:16px}
.ajax-filter-grid label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:800;color:var(--muted)}
.ajax-filter-grid .filter-search{grid-column:span 2}.ajax-filter-grid .filter-checkbox{min-height:40px;justify-content:center;align-self:end;flex-direction:row;color:var(--text)}
.result-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0 12px;border-top:1px solid var(--line)}
.pagination{display:flex;justify-content:center;gap:6px;flex-wrap:wrap;padding-top:16px}
.table-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;white-space:nowrap}.data-table td>small,.data-table td strong+small{display:block;color:var(--muted);margin-top:3px;max-width:360px;overflow:hidden;text-overflow:ellipsis}
.row-muted{opacity:.72;background:#f7f8f9}.row-muted:hover{opacity:1}
.pipeline-closed-summary{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:0 0 13px;padding:9px 13px;border:1px solid var(--line);border-radius:8px;background:#fff}.pipeline-closed-summary span{color:var(--muted)}.pipeline-closed-summary strong{color:var(--text)}.pipeline-closed-summary a{margin-left:auto;font-weight:800}
.stage-age{display:block;color:var(--muted);margin-top:7px}.card-history-link{width:100%;border:0;border-top:1px solid var(--line);background:transparent;color:var(--brand-primary);font-weight:800;font-size:12px;text-align:left;padding:8px 0 0;margin-top:8px;cursor:pointer}
.history-summary{display:flex;align-items:center;gap:10px;margin-bottom:18px}.history-timeline{display:flex;flex-direction:column;gap:0}.history-item{display:grid;grid-template-columns:34px 1fr;gap:12px;position:relative;padding-bottom:22px}.history-item:before{content:"";position:absolute;left:16px;top:30px;bottom:0;width:2px;background:var(--line)}.history-item:last-child:before{display:none}.history-marker{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#e8eef4;color:var(--brand-primary);font-weight:900;z-index:1}.history-item.current .history-marker{background:var(--brand-primary);color:#fff}.history-item-head{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.history-item p{margin:4px 0;color:var(--muted)}.history-item small{color:var(--muted)}
.badge.opportunity-status-open{background:#e7f0fa;color:#275f90}.badge.opportunity-status-won{background:#dff3e7;color:#226640}.badge.opportunity-status-lost{background:#f4e5e3;color:#8b332b}
.opportunity-status-open,.opportunity-status-won,.opportunity-status-lost{text-transform:capitalize}
@media (max-width:1200px){.ajax-filter-grid{grid-template-columns:repeat(3,minmax(150px,1fr))}.contact-dashboard-grid{grid-template-columns:1fr}}
@media (max-width:760px){.heading-actions{justify-content:flex-start;width:100%}.heading-actions .button{flex:1 1 auto;text-align:center;justify-content:center}.ajax-filter-grid{grid-template-columns:1fr 1fr}.ajax-filter-grid .filter-search{grid-column:1/-1}.table-actions{justify-content:flex-start}.pipeline-closed-summary a{margin-left:0;width:100%}.contact-tabs{margin-top:0}.contact-tabs a{padding-inline:12px}}
@media (max-width:520px){.ajax-filter-grid{grid-template-columns:1fr}.ajax-filter-grid .filter-search{grid-column:auto}.result-summary{align-items:flex-start;flex-direction:column}.contact-metrics{grid-template-columns:1fr 1fr}}


.pending-verification-alert{margin-bottom:18px}.pending-verification-alert strong{display:block;margin-bottom:5px}.pending-verification-alert p{margin:0 0 12px}.pending-verification-form{margin:0}.pending-verification-form .button{width:100%}

/* V6 login guidance and stronger public signup call to action */
.login-workspace-guidance{margin:-4px 0 18px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--brand-primary) 22%,#d7e1e8);border-radius:9px;background:color-mix(in srgb,var(--brand-primary) 6%,#fff);display:flex;flex-direction:column;gap:3px;font-size:12px;line-height:1.45}.login-workspace-guidance strong{color:var(--brand-primary);font-size:13px}.login-workspace-guidance span{color:var(--muted)}
.workspace-login-prompt{margin-bottom:18px}.workspace-login-prompt p{margin:5px 0 12px}.workspace-login-prompt .button{width:100%}
.login-signup-cta{margin:24px -27px -27px;padding:22px 27px 25px;border-radius:0 0 13px 13px;background:linear-gradient(135deg,color-mix(in srgb,var(--brand-primary) 11%,#fff),color-mix(in srgb,var(--brand-accent) 10%,#fff));border-top:1px solid color-mix(in srgb,var(--brand-primary) 15%,var(--line));text-align:center}.login-signup-cta>strong{display:block;margin:5px 0 4px;font-size:16px;color:var(--text)}.login-signup-cta p{margin:0 0 15px;color:var(--muted);font-size:12px;line-height:1.45}.button-signup{width:100%;background:var(--brand-accent);border-color:var(--brand-accent);color:#fff;box-shadow:0 8px 20px color-mix(in srgb,var(--brand-accent) 24%,transparent)}.button-signup:hover{filter:brightness(.96);color:#fff}
@media (max-width:540px){.login-signup-cta{margin:22px -20px -20px;padding:20px}}

/* Native date/time controls are used consistently across desktop and mobile. */
input.date-time-picker{cursor:pointer;color-scheme:light;min-height:42px;padding-right:10px}
input.date-time-picker:disabled,input.date-time-picker[readonly]{cursor:not-allowed}

/* V7 responsive hardening: every page, filter and AJAX list remains usable on mobile. */
html,body{max-width:100%;overflow-x:hidden}
.page-shell,.panel,.side-panel,.form-card,.modal-dialog{min-width:0}
.panel-heading>*{min-width:0}
.panel-heading h2,.page-heading h1,.page-heading p,.data-table td{overflow-wrap:anywhere}
.price-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
.price-summary .price-total{grid-column:1/-1}

@media (max-width:820px){
  .brand-logo{min-width:0;max-width:calc(100% - 58px)}
  .brand-logo img{width:auto;max-width:min(180px,100%)}
  .main-nav{max-height:calc(100vh - 68px);overflow-y:auto}
  .nav-dropdown-menu{box-shadow:none;border-color:rgba(255,255,255,.2)}
  .page-heading>.button,.page-heading>.heading-actions{width:100%}
  .page-heading>.button{justify-content:center}
  .panel-heading{flex-wrap:wrap}
  .panel-heading>.button,.panel-heading>.inline-form{max-width:100%}
  .inline-form{width:100%;margin-bottom:0;flex-wrap:wrap}
  .inline-form input,.inline-form select{min-width:0;flex:1 1 150px}
  .filter-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}
  .filter-row>*{min-width:0;flex:none}
  .filter-row .search-field,.filter-row>.muted{grid-column:1/-1}
  .filter-row>.button{width:100%}
  .form-actions{padding:14px}
  .form-actions .button{flex:1 1 145px}
  .modal-dialog{width:calc(100% - 20px);max-height:calc(100vh - 20px);margin:10px auto;overflow:auto}
  .modal-heading{position:sticky;top:-15px;z-index:3;background:#fff;padding-top:4px}
  .contact-tabs{-webkit-overflow-scrolling:touch;scrollbar-width:thin}
  .pipeline-board{-webkit-overflow-scrolling:touch;padding-bottom:12px}
  .fc{font-size:12px}
  .fc .fc-toolbar-title{font-size:1.25em}
  .fc .fc-button{padding:.45em .65em}
  .fc .fc-view-harness{min-height:520px}
  .app-footer{padding:16px}
}

@media (max-width:760px){
  .table-wrap{overflow:visible}
  .data-table.responsive-table{display:block;min-width:0;border-collapse:separate;width:100%}
  .data-table.responsive-table thead{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
  .data-table.responsive-table tbody{display:flex;flex-direction:column;gap:12px;width:100%}
  .data-table.responsive-table tbody tr{display:block;width:100%;overflow:hidden;border:1px solid var(--line);border-radius:11px;background:#fff;box-shadow:0 3px 12px rgba(22,38,55,.045)}
  .data-table.responsive-table tbody td{display:grid;grid-template-columns:minmax(92px,34%) minmax(0,1fr);align-items:start;gap:12px;width:100%;padding:10px 12px;border:0;border-bottom:1px solid #e8edf1;background:#fff!important;text-align:left!important}
  .data-table.responsive-table tbody td:last-child{border-bottom:0}
  .data-table.responsive-table tbody td::before{content:attr(data-label);color:var(--muted);font-size:10px;line-height:1.35;text-transform:uppercase;letter-spacing:.06em;font-weight:900}
  .data-table.responsive-table tbody td[colspan]{display:block;text-align:center!important}
  .data-table.responsive-table tbody td[colspan]::before{display:none}
  .data-table.responsive-table .table-actions,.data-table.responsive-table td:last-child>.button{width:100%}
  .data-table.responsive-table td:last-child>.button{justify-content:center}
  .data-table.responsive-table .align-right{align-items:flex-start;text-align:left}
  .data-table.responsive-table code{max-width:100%;overflow-wrap:anywhere;white-space:normal}
  .data-table.responsive-table small{max-width:none!important;white-space:normal}
  .row-overdue td{background:#fff8f6!important}
  .price-summary{grid-template-columns:1fr}
  .price-summary .price-total{grid-column:auto}
  .export-summary-grid{grid-template-columns:1fr 1fr}
  .stack-row{align-items:flex-start;gap:10px}
  .stack-row>.align-right{align-items:flex-start;text-align:left}
}

@media (max-width:540px){
  .page-shell{padding:14px 10px 28px}
  .panel,.side-panel{padding:12px;border-radius:11px}
  .page-heading{gap:14px;margin-bottom:16px}
  .page-heading h1{font-size:22px}
  .heading-actions{display:grid;grid-template-columns:1fr;width:100%}
  .heading-actions .button{width:100%}
  .filter-row{grid-template-columns:1fr;padding:12px}
  .filter-row .search-field,.filter-row>.muted{grid-column:auto}
  .ajax-filter-grid{gap:9px}
  .form-section{padding:16px 13px}
  .form-actions{display:grid;grid-template-columns:1fr;padding:12px}
  .form-actions .push-left{margin-right:0}
  .form-actions .button{width:100%}
  .checkbox-row{align-items:flex-start;flex-direction:column;gap:10px}
  .metric-grid,.contact-metrics{grid-template-columns:1fr}
  .metric-card{padding:14px}
  .auth-brand img{max-width:190px}
  .auth-card-wide{width:100%}
  .signup-price-card{padding:15px}
  .contact-tabs{margin-inline:-4px}
  .pipeline-column{width:min(86vw,300px)}
  .data-table.responsive-table tbody td{grid-template-columns:1fr;gap:4px}
  .data-table.responsive-table tbody td::before{font-size:9px}
  .export-summary-grid{grid-template-columns:1fr}
  .app-footer{align-items:flex-start}
}
.brand-wordmark{font-size:22px;line-height:1.1;color:var(--brand-primary);max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.auth-brand-wordmark{display:block;font-size:30px;line-height:1.1;color:var(--brand-primary);text-align:center;overflow-wrap:anywhere}
@media (max-width:540px){.brand-wordmark{font-size:18px;max-width:220px}.auth-brand-wordmark{font-size:25px}}
.alert.info{background:#edf5fb;border-color:#c9ddeb;color:#244f70}

/* V8 split public login: sign in on the left, public signup on the right */
.auth-card-login-split{width:min(920px,100%);padding:0;overflow:hidden;border-top:5px solid var(--brand-primary)}
.auth-login-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(310px,.82fr);align-items:stretch}
.auth-login-panel,.auth-signup-panel{padding:30px}
.auth-login-panel{background:#fff}
.auth-signup-panel{display:flex;flex-direction:column;background:linear-gradient(145deg,color-mix(in srgb,var(--brand-primary) 8%,#fff),color-mix(in srgb,var(--brand-accent) 9%,#fff));border-left:1px solid color-mix(in srgb,var(--brand-primary) 14%,var(--line))}
.auth-panel-heading{margin-bottom:22px}
.auth-panel-heading h1,.auth-panel-heading h2{margin:5px 0 7px;line-height:1.18}
.auth-panel-heading h1{font-size:29px}
.auth-panel-heading h2{font-size:25px}
.auth-panel-heading p{margin:0;color:var(--muted);line-height:1.55}
.login-signup-price{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:14px 0;border-top:1px solid color-mix(in srgb,var(--brand-primary) 13%,var(--line))}
.login-signup-price strong{font-size:14px;line-height:1.35}
.login-signup-price span{flex:0 0 auto;font-size:18px;font-weight:800;color:var(--brand-accent);text-align:right;white-space:nowrap}
.login-signup-price span small{display:block;margin-top:3px;font-size:10px;font-weight:700;color:var(--muted)}
.login-signup-price.secondary span{font-size:17px}
.login-signup-benefits{display:grid;gap:9px;margin:12px 0 24px;padding:0;list-style:none;color:var(--text);font-size:12px;line-height:1.45}
.login-signup-benefits li{position:relative;padding-left:21px}
.login-signup-benefits li:before{content:"✓";position:absolute;left:0;top:0;color:var(--brand-accent);font-weight:900}
.auth-signup-panel .button-signup{margin-top:auto}
.login-workspace-guidance-bottom{margin:0;padding:15px 30px;border:0;border-top:1px solid var(--line);border-radius:0;background:#f8fafc;text-align:center}
.login-workspace-guidance-bottom strong{font-size:12px}
.login-workspace-guidance-bottom span{font-size:11px}
@media (max-width:760px){.auth-card-login-split{width:100%}.auth-login-grid{grid-template-columns:1fr}.auth-login-panel,.auth-signup-panel{padding:23px}.auth-signup-panel{border-left:0;border-top:1px solid color-mix(in srgb,var(--brand-primary) 14%,var(--line))}.auth-panel-heading h1{font-size:26px}.auth-panel-heading h2{font-size:23px}.login-workspace-guidance-bottom{padding:15px 22px}.auth-signup-panel .button-signup{margin-top:0}}
@media (max-width:420px){.auth-login-panel,.auth-signup-panel{padding:20px}.login-signup-price{gap:10px}.login-signup-price strong{font-size:13px}.login-signup-price span{font-size:16px}.login-workspace-guidance-bottom{padding:14px 20px}}

/* V9 Metisseo billing management */
.billing-run-panel{padding:18px}.billing-run-grid{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(280px,1fr) minmax(260px,.9fr);gap:18px;align-items:end}.billing-month-form,.billing-run-action{display:flex;align-items:end;gap:10px}.billing-month-form label{flex:1}.billing-run-action{flex-direction:column;align-items:stretch}.billing-run-action small,.billing-run-status small{color:var(--muted);line-height:1.45}.billing-run-status{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.billing-run-status .badge{margin-bottom:3px}.billing-metric-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.billing-list-heading{align-items:end}.billing-list-filters{display:flex;gap:10px;align-items:end}.billing-list-filters label{min-width:190px}.billing-account-list{display:grid;gap:12px}.billing-account-card{border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden}.billing-account-card[hidden]{display:none}.billing-account-card>summary{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(150px,.7fr) minmax(145px,.65fr) minmax(180px,.8fr);gap:16px;align-items:center;padding:16px 18px;cursor:pointer;list-style:none}.billing-account-card>summary::-webkit-details-marker{display:none}.billing-account-card>summary:after{content:'+';justify-self:end;font-size:22px;font-weight:900;color:var(--brand-primary)}.billing-account-card[open]>summary:after{content:'−'}.billing-account-card[open]>summary{border-bottom:1px solid var(--line);background:#f8fafc}.billing-company-main,.billing-company-money,.billing-company-status{display:flex;flex-direction:column;gap:3px}.billing-company-main small,.billing-company-money small,.billing-company-status small{color:var(--muted)}.billing-company-counts{display:flex;gap:8px;flex-wrap:wrap}.billing-company-counts span{padding:6px 9px;border-radius:999px;background:#eef3f7;color:var(--muted);font-size:11px}.billing-company-counts b{color:var(--text)}.billing-company-money strong{font-size:20px}.billing-company-status{align-items:flex-start}.billing-account-body{padding:18px}.billing-account-totals{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:16px}.billing-account-totals span{display:flex;flex-direction:column;gap:3px;padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:#f9fbfc}.billing-account-totals small{color:var(--muted)}.billing-run-result{display:flex;gap:12px;flex-wrap:wrap}.billing-run-result span{padding:8px 11px;border:1px solid var(--line);border-radius:8px;background:#f8fafc}.billing-type-free{background:#eaf7ef;color:#17663a}.billing-type-paid{background:#edf4fb;color:#1f5f8f}.billing-type-inactive{background:#f1f2f4;color:#626b75}.status-ready_to_run{background:#eaf7ef;color:#17663a}.status-not_due,.status-excluded{background:#f1f2f4;color:#626b75}.status-completed{background:#eaf7ef;color:#17663a}.status-running,.status-processing{background:#fff5d9;color:#765a00}.status-failed,.status-requires_action{background:#fff0ed;color:#9b2f1f}
@media (max-width:1180px){.billing-run-grid{grid-template-columns:1fr 1fr}.billing-run-action{grid-column:1/-1}.billing-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.billing-account-card>summary{grid-template-columns:minmax(220px,1.2fr) 1fr 1fr}.billing-company-status{grid-column:2/4}.billing-account-totals{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:820px){.billing-run-grid{grid-template-columns:1fr}.billing-run-action{grid-column:auto}.billing-month-form{align-items:stretch;flex-direction:column}.billing-list-heading{align-items:stretch}.billing-list-filters{width:100%;display:grid;grid-template-columns:1fr 1fr}.billing-list-filters label{min-width:0}.billing-account-card>summary{grid-template-columns:1fr 1fr}.billing-company-main{grid-column:1/-1}.billing-company-status{grid-column:auto}.billing-account-totals{grid-template-columns:1fr 1fr}.billing-metric-grid{grid-template-columns:1fr 1fr}}
@media (max-width:540px){.billing-list-filters{grid-template-columns:1fr}.billing-account-card>summary{grid-template-columns:1fr;padding:14px}.billing-company-main,.billing-company-status{grid-column:auto}.billing-account-card>summary:after{position:absolute;right:22px}.billing-account-totals{grid-template-columns:1fr}.billing-metric-grid{grid-template-columns:1fr}.billing-account-body{padding:12px}}

/* V9 closed opportunity visibility on the pipeline board */
.opportunity-card.opportunity-status-won{border-left:4px solid #168a45;background:#fbfffc}.opportunity-card.opportunity-status-lost{border-left:4px solid #a54435;background:#fffdfc}.opportunity-card-head>div{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.opportunity-card-head .badge{font-size:9px;padding:3px 6px;text-transform:uppercase}
.billing-account-card>summary{position:relative}

/* V10 growth CRM: automation, sequences, appointments, quotes and customer portal */
.automation-action-row{display:grid;grid-template-columns:180px repeat(3,minmax(140px,1fr)) auto;gap:10px;align-items:end;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fff;margin-top:10px}.automation-action-row .icon-button{align-self:center}.inline-fields{display:grid;grid-template-columns:1fr 1fr;gap:6px}.sequence-step-row{display:grid;grid-template-columns:38px 120px 120px minmax(240px,1fr) auto;gap:10px;align-items:end;padding:12px 0;border-bottom:1px solid var(--line)}.sequence-step-number{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--brand-primary);color:#fff;font-weight:800}.availability-grid{display:grid;gap:8px}.availability-row{display:grid;grid-template-columns:minmax(130px,1fr) 150px 150px;gap:10px;align-items:center;padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:#fff}.booking-public-card{width:min(760px,calc(100% - 24px));margin:42px auto;padding:28px;border:1px solid var(--line);border-top:5px solid var(--brand-primary);border-radius:14px;background:#fff;box-shadow:0 18px 55px rgba(24,52,73,.12)}.public-card-heading{margin-bottom:24px}.public-card-heading h1{margin:5px 0}.confirmation-card{text-align:center;padding:26px;background:#f4fbf7;border:1px solid #cce8d5;border-radius:12px}.status-icon{display:grid;place-items:center;width:52px;height:52px;margin:0 auto 12px;border-radius:50%;background:var(--brand-accent);color:#fff;font-size:28px;font-weight:900}.line-item-row{display:grid;grid-template-columns:minmax(230px,1.8fr) 120px 150px 120px auto;gap:10px;align-items:end;padding:10px 0;border-bottom:1px solid var(--line)}.line-item-row>strong{padding:11px 4px}.quote-settings{display:grid;grid-template-columns:160px 180px 160px minmax(260px,1fr);gap:12px;align-items:end}.quote-live-totals,.invoice-live-totals{display:grid;grid-template-columns:repeat(4,minmax(100px,1fr));gap:8px}.quote-live-totals span,.invoice-live-totals span{display:flex;flex-direction:column;padding:10px;border-radius:8px;background:#f6f9fb;color:var(--muted);font-size:11px}.quote-live-totals strong,.invoice-live-totals strong{font-size:16px;color:var(--text)}.quote-document{background:#fff;border:1px solid var(--line);border-radius:12px;padding:28px}.quote-document-heading{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;padding-bottom:22px;border-bottom:1px solid var(--line)}.quote-document-heading h1{margin:5px 0}.quote-status{display:flex;flex-direction:column;align-items:flex-end;gap:7px}.quote-status>strong{font-size:28px}.document-copy,.document-terms{padding:22px 0;line-height:1.65}.quote-table tfoot th,.quote-table tfoot td{text-align:right}.quote-grand-total th,.quote-grand-total td{font-size:17px}.acceptance-record{margin-top:22px;padding:20px;border:1px solid #cce8d5;border-radius:10px;background:#f4fbf7}.quote-response-grid{margin-top:24px}.quote-decline-form{text-align:center;padding:14px}.scoring-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.scoring-grid label{padding:13px;border:1px solid var(--line);border-radius:9px;background:#fff}.scoring-grid label span{display:block;font-weight:700;margin-bottom:7px}.score-bands{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.score-bands div{display:flex;flex-direction:column;padding:16px;border:1px solid var(--line);border-radius:9px;background:#f8fafc}.score-bands strong{font-size:22px;color:var(--brand-primary)}.lead-score-card strong{color:var(--brand-accent)}.compact-metrics{grid-template-columns:repeat(4,1fr)}.portal-file-list,.sequence-contact-list,.portal-ticket-list{margin-top:16px}.ticket-status-form{border-top:1px solid var(--line);margin-top:18px;padding-top:18px}
.portal-body{margin:0;background:#f3f6f9;color:var(--text);font-family:var(--font,Arial,sans-serif)}.portal-header{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:72px;padding:12px max(18px,calc((100vw - 1180px)/2));background:var(--brand-nav);color:#fff}.portal-brand{display:flex;align-items:center;color:#fff;text-decoration:none}.portal-brand img{max-width:210px;max-height:48px;object-fit:contain}.portal-brand strong{font-size:23px}.portal-header nav{display:flex;align-items:center;gap:16px}.portal-header nav a,.portal-header nav .text-button{color:#fff}.portal-header nav form{margin:0}.portal-shell{width:min(1180px,calc(100% - 28px));margin:26px auto 48px}.portal-footer{display:flex;justify-content:space-between;gap:20px;padding:18px max(18px,calc((100vw - 1180px)/2));border-top:1px solid var(--line);color:var(--muted);font-size:12px}.portal-auth-card{width:min(520px,100%);margin:64px auto;padding:28px;background:#fff;border:1px solid var(--line);border-top:5px solid var(--brand-primary);border-radius:13px;box-shadow:0 18px 50px rgba(24,52,73,.1)}.portal-auth-card h1{margin:6px 0}.portal-welcome{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.portal-welcome h1{margin:5px 0}.portal-metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.portal-metric-grid>div{display:flex;flex-direction:column;padding:18px;border:1px solid var(--line);border-radius:10px;background:#fff}.portal-metric-grid span{font-size:12px;color:var(--muted)}.portal-metric-grid strong{font-size:28px;color:var(--brand-primary)}.portal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.portal-panel{padding:20px;background:#fff;border:1px solid var(--line);border-radius:11px}.portal-record{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px;border:1px solid var(--line);border-radius:8px;color:inherit;text-decoration:none;background:#fff}.portal-record:hover{border-color:var(--brand-primary);background:#f8fbfd}.portal-record>div{display:flex;flex-direction:column;gap:3px}.portal-record>div:last-child{align-items:flex-end}.portal-record small{color:var(--muted)}.portal-support-panel{grid-column:1/-1}.portal-page-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.portal-page-heading h1{margin:4px 0}.invoice-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px}.invoice-meta>div{display:flex;flex-direction:column;padding:12px;border:1px solid var(--line);border-radius:8px}.invoice-meta span{color:var(--muted);font-size:11px}.support-thread{display:grid;gap:12px}.support-message{max-width:82%;padding:13px 15px;border-radius:10px;background:#f0f4f7}.support-message.from-customer{margin-left:auto;background:color-mix(in srgb,var(--brand-primary) 10%,#fff);border:1px solid color-mix(in srgb,var(--brand-primary) 24%,#fff)}.support-message header{display:flex;justify-content:space-between;gap:15px;margin-bottom:6px}.support-message time{color:var(--muted);font-size:11px}.support-message p{margin:0;line-height:1.55}.support-reply-form{margin-top:18px;border-top:1px solid var(--line);padding-top:18px}.public-document-body{margin:0;background:#edf2f6;color:var(--text)}.public-document-header{display:flex;align-items:center;min-height:72px;padding:12px max(18px,calc((100vw - 1000px)/2));background:#fff;border-bottom:1px solid var(--line)}.public-document-header img{max-width:220px;max-height:48px}.public-document-header strong{font-size:24px;color:var(--brand-primary)}.public-document-shell{width:min(1000px,calc(100% - 28px));margin:28px auto}.public-document-footer{padding:20px;text-align:center;color:var(--muted);font-size:12px}.status-sent,.status-viewed,.status-booked,.status-waiting_customer{background:#edf4fb;color:#1f5f8f}.status-accepted,.status-paid,.status-completed{background:#eaf7ef;color:#17663a}.status-declined,.status-expired,.status-void,.status-no_show,.status-failed{background:#fff0ed;color:#9b2f1f}.status-pending,.status-waiting_team,.status-overdue{background:#fff5d9;color:#765a00}.status-disabled,.status-stopped,.status-skipped{background:#f1f2f4;color:#626b75}
@media(max-width:1050px){.automation-action-row{grid-template-columns:1fr 1fr 1fr}.automation-action-row .icon-button{grid-column:3}.quote-settings{grid-template-columns:1fr 1fr}.quote-live-totals{grid-column:1/-1}.scoring-grid{grid-template-columns:1fr 1fr}.portal-metric-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.automation-action-row,.sequence-step-row,.availability-row,.line-item-row{grid-template-columns:1fr}.automation-action-row .icon-button,.sequence-step-row .icon-button,.line-item-row .icon-button{justify-self:end}.sequence-step-number{margin-bottom:-4px}.quote-settings,.scoring-grid,.score-bands,.compact-metrics{grid-template-columns:1fr}.quote-live-totals,.invoice-live-totals{grid-template-columns:1fr 1fr}.quote-document{padding:18px}.quote-document-heading{flex-direction:column}.quote-status{align-items:flex-start}.portal-grid{grid-template-columns:1fr}.portal-support-panel{grid-column:auto}.portal-metric-grid,.invoice-meta{grid-template-columns:1fr 1fr}.portal-record{align-items:flex-start}.support-message{max-width:95%}.portal-page-heading{align-items:flex-start;flex-direction:column}.portal-header{padding:12px 16px}.portal-shell{width:min(100% - 20px,1180px)}.portal-brand img{max-width:170px}.booking-public-card{margin:18px auto;padding:20px}}
@media(max-width:480px){.quote-live-totals,.invoice-live-totals,.portal-metric-grid,.invoice-meta{grid-template-columns:1fr}.portal-header nav a{display:none}.portal-footer{flex-direction:column}.portal-record{flex-direction:column}.portal-record>div:last-child{align-items:flex-start}.public-document-shell{width:calc(100% - 16px)}.quote-document{padding:13px}}

/* V11 company payment and email integrations */
.integration-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:18px}.integration-summary-card{display:flex;gap:14px;align-items:flex-start;padding:18px;border:1px solid var(--line);border-radius:12px;background:#fff}.integration-summary-card.is-active{border-color:#b9dfc8;background:#f7fcf9}.integration-summary-card>div{display:flex;flex-direction:column;gap:3px}.integration-summary-card small{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:800}.integration-summary-card strong{font-size:19px}.integration-summary-card p{margin:2px 0 0;color:var(--muted);line-height:1.5}.integration-step{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:var(--brand-primary);color:#fff;font-weight:900}.integration-panel{margin-bottom:18px}.integration-content-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.8fr);gap:24px;align-items:start}.integration-explainer h3{margin-top:0}.setup-steps{display:grid;gap:12px;margin:16px 0 20px;padding:0;list-style:none;counter-reset:setup}.setup-steps li{display:grid;grid-template-columns:30px 1fr;gap:10px;align-items:start;counter-increment:setup}.setup-steps li:before{content:counter(setup);display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#eef4f8;color:var(--brand-primary);font-weight:900}.setup-steps li strong,.setup-steps li span{grid-column:2}.setup-steps li span{color:var(--muted);line-height:1.45;margin-top:-5px}.security-note{display:flex;flex-direction:column;gap:3px;padding:14px;border:1px solid #cfe0eb;border-radius:9px;background:#f4f9fc}.security-note span{color:var(--muted);font-size:12px}.integration-status-card{padding:16px;border:1px solid var(--line);border-radius:11px;background:#f9fbfc}.status-list{margin:0}.status-list>div{display:flex;justify-content:space-between;gap:18px;padding:10px 0;border-bottom:1px solid var(--line)}.status-list>div:last-child{border-bottom:0}.status-list dt{color:var(--muted)}.status-list dd{margin:0;text-align:right;overflow-wrap:anywhere}.integration-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}.integration-actions form{margin:0}.smtp-settings-form{margin-top:16px}.form-help{flex:1 1 280px;color:var(--muted);font-size:12px;line-height:1.45}.integration-disable-form{display:flex;justify-content:flex-end;margin-top:12px}.invoice-payment-box{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-top:18px;padding:16px;border:1px solid #b9dfc8;border-radius:10px;background:#f7fcf9}.invoice-payment-box>div{display:flex;flex-direction:column;gap:3px}.invoice-payment-box small{color:var(--muted)}
@media(max-width:900px){.integration-content-grid{grid-template-columns:1fr}.integration-status-card{order:-1}}
@media(max-width:700px){.integration-summary-grid{grid-template-columns:1fr}.integration-actions{display:grid;grid-template-columns:1fr}.integration-actions .button,.integration-actions form,.integration-actions form .button{width:100%}.status-list>div{align-items:flex-start;flex-direction:column;gap:4px}.status-list dd{text-align:left}.invoice-payment-box{align-items:stretch;flex-direction:column}.invoice-payment-box .button{width:100%}}


/* V11 company integration setup checklist */
.setup-checklist-panel .panel-heading{align-items:flex-start;margin-bottom:10px}.setup-checklist-panel .panel-heading p{margin:2px 0 0}.setup-checklist-item{display:flex;gap:11px;align-items:center;padding:11px 0;border-top:1px solid var(--line);color:inherit;text-decoration:none}.setup-checklist-item>span{display:grid;place-items:center;flex:0 0 29px;height:29px;border-radius:50%;background:var(--soft);font-weight:800;color:var(--muted)}.setup-checklist-item div{min-width:0}.setup-checklist-item strong,.setup-checklist-item small{display:block}.setup-checklist-item small{margin-top:2px;color:var(--muted);line-height:1.35}.setup-checklist-item.is-complete>span{background:#e7f7ee;color:#147a46}.setup-checklist-item:hover strong{color:var(--primary)}

/* V12 usability, contextual help and guide */
.skip-link{position:fixed;left:12px;top:10px;z-index:1000;padding:10px 14px;border-radius:8px;background:#fff;color:var(--text);box-shadow:var(--shadow);transform:translateY(-160%);transition:transform .15s}.skip-link:focus{transform:translateY(0)}
:focus-visible{outline:3px solid color-mix(in srgb,var(--brand-accent) 65%,#fff);outline-offset:2px}.button:focus-visible,.nav-item:focus-visible,.page-help-button:focus-visible{outline-color:#fff;box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-primary) 35%,transparent)}
.brand-header{position:sticky;top:0;z-index:61}.main-nav{position:sticky;top:76px;z-index:60}.mobile-menu-button{align-items:center;gap:7px;font-size:14px;font-weight:800}.mobile-menu-button span:first-child{font-size:20px;line-height:1}
.nav-scrim{display:none;border:0;padding:0;background:rgba(11,24,36,.5)}
.page-help-button{display:inline-grid;place-items:center;flex:0 0 auto;width:38px;height:38px;padding:0;border:1px solid color-mix(in srgb,var(--brand-primary) 35%,#cbd5de);border-radius:50%;background:#fff;color:var(--brand-primary);font-size:19px;font-weight:900;line-height:1;box-shadow:0 3px 11px rgba(22,38,55,.08)}.page-help-button:hover{background:var(--soft-blue);text-decoration:none;transform:translateY(-1px)}.page-help-floating{position:fixed;right:18px;bottom:22px;z-index:90;width:46px;height:46px;background:var(--brand-primary);border-color:var(--brand-primary);color:#fff;box-shadow:0 10px 26px rgba(14,50,76,.28)}
.help-modal .modal-dialog{display:flex;flex-direction:column}.help-modal-content{min-height:180px}.help-modal-footer{display:flex;justify-content:flex-end;gap:9px;margin:20px -19px -19px;padding:15px 19px;border-top:1px solid var(--line);background:#f7f9fa;border-radius:0 0 14px 14px}.help-topic-summary{margin:0 0 18px;font-size:15px;color:#33414f;line-height:1.6}.help-topic-content h3{margin:18px 0 8px;font-size:14px}.help-steps{display:grid;gap:9px;margin:0;padding-left:24px}.help-steps li{padding-left:4px;line-height:1.55}.help-tips{margin-top:18px;padding:14px 16px;border:1px solid #cfe0eb;border-left:4px solid var(--brand-primary);border-radius:9px;background:#f5f9fc}.help-tips h3{margin:0 0 7px}.help-tips ul{display:grid;gap:7px;margin:0;padding-left:19px}

.guide-search-panel{margin-bottom:20px;padding:18px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(135deg,#fff,var(--soft-blue));box-shadow:0 3px 14px rgba(22,38,55,.04)}.guide-search-label{margin-bottom:8px;font-size:14px}.guide-search-control{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px}.guide-search-control>span{font-size:25px;color:var(--brand-primary)}.guide-search-control input{min-height:46px;background:#fff}.guide-search-panel p{margin:9px 0 0}
.guide-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:22px;align-items:start}.guide-sidebar{position:sticky;top:142px;padding:16px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 3px 14px rgba(22,38,55,.04)}.guide-sidebar>strong{display:block;margin-bottom:9px;font-size:13px;text-transform:uppercase;letter-spacing:.07em}.guide-sidebar nav{display:grid;gap:3px}.guide-sidebar a{display:flex;justify-content:space-between;gap:10px;padding:9px 10px;border-radius:7px;color:var(--text);font-weight:700}.guide-sidebar a:hover{background:var(--soft-blue);text-decoration:none}.guide-sidebar a span{display:grid;place-items:center;min-width:24px;height:24px;border-radius:999px;background:var(--soft);color:var(--muted);font-size:11px}.guide-main{min-width:0}.guide-section{scroll-margin-top:150px;margin-bottom:26px;padding:20px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 3px 14px rgba(22,38,55,.035)}.guide-section>header{margin-bottom:15px}.guide-section h2{margin:4px 0;font-size:22px}.guide-section>header p{margin:0;color:var(--muted)}.guide-topic-list{display:grid;gap:10px}.guide-topic{scroll-margin-top:150px;border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden}.guide-topic[open]{border-color:color-mix(in srgb,var(--brand-primary) 38%,var(--line));box-shadow:0 5px 18px rgba(22,38,55,.055)}.guide-topic summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px;cursor:pointer;list-style:none}.guide-topic summary::-webkit-details-marker{display:none}.guide-topic summary>span:first-child{display:flex;flex-direction:column;gap:3px;min-width:0}.guide-topic summary strong{font-size:15px}.guide-topic summary small{color:var(--muted);line-height:1.45}.guide-topic-toggle{display:grid;place-items:center;flex:0 0 29px;width:29px;height:29px;border-radius:50%;background:var(--soft-blue);color:var(--brand-primary);font-size:20px;font-weight:700;transition:transform .16s}.guide-topic[open] .guide-topic-toggle{transform:rotate(45deg)}.guide-topic-body{padding:0 16px 16px;border-top:1px solid var(--line)}.guide-topic-body .help-topic-content{padding-top:15px}.guide-topic-body>.button{margin-top:16px}.guide-no-results{margin-bottom:25px}
.mobile-only-hint{display:none;margin:0 0 10px;padding:9px 11px;border-radius:8px;background:var(--soft-blue);color:#31566f;font-size:12px}

/* Better responsive behaviour for long navigation, actions and touch interfaces. */
@media(max-width:1180px) and (min-width:821px){.main-nav{padding-inline:10px}.nav-item{padding-inline:10px;font-size:13px}.guide-layout{grid-template-columns:220px minmax(0,1fr)}}
@media(max-width:820px){
  .brand-header{z-index:71}.main-nav{display:flex;position:fixed;top:68px;bottom:0;left:0;right:auto;width:min(88vw,370px);max-height:none;padding:8px 10px 24px;overflow-y:auto;transform:translateX(-105%);transition:transform .2s ease;box-shadow:8px 0 30px rgba(10,25,38,.2);z-index:70}.main-nav.open{display:flex;transform:translateX(0)}
  .nav-scrim{display:block;position:fixed;inset:68px 0 0;z-index:69;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s}.nav-scrim.open{opacity:1;visibility:visible}.nav-open{overflow:hidden}
  .nav-left,.nav-right{gap:2px}.nav-right{margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.22)}.nav-item{min-height:48px;padding:0 13px;border-radius:8px}.nav-dropdown-menu{margin:3px 0 6px;padding:6px;background:#fff}.nav-dropdown-menu a{min-height:44px;display:flex;align-items:center}
  .page-help-button{width:44px;height:44px}.page-help-floating{right:12px;bottom:14px}.guide-layout{grid-template-columns:1fr}.guide-sidebar{position:static;padding:12px;overflow-x:auto}.guide-sidebar>strong{display:none}.guide-sidebar nav{display:flex;width:max-content;max-width:none}.guide-sidebar a{white-space:nowrap;background:var(--soft)}.guide-section,.guide-topic{scroll-margin-top:82px}.help-modal-footer{margin-inline:-15px;margin-bottom:-15px;padding:13px 15px}.mobile-only-hint{display:block}
  input,select,textarea{min-height:44px}.button{min-height:44px}.button-small{min-height:38px}.icon-button{width:40px;height:40px}.contact-tabs a,.pipeline-tabs a{min-height:44px;display:flex;align-items:center}.pipeline-scroll{scroll-snap-type:x proximity}.pipeline-column{scroll-snap-align:start}.form-actions{position:sticky;bottom:0;z-index:4;box-shadow:0 -7px 18px rgba(22,38,55,.07)}
}
@media(max-width:540px){
  .mobile-menu-button{padding:8px 10px}.page-heading .heading-actions{grid-template-columns:44px minmax(0,1fr)}.page-heading .heading-actions .page-help-button{grid-column:1}.page-heading .heading-actions>.button,.page-heading .heading-actions>form{grid-column:1/-1}.page-heading .heading-actions>.page-help-button+*{grid-column:auto}.page-heading .heading-actions .button{min-width:0}.help-modal-footer{display:grid;grid-template-columns:1fr}.help-modal-footer .button{width:100%}.guide-search-panel{padding:14px}.guide-search-control{grid-template-columns:auto minmax(0,1fr)}.guide-search-control .button{grid-column:1/-1;width:100%}.guide-section{padding:13px;border-radius:11px}.guide-topic summary{padding:13px}.guide-topic-body{padding:0 13px 13px}.help-topic-summary{font-size:14px}.guide-sidebar{margin-inline:-2px}.guide-sidebar a{padding:8px 10px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* V12.2: accessible company branding and separated integration tabs */
a,.text-link,.side-task button,.count-pill,.settings-tabs a.active,.permission-group h3{color:var(--brand-ink,var(--brand-primary))}
.brand-logo strong,.eyebrow{color:var(--brand-ink,var(--brand-primary))}
.main-nav .nav-item,.mobile-menu-button{color:var(--brand-on-nav,#fff)}
.button-primary{color:var(--brand-on-accent,#fff)}
.integration-step{color:var(--brand-on-primary,#fff)}

.integration-page{color:#17212b}
.integration-page .page-heading h1,
.integration-page .panel-heading h2,
.integration-page h3,
.integration-page label,
.integration-page strong,
.integration-page dt,
.integration-page dd{color:#17212b}
.integration-page .page-heading p,
.integration-page .panel-heading p,
.integration-page .form-help,
.integration-page label small,
.integration-page .setup-steps li span,
.integration-page .security-note span{color:#4f5d6b}
.integration-page .eyebrow{color:var(--brand-ink,var(--brand-primary))}

.integration-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0 0 20px}
.integration-tab-card{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:13px;align-items:center;min-height:112px;padding:17px 18px;border:1px solid #d5dde5;border-radius:12px;background:#fff;color:#17212b;text-decoration:none;box-shadow:0 2px 10px rgba(22,38,55,.035);transition:border-color .16s,box-shadow .16s,transform .16s}
.integration-tab-card:hover{border-color:var(--brand-primary);box-shadow:0 9px 25px rgba(22,38,55,.09);text-decoration:none;transform:translateY(-1px)}
.integration-tab-card.active{border-color:var(--brand-primary);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--brand-primary) 22%,transparent),0 8px 22px rgba(22,38,55,.07)}
.integration-tab-card.is-active{background:#f7fcf9;border-color:#abd8bd}
.integration-tab-card.active.is-active{border-color:#4e9f70}
.integration-tab-copy{display:flex;min-width:0;flex-direction:column;gap:3px;color:#17212b}
.integration-tab-copy small{color:#4f5d6b;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.integration-tab-copy strong{font-size:19px;line-height:1.2;color:#17212b}
.integration-tab-copy>span{color:#4f5d6b;line-height:1.45}
.integration-tab-arrow{font-size:27px;line-height:1;color:#526170}
.integration-tab-card.active .integration-tab-arrow{color:var(--brand-ink,var(--brand-primary))}
.integration-status-heading{margin:0 0 6px;font-size:15px}
.smtp-explainer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0 4px}
.integration-status-card{color:#17212b;background:#f8fafc;border-color:#d5dde5}
.integration-status-card .status-list dt{color:#4f5d6b}
.security-note{color:#17212b;background:#f5f9fc;border-color:#c9d9e5}
.setup-checklist-panel,.setup-checklist-panel strong{color:#17212b}
.setup-checklist-panel .panel-heading p,.setup-checklist-item small{color:#4f5d6b}

@media(max-width:760px){
  .integration-tabs{grid-template-columns:1fr;gap:10px}
  .integration-tab-card{min-height:94px;padding:14px;grid-template-columns:34px minmax(0,1fr) auto}
  .integration-tab-copy strong{font-size:17px}
  .smtp-explainer-grid{grid-template-columns:1fr}
}

/* V13: grouped administration, support, documents and billing controls */
.settings-groups{display:grid;gap:22px}.settings-group{padding:22px;background:var(--surface,#fff);border:1px solid var(--line);border-radius:14px}.settings-group-heading{display:flex;align-items:center;gap:14px;margin-bottom:16px}.settings-group-heading h2{margin:0 0 3px}.settings-group-heading p{margin:0;color:var(--muted)}.settings-group-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:color-mix(in srgb,var(--brand-primary) 10%,#fff);font-size:22px}.settings-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.settings-card{display:flex;flex-direction:column;gap:5px;min-height:92px;padding:16px;border:1px solid var(--line);border-radius:11px;color:var(--text);text-decoration:none;background:#fff;transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease}.settings-card:hover,.settings-card:focus-visible{border-color:var(--brand-primary);transform:translateY(-1px);box-shadow:0 8px 22px rgba(20,45,65,.08)}.settings-card strong{font-size:15px}.settings-card span{color:var(--muted);font-size:12px;line-height:1.45}
.nav-dropdown-heading{padding:8px 14px 4px;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.nav-dropdown-menu .nav-dropdown-heading:not(:first-child){margin-top:5px;border-top:1px solid var(--line);padding-top:10px}
.feature-lock-panel{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;padding:24px}.feature-lock-panel h2{margin:3px 0 5px}.feature-lock-panel p{margin:0;max-width:760px;color:var(--muted)}.feature-lock-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:16px;background:color-mix(in srgb,var(--brand-primary) 10%,#fff);font-size:27px}.document-contact-grid{grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr)}.document-filters,.support-filters{align-items:end}.filter-search{grid-column:span 2}.table-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:7px}.table-actions form{margin:0}.billing-pill.inactive{background:#f0f2f4;color:#5d6670}.status-permanently_disabled{background:#fff0ed;color:#922f22}.addon-subscription-panel{scroll-margin-top:100px}.addon-subscription-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px}.addon-subscription-grid p{margin:6px 0 0;color:var(--muted);max-width:760px}.addon-actions{display:flex;flex-direction:column;align-items:flex-end;gap:7px}.billing-addon-list{margin:14px 0;padding:14px;border:1px solid var(--line);border-radius:10px;background:#f8fafb}.billing-addon-list h3{margin:0 0 10px;font-size:13px}.billing-addon-list .stack-row{background:#fff}.billing-company-counts{flex-wrap:wrap}
.collapsible-content[hidden]{display:none!important}.support-ticket-dialog{width:min(980px,calc(100vw - 28px));max-height:calc(100vh - 40px);overflow:auto}.support-ticket-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:16px}.support-ticket-summary>div{display:flex;flex-direction:column;gap:3px;padding:11px;border:1px solid var(--line);border-radius:9px;background:#f8fafb}.support-ticket-summary span{font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.support-control-form{align-items:end;padding:14px;margin-bottom:18px;border:1px solid var(--line);border-radius:10px;background:#fff}.support-thread{display:grid;gap:12px;max-height:470px;overflow:auto;padding:3px}.support-message{width:min(84%,720px);padding:13px 15px;border:1px solid var(--line);border-radius:12px;background:#f3f6f8}.support-message.staff{margin-left:auto;background:color-mix(in srgb,var(--brand-primary) 8%,#fff);border-color:color-mix(in srgb,var(--brand-primary) 22%,var(--line))}.support-message.internal{width:100%;background:#fff8dd;border-style:dashed}.support-message.customer{margin-right:auto}.support-message header{display:flex;justify-content:space-between;gap:12px;margin-bottom:7px}.support-message time{color:var(--muted);font-size:11px}.support-message-body{line-height:1.55}.support-attachment{display:inline-flex;gap:7px;align-items:center;margin-top:9px;padding:7px 9px;border-radius:7px;background:#fff;color:var(--brand-primary);text-decoration:none}.support-reply-form{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.priority-urgent{background:#ffe9e5;color:#8f271b}.priority-high{background:#fff2d9;color:#715200}.priority-normal{background:#eaf2fa;color:#245f89}.priority-low{background:#eef1f3;color:#5e6871}.status-resolved{background:#eaf7ef;color:#17663a}.overdue-row{box-shadow:inset 4px 0 0 #b84131}.compact-checkbox{align-self:end;min-height:44px}.support-filters .button,.document-filters .button{min-height:44px}

@media(max-width:1100px){.settings-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.support-ticket-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-search{grid-column:span 1}}
@media(max-width:760px){.settings-group{padding:16px}.settings-card-grid{grid-template-columns:1fr}.settings-card{min-height:0}.feature-lock-panel{grid-template-columns:1fr;text-align:left}.feature-lock-panel .button{width:100%}.document-contact-grid{grid-template-columns:1fr}.addon-subscription-grid{grid-template-columns:1fr}.addon-actions{align-items:stretch}.addon-actions .button{width:100%}.support-ticket-summary{grid-template-columns:1fr 1fr}.support-control-form{grid-template-columns:1fr}.support-control-form .form-actions{grid-column:1}.support-message{width:94%}.support-message.internal{width:100%}.support-ticket-dialog{width:calc(100vw - 12px);max-height:calc(100vh - 12px)}.table-actions{justify-content:flex-start}.table-actions form,.table-actions .button{width:100%}.table-actions .button{justify-content:center}.billing-account-card summary{grid-template-columns:1fr}.billing-company-counts,.billing-company-money,.billing-company-status{justify-content:flex-start;text-align:left}.billing-list-filters{width:100%;grid-template-columns:1fr}.document-filters,.support-filters{grid-template-columns:1fr}.document-filters>*,.support-filters>*{grid-column:1}.page-heading .heading-actions{width:100%;flex-wrap:wrap}.page-heading .heading-actions .button{flex:1 1 auto}}
@media(max-width:480px){.support-ticket-summary{grid-template-columns:1fr}.support-message{width:100%}.settings-group-heading{align-items:flex-start}.settings-group-icon{width:40px;height:40px}.metric-grid.billing-metric-grid{grid-template-columns:1fr}}

/* V13 paid file-storage locks */
.feature-inline-lock{display:flex;flex-direction:column;gap:.25rem;padding:.8rem 1rem;border:1px solid #d9e1e8;border-radius:10px;background:#f7f9fb;color:#263746}.feature-inline-lock strong{color:#17212b}.feature-inline-lock span{font-size:.9rem;color:#526579}.support-attachment.locked{cursor:not-allowed;opacity:.78}.support-attachment.locked:hover{text-decoration:none}

/* V13.1: compact filters, stable page headings and clearer booking links */
.page-heading > :first-child{min-width:0;flex:1 1 auto}
.page-heading > .heading-actions{flex:0 0 auto;justify-content:flex-end;margin-left:auto}
.filter-grid{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:10px;align-items:end;margin:0 0 14px;padding:13px;border:1px solid var(--line);border-radius:11px;background:#f7f9fb}
.filter-grid label{min-width:0;gap:4px;color:#34404c;font-size:11px;font-weight:800}
.filter-grid input,.filter-grid select{min-width:0;min-height:38px;padding:7px 9px;background:#fff}
.filter-grid .filter-search{grid-column:span 2}
.filter-grid .filter-actions{display:flex;align-items:flex-end}
.filter-grid .filter-actions .button,.filter-grid > .button{width:100%;min-height:38px}
.filter-grid .compact-checkbox,.filter-grid .filter-checkbox{min-height:38px;padding:0 4px;align-self:end}
.support-filters .button,.document-filters .button{min-height:38px}
.booking-link-cell{display:grid;gap:7px;min-width:230px;max-width:520px}
.booking-link-cell code{display:block;max-width:100%;padding:7px 9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:#edf2f6;border:1px solid #dbe3e9;border-radius:7px;color:#263746}
.booking-link-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.booking-slug-field{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;border:1px solid #cbd5de;border-radius:6px;background:#fff;overflow:hidden}
.booking-slug-field span{align-self:stretch;display:flex;align-items:center;padding:0 9px;background:#f1f4f6;border-right:1px solid #cbd5de;color:#526170;font-size:11px;font-weight:700;white-space:nowrap}
.booking-slug-field input{border:0;border-radius:0;box-shadow:none!important}

@media(max-width:1280px){.filter-grid{grid-template-columns:repeat(4,minmax(145px,1fr))}.ajax-filter-grid{grid-template-columns:repeat(4,minmax(145px,1fr))}}
@media(max-width:900px){.filter-grid,.ajax-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.page-heading > .heading-actions{margin-left:0}}
@media(max-width:760px){.filter-grid,.ajax-filter-grid,.document-filters,.support-filters{grid-template-columns:repeat(2,minmax(0,1fr));padding:11px}.filter-grid .filter-search,.document-filters .filter-search,.support-filters .filter-search{grid-column:1/-1}.page-heading > .heading-actions{justify-content:flex-start}}
@media(max-width:520px){.filter-grid,.ajax-filter-grid,.document-filters,.support-filters{grid-template-columns:1fr}.filter-grid .filter-search,.document-filters .filter-search,.support-filters .filter-search{grid-column:auto}.booking-link-cell{min-width:0}.booking-slug-field{grid-template-columns:1fr}.booking-slug-field span{min-height:34px;border-right:0;border-bottom:1px solid #cbd5de;white-space:normal}.booking-link-actions .button{flex:1 1 auto}}

/* V13.1 public booking experience */
.public-document-body{background:#f3f6f9}
.booking-public-layout{display:grid;grid-template-columns:minmax(250px,340px) minmax(0,720px);gap:24px;align-items:start;width:min(1100px,calc(100% - 28px));margin:34px auto 48px}
.booking-public-summary{position:sticky;top:24px;padding:26px;border-radius:16px;background:var(--brand-primary);color:var(--brand-on-primary,#fff);box-shadow:0 18px 45px rgba(24,52,73,.14)}
.booking-public-summary .eyebrow{color:inherit;opacity:.78}
.booking-public-summary h1{margin:7px 0 20px;color:inherit;font-size:30px;line-height:1.12}
.booking-public-summary dl{display:grid;gap:0;margin:0 0 20px}
.booking-public-summary dl>div{display:grid;grid-template-columns:90px minmax(0,1fr);gap:12px;padding:11px 0;border-top:1px solid color-mix(in srgb,currentColor 24%,transparent)}
.booking-public-summary dt{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;opacity:.74}
.booking-public-summary dd{margin:0;font-weight:700}
.booking-public-summary p{margin:0;line-height:1.55;opacity:.88}
.booking-public-card{width:auto;margin:0;padding:0;border:1px solid var(--line);border-top:5px solid var(--brand-primary);border-radius:16px;background:#fff;box-shadow:0 18px 55px rgba(24,52,73,.11);overflow:hidden}
.booking-public-card>form{display:block}
.booking-step{padding:24px 26px;border-bottom:1px solid var(--line)}
.booking-step-heading{display:flex;gap:12px;align-items:flex-start;margin-bottom:17px}
.booking-step-heading>span{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border-radius:50%;background:var(--brand-primary);color:var(--brand-on-primary,#fff);font-weight:900}
.booking-step-heading h2{margin:1px 0 2px;font-size:19px}
.booking-step-heading p{margin:0;color:var(--muted);font-size:13px}
.booking-date-picker{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:9px;align-items:end}
.booking-date-picker label{margin:0}
.booking-date-nav{display:grid;place-items:center;height:43px;border:1px solid #cbd5de;border-radius:9px;background:#fff;color:var(--brand-ink,var(--brand-primary));font-size:27px;line-height:1;cursor:pointer}
.booking-date-nav:hover{border-color:var(--brand-primary);background:color-mix(in srgb,var(--brand-primary) 6%,#fff)}
.booking-slot-status{min-height:22px;margin-bottom:12px;color:var(--muted);font-size:13px;font-weight:700}
.booking-slot-status.available{color:#17663a}
.booking-slot-status.error{color:#a33024}
.booking-slot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;min-height:44px}
.booking-slot-button{min-height:46px;padding:9px 12px;border:1px solid #b9c7d2;border-radius:9px;background:#fff;color:#1f3545;font:inherit;font-weight:800;cursor:pointer;transition:background .14s,border-color .14s,box-shadow .14s,transform .14s}
.booking-slot-button:hover{border-color:var(--brand-primary);background:color-mix(in srgb,var(--brand-primary) 6%,#fff);transform:translateY(-1px)}
.booking-slot-button.selected{border-color:var(--brand-primary);background:var(--brand-primary);color:var(--brand-on-primary,#fff);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-primary) 18%,transparent)}
.booking-slot-button:focus-visible{outline:3px solid color-mix(in srgb,var(--brand-primary) 28%,transparent);outline-offset:2px}
.booking-slot-skeleton{display:block;height:46px;border-radius:9px;background:linear-gradient(90deg,#edf1f4 25%,#f8fafb 50%,#edf1f4 75%);background-size:200% 100%;animation:booking-slot-loading 1.1s linear infinite}
@keyframes booking-slot-loading{to{background-position:-200% 0}}
.booking-selected-slot{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 14px;align-items:center;margin-top:15px;padding:13px 14px;border:1px solid #add6bc;border-radius:10px;background:#f2fbf5}
.booking-selected-slot>span{font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#3e6c4e}
.booking-selected-slot>strong{grid-column:1;font-size:14px;color:#164c2a}
.booking-selected-slot .button-link{grid-column:2;grid-row:1/3;align-self:center;border:0;background:transparent;color:var(--brand-ink,var(--brand-primary));font-weight:800;cursor:pointer}
.booking-details-step .form-grid{margin:0}
.booking-submit-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 26px;background:#f7f9fb}
.booking-submit-bar p{margin:0;color:var(--muted);font-size:13px}
.booking-submit-bar .button{min-width:190px}
.booking-submit-bar .button:disabled{cursor:not-allowed;opacity:.5}
.booking-public-card .confirmation-card{margin:24px}

@media(max-width:860px){
  .booking-public-layout{grid-template-columns:1fr;width:min(760px,calc(100% - 22px));margin:20px auto 36px}
  .booking-public-summary{position:static;padding:21px}
  .booking-public-summary h1{font-size:25px}
  .booking-public-summary dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .booking-public-summary dl>div{display:block;padding:10px;border:1px solid color-mix(in srgb,currentColor 22%,transparent);border-radius:9px}
  .booking-public-summary dd{margin-top:4px}
}
@media(max-width:620px){
  .booking-public-layout{width:min(100% - 14px,760px);margin:10px auto 28px;gap:12px}
  .booking-public-summary{border-radius:12px;padding:18px}
  .booking-public-summary dl{grid-template-columns:1fr}
  .booking-public-summary dl>div{display:grid;grid-template-columns:90px minmax(0,1fr)}
  .booking-step{padding:19px 16px}
  .booking-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .booking-submit-bar{position:sticky;bottom:0;z-index:3;flex-direction:column;align-items:stretch;padding:14px 16px;box-shadow:0 -8px 24px rgba(30,49,65,.08)}
  .booking-submit-bar .button{width:100%;min-width:0}
  .booking-date-picker{grid-template-columns:40px minmax(0,1fr) 40px}
}
@media(max-width:380px){.booking-slot-grid{grid-template-columns:1fr}}
.booking-date-nav:disabled{cursor:not-allowed;opacity:.38;background:#f3f5f7;border-color:#dce2e7;transform:none}

/* V13.2 customer portal, quote workflow and contrast improvements */

.status-not_enabled,.status-draft{background:#eef1f4;color:#4f5d69}
.status-pending,.status-sent,.status-viewed,.status-waiting_customer,.status-waiting_team{background:#e7f1fa;color:#235d88}
.status-accepted,.status-resolved,.status-booked{background:#e4f5ea;color:#1f6b42}
.status-declined,.status-expired,.status-overdue,.status-closed{background:#fff0ed;color:#963326}
.page-heading h1,.panel-heading h2,.side-panel h2,.form-section-heading h2{color:var(--text)}
.contact-tabs a{color:#fff}
.contact-tabs a:hover,.contact-tabs a.active{color:var(--brand-ink,var(--brand-primary))}
.public-document-header{background:#fff;border-bottom:1px solid var(--line)}
a,.text-button,.eyebrow,.count-pill,.table-primary-link,.text-link{color:var(--brand-ink,var(--brand-primary))}
.button-primary,.button-signup{background:var(--brand-accent);border-color:var(--brand-accent);color:var(--brand-on-accent,#fff)}
.button-primary:hover,.button-signup:hover{color:var(--brand-on-accent,#fff)}
.main-nav,.mobile-menu-button{color:var(--brand-on-nav,#fff)}
.nav-item,.portal-header,.portal-brand,.portal-tab,.portal-signout{color:var(--brand-on-nav,#fff)}
.nav-item.active{box-shadow:inset 0 -3px 0 var(--brand-on-nav,#fff)}

.customer-filters{grid-template-columns:minmax(260px,2fr) minmax(180px,1fr) minmax(150px,.65fr)}
.customer-filters .filter-search{grid-column:auto}
.customer-portal-admin-grid{align-items:start}
.portal-access-details code{display:block;margin-top:5px;padding:8px 10px;border:1px solid var(--line);border-radius:7px;background:#f5f7f9;color:#243746;overflow-wrap:anywhere}
.portal-access-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:16px}
.portal-access-actions form{margin:0}
.quote-share-bar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 18px}
.quote-share-bar>div{display:flex;flex-direction:column;gap:4px;padding:13px 14px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 2px 8px rgba(22,38,55,.035)}
.quote-share-bar>div>span{font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.quote-share-bar>div>strong{font-size:14px;color:var(--text)}
.quote-share-bar>div>small{color:var(--muted);line-height:1.4}

.portal-header{display:block;min-height:0;padding:0;background:var(--brand-nav);color:var(--brand-on-nav,#fff)}
.portal-header-inner{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:72px;padding:12px max(18px,calc((100vw - 1180px)/2))}
.portal-brand{color:var(--brand-on-nav,#fff)}
.portal-brand strong{color:inherit}
.portal-account-actions{display:flex;align-items:center;gap:15px;font-size:12px;color:inherit}
.portal-account-actions form{margin:0}
.portal-signout{border:1px solid color-mix(in srgb,currentColor 35%,transparent);border-radius:7px;background:transparent;padding:8px 12px;font:inherit;font-weight:800;cursor:pointer}
.portal-signout:hover{background:color-mix(in srgb,currentColor 12%,transparent)}
.portal-tabs{display:flex;gap:4px;overflow-x:auto;padding:0 max(18px,calc((100vw - 1180px)/2));border-top:1px solid color-mix(in srgb,currentColor 18%,transparent);scrollbar-width:thin}
.portal-tab{display:inline-flex;align-items:center;min-height:46px;padding:8px 13px;color:var(--brand-on-nav,#fff);font-weight:800;white-space:nowrap;text-decoration:none;border-bottom:3px solid transparent;opacity:.82}
.portal-tab:hover{opacity:1;text-decoration:none;background:color-mix(in srgb,currentColor 9%,transparent)}
.portal-tab.active{opacity:1;border-bottom-color:currentColor;background:color-mix(in srgb,currentColor 10%,transparent)}
.portal-shell{width:min(1180px,calc(100% - 28px));margin:26px auto 48px}
.portal-hero{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:20px;padding:26px 28px;border-radius:16px;background:linear-gradient(135deg,var(--brand-primary),var(--brand-ink));color:var(--brand-on-primary,#fff);box-shadow:0 16px 42px rgba(24,52,73,.16)}
.portal-hero .eyebrow,.portal-hero h1,.portal-hero p{color:inherit}
.portal-hero .eyebrow{opacity:.8}.portal-hero h1{margin:6px 0;font-size:30px}.portal-hero p{margin:0;max-width:720px;opacity:.9}
.portal-hero .button-light{border-color:color-mix(in srgb,currentColor 35%,transparent);background:color-mix(in srgb,#fff 94%,transparent);color:#17212b;white-space:nowrap}
.portal-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}
.portal-metric-grid>a,.portal-metric-grid>div{display:flex;flex-direction:column;min-height:122px;padding:18px;border:1px solid var(--line);border-top:4px solid var(--brand-primary);border-radius:11px;background:#fff;color:var(--text);text-decoration:none;box-shadow:0 3px 14px rgba(22,38,55,.045)}
.portal-metric-grid>a:hover{border-color:var(--brand-primary);text-decoration:none;transform:translateY(-1px);box-shadow:0 8px 22px rgba(22,38,55,.08)}
.portal-metric-grid span{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#526170}
.portal-metric-grid strong{margin:8px 0 4px;font-size:29px;color:var(--brand-ink,var(--brand-primary))}
.portal-metric-grid small{color:#66717d}
.portal-dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.portal-panel{padding:20px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 3px 14px rgba(22,38,55,.04)}
.portal-panel h2,.portal-panel h3{color:var(--text)}
.portal-panel .panel-heading p{color:#66717d}
.compact-empty{padding:18px}
.portal-page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}
.portal-page-heading h1{margin:4px 0;font-size:29px;color:var(--text)}
.portal-page-heading p{margin:0;color:#66717d}
.portal-list-heading{display:flex;justify-content:space-between;gap:16px;margin-bottom:14px}.portal-list-heading h2{margin:0}.portal-list-heading p{margin:3px 0 0;color:var(--muted)}
.portal-card-list{display:grid;gap:11px}
.portal-list-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--text);text-decoration:none}
.portal-list-card:hover{border-color:var(--brand-primary);background:#fbfdff;text-decoration:none;box-shadow:0 6px 18px rgba(22,38,55,.06)}
.portal-list-card-main h3{margin:3px 0 4px;font-size:16px}.portal-list-card-main p{margin:0;color:#66717d}
.portal-list-card-side{display:flex;flex-direction:column;align-items:flex-end;gap:6px;min-width:135px}.portal-list-card-side>strong{font-size:20px;color:var(--text)}
.portal-open-label{font-size:12px;font-weight:800;color:var(--brand-ink,var(--brand-primary))}
.portal-document-card{grid-template-columns:auto minmax(0,1fr) auto}.portal-file-icon,.portal-date-tile{display:grid;place-items:center;width:46px;height:46px;border-radius:10px;background:color-mix(in srgb,var(--brand-primary) 10%,#fff);color:var(--brand-ink,var(--brand-primary));font-weight:900}
.portal-date-tile{height:54px}.portal-date-tile strong{font-size:20px;line-height:1}.portal-date-tile span{font-size:10px;text-transform:uppercase;font-weight:800}.portal-list-card.is-past{opacity:.72}
.portal-support-layout{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr);gap:16px;align-items:start}.portal-profile-panel{max-width:860px}
.portal-record{color:var(--text)}.portal-record strong,.portal-record b{color:var(--text)}.portal-record small{color:#66717d}

.public-document-back{width:min(1080px,100%);margin:0 auto 12px}.public-document-back a{font-weight:800;color:var(--brand-ink,var(--brand-primary))}
.quote-public-card{width:min(1080px,100%);margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 18px 50px rgba(24,52,73,.1)}
.quote-public-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:28px;padding:30px 32px;background:linear-gradient(135deg,color-mix(in srgb,var(--brand-primary) 8%,#fff),#fff);border-bottom:1px solid var(--line)}
.quote-public-title h1{margin:7px 0 8px;font-size:32px;line-height:1.14;color:var(--text)}.quote-public-title p{margin:0;color:#5f6d79}
.quote-public-total{display:flex;flex-direction:column;align-items:flex-end;gap:6px;text-align:right}.quote-public-total>strong{font-size:32px;color:var(--text)}.quote-public-total>small{color:#66717d}
.quote-public-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-bottom:1px solid var(--line);background:#fbfcfd}
.quote-public-meta>div{display:flex;flex-direction:column;gap:4px;padding:15px 18px;border-right:1px solid var(--line)}.quote-public-meta>div:last-child{border-right:0}.quote-public-meta span{font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#66717d}.quote-public-meta strong{color:var(--text)}
.quote-public-copy,.quote-public-items,.quote-public-terms,.quote-response-section{padding:26px 32px;border-bottom:1px solid var(--line)}
.quote-public-copy h2,.quote-public-terms h2,.quote-section-heading h2,.quote-response-intro h2{margin:0 0 10px;color:var(--text)}.quote-public-copy p,.quote-public-terms>div,.quote-response-intro p{margin:0;line-height:1.68;color:#43515d}
.quote-public-items .data-table th{background:var(--brand-ink,var(--brand-primary));color:#fff}.quote-public-items .data-table td{background:#fff;border-bottom:1px solid var(--line)}.quote-public-items .data-table tbody tr:nth-child(even) td{background:#f8fafb}.quote-public-items .data-table tfoot th,.quote-public-items .data-table tfoot td{background:#f4f7f9;color:var(--text);padding:11px}.quote-deposit-row th,.quote-deposit-row td{color:#765a00!important;background:#fff8e7!important}
.quote-decision-card{display:grid;grid-template-columns:auto 1fr;gap:18px;margin:26px 32px;padding:22px;border:1px solid #b8dec6;border-radius:12px;background:#f2fbf5}.quote-decision-card h2{margin:3px 0}.quote-decision-card p{margin:5px 0;color:#345343}.decision-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#237a4b;color:#fff;font-size:25px;font-weight:900}
.quote-next-step{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0 32px 28px;padding:20px;border:1px solid var(--line);border-radius:11px;background:#f8fafc}.quote-next-step h2{margin:4px 0}.quote-next-step p{margin:0;color:var(--muted)}
.quote-response-section{border-bottom:0;background:#fbfcfd}.quote-response-intro{max-width:760px;margin-bottom:18px}.quote-accept-form{padding:22px;border:1px solid var(--line);border-radius:12px;background:#fff}.quote-accept-check{align-items:flex-start;padding:14px;border:1px solid #cbd7df;border-radius:9px;background:#f8fafb}.quote-accept-check span{display:flex;flex-direction:column;gap:3px}.quote-accept-check small{color:var(--muted)}
.quote-accept-summary{display:flex;align-items:center;justify-content:flex-end;gap:24px;padding-top:15px;border-top:1px solid var(--line)}.quote-accept-summary>div{display:flex;flex-direction:column}.quote-accept-summary span{font-size:10px;text-transform:uppercase;font-weight:800;color:var(--muted)}.quote-accept-summary strong{font-size:18px;color:var(--text)}.quote-decline-form{text-align:center;padding:16px 0 0}
.public-document-header strong{color:var(--brand-ink,var(--brand-primary))}

@media(max-width:1000px){.quote-share-bar{grid-template-columns:1fr 1fr}.portal-support-layout{grid-template-columns:1fr}.quote-public-meta{grid-template-columns:1fr 1fr}.portal-dashboard-grid{grid-template-columns:1fr}}
@media(max-width:820px){.customer-filters{grid-template-columns:1fr 1fr}.customer-filters .filter-search{grid-column:1/-1}.portal-account-actions>span{display:none}.portal-header-inner{padding:11px 15px}.portal-tabs{padding:0 10px}.portal-hero{align-items:flex-start;flex-direction:column;padding:22px}.portal-metric-grid{grid-template-columns:1fr 1fr}.quote-public-hero{flex-direction:column}.quote-public-total{align-items:flex-start;text-align:left}.quote-public-copy,.quote-public-items,.quote-public-terms,.quote-response-section{padding:22px}.quote-accept-summary{align-items:stretch;flex-direction:column}.quote-accept-summary .button{width:100%}.quote-next-step{margin-inline:22px;align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.customer-filters{grid-template-columns:1fr}.customer-filters .filter-search{grid-column:auto}.portal-access-actions>*{width:100%}.portal-access-actions form .button{width:100%}.quote-share-bar{grid-template-columns:1fr}.portal-hero h1{font-size:25px}.portal-metric-grid{grid-template-columns:1fr}.portal-list-card{grid-template-columns:1fr;gap:10px}.portal-list-card-side{align-items:flex-start;min-width:0}.portal-document-card{grid-template-columns:auto minmax(0,1fr)}.portal-document-card .portal-list-card-side{grid-column:2}.portal-page-heading h1{font-size:25px}.quote-public-hero{padding:22px 18px}.quote-public-title h1{font-size:26px}.quote-public-meta{grid-template-columns:1fr}.quote-public-meta>div{border-right:0;border-bottom:1px solid var(--line)}.quote-public-meta>div:last-child{border-bottom:0}.quote-public-copy,.quote-public-items,.quote-public-terms,.quote-response-section{padding:19px 16px}.quote-decision-card{grid-template-columns:1fr;margin:18px 16px}.quote-next-step{margin:0 16px 20px}.quote-public-items .responsive-table tbody tr{border:1px solid var(--line);border-radius:9px;margin-bottom:10px;overflow:hidden}.quote-public-items .responsive-table td{background:#fff!important}.portal-footer{padding-inline:14px}.portal-tab{padding-inline:11px}}

/* V13.3 merged contacts, document categories and pagination */
.contact-filters{grid-template-columns:minmax(260px,2fr) repeat(5,minmax(145px,1fr));align-items:end}
.contact-filters .filter-search{grid-column:auto}
.record-counts{display:flex;gap:6px;flex-wrap:wrap}.record-counts span{display:inline-flex;align-items:center;min-height:28px;padding:4px 8px;border:1px solid var(--line);border-radius:999px;background:#f5f8fa;color:#425363;font-size:11px;font-weight:800}
.ajax-pagination{margin-top:14px}.pagination-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding-top:14px;border-top:1px solid var(--line)}.pagination-summary{color:var(--muted);font-size:12px;font-weight:700}.pagination-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.pagination-actions>span{color:var(--muted);font-size:12px;font-weight:700}.button.disabled{pointer-events:none;opacity:.45}
.contact-tabs{padding-bottom:2px}.contact-tabs a{flex:0 0 auto}
input[type="file"]{padding:8px;background:#fff}
@media(max-width:1200px){.contact-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.contact-filters .filter-search{grid-column:span 2}}
@media(max-width:760px){.contact-filters{grid-template-columns:1fr 1fr}.contact-filters .filter-search{grid-column:1/-1}.pagination-bar{align-items:stretch}.pagination-actions{justify-content:space-between}.pagination-actions .button{flex:1}.contact-tabs{scroll-snap-type:x proximity}.contact-tabs a{scroll-snap-align:start}}
@media(max-width:520px){.contact-filters{grid-template-columns:1fr}.contact-filters .filter-search{grid-column:auto}.pagination-summary{text-align:center}.pagination-bar{justify-content:center}.pagination-actions{width:100%}}

/* V14 contact appointment tab */
@media(max-width:520px){.compact-filter-grid{grid-template-columns:1fr}}

/* V15 optional feature billing cards */
.addon-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:18px 0}
.addon-feature-grid .addon-subscription-panel{margin:0}
.addon-feature-grid .addon-subscription-grid{grid-template-columns:1fr;align-items:start}
.addon-feature-grid .addon-actions{justify-content:flex-start}
@media(max-width:1050px){.addon-feature-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.addon-feature-grid{grid-template-columns:1fr}}
.feature-subscription-lock{display:flex;align-items:center;justify-content:space-between;gap:18px}
.feature-subscription-lock>div{display:grid;gap:4px}
.feature-subscription-lock span{display:block}
@media(max-width:700px){.feature-subscription-lock{align-items:stretch;flex-direction:column}.feature-subscription-lock .button{width:100%}}

/* V15.1 HTML email template editor */
.modal-email-editor{width:min(1120px,calc(100vw - 28px));padding:22px}
.email-template-form{display:grid;gap:20px}
.email-template-meta-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:14px}
.email-template-meta-grid label{display:grid;gap:6px;font-weight:800}
.merge-field-library,.email-compose-section,.email-preview-section{padding:18px;border:1px solid var(--line);border-radius:12px;background:#fff}
.merge-field-heading,.email-editor-heading,.email-preview-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:13px}
.merge-field-heading h3,.email-editor-heading h3,.email-preview-heading h3{margin:0 0 3px;font-size:16px;color:var(--text)}
.merge-field-heading p,.email-editor-heading p,.email-preview-heading p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}
.merge-field-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.merge-field-group{min-width:0;border:1px solid var(--line);border-radius:9px;background:#f9fbfc;overflow:hidden}
.merge-field-group summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;cursor:pointer;list-style:none;font-size:12px;font-weight:900;color:var(--text)}
.merge-field-group summary::-webkit-details-marker{display:none}
.merge-field-group summary span{display:grid;place-items:center;min-width:23px;height:23px;padding:0 6px;border-radius:999px;background:#e8f1f7;color:var(--brand-primary);font-size:10px}
.merge-field-options{display:grid;gap:6px;padding:0 9px 9px}
.merge-field-button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-width:0;padding:8px 9px;border:1px solid #d7e1e8;border-radius:7px;background:#fff;color:var(--text);text-align:left}
.merge-field-button:hover,.merge-field-button:focus-visible{border-color:var(--brand-primary);background:var(--soft-blue)}
.merge-field-button strong{min-width:0;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.merge-field-button code{flex:0 1 auto;max-width:58%;overflow:hidden;text-overflow:ellipsis;color:#34566e;font-size:9px;white-space:nowrap}
.email-editor-shell{border:1px solid #cbd7df;border-radius:10px;background:#fff;overflow:hidden;box-shadow:inset 0 1px 2px rgba(22,38,55,.03)}
.email-editor-shell:focus-within{border-color:var(--brand-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-primary) 13%,transparent)}
.email-editor-toolbar{display:flex;align-items:center;gap:5px;flex-wrap:wrap;padding:9px;border-bottom:1px solid var(--line);background:#f4f7f9}
.email-editor-toolbar button{display:inline-grid;place-items:center;min-width:34px;min-height:33px;padding:5px 8px;border:1px solid #d1dce4;border-radius:6px;background:#fff;color:#23313d;font-size:12px;font-weight:800}
.email-editor-toolbar button:hover,.email-editor-toolbar button:focus-visible{border-color:var(--brand-primary);background:var(--soft-blue)}
.email-format-select{display:block}
.email-format-select select{min-height:33px;padding:5px 28px 5px 8px;border:1px solid #d1dce4;border-radius:6px;background:#fff;font-size:12px;font-weight:700}
.toolbar-divider{width:1px;height:25px;margin:0 2px;background:#d3dde4}
.email-rich-editor,.email-source-editor{width:100%;min-height:280px;margin:0;padding:20px;border:0;border-radius:0;background:#fff;color:#202a33;font:15px/1.6 Arial,Helvetica,sans-serif;outline:0;overflow:auto;resize:vertical}
.email-rich-editor:empty:before{content:attr(data-placeholder);color:#88939d;pointer-events:none}
.email-rich-editor h1,.email-rich-editor h2,.email-rich-editor h3,.email-rich-editor h4{line-height:1.25;color:#17212b}
.email-rich-editor blockquote{margin:16px 0;padding:10px 16px;border-left:4px solid #9ebed3;background:#f5f8fa}
.email-rich-editor table{width:100%;border-collapse:collapse}.email-rich-editor th,.email-rich-editor td{padding:8px;border:1px solid #dfe7ed;text-align:left}
.email-source-editor{min-height:320px;background:#17212b;color:#e7f0f5;font:13px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;tab-size:2}
.email-preview-card{border:1px solid #d7e1e8;border-radius:10px;background:#f6f8fa;overflow:hidden}
.email-preview-envelope{margin:0;padding:14px 17px;border-bottom:1px solid #d7e1e8;background:#fff}
.email-preview-envelope>div{display:grid;grid-template-columns:65px minmax(0,1fr);gap:10px;padding:4px 0}
.email-preview-envelope dt{color:#66717d;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.email-preview-envelope dd{min-width:0;margin:0;color:#24313b;font-size:13px;overflow-wrap:anywhere}
.email-preview-frame{display:block;width:100%;height:330px;border:0;background:#fff;pointer-events:none}
.email-template-actions{position:sticky;bottom:-22px;z-index:4;margin:0 -22px -22px;padding:14px 22px;border-top:1px solid var(--line);background:rgba(255,255,255,.96);backdrop-filter:blur(10px)}

@media(max-width:980px){
  .merge-field-groups{grid-template-columns:1fr 1fr}
  .email-template-meta-grid{grid-template-columns:1fr}
}
@media(max-width:700px){
  .modal-email-editor{width:calc(100% - 16px);margin:8px auto;padding:15px;max-height:calc(100vh - 16px)}
  .merge-field-library,.email-compose-section,.email-preview-section{padding:14px}
  .merge-field-groups{grid-template-columns:1fr}
  .merge-field-heading,.email-editor-heading,.email-preview-heading{align-items:stretch;flex-direction:column;gap:10px}
  .email-editor-heading .button{width:100%}
  .email-editor-toolbar{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}
  .email-editor-toolbar>*{flex:0 0 auto}
  .email-rich-editor,.email-source-editor{min-height:250px;padding:15px}
  .email-preview-envelope>div{grid-template-columns:1fr;gap:1px}
  .email-preview-frame{height:290px}
  .email-template-actions{bottom:-15px;margin:0 -15px -15px;padding:12px 15px}
  .email-template-actions .button{flex:1}
}
@media(max-width:460px){
  .merge-field-button{align-items:flex-start;flex-direction:column;gap:3px}
  .merge-field-button code{max-width:100%}
  .email-preview-frame{height:260px}
}

/* V16 company records and multiple contact people */
.optional-label{display:inline-flex;margin-left:6px;padding:3px 7px;border-radius:999px;background:var(--soft-blue);color:var(--brand-primary);font-size:10px;font-weight:900;text-transform:uppercase;vertical-align:middle}
.compact-company-contact-notice{display:flex;align-items:center;justify-content:space-between;gap:20px}
.compact-company-contact-notice .form-section-heading{margin:0}
.company-person-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.company-person-card{min-width:0;padding:18px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 5px 18px rgba(22,38,55,.04)}
.company-person-card.is-primary{border-color:color-mix(in srgb,var(--brand-primary) 42%,var(--line));box-shadow:0 7px 22px color-mix(in srgb,var(--brand-primary) 10%,transparent)}
.company-person-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}
.company-person-card-heading strong{display:block;color:var(--text);font-size:16px;line-height:1.3}
.company-person-card-heading span:not(.badge){display:block;margin-top:3px;color:var(--muted);font-size:12px}
.badge-row{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}
.person-contact-details{display:grid;grid-template-columns:86px minmax(0,1fr);gap:7px 12px;margin:0}
.person-contact-details dt{color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.person-contact-details dd{min-width:0;margin:0;color:var(--text);font-size:13px;overflow-wrap:anywhere}
.person-notes{margin:14px 0 0;padding-top:12px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}
.company-person-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:16px;padding-top:13px;border-top:1px solid var(--line)}
.company-person-actions form{margin:0}
@media (max-width:820px){.company-person-grid{grid-template-columns:1fr}.compact-company-contact-notice{align-items:stretch;flex-direction:column}.compact-company-contact-notice .button{align-self:flex-start}}
@media (max-width:520px){.company-person-card-heading{flex-direction:column}.badge-row{justify-content:flex-start}.person-contact-details{grid-template-columns:74px minmax(0,1fr)}.company-person-actions{align-items:stretch;flex-direction:column}.company-person-actions form,.company-person-actions .button{width:100%}}


/* V16.1 admin settings hub */
.settings-backbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:-4px 0 16px;padding:10px 13px;border:1px solid var(--line);border-radius:10px;background:#f8fafc;color:var(--muted);font-size:12px}.settings-backbar a{display:inline-flex;align-items:center;gap:7px;color:var(--brand-ink);font-weight:850;text-decoration:none}.settings-backbar a:hover{text-decoration:underline}.settings-page-heading{margin-bottom:18px}.settings-hub-tools{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:20px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff}.settings-hub-search{display:grid;gap:6px;min-width:min(440px,100%);font-size:12px;font-weight:850;color:var(--text)}.settings-hub-search input{min-height:44px;border:1px solid #c9d5df;border-radius:9px;padding:10px 12px;background:#fff}.settings-hub-search input:focus{outline:0;border-color:var(--brand-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-primary) 14%,transparent)}.settings-hub-summary{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.settings-hub-summary span{display:inline-flex;align-items:center;gap:5px;padding:8px 10px;border-radius:999px;background:#f1f5f8;color:var(--muted);font-size:11px;font-weight:750}.settings-hub-summary strong{color:var(--brand-ink);font-size:13px}.settings-no-results{margin-bottom:20px;padding:18px;border:1px solid #ead7ad;border-radius:12px;background:#fff8e9;color:#71551a}.settings-groups{display:grid;gap:20px}.settings-group{padding:22px;background:var(--surface,#fff);border:1px solid var(--line);border-radius:16px}.settings-group[hidden]{display:none}.settings-group-heading{display:flex;align-items:center;gap:14px;margin-bottom:17px}.settings-group-heading h2{margin:0 0 3px;font-size:19px}.settings-group-heading p{margin:0;color:var(--muted);font-size:13px}.settings-group-icon{display:grid;place-items:center;width:46px;height:46px;flex:0 0 46px;border-radius:13px;background:color-mix(in srgb,var(--brand-primary) 11%,#fff);color:var(--brand-ink);font-size:12px;font-weight:950;letter-spacing:.06em}.settings-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.settings-card{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:13px;min-height:102px;padding:15px;border:1px solid var(--line);border-radius:12px;color:var(--text);text-decoration:none;background:#fff;transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease}.settings-card:hover,.settings-card:focus-visible{border-color:var(--brand-primary);transform:translateY(-1px);box-shadow:0 8px 22px rgba(20,45,65,.08);text-decoration:none}.settings-card-featured{background:linear-gradient(135deg,color-mix(in srgb,var(--brand-primary) 5%,#fff),#fff)}.settings-card-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:color-mix(in srgb,var(--brand-primary) 10%,#fff);color:var(--brand-ink);font-size:19px;font-weight:900}.settings-card-copy{display:grid;gap:4px;min-width:0}.settings-card-copy strong{font-size:15px;color:var(--text)}.settings-card-copy>span{color:var(--muted);font-size:12px;line-height:1.45}.settings-card-status{align-self:start;max-width:100px;padding:5px 8px;border-radius:999px;background:#eef3f6;color:#5c6872;font-size:10px;font-weight:900;text-align:center;white-space:nowrap}.settings-card-status.is-ready{background:#e0f4e7;color:#176a38}.settings-card-status.needs-action{background:#fff0d9;color:#7b4c00}.settings-tabs{display:flex;gap:6px;margin:0 0 18px;padding:5px;border:1px solid var(--line);border-radius:12px;background:#f4f7f9}.settings-tabs a{flex:1 1 0;display:flex;align-items:center;justify-content:center;min-height:43px;padding:9px 14px;border-radius:8px;color:var(--muted);font-size:13px;font-weight:850;text-decoration:none}.settings-tabs a:hover{color:var(--brand-ink);background:#fff}.settings-tabs a.active{background:#fff;color:var(--brand-ink);box-shadow:0 2px 8px rgba(20,45,65,.08)}.settings-tab-panel{animation:settings-panel-in .15s ease both}@keyframes settings-panel-in{from{opacity:.55;transform:translateY(3px)}to{opacity:1;transform:none}}
@media(max-width:900px){.settings-hub-tools{align-items:stretch;flex-direction:column}.settings-hub-search{min-width:0}.settings-hub-summary{justify-content:flex-start}.settings-card-grid{grid-template-columns:1fr}}
@media(max-width:620px){.settings-backbar{align-items:flex-start;flex-direction:column}.settings-backbar>span{display:none}.settings-group{padding:15px}.settings-group-heading{align-items:flex-start}.settings-card{grid-template-columns:40px minmax(0,1fr);min-height:0;padding:14px}.settings-card-icon{width:38px;height:38px}.settings-card-status{grid-column:2;justify-self:start;align-self:auto}.settings-tabs{display:grid;grid-template-columns:1fr}.settings-tabs a{justify-content:flex-start}.settings-hub-summary span{flex:1 1 auto;justify-content:center}}


/* V16.2 permission bulk controls and consistent page-level create actions */
.permission-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 14px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#f7f9fb}.permission-toolbar>div:first-child{display:grid;gap:2px}.permission-toolbar strong{font-size:13px;color:var(--text)}.permission-toolbar small,.permission-group-heading small{font-size:10px;color:var(--muted)}.permission-toolbar-actions,.permission-group-actions{display:flex;flex-wrap:wrap;gap:6px}.permission-group-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}.permission-group-heading h3{margin:0}.button-tiny{min-height:28px;padding:5px 8px;font-size:10px;border-radius:7px}.quick-create-panel{scroll-margin-top:90px}
@media(max-width:620px){.permission-toolbar,.permission-group-heading{align-items:stretch;flex-direction:column}.permission-toolbar-actions,.permission-group-actions{display:grid;grid-template-columns:1fr 1fr}.permission-toolbar-actions .button,.permission-group-actions .button{width:100%;justify-content:center}}


/* V16.3 unified application surfaces and page backgrounds */
.app-body,.portal-body,.public-document-body{background:var(--app-background)}
.app-body .page-shell{background:var(--app-background)}
.brand-header{background:var(--surface);border-bottom-color:var(--surface-border);box-shadow:0 1px 0 rgba(22,38,55,.025)}
.app-footer,.portal-footer,.public-document-footer{background:var(--surface-subtle);border-color:var(--surface-border)}

/* Use one white card treatment across the application. */
.panel,.side-panel,.form-card,.metric-card,.settings-hub-tools,.settings-group,.settings-card,
.company-person-card,.merge-field-library,.email-compose-section,.email-preview-section,
.portal-panel,.portal-list-card,.portal-metric-grid>a,.portal-metric-grid>div,
.quote-share-bar>div,.permission-group,.checkbox-card,.billing-account-card,
.addon-feature-card,.feature-lock-panel,.integration-summary-card,.integration-status-card,
.guide-card,.guide-topic,.record-card{
  background:var(--surface);
  border-color:var(--surface-border);
  box-shadow:var(--surface-shadow);
}
.panel,.side-panel,.form-card,.settings-group{border-radius:14px}
.metric-card{background:var(--surface);border-color:var(--surface-border);box-shadow:var(--surface-shadow)}
.metric-card:hover,.settings-card:hover,.settings-card:focus-visible,.portal-metric-grid>a:hover,.portal-list-card:hover{box-shadow:0 10px 28px rgba(22,38,55,.09)}

/* Secondary areas consistently use the pale blue surface instead of mixed greys. */
.dashboard-aside,.filter-row,.form-actions,.permission-fieldset,.permission-toolbar,
.settings-tabs,.settings-backbar,.detail-group,.empty-state,.loading-state,
.email-editor-toolbar,.email-preview-card,.merge-field-group,.quote-public-meta,
.quote-response-section,.quote-next-step,.quote-accept-check,.billing-exemption,
.workspace-field,.pagination-bar,.result-summary{
  background:var(--surface-muted);
  border-color:var(--surface-border);
}
.dashboard-aside{background:transparent}
.filter-panel{background:var(--surface);border-color:var(--surface-border)}
.filter-row{border-top:1px solid var(--surface-border)}
.form-actions{border-top-color:var(--surface-border)}

/* Consistent table treatment. */
.table-wrap{border:1px solid var(--surface-border);border-radius:10px;background:var(--surface);overflow:auto}
.data-table{border-spacing:0}
.data-table th{background:var(--brand-ink,var(--brand-primary));color:#fff;border-bottom:1px solid color-mix(in srgb,var(--brand-ink,var(--brand-primary)) 78%,#000)}
.data-table th:first-child{border-radius:9px 0 0 0}.data-table th:last-child{border-radius:0 9px 0 0}
.data-table td{background:var(--surface);border-bottom:1px solid var(--surface-border)}
.data-table tbody tr:nth-child(even) td{background:var(--surface-subtle)}
.data-table tbody tr:hover td{background:color-mix(in srgb,var(--brand-primary) 7%,#fff)}
.data-table tbody tr:last-child td{border-bottom:0}

/* Forms and modals use the same white surface and border colour. */
input,select,textarea,.stripe-element,.email-editor-shell,.modal-dialog,.nav-dropdown-menu{background:var(--surface);border-color:var(--surface-border)}
.button-light,.icon-button,.email-editor-toolbar button,.merge-field-button{background:var(--surface);border-color:var(--surface-border)}
.button-light:hover,.email-editor-toolbar button:hover,.email-editor-toolbar button:focus-visible,.merge-field-button:hover,.merge-field-button:focus-visible{background:var(--surface-muted)}
.modal-dialog{box-shadow:0 26px 72px rgba(15,35,50,.25)}

/* Pipelines and page-specific containers follow the same surface system. */
.pipeline-column{background:var(--surface-muted);border-color:var(--surface-border)}
.opportunity-card,.side-task,.quote-public-card,.quote-accept-form,.email-preview-envelope,
.email-rich-editor,.login-preview-card{background:var(--surface);border-color:var(--surface-border)}
.contact-tabs,.pipeline-tabs{border-radius:9px}
.settings-card-featured,.quote-public-hero{background:linear-gradient(135deg,color-mix(in srgb,var(--brand-primary) 5%,#fff),var(--surface))}
.settings-card-status,.settings-hub-summary span,.record-counts span{background:var(--surface-muted)}

/* Customer-facing pages use the same pale page background and white cards. */
.portal-shell,.public-document-shell{background:transparent}
.public-document-header{background:var(--surface);border-color:var(--surface-border)}
.portal-list-card:hover{background:color-mix(in srgb,var(--brand-primary) 4%,#fff)}

@media(max-width:820px){
  .page-shell{padding:18px 15px 34px}
  .panel,.side-panel,.form-card,.settings-group{border-radius:12px}
}
@media(max-width:540px){
  .page-shell{padding:14px 10px 26px}
  .panel,.side-panel{padding:14px}
  .table-wrap{border-radius:9px}
}

/* V16.3.1 consistent page gutters and panel content spacing */
.page-shell{
  width:100%;
  padding:24px clamp(18px,2vw,34px) 44px;
}

/* Older filter-panel styling removed the normal panel padding. Restore the
   standard card inset so headings, filters, counts and result tables align. */
.panel.filter-panel{
  padding:18px;
  overflow:visible;
}
.panel.filter-panel > .panel-heading{
  margin-bottom:16px;
}
.panel.filter-panel > .filter-grid{
  margin:0 0 16px;
}
.panel.filter-panel > .table-wrap{
  margin:0;
}
.panel.filter-panel > .empty-state,
.panel.filter-panel > .ajax-pagination{
  margin-top:14px;
}

/* Keep filter action rows compact instead of leaving a full empty grid row. */
.contact-filters .filter-actions{
  grid-column:1/-1;
  justify-content:flex-end;
}
.contact-filters .filter-actions .button{
  width:auto;
  min-width:150px;
}

/* Shared card contents should always retain an inset on narrow layouts. */
@media(max-width:820px){
  .page-shell{padding:18px 15px 34px}
  .panel.filter-panel{padding:15px}
}
@media(max-width:540px){
  .page-shell{padding:14px 10px 26px}
  .panel.filter-panel{padding:14px}
  .contact-filters .filter-actions{justify-content:stretch}
  .contact-filters .filter-actions .button{width:100%;min-width:0}
}

/* V16.4 shared layout system
   All authenticated, portal and public-document pages use the same spacing,
   card, filter, form and table primitives. */
:root{
  --page-gutter:clamp(16px,2vw,34px);
  --page-gap:20px;
  --card-padding:18px;
  --card-radius:14px;
  --control-height:40px;
}

/* One vertical rhythm for every rendered page. */
.page-content,.portal-content,.public-document-content,.auth-content{
  display:flex;
  flex-direction:column;
  gap:var(--page-gap);
  min-width:0;
}
.page-content > *,
.portal-content > *,
.public-document-content > *,
.auth-content > *{
  margin-top:0;
  margin-bottom:0;
}
.page-content > template,.portal-content > template,.public-document-content > template{display:none}
.page-shell{padding:24px var(--page-gutter) 44px}

/* Shared page title and action alignment. */
.page-heading{
  align-items:center;
  min-height:58px;
  margin:0;
}
.page-heading h1{margin:2px 0 4px;text-transform:none}
.page-heading .heading-actions{margin:0}
.page-heading .heading-actions form{margin:0}
.page-heading .heading-actions .button{white-space:nowrap}

/* Primary cards all use the same visual treatment and inset. */
.panel,.side-panel,.form-card,.settings-group{
  margin:0;
  border:1px solid var(--surface-border);
  border-radius:var(--card-radius);
  background:var(--surface);
  box-shadow:var(--surface-shadow);
}
.panel,.side-panel{padding:var(--card-padding)}
.form-card{overflow:hidden}
.panel-heading{
  align-items:flex-start;
  margin:0 0 16px;
}
.panel-heading h2,.side-panel h2{line-height:1.25}
.panel-heading > .heading-actions{margin-left:auto}
.panel-grid,.settings-grid,.dashboard-layout,.report-grid,.admin-dashboard-grid{
  margin:0;
}
.panel-grid > .panel,.panel-grid > .side-panel,.panel-grid > .form-card,
.settings-grid > .panel,.settings-grid > .side-panel,.settings-grid > .form-card,
.dashboard-layout > .panel,.dashboard-layout > .side-panel,
.report-grid > .panel,.admin-dashboard-grid > .panel{
  margin:0;
}

/* Consistent list/filter pages. */
.filter-panel{padding:var(--card-padding);overflow:visible}
.filter-panel > .panel-heading{margin-bottom:16px}
.filter-panel > .filter-grid{margin:0 0 16px}
.filter-panel > .table-wrap{margin:0}
.filter-panel > .empty-state,.filter-panel > .ajax-pagination{margin-top:14px}
.filter-grid,.filter-row{
  margin:0 0 16px;
  padding:14px;
  border:1px solid var(--surface-border);
  border-radius:11px;
  background:var(--surface-muted);
}
.filter-grid label,.filter-row label{color:#34404c}
.filter-grid input,.filter-grid select,.filter-row input,.filter-row select{min-height:var(--control-height)}
.filter-grid .filter-actions{
  display:flex;
  align-items:flex-end;
  gap:8px;
}
.filter-grid .filter-actions .button{flex:1 1 auto;width:auto;min-width:0}
.filter-grid-compact{
  grid-template-columns:minmax(260px,2fr) minmax(160px,1fr) minmax(230px,auto);
}
.filter-grid-compact .filter-search{grid-column:auto}
.calendar-filters{
  grid-template-columns:minmax(190px,240px) minmax(190px,240px) minmax(300px,1fr);
  align-items:end;
}
.calendar-legend{min-height:var(--control-height);align-items:center;justify-content:flex-end}

/* Table pages share one framed result area. */
.table-panel .table-wrap,.panel .table-wrap{
  width:100%;
  border:1px solid var(--surface-border);
  border-radius:10px;
  background:var(--surface);
  overflow:auto;
}
.table-panel .data-table,.panel .data-table{margin:0}
.table-panel .pagination,.table-panel .pagination-bar,.filter-panel .pagination,.filter-panel .pagination-bar{margin-top:14px}
.data-table th,.data-table td{padding:11px 12px}
.data-table td{background:var(--surface)}
.data-table tbody tr:nth-child(even) td{background:var(--surface-subtle)}
.data-table tbody tr:hover td{background:color-mix(in srgb,var(--brand-primary) 7%,#fff)}

/* Page-level forms use the same card padding and footer. */
.form-card-grid{
  padding:20px;
  gap:14px;
}
.form-card-grid > .form-section{
  margin:0 -20px;
  padding:20px;
}
.form-card-grid > .form-actions{
  margin:6px -20px -20px;
}
.form-card-padded > .scoring-grid,.compact-form-panel > form{padding:20px}
.form-card-padded > .form-actions,.compact-form-panel > form > .form-actions{
  margin:0;
}
.form-section{background:var(--surface)}
.form-actions{min-height:66px;background:var(--surface-muted)}
.form-actions form{margin:0}

/* Reusable secondary surfaces. */
.detail-group,.empty-state,.loading-state,.result-summary,.permission-toolbar,
.settings-tabs,.settings-backbar,.email-editor-toolbar,.email-preview-card,
.integration-status-card,.workspace-field,.pagination-bar{
  background:var(--surface-muted);
  border-color:var(--surface-border);
}
.empty-state,.loading-state{border-radius:10px}
.contact-tabs,.pipeline-tabs{margin:0;padding:4px;background:transparent}
.contact-tabs a,.pipeline-tabs a{min-height:42px}
.metric-grid{margin:0}
.metric-card{margin:0}
.alert{margin:0}
.danger-zone{margin:0}

/* Portal, authentication and public documents follow the same rhythm. */
.portal-shell,.public-document-shell{padding-inline:0}
.portal-content,.public-document-content{width:100%}
.portal-content > .portal-page-heading,.public-document-content > .public-document-back{margin:0}
.auth-content{width:100%}

@media(max-width:900px){
  .filter-grid-compact{grid-template-columns:minmax(0,1fr) minmax(160px,.7fr)}
  .filter-grid-compact .filter-actions{grid-column:1/-1;justify-content:flex-end}
  .calendar-filters{grid-template-columns:1fr 1fr}
  .calendar-filters .calendar-legend{grid-column:1/-1;justify-content:flex-start}
}
@media(max-width:760px){
  :root{--page-gap:16px;--card-padding:15px}
  .page-shell{padding:18px 15px 34px}
  .page-heading{align-items:flex-start;flex-direction:column;gap:12px}
  .page-heading .heading-actions{width:100%;justify-content:flex-start}
  .page-heading .heading-actions .button,.page-heading .heading-actions form{flex:1 1 auto}
  .page-heading .heading-actions form .button{width:100%}
  .filter-grid-compact,.calendar-filters{grid-template-columns:1fr 1fr}
  .filter-grid-compact .filter-search{grid-column:1/-1}
  .filter-grid-compact .filter-actions{grid-column:1/-1}
  .panel-grid,.settings-grid,.dashboard-layout,.report-grid,.admin-dashboard-grid{gap:16px}
}
@media(max-width:540px){
  :root{--page-gap:14px;--card-padding:14px}
  .page-shell{padding:14px 10px 26px}
  .page-heading h1{font-size:24px}
  .page-heading .heading-actions{display:grid;grid-template-columns:1fr}
  .page-heading .heading-actions .button,.page-heading .heading-actions form{width:100%}
  .filter-grid,.filter-row,.filter-grid-compact,.calendar-filters{grid-template-columns:1fr;padding:12px}
  .filter-grid .filter-search,.filter-grid-compact .filter-search,.calendar-filters .calendar-legend{grid-column:1}
  .filter-grid .filter-actions,.filter-grid-compact .filter-actions{grid-column:1;display:grid;grid-template-columns:1fr}
  .filter-grid .filter-actions .button{width:100%}
  .form-card-grid{padding:14px}
  .form-card-grid > .form-section{margin:0 -14px;padding:14px}
  .form-card-grid > .form-actions{margin:6px -14px -14px}
  .form-card-padded > .scoring-grid,.compact-form-panel > form{padding:14px}
}

/* V16.4.1 pagination spacing and alignment */
.pagination-bar{
  width:100%;
  min-height:48px;
  margin-top:14px;
  padding:11px 14px;
  border:1px solid var(--surface-border);
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  background:var(--surface-muted);
}
.pagination-summary{
  display:block;
  margin:0;
  line-height:1.4;
}
.pagination-actions{
  margin-left:auto;
}
.ajax-pagination:empty,
.pagination:empty{
  display:none;
}
@media(max-width:540px){
  .pagination-bar{
    padding:11px 12px;
    align-items:stretch;
    flex-direction:column;
  }
  .pagination-summary{
    text-align:center;
  }
  .pagination-actions{
    width:100%;
    margin-left:0;
    justify-content:space-between;
  }
}

/* V16.4.3 dashboard spacing correction
   The dashboard is a page-within-a-page layout, so its main column and
   sidebar need the same vertical rhythm as normal page-content cards. */
.dashboard-layout{
  align-items:start;
  gap:var(--page-gap);
}
.dashboard-main{
  display:flex;
  flex-direction:column;
  gap:var(--page-gap);
  min-width:0;
}
.dashboard-aside{
  display:flex;
  flex-direction:column;
  gap:var(--page-gap);
  min-width:0;
  min-height:0;
  margin:0;
  padding:0;
  background:transparent;
}
.dashboard-main > *,
.dashboard-aside > *{
  margin-top:0;
  margin-bottom:0;
}
.dashboard-main .metric-grid,
.dashboard-main .panel-grid{
  width:100%;
}
.dashboard-main .panel,
.dashboard-aside .side-panel{
  margin:0;
}

@media(max-width:1100px){
  .dashboard-aside{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:var(--page-gap);
  }
}
@media(max-width:820px){
  .dashboard-aside{grid-template-columns:1fr}
}

/* V17 custom-domain administration */
.domain-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:18px}.domain-status-card{min-width:0}.domain-value{display:grid;gap:3px;padding:14px;border:1px solid var(--line);border-radius:11px;background:var(--surface-muted)}.domain-value-connected,.danger-zone .domain-value{margin-bottom:14px}.domain-approved-panel{margin-bottom:18px}.domain-value strong{font-size:17px;overflow-wrap:anywhere}.domain-value small,.form-help{color:var(--muted)}.domain-dns-summary{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px;padding:13px 15px;border:1px solid var(--line);border-radius:11px;background:var(--surface-muted)}.domain-dns-summary span{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.domain-dns-summary strong{overflow-wrap:anywhere}.instruction-block{padding:17px;border:1px solid var(--line);border-radius:12px;background:#fff;line-height:1.75}.danger-zone{border-color:#efc8c3}.domain-reject-form{display:grid;grid-template-columns:minmax(150px,1fr) auto;gap:7px;min-width:300px}.domain-reject-form input{min-height:36px;border:1px solid var(--line);border-radius:8px;padding:7px 9px}.metric-domain{font-size:16px!important;overflow-wrap:anywhere}.badge.status-pending{background:#fff0d9;color:#7b4c00}.badge.status-approved{background:#e0f4e7;color:#176a38}.badge.status-rejected{background:#fde7e4;color:#9d2c22}.badge.status-removed{background:#edf1f4;color:#5e6973}.public-domain-status-card{max-width:720px;margin:8vh auto;padding:34px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 18px 48px rgba(13,86,132,.10)}.public-domain-status-card h1{margin:0 0 14px}.public-domain-status-card>p{color:var(--muted)}
@media(max-width:900px){.domain-status-grid{grid-template-columns:1fr}.domain-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.domain-dns-summary{align-items:flex-start;flex-direction:column}.domain-reject-form{grid-template-columns:1fr;min-width:0;width:100%}.domain-reject-form .button{width:100%}.public-domain-status-card{margin:24px 0;padding:22px}.domain-metric-grid{grid-template-columns:1fr}}

/* V17.0.1 authentication centring fix.
   The shared V16.4 content wrapper is full width; explicitly centre auth cards
   rather than allowing fixed-width login panels to align to the left edge. */
.auth-content{
  width:100%;
  align-items:center;
}
.auth-content > .auth-card,
.auth-content > .auth-card-wide,
.auth-content > .auth-card-login-split{
  margin-inline:auto;
}
.auth-content > .alert,
.auth-content > .settings-backbar{
  width:min(920px,100%);
  margin-inline:auto;
}
@media(max-width:540px){
  .auth-content > .alert,
  .auth-content > .settings-backbar{width:100%}
}


/* V17.0.2 login-route guidance */
.auth-access-note{margin:10px 0 0;color:var(--muted);font-size:12px;line-height:1.5}
.auth-card-heading .auth-access-note{max-width:560px}

/* V17.2 Metisseo subscription invoices */
.billing-invoice-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap;margin:14px 0;padding:12px 14px;border:1px solid var(--line);border-radius:11px;background:var(--surface-muted)}
.billing-invoice-actions>strong{margin-right:auto;overflow-wrap:anywhere}
.billing-invoice-document{padding:0;overflow:hidden}
.billing-invoice-brand{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:30px 34px;background:linear-gradient(135deg,#083c5e,#0d5684);color:#fff}
.billing-invoice-brand>div:first-child{display:grid;gap:3px}.billing-invoice-brand>div:first-child span{font-size:27px;font-weight:950;letter-spacing:.04em}.billing-invoice-brand>div:first-child strong{color:#dcebf4;font-size:13px;text-transform:uppercase;letter-spacing:.08em}
.billing-invoice-number{display:grid;justify-items:end;gap:5px;text-align:right}.billing-invoice-number small{color:#dcebf4;text-transform:uppercase;letter-spacing:.07em;font-weight:800}.billing-invoice-number strong{font-size:19px;overflow-wrap:anywhere}.billing-invoice-number .badge{margin-top:4px}
.billing-invoice-parties{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:44px;padding:32px 34px 26px}.billing-invoice-parties h2{margin:5px 0 8px;font-size:20px}.billing-invoice-parties p,.billing-invoice-parties address{margin:4px 0;color:var(--muted);font-style:normal;line-height:1.55}.invoice-label{display:block;color:var(--brand-primary);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.billing-invoice-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0 34px 28px}.billing-invoice-meta>div{display:grid;gap:5px;padding:13px;border:1px solid var(--line);border-radius:10px;background:var(--surface-muted)}.billing-invoice-meta span{color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.billing-invoice-meta strong{font-size:13px;overflow-wrap:anywhere}
.billing-invoice-lines{margin:0 34px}.billing-invoice-lines .data-table th:nth-child(n+2),.billing-invoice-lines .data-table td:nth-child(n+2){text-align:right}.billing-invoice-lines .data-table td small{display:block;margin-top:3px;color:var(--muted)}
.billing-invoice-summary{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.65fr);gap:36px;align-items:start;padding:28px 34px}.billing-invoice-payment-note p{margin:8px 0;color:var(--muted)}.billing-invoice-totals{display:grid;gap:0;border:1px solid var(--line);border-radius:12px;overflow:hidden}.billing-invoice-totals>div{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 15px;background:#fff;border-bottom:1px solid var(--line)}.billing-invoice-totals>div:last-child{border-bottom:0}.billing-invoice-total{background:var(--brand-primary)!important;color:#fff}.billing-invoice-total strong{font-size:19px}.billing-invoice-footer{margin:0;padding:17px 34px;background:var(--surface-muted);border-top:1px solid var(--line);color:var(--muted);text-align:center}
@media(max-width:900px){.billing-invoice-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.billing-invoice-summary{grid-template-columns:1fr}.billing-invoice-parties{gap:24px}}
@media(max-width:650px){.billing-invoice-brand{padding:24px 18px;flex-direction:column}.billing-invoice-number{justify-items:start;text-align:left}.billing-invoice-parties{grid-template-columns:1fr;padding:24px 18px}.billing-invoice-meta{grid-template-columns:1fr;padding:0 18px 22px}.billing-invoice-lines{margin:0 18px}.billing-invoice-summary{padding:24px 18px}.billing-invoice-footer{padding:15px 18px}.billing-invoice-actions{align-items:stretch;flex-direction:column}.billing-invoice-actions>strong{margin:0}.billing-invoice-actions .button{width:100%}}

/* V17.2 company-branded customer invoices */
.portal-heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.company-invoice-document{overflow:hidden;padding:0;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow-small)}
.company-invoice-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 30px;background:linear-gradient(135deg,var(--invoice-primary),color-mix(in srgb,var(--invoice-primary) 78%,#000));color:#fff}
.company-invoice-brand{display:flex;align-items:center;justify-content:center;width:min(230px,42%);min-height:76px;padding:12px 16px;border-radius:12px;background:#fff;color:var(--invoice-primary)}
.company-invoice-brand img{display:block;max-width:100%;max-height:58px;object-fit:contain}.company-invoice-brand strong{font-size:22px;line-height:1.15;text-align:center}
.company-invoice-title{display:grid;justify-items:end;gap:4px;text-align:right}.company-invoice-title>span:first-child{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.82)}.company-invoice-title h1{margin:0;color:#fff;font-size:25px;overflow-wrap:anywhere}.company-invoice-title .badge{margin-top:6px}
.company-invoice-addresses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px;padding:30px}.company-invoice-addresses h2{margin:5px 0 9px;font-size:20px}.company-invoice-addresses p{margin:3px 0;color:var(--muted);line-height:1.5}
.company-invoice-meta{padding:0 30px 24px}.company-invoice-table{margin:0}.company-invoice-document>.table-wrap{margin:0 30px}.company-invoice-table th:nth-child(n+2),.company-invoice-table td:nth-child(n+2){text-align:right}.company-invoice-table tfoot tr:last-child{background:color-mix(in srgb,var(--invoice-primary) 8%,#fff)}.company-invoice-balance th,.company-invoice-balance td{color:var(--invoice-primary);font-size:15px}
.company-invoice-document .document-terms{margin:24px 30px 0;padding:18px;border:1px solid var(--line);border-radius:11px;background:var(--surface-muted)}.company-invoice-document .document-terms h2{margin:0 0 8px;font-size:17px}
.company-invoice-payment-reference{margin:18px 30px 0;color:var(--muted);font-size:12px;overflow-wrap:anywhere}.company-invoice-footer{margin-top:26px;padding:17px 30px;border-top:1px solid var(--line);background:var(--surface-muted);color:var(--muted);text-align:center}
.invoice-brand-preview{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;margin:8px 0 18px;padding:18px;border-radius:13px;background:linear-gradient(135deg,var(--preview-primary),color-mix(in srgb,var(--preview-primary) 76%,#000));color:#fff}.invoice-brand-preview>div{display:flex;align-items:center;justify-content:center;min-height:60px;padding:9px 12px;border-radius:10px;background:#fff;color:var(--preview-primary)}.invoice-brand-preview img{max-width:180px;max-height:48px;object-fit:contain}.invoice-brand-preview>span{font-size:17px;font-weight:900;letter-spacing:.08em}.invoice-brand-preview small{grid-column:2;color:rgba(255,255,255,.82);text-align:right}
@media(max-width:760px){.portal-heading-actions{width:100%;justify-content:flex-start}.portal-heading-actions .button{flex:1 1 auto;justify-content:center}.company-invoice-header{align-items:flex-start;flex-direction:column;padding:20px}.company-invoice-brand{width:100%;max-width:280px}.company-invoice-title{justify-items:start;text-align:left}.company-invoice-addresses{grid-template-columns:1fr;gap:22px;padding:22px 18px}.company-invoice-meta{padding:0 18px 20px}.company-invoice-document>.table-wrap{margin:0 18px}.company-invoice-document .document-terms,.company-invoice-payment-reference{margin-left:18px;margin-right:18px}.company-invoice-footer{padding:15px 18px}.invoice-brand-preview{grid-template-columns:1fr}.invoice-brand-preview>span,.invoice-brand-preview small{grid-column:1;text-align:left}}
.invoice-payment-panel{margin-top:16px}

/* V17.3 SaaS workspace control centre */
.admin-platform-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
.admin-account-filters{grid-template-columns:minmax(260px,1.5fr) repeat(4,minmax(150px,.75fr)) auto;align-items:end}
.admin-account-filters .filter-actions{align-self:end}
.data-table .badge-row{justify-content:flex-start}
.muted-text{color:var(--muted);font-size:12px}
.field-error-text{margin:12px 0 0;padding:10px 12px;border:1px solid #efc8c3;border-radius:9px;background:#fff6f4;color:#9d2c22;font-size:12px;overflow-wrap:anywhere}
.inline-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;margin-top:7px}
.workspace-section-nav{position:sticky;top:0;z-index:10;display:flex;gap:8px;overflow-x:auto;margin:0 0 20px;padding:10px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.96);box-shadow:0 5px 20px rgba(22,38,55,.05);scrollbar-width:thin}
.workspace-section-nav a{flex:0 0 auto;padding:8px 11px;border-radius:8px;background:var(--surface-muted);color:var(--text);font-size:12px;font-weight:800;white-space:nowrap}
.workspace-section-nav a:hover{background:var(--soft-blue);color:var(--brand-primary);text-decoration:none}
.workspace-control-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:20px;align-items:start}
.workspace-address-list{display:grid;gap:14px}
.workspace-address-list>div{display:grid;gap:6px}
.workspace-address-list>div>span{color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.workspace-address-list .copy-field{grid-template-columns:minmax(0,1fr) auto auto}
.usage-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.usage-stat-grid>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 13px;border:1px solid var(--line);border-radius:10px;background:var(--surface-muted)}
.usage-stat-grid span{color:var(--muted);font-size:12px;font-weight:700}
.usage-stat-grid strong{font-size:20px}
.workspace-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.feature-admin-card{display:flex;min-width:0;flex-direction:column;padding:18px;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:0 3px 14px rgba(22,38,55,.035)}
.feature-admin-card.is-active{border-color:#b9dfc8;background:#f8fcf9}
.feature-admin-card h3{margin:7px 0 0;font-size:18px}
.feature-admin-card p{margin:13px 0;color:var(--muted);font-size:13px;line-height:1.5}
.feature-admin-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.feature-admin-heading>strong{display:flex;flex-direction:column;align-items:flex-end;font-size:20px;white-space:nowrap}
.feature-admin-heading>strong small{color:var(--muted);font-size:10px;font-weight:700}
.feature-admin-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:16px}
.feature-admin-actions .button{width:100%}
.compact-status-list{display:grid;margin:0}
.compact-status-list>div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line)}
.compact-status-list>div:last-child{border-bottom:0}
.compact-status-list dt{color:var(--muted);font-size:12px}
.compact-status-list dd{margin:0;text-align:right;font-size:12px;font-weight:700;overflow-wrap:anywhere}
.domain-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:18px}
.domain-admin-grid .integration-status-card h3{margin-top:0}
.compact-domain-reject{min-width:0;margin-top:12px}
.compact-history-table{margin-top:8px}
.integrations-admin-grid{align-items:stretch}
.badge.status-disabled,.badge.status-not_tested,.badge.status-disconnected{background:#edf1f4;color:#5e6973}
.badge.status-passed,.badge.status-active{background:#e0f4e7;color:#176a38}
.badge.status-failed,.badge.status-restricted{background:#fde7e4;color:#9d2c22}
.badge.status-ready{background:#e0f4e7;color:#176a38}
.badge.status-card_required{background:#fff0d9;color:#7b4c00}
#workspace-overview,#workspace-access,#workspace-addons,#workspace-domains,#workspace-integrations,#workspace-users,#customer-invoices,#workspace-history{scroll-margin-top:88px}

@media(max-width:1180px){
  .admin-account-filters{grid-template-columns:repeat(3,minmax(0,1fr))}
  .admin-account-filters .filter-search{grid-column:span 2}
  .admin-account-filters .filter-actions{grid-column:span 3}
  .admin-platform-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .workspace-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  .workspace-control-grid,.domain-admin-grid{grid-template-columns:1fr}
  .workspace-section-nav{position:relative;top:auto}
}
@media(max-width:700px){
  .admin-account-filters{grid-template-columns:1fr}
  .admin-account-filters .filter-search,.admin-account-filters .filter-actions{grid-column:span 1}
  .admin-account-filters .filter-actions{display:grid;grid-template-columns:1fr}
  .admin-account-filters .filter-actions .button{width:100%}
  .admin-platform-metrics,.workspace-feature-grid,.usage-stat-grid{grid-template-columns:1fr}
  .workspace-address-list .copy-field{grid-template-columns:1fr}
  .workspace-address-list .copy-field .button{width:100%}
  .feature-admin-heading{flex-direction:column}
  .feature-admin-heading>strong{align-items:flex-start}
  .compact-status-list>div{align-items:flex-start;flex-direction:column;gap:3px}
  .compact-status-list dd{text-align:left}
  .inline-actions{justify-content:flex-start}
}

/* V17.4 verified document-storage cancellation and recovery */
.badge.status-scheduled,.badge.status-warning{background:#fff3d7;color:#865b08}
.badge.status-deleted{background:#e7edf2;color:#45525e}
.badge.status-error{background:#fde7e4;color:#9d2c22}
.addon-storage-summary{margin-top:12px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-muted)}
.addon-storage-summary>div{padding:6px 0}
.addon-storage-summary span{color:var(--muted);font-size:12px}
.addon-storage-summary strong{font-size:12px;text-align:right}
.document-deletion-alert{margin:0 0 12px}
.document-deletion-alert p{margin:5px 0 0;font-size:12px;line-height:1.5}
.verification-code-form{display:grid;gap:10px;width:100%}
.verification-code-form label{display:grid;gap:6px;text-align:left;font-size:12px;font-weight:800}
.verification-code-form input{font-size:20px;font-weight:800;letter-spacing:.22em;text-align:center}
.inline-form-actions{display:flex;flex-wrap:wrap;gap:8px;width:100%}
.inline-form-actions form{flex:1 1 150px;margin:0}
.inline-form-actions .button{width:100%}
.document-deletion-admin-actions{align-items:stretch}
.document-deletion-admin-actions form{display:flex;flex:1 1 180px;margin:0}
.document-deletion-admin-actions .button{width:100%}
.document-deletion-history{margin-top:20px}
.feature-admin-card .alert.compact{margin:12px 0 0;font-size:12px;line-height:1.5}
@media(max-width:700px){
  .inline-form-actions,.document-deletion-admin-actions{display:grid;grid-template-columns:1fr}
  .addon-storage-summary>div{align-items:flex-start;flex-direction:column;gap:3px}
  .addon-storage-summary strong{text-align:left}
}
.badge.status-pending_verification{background:#fff3d7;color:#865b08}
