:root{font-family:Inter,Segoe UI,sans-serif;color:#203347;background:#f4f7fa}body{margin:0}a{color:#1766a6}header a{color:inherit;text-decoration:none;padding:.65rem}header nav{display:flex;gap:.3rem}#revanAppbar{padding:12px 4%;height:auto;min-height:64px;gap:12px;flex-wrap:wrap}.brand{font-size:1.4rem;font-weight:700}.account-name{font-size:.9rem}main{max-width:1150px;margin:48px auto;padding:0 24px;min-height:65vh}h1{font-size:2rem;margin-top:0}p{line-height:1.6}.card{background:white;border:1px solid #d8e2ed;border-radius:10px;padding:28px;margin:20px 0}.narrow{max-width:560px;margin:40px auto}label{display:block;margin:16px 0}input[type=text]{display:block;box-sizing:border-box;width:100%;padding:10px;border:1px solid #8ca0b5;border-radius:4px;font:inherit;margin-top:6px}button{cursor:pointer}.e-btn{padding:10px 18px}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:14px 12px;border-bottom:1px solid #d8e2ed}code{overflow-wrap:anywhere}.notice{background:#e2f2ea;padding:16px;border-radius:6px}.validation-summary-errors{color:#a72323}footer{padding:24px 4%;border-top:1px solid #d8e2ed;display:flex;justify-content:space-between}.skip-link{position:absolute;left:-10000px}.skip-link:focus{left:8px;top:8px;z-index:1000;background:white;padding:12px}@media(max-width:640px){main{margin-top:24px}.account-name{display:none}header nav{flex-wrap:wrap}.card{padding:18px}}

.admin-navigation{position:relative}.admin-navigation summary{cursor:pointer;padding:.65rem}.admin-navigation summary:focus-visible{outline:2px solid #356e64;outline-offset:2px}.admin-navigation-items{position:absolute;right:0;top:100%;z-index:200;min-width:210px;background:#fff;border:1px solid #d8e2ed;border-radius:6px;box-shadow:0 4px 16px #20334726;padding:6px}.admin-navigation-items a{display:block;white-space:nowrap}.admin-navigation-items a:hover,.admin-navigation-items a:focus{background:#edf5f2}.maintenance-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.maintenance-page input[type=search]{box-sizing:border-box;width:100%;padding:10px;font:inherit;border:1px solid #8ca0b5;border-radius:4px}.maintenance-page .danger-button{background:#a72323!important;border-color:#a72323!important;color:white!important}

/* Let navigation menus extend beyond the Syncfusion AppBar. */
#revanAppbar{overflow:visible;position:relative;z-index:201}
.admin-navigation summary{display:flex;align-items:center;gap:.35rem;list-style:none;border-radius:6px;font-weight:500}
.admin-navigation summary::-webkit-details-marker{display:none}
.admin-navigation summary::after{content:"";border-top:.3em solid;border-right:.3em solid transparent;border-left:.3em solid transparent}
.admin-navigation summary:hover,.admin-navigation[open] summary{background:#edf5f2;color:#356e64}
.admin-navigation-items{left:0;right:auto;box-sizing:border-box;min-width:15rem;padding:.85rem;border-color:#d3e8df;border-radius:1rem;box-shadow:0 1rem 2.2rem rgb(33 75 65 / 16%)}
.admin-navigation-items a{padding:.55rem .7rem}
@media(max-width:640px){.admin-navigation-items{min-width:min(15rem,calc(100vw - 32px));left:auto;right:0}}

/* Warm sand for secondary actions throughout ReVan. */
body .e-btn:not(.e-primary):not(.e-inherit){background:#e6d8c5;border-color:#c8b79f;color:#203347}
body .e-btn:not(.e-primary):not(.e-inherit):hover,body .e-btn:not(.e-primary):not(.e-inherit):focus{background:#d5c2a7;border-color:#b5a084;color:#203347}
body .e-btn:not(.e-primary):not(.e-inherit):active,body .e-btn:not(.e-primary):not(.e-inherit).e-active{background:#c8b394;border-color:#a78e6e;color:#203347}
body .e-btn:not(.e-primary):not(.e-inherit):focus-visible{outline:2px solid #806b50;outline-offset:3px;box-shadow:0 0 0 3px rgb(200 183 159 / 30%)}
body .e-btn:not(.e-primary):not(.e-inherit):disabled,body .e-btn:not(.e-primary):not(.e-inherit).e-disabled{background:#eee7dc;border-color:#ded2c1;color:#746b5f;box-shadow:none}

/* Use the logo green for primary actions throughout ReVan. */
body .e-btn.e-primary{background:#55958a;border-color:#55958a;color:#fff}
body .e-btn.e-primary:hover,body .e-btn.e-primary:focus{background:#356e64;border-color:#356e64;color:#fff}
body .e-btn.e-primary:active,body .e-btn.e-primary.e-active{background:#29574f;border-color:#29574f;color:#fff}
body .e-btn.e-primary:focus-visible{outline:2px solid #356e64;outline-offset:3px;box-shadow:0 0 0 3px rgb(85 149 138 / 25%)}
body .e-btn.e-primary:disabled,body .e-btn.e-primary.e-disabled{background:#c5dcd6;border-color:#c5dcd6;color:#fff;box-shadow:none}
.contacts-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
.contacts-heading h1,.contacts-heading h2{margin-bottom:0}
.contacts-heading .e-btn{flex-shrink:0}
.segment-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.segment-column{display:flex;flex-direction:column;gap:20px;min-width:0}
.segment-column > .segment-card:first-child{flex:1}
.segment-card{margin:0;border-top:4px solid #55958a}
.segment-card h3{font-size:1.1rem;line-height:1.5;margin:0;min-height:3.3rem}
.segment-card h3 a{color:#356e64}
.segment-card .segment-count{font-size:2rem;font-weight:700;margin:20px 0 0}
.segment-card p{margin:0}
.segment-history{border-top:1px solid #d8e2ed;margin-top:22px;padding-top:16px}
.segment-history-month{font-weight:600}
.segment-history-counts{display:flex;flex-wrap:wrap;gap:12px 28px;margin:8px 0}
.segment-history-counts strong{font-size:1.2rem}
.segment-added{color:#356e64}.segment-removed{color:#955560}
.segment-card .segment-net{margin:8px 0;font-weight:600}
.segment-net strong{font-size:1.2rem}.segment-net-zero{color:#53677b}
.segment-card .segment-history-note{font-size:.8rem;color:#53677b;margin-top:6px}
.contacts-page .contacts-table{padding:0;border:0}
.contacts-table td{overflow-wrap:anywhere}
.contacts-table th{white-space:nowrap}
.contacts-search{margin:20px 0}
.contacts-search label{margin:0 0 8px}
.contacts-search-controls{display:flex;flex-wrap:wrap;gap:10px}
.contacts-search input[type=search]{box-sizing:border-box;min-width:0;width:360px;max-width:100%;padding:10px;border:1px solid #8ca0b5;border-radius:4px;font:inherit}
.contacts-table .contact-actions{width:1%;white-space:nowrap;text-align:right}
.contacts-table .contact-actions .e-btn{padding:7px 12px}
.contact-deal-indicator{display:inline-flex;align-items:center;vertical-align:middle;color:#25834b;margin-right:8px}
.contact-camper-indicator{display:inline-flex;align-items:center;vertical-align:middle;margin-right:8px}
.contact-deal-indicator[hidden],.contact-camper-indicator[hidden]{display:none}
.contact-edit{margin-right:6px;vertical-align:middle}
.contact-edit svg{display:block}
.contact-more{margin-right:6px;vertical-align:middle}.contact-more svg{display:block}.contact-more[hidden]{display:none}
#contact-actions-menu{position:fixed;z-index:100;background:white;border:1px solid #d8e2ed;border-radius:6px;box-shadow:0 4px 16px #20334726;padding:5px;min-width:160px}
#contact-actions-menu [role="menuitem"]{display:block;box-sizing:border-box;width:100%;padding:10px 14px;background:white;border:0;text-align:left;font:inherit;color:#203347;border-radius:4px;text-decoration:none;max-width:min(440px,calc(100vw - 26px));overflow-wrap:anywhere}
#contact-actions-menu [role="menuitem"]:hover,#contact-actions-menu [role="menuitem"]:focus{background:#edf5f2;outline:2px solid #55958a}
#contact-actions-menu button:disabled{color:#687786;cursor:default}
#contact-actions-menu [hidden]{display:none}
#call-logger{box-sizing:border-box;width:700px;max-width:calc(100% - 24px);max-height:90vh;overflow:auto;border:1px solid #d8e2ed;border-radius:12px;padding:24px;color:#203347}
#call-logger::backdrop{background:rgb(20 35 48 / 50%)}
#call-logger h2{font-size:1.25rem;margin:0}
#call-fields{padding:0;border:0;margin:0;min-width:0}
.call-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;align-items:start}
.call-grid label{margin:0}.call-label{display:block;margin-bottom:8px}.call-label,.call-hint{font-size:.85rem;color:#53677b}
#call-logger select,#call-logger input[type=datetime-local],#call-logger textarea{box-sizing:border-box;display:block;width:100%;padding:10px;border:1px solid #8ca0b5;border-radius:4px;font:inherit;color:inherit;background:white;margin-top:8px;min-width:0}
#call-logger textarea{resize:vertical;min-height:160px;line-height:1.5}
#call-logger .call-date{max-width:300px}.call-association{border-top:1px solid #d8e2ed;border-bottom:1px solid #d8e2ed;padding:12px 0}
#call-task-fields{border:1px solid #d8e2ed;border-radius:6px;padding:0 16px;min-width:0}
.call-task-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
#call-logger [hidden],#contact-actions-menu[hidden]{display:none}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:640px){.call-grid,.call-task-grid{grid-template-columns:1fr}#call-logger{padding:18px}.call-grid{gap:12px}}
.contact-edit[hidden]{display:none}
#contact-add[hidden]{display:none}
#contact-lookup-results{list-style:none;padding:0;max-height:220px;overflow:auto}
#contact-lookup-results li{margin:8px 0}
#contact-lookup-results .e-btn{width:100%;text-align:left;white-space:normal;overflow-wrap:anywhere}
#contact-editor,#deal-creator{box-sizing:border-box;width:620px;max-width:calc(100% - 32px);max-height:90vh;overflow:auto;border:1px solid #d8e2ed;border-radius:12px;padding:24px;color:#203347}
#contact-editor::backdrop,#deal-creator::backdrop{background:rgb(20 35 48 / 50%)}
#deal-creator h2{margin-top:0}
#deal-creator label,.deal-details label{display:block;margin-top:16px;font-weight:600}
#deal-creator input[readonly],.deal-details input[readonly]{display:block;box-sizing:border-box;width:100%;padding:10px;border:1px solid #8ca0b5;border-radius:4px;font:inherit;font-weight:400;margin-top:6px;background:#f4f7fa;color:#203347}
.deal-details{max-width:620px}.deal-details label:first-child{margin-top:0}
#deal-creator .deal-hint{font-size:.9rem;margin-top:6px}
#deal-creator [hidden]{display:none}
#contact-editor h2{margin:0}
#contact-editor fieldset{border:0;padding:0;margin:0;min-width:0}
#contact-editor legend{font-weight:600;margin-top:12px}
#contact-editor input[type=email],#contact-editor input[type=tel]{display:block;box-sizing:border-box;width:100%;padding:10px;border:1px solid #8ca0b5;border-radius:4px;font:inherit;margin-top:6px}
#contact-editor input[aria-invalid=true]{border-color:#a72323}
#contact-email-error{margin:-8px 0 16px;font-size:.9rem}
.contact-name-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.contact-segment-options label{display:flex;gap:8px;align-items:baseline}
.contact-editor-actions{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:24px}
@media(max-width:640px){.contact-name-fields{grid-template-columns:1fr;gap:0}#contact-editor{padding:18px}}
.contacts-pagination{display:flex;gap:12px}
@media(max-width:640px){.segment-cards{grid-template-columns:1fr}.contacts-heading{align-items:flex-start}.contacts-heading h1{font-size:1.5rem}}

/* Wide, compact pricing report, scoped so other pages retain their layout. */
main.sku-pricing-page,main.contacts-page{max-width:1440px;margin:28px auto}
.sku-pricing-page #pricing-panel{padding:0;border:0;border-radius:0;background:transparent;margin-top:16px}
.pricing-filters{display:flex;align-items:center;flex-wrap:wrap;gap:12px 16px;margin-bottom:16px}
.pricing-filters[hidden]{display:none}
#pricing-layout-select{max-width:min(600px,70vw)}
.pricing-filters label{display:inline-flex;align-items:center;gap:6px;margin:0}
.pricing-filters input[type=number]{width:64px;font:inherit}
.pricing-filters .sku-picker-search{flex-basis:100%;flex-direction:column;align-items:flex-start}
.sku-picker-search input{width:100%;box-sizing:border-box;font:inherit}
.sku-pricing-page .e-btn{padding:7px 12px}
.sku-pricing-page #pricing-panel>p{font-size:13px;margin:10px 0}
/* Auto-fit tables inherit the grid class, but not its ID or page ancestors. */
.pricing-grid.e-grid,#pricing-fallback{background:#fff;font-family:inherit;font-size:13px}
.pricing-grid.e-grid .e-headercelldiv,.pricing-grid.e-grid .e-rowcell,.pricing-grid.e-grid .e-groupcaption,
.pricing-grid.e-grid .e-groupdroparea,.pricing-grid.e-grid .e-toolbar .e-tbar-btn-text,
.pricing-grid.e-grid .e-ccdlg .e-label,.pricing-grid.e-grid .e-ccdlg .e-input{font-family:inherit;font-size:13px}
.pricing-grid.e-grid .e-headercell,.pricing-grid.e-grid .e-rowcell{padding:7px 8px}
.pricing-grid.e-grid .e-headercelldiv{font-weight:600;height:auto;line-height:18px}
.pricing-grid.e-grid .pricing-column-title{display:inline-block;vertical-align:middle}
.pricing-grid.e-grid .pricing-column-title>span{display:block;white-space:nowrap}
#pricing-grid .e-groupdroparea,#pricing-grid .e-toolbar{background:#f7f8fa;color:#53677b}
#pricing-grid .e-groupdroparea{min-height:38px;box-sizing:border-box}
#pricing-grid .e-rowcell{color:#203347}
#pricing-grid.pricing-highlight-on-vls .pricing-on-vls .e-rowcell,
#pricing-fallback.pricing-highlight-on-vls .pricing-on-vls td{background-color:#dff2df}
#pricing-fallback th,#pricing-fallback td{padding:7px 8px;height:19px;white-space:nowrap}
#pricing-fallback{max-height:55vh;overflow:auto}
#pricing-fallback th{background:#f7f8fa;position:sticky;top:0;z-index:1}
.pricing-smart-price{border:0;padding:0;background:transparent;color:#1766a6;font-family:inherit;font-size:13px;line-height:18px;text-decoration:underline;cursor:pointer}
#pricing-smart-price-dialog{box-sizing:border-box;width:850px;max-width:calc(100vw - 32px);max-height:90vh;overflow:auto;padding:24px;border:1px solid #d8e2ed;border-radius:10px;color:#203347}
#pricing-smart-price-dialog::backdrop{background:rgb(20 35 48 / 45%)}
.pricing-smart-price-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
.pricing-smart-price-heading h2{margin:0}
#pricing-smart-price-steps{white-space:pre-line;overflow-wrap:anywhere;line-height:1.8}
#pricing-grid[hidden],#pricing-fallback[hidden]{display:none}
#pricing-fallback .pricing-linked-deals{text-align:center}
#pricing-fallback[data-show-excl="false"] [data-vat="excl"],
#pricing-fallback[data-show-incl="false"] [data-vat="incl"]{display:none}
@media(max-width:640px){main.sku-pricing-page,main.contacts-page{padding:0 12px;margin-top:20px}.pricing-filters{gap:12px}.pricing-filters label{font-size:14px}}

/* Compact lockup based on the ReVan logo. */
#revanAppbar{background:#fff;color:#26343b;border-bottom:1px solid #dce7e4;box-shadow:0 2px 8px rgb(32 51 47 / 4%)}
#revanAppbar .brand{display:inline-flex;align-items:center;gap:10px;flex-shrink:0;padding:4px 0;margin-right:20px;color:#222e35;line-height:1}
.brand-icon{display:block;width:44px;height:44px}
.brand-wordmark{font-family:Inter,"Segoe UI",sans-serif;font-size:2.6rem;font-weight:600;letter-spacing:-.065em}
.brand-wordmark span{color:#55958a}
#revanAppbar nav a,#revanAppbar>a:not(.brand){border-radius:6px;font-weight:500}
#revanAppbar nav a:hover,#revanAppbar>a:not(.brand):hover{background:#edf5f2;color:#356e64}
#revanAppbar a:focus-visible,#revanAppbar button:focus-visible{outline:2px solid #356e64;outline-offset:3px}
#revanAppbar .e-btn.e-inherit{color:#356e64}
@media(max-width:640px){#revanAppbar{gap:8px}#revanAppbar .brand{margin-right:8px}.brand-icon{width:36px;height:36px}.brand-wordmark{font-size:2.15rem}}

.grid-add-actions{display:flex;justify-content:flex-end;margin:0 0 12px}
#company-editor{box-sizing:border-box;width:620px;max-width:calc(100% - 32px);max-height:90vh;overflow:auto;border:1px solid #d8e2ed;border-radius:12px;padding:24px;color:#203347}
#company-editor::backdrop{background:rgb(20 35 48 / 50%)}
#company-editor h2{margin:0}
#company-editor fieldset{border:0;padding:0;margin:0;min-width:0}
#company-editor legend{font-weight:600;margin-top:12px}
#company-editor input[type=text],#company-editor input[type=tel],#company-editor textarea{display:block;box-sizing:border-box;width:100%;padding:10px;border:1px solid #8ca0b5;border-radius:4px;font:inherit;margin-top:6px}
#company-editor textarea{resize:vertical}
.company-description-row{background:#f5f8fb}
.company-description{white-space:pre-wrap;overflow-wrap:anywhere;max-width:85ch;margin:8px 0}
.company-expand[aria-expanded=true]{background:#e4edf5}
.company-segment-options label{display:flex;gap:8px;align-items:baseline}
.company-editor-actions{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:24px}
@media(max-width:640px){#company-editor{padding:18px}}

.task-views{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid #d8e2ed;padding-bottom:12px}.task-views a{padding:10px 18px;text-decoration:none;border-radius:5px;color:#203347}.task-views a[aria-current=page]{background:#e2f2ea;color:#356e64;font-weight:700}.task-views a:hover{background:#f4f7fa}.task-filters{display:flex;align-items:end;gap:16px;flex-wrap:wrap;margin:20px 0}.task-filters label{margin:0;display:flex;flex-direction:column;gap:7px;font-size:14px}.task-filters select,.task-filters input{font:inherit;border:1px solid #b8cbdc;background:#fff;border-radius:4px;padding:11px;min-height:42px;box-sizing:border-box;max-width:100%}.task-filters select{min-width:140px}.task-filters a{padding:12px 0}.task-hint{font-size:13px;color:#52667b}.tasks-table th{background:#f4f7fa;white-space:nowrap}.tasks-table td{vertical-align:top}.tasks-table td:first-child,.tasks-table td:nth-child(2){min-width:220px;font-weight:600}.tasks-table time{white-space:nowrap}.task-status{font-size:13px;white-space:nowrap}.task-status.is-complete{color:#356e64}.task-overdue{color:#a72323}.task-overdue small{display:block;margin-top:4px}.tasks-table .task-detail-row td{background:#f4f7fa;padding:12px 24px 18px;font-weight:400}.task-details{display:grid;grid-template-columns:minmax(0,1fr) minmax(160px,220px);gap:16px 32px;margin:0}.task-details dt{font-size:13px;font-weight:600;color:#52667b;margin-bottom:6px}.task-details dd{margin:0;overflow-wrap:anywhere}.task-detail-notes dd{white-space:pre-wrap}@media(max-width:640px){.task-details{grid-template-columns:minmax(0,1fr)}}.task-pagination{display:flex;justify-content:flex-end;align-items:center;gap:16px;margin-top:24px}.tasks-empty{padding:32px 0;text-align:center}@media(max-width:640px){.task-filters label{width:100%}.task-views a{padding:10px}.task-pagination{justify-content:center}}

.hs-task-host .hs-task-dialog{box-sizing:border-box;width:780px;max-width:calc(100vw - 32px);max-height:90vh;padding:0;border:1px solid #d8e2ed;border-radius:14px;color:#203347;box-shadow:0 20px 65px #20334733}
.hs-task-host .hs-task-dialog::backdrop{background:rgb(20 35 48 / 45%)}
.hs-task-host .hs-task-header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid #d8e2ed}
.hs-task-host .hs-task-header h2{margin:0;font-size:1.25rem}
.hs-task-host .hs-task-content{padding:8px 24px 16px}
.hs-task-host input,.hs-task-host select,.hs-task-host textarea{box-sizing:border-box;width:100%;display:block;padding:10px;margin-top:8px;border:1px solid #bbcbd6;border-radius:5px;font:inherit;background:white;color:#203347}
.hs-task-host input:focus,.hs-task-host select:focus,.hs-task-host textarea:focus{outline:2px solid #55958a;outline-offset:1px}
.hs-task-host .hs-task-subject input{font-size:1.1rem;padding:14px}
.hs-task-host .hs-task-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;border-bottom:1px solid #d8e2ed}
.hs-task-host textarea{resize:vertical;min-height:150px}
.hs-task-host .hs-task-help{font-size:.85rem;color:#607786}
.hs-task-host .hs-task-association{font-size:.9rem;text-align:right}
.hs-task-host .hs-task-footer{padding:18px 24px;justify-content:flex-start;gap:12px}
@media(max-width:640px){.hs-task-host .hs-task-fields{grid-template-columns:1fr;gap:0}.hs-task-host .hs-task-content{padding:8px 16px}.hs-task-host .hs-task-association{text-align:left}}
