/* CAMPEMS design system. Local assets only; no external fonts or trackers. */
:root{--ink:#233834;--green:#23684f;--light:#f4f6f5;--muted:#788580;--line:#e5ebe7;--accent:#eaa57e;--sidebar:#142b26;--radius:16px;--shadow:0 3px 18px #1d392504}body{font-family:Inter,"Segoe UI",system-ui,sans-serif;font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3{letter-spacing:-.045em}h1{font-size:34px;font-weight:700;margin:8px 0 12px}h2{font-size:23px}h3{font-size:17px}a{color:#327759;text-decoration:none}a:hover{text-decoration:underline}button,.button{border-radius:9px;font-size:13px;font-weight:650;padding:11px 19px;gap:9px;transition:background .15s,box-shadow .15s}button:hover,.button:hover{filter:none;box-shadow:0 4px 12px #234f2b14;background:#19563e}input,select,textarea{border:1px solid #dce4df;border-radius:8px;font-size:14px;padding:11px 13px;min-height:44px;box-shadow:0 1px 2px #203b2603}input:focus,select:focus,textarea:focus{outline:2px solid #a9c9b4;outline-offset:1px}textarea{min-height:110px;resize:vertical}input[type=checkbox],input[type=radio]{min-height:0}label{font-size:12px;font-weight:650;color:#40564d;margin-top:21px}input::placeholder{color:#9ca9a2}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:white;padding:15px}.skip-link:focus{top:10px}.app-shell{background:#f5f7f5}.app-sidebar{width:264px;position:fixed;inset:0 auto 0 0;background:var(--sidebar);color:#b4c4bc;padding:28px 19px 20px;display:flex;flex-direction:column;z-index:40;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#3d564b transparent}.app-brand{display:flex;align-items:center;gap:11px;color:inherit;text-decoration:none;font-size:25px;font-weight:750;letter-spacing:-1px;line-height:1.2}.app-brand:hover{text-decoration:none}.app-sidebar .app-brand{color:#fff;padding:0 9px 26px}.brand-symbol{display:flex;align-items:center;justify-content:center;background:#d2e5cb;color:#25483a;width:37px;height:37px;font-size:35px;line-height:1;border-radius:11px;position:relative;font-weight:700;padding-bottom:4px}.brand-symbol>span{color:#dd9d76;font-size:17px;position:absolute;right:1px;bottom:-1px}.brand-caption{display:block;font-size:8px;letter-spacing:2px;color:#a2baac;font-weight:500;margin-top:6px}.workspace-switch{background:#203d33;border:1px solid #335044;border-radius:11px;display:flex;align-items:center;gap:10px;padding:13px 11px;margin-bottom:25px}.workspace-switch>div{min-width:0}.workspace-switch strong{display:block;color:#eef3ed;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:132px}.workspace-switch small{display:block;font-size:10px;color:#a1b8aa;text-transform:capitalize}.workspace-switch>a{color:#a9c2b1;margin-left:auto}.workspace-avatar{background:#d8b793;color:#273b2e;min-width:32px;height:33px;border-radius:8px;text-align:center;padding:5px;font-weight:700}.nav-caption{font-size:9px;letter-spacing:1.6px;color:#8ba494;margin:0 12px 12px}.app-sidebar nav{display:flex;flex-direction:column;gap:5px}.app-sidebar nav>a{display:flex;align-items:center;gap:11px;padding:11px 12px;color:#adc2b4;font-size:12px;line-height:1.4;border-radius:8px;text-decoration:none;min-height:43px}.app-sidebar nav>a>svg{flex-shrink:0;color:#88a695}.app-sidebar nav>a:hover{background:#274738;color:white}.app-sidebar nav>a.nav-active{background:#d4e7cc;color:#203b2b;font-weight:650}.app-sidebar nav>a.nav-active>svg{color:#315b3e}.nav-chevron{margin-left:auto}.sidebar-collapse{background:transparent;color:#809b89;font-size:11px;padding:12px;justify-content:flex-start;margin:14px 0 10px;width:100%;border-top:1px solid #2c4639;border-radius:0}.sidebar-bottom{margin-top:auto;padding-top:30px}.pilot-note{padding:14px;background:#203b30;border:1px solid #2d4a3b;border-radius:11px;font-size:11px}.pilot-note strong{color:#d7e5d7;font-size:11px;font-weight:550}.pilot-note p{margin:6px 0 0;color:#91ab9a;font-size:10px}.pilot-dot{width:6px;height:6px;background:#c5dcaa;display:inline-block;border-radius:50%;margin-right:8px}.sidebar-bottom>a{display:flex;justify-content:space-between;padding:17px 10px 0;font-size:11px;color:#9ab49f}.app-frame{margin-left:264px;min-height:100vh;display:flex;flex-direction:column}.app-topbar{padding:0 37px;min-height:81px;height:81px;background:#fff;display:flex;gap:23px;border-bottom:1px solid var(--line);position:relative;z-index:30}.topbar-location{display:flex;gap:11px;color:#a2ada5;min-width:0;font-size:11px}.topbar-location strong{font-weight:550;color:#45614e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:210px}.topbar-account{margin-left:auto;display:flex;align-items:center;gap:23px}.environment-tag{font-size:8px;letter-spacing:1px;color:#7a8e7e;background:#f2f6ef;border:1px solid #e4ecdf;padding:5px 8px;border-radius:5px;white-space:nowrap}.account-menu{position:relative}.account-menu summary{display:flex;align-items:center;gap:10px;cursor:pointer;list-style:none;font-size:12px}.account-menu summary::-webkit-details-marker{display:none}.user-avatar{display:flex;align-items:center;justify-content:center;background:#f1dfce;color:#7c5b39;width:35px;height:35px;border-radius:50%;font-weight:650}.user-label{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#334d3b;font-weight:600}.user-label small{display:block;font-size:9px;color:#93a18f;text-transform:capitalize;font-weight:400}.account-popover{position:absolute;right:0;top:52px;background:#fff;padding:10px;border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 35px #142b2620;min-width:185px}.account-popover a,.account-popover button{display:block;font-size:12px;padding:11px;width:100%;text-align:left}.account-popover form{margin:0}.account-popover button{margin:0;background:none;color:#8b5440}.app-content{max-width:1530px;width:100%;margin:0 auto;padding:26px 38px 55px;min-height:0;flex:1}.context-line{display:flex;gap:9px;font-size:10px;color:#9aa79d;margin-bottom:28px}.context-line a{color:#7b8e7d}.app-footer{display:flex;justify-content:space-between;gap:20px;padding:20px 38px;color:#9aa69d;font-size:10px;border-top:1px solid var(--line)}.footer-dot{margin:0 6px;color:#d5b490}.app-footer>span:last-child{font-size:9px}.page-heading{margin-bottom:25px}.page-heading h1{font-size:32px}.page-heading p:not(.eyebrow){font-size:13px;color:#89988b}.eyebrow{font-size:9px;color:#809b85;letter-spacing:1.8px;font-weight:650}.badge,.pilot{font-size:9px;border-radius:5px;font-weight:550;letter-spacing:.5px;background:#edf3e9;color:#71866c;padding:5px 8px}.module-grid{gap:18px;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));margin-top:22px}.module{border-radius:14px;border-color:#e6ece5;padding:25px;box-shadow:var(--shadow);position:relative;transition:border-color .15s,transform .15s}.module:has(a):hover{border-color:#acc9af;transform:translateY(-2px)}.module h2{font-size:20px}.module p{font-size:12px;line-height:1.8}.module a{font-size:12px;display:inline-flex;gap:6px;margin-top:9px}.module>.badge,.module>.muted{font-size:8px}.module h3{margin-top:14px}.panel,.campaign-card,.review-card{border-radius:14px;border-color:#e4ebe2;box-shadow:var(--shadow)}.panel h2{font-size:21px}.campaign-card h2{font-size:24px}.campaign-card>a{font-size:12px;font-weight:600}.status{font-size:8px;letter-spacing:.5px;border-radius:5px;padding:5px 8px}.notice{background:#eef4e9;border-color:#dce8d4;color:#586e4f;font-size:12px;border-radius:10px;margin:20px 0;padding:15px 18px}.empty{background:#fff;border-color:#dbe5d8;padding:65px 25px}.empty h2{font-size:27px}.empty p{font-size:13px}.auth{border-radius:16px;box-shadow:var(--shadow);border-color:#e4ebe1}.app-content>.auth{margin:20px 0;max-width:780px}.auth.wide{max-width:780px}.auth h1{font-size:29px}.auth form>button{width:auto;min-width:165px}.auth>p,.auth form>.muted{font-size:11px}.form-grid{grid-template-columns:1fr 1fr;gap:22px}.app-content .auth{padding:32px 36px}.app-content>.auth form>button{margin-top:28px}.validation-summary-valid{display:none}.validation-summary-errors{background:#fff2ed;border:1px solid #f3d9ce;color:#9e543e}.contact-filters{background:white;border:1px solid var(--line);border-radius:13px;padding:21px;font-size:12px;gap:18px}.contact-filters input,.contact-filters select{font-size:12px}.filter-actions a{font-size:11px}.table-scroll{border:1px solid var(--line);border-radius:13px;background:#fff;margin-top:23px}table{font-size:12px}th,td{padding:17px 19px;border-color:#eef1ed}th{font-size:10px;background:#fafbf8;text-transform:uppercase;letter-spacing:.6px;color:#82917c;font-weight:600}tbody tr:hover{background:#fbfcf9}table td p{margin:3px 0}.inline-form button{padding:8px 12px;font-size:10px}.inline-form select{font-size:11px}.stats article{border-radius:13px;border-color:#e3eade}.stats span{font-size:11px}.stats strong{font-size:33px;letter-spacing:-1px}.report-grid{gap:18px}.contact-details{font-size:13px;gap:15px}.contact-details dt{font-size:11px}.contact-details dd{border-bottom:1px solid #edf1e9;padding-bottom:12px}.pagination{font-size:11px}.module-search-button{display:flex;align-items:center;gap:8px;background:#f6f8f3;border:1px solid #e8eee3;color:#82947e;font-size:10px;padding:8px 10px;white-space:nowrap}.module-search-button kbd{font-size:9px;color:#9aaa94;background:#fff;padding:1px 4px;border:1px solid #e5ebdf;border-radius:3px;margin-left:13px}.module-search-button:hover{background:#edf3e7}.icon-button{padding:8px;background:transparent;color:#54734f;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center}.icon-button:hover{background:#f1f5ec}.mobile-menu-button{display:none}.module-search-dialog{width:min(560px,calc(100% - 32px));border:1px solid #e1e9db;border-radius:18px;padding:25px;box-shadow:0 30px 90px #142b2640;color:var(--ink);max-height:85vh;overflow:auto}.module-search-dialog::backdrop{background:#142b2666;backdrop-filter:blur(4px)}.search-dialog-head{display:flex;align-items:center;gap:12px;margin-bottom:20px}.search-dialog-head label{margin:0;font-size:18px}.search-dialog-head button{margin-left:auto}.search-result-label{font-size:9px;letter-spacing:1.2px;margin:22px 0 11px;color:#9baa93}.search-results{display:grid;gap:4px}.search-results a{display:flex;gap:12px;align-items:center;padding:12px;border-radius:9px;font-size:12px;color:#526e48}.search-results a:hover,.search-results a:focus{background:#eef5e7;text-decoration:none}.search-results a>svg:last-child{margin-left:auto}.search-empty{font-size:13px;padding:20px;color:#7c8d75}.search-hint{border-top:1px solid var(--line);font-size:10px;color:#96a58e;padding-top:16px;margin-bottom:0}.mobile-backdrop{display:none}.compact-navigation .app-sidebar{width:85px;padding-left:13px;padding-right:13px}.compact-navigation .app-frame{margin-left:85px}.compact-navigation .app-brand>span:last-child,.compact-navigation .workspace-switch,.compact-navigation .nav-caption,.compact-navigation .app-sidebar nav>a>span,.compact-navigation .nav-chevron,.compact-navigation .sidebar-bottom,.compact-navigation .sidebar-collapse>span{display:none}.compact-navigation .app-brand{padding:0 9px 30px}.compact-navigation .app-sidebar nav>a{justify-content:center;padding:13px}.compact-navigation .sidebar-collapse{justify-content:center}.public-header{padding:22px 6%;border-color:var(--line)}.public-header .app-brand{color:#234b37}.public-header nav{display:flex;gap:24px;align-items:center;margin-left:auto}.public-shell main{padding-top:45px}.public-shell .auth{padding:40px;max-width:480px;margin:25px auto 60px}.public-shell .auth.wide{max-width:780px}.public-shell .auth h1{font-size:32px}.public-shell .auth form>button{width:100%}.public-shell .hero-panel{background:#1b3b2b;border-radius:22px;box-shadow:14px 14px 0 #e6ecdf}.public-shell .hero h1{font-size:56px}.public-shell footer{font-size:10px}.workspace{display:block}.workspace>.sidebar{display:none}.workspace .module-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}.workspace h1{font-size:34px}.overview-hero{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:29px 32px;background:#e9efdf;border:1px solid #dfe8d4;border-radius:17px;position:relative;overflow:hidden;margin-bottom:24px}.overview-hero h1{font-size:32px;max-width:500px}.overview-hero p{color:#78896b;font-size:12px;margin-bottom:0}.overview-hero .eyebrow{margin-top:0;color:#809369;font-size:9px}.overview-mark{font-size:100px;font-weight:600;color:#ccd8bb;line-height:1;letter-spacing:-9px;user-select:none}.overview-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin:23px 0 32px}.overview-stat{padding:21px 23px;background:#fff;border:1px solid #e4e9de;border-radius:13px}.overview-stat span{font-size:10px;color:#8a9a7f}.overview-stat strong{display:block;font-size:31px;font-weight:650;letter-spacing:-1px;color:#365c39;margin:8px 0}.overview-stat a{font-size:10px;color:#95a287}.section-title{display:flex;justify-content:space-between;align-items:center;margin:27px 0 10px}.section-title h2{font-size:21px;margin:0}.section-title p{font-size:11px;color:#96a18b;margin:3px 0}.section-title>a{font-size:11px}.overview-module{padding:25px;display:flex;flex-direction:column;min-height:215px}.module-number{font-size:12px;font-weight:600;color:#87a17a;width:35px;height:35px;display:flex;align-items:center;justify-content:center;background:#edf3e7;border-radius:10px}.overview-module:nth-child(3n+2) .module-number{background:#f9eddf;color:#b18e63}.overview-module:nth-child(3n) .module-number{background:#eaf0f5;color:#8198b0}.overview-module p{flex:1}.overview-module a{border-top:1px solid #eff2eb;padding-top:14px;justify-content:space-between}.overview-module a span{color:#9eac8c}.overview-info{display:flex;gap:20px;justify-content:space-between;border:1px solid #e1e8db;background:#fff;padding:20px 24px;border-radius:12px;margin-top:25px;font-size:11px;color:#8a9b7b}.overview-info strong{color:#586e49;font-size:12px}.overview-info a{font-size:11px}.dashboard-layout{display:grid;grid-template-columns:1fr 260px;gap:24px}.dashboard-main{min-width:0}.dashboard-aside{background:#fff;border:1px solid var(--line);border-radius:15px;padding:23px;align-self:start;margin-top:23px}.dashboard-aside h3{font-size:16px;margin:0 0 18px}.dashboard-aside a{display:block;padding:14px 0;border-bottom:1px solid #edf2e7;font-size:12px}.dashboard-aside a:last-of-type{border-bottom:0}.dashboard-aside p{font-size:11px;color:#95a488}.dashboard-aside .campaign-fact{margin:17px 0}.campaign-fact small{display:block;text-transform:uppercase;font-size:8px;letter-spacing:1px;color:#9caa90}.campaign-fact strong{font-size:12px;font-weight:550;color:#647a56;overflow-wrap:anywhere}.dashboard-tip{background:#f4f6ee;padding:16px;border-radius:10px;margin-top:23px}.dashboard-tip h4{font-size:11px;margin:0 0 7px;color:#667e50}.dashboard-tip p{margin:0;line-height:1.8}.dashboard-freshness{font-size:10px;color:#a0ad94;text-align:right}.auth.wide>form>.form-grid{gap:24px}
@media(min-width:1500px){.app-content{padding:35px 48px 65px}.app-topbar{padding:0 48px}}
@media(max-width:1200px){.app-sidebar{width:235px}.app-frame{margin-left:235px}.app-content{padding:25px}.app-topbar{padding:0 25px;gap:16px}.topbar-location{display:none}.overview-stat-grid{grid-template-columns:repeat(2,1fr)}.dashboard-layout{grid-template-columns:1fr}.dashboard-aside{display:grid;grid-template-columns:1fr 1fr;gap:12px 30px;margin-top:0}.dashboard-aside h3{grid-column:1/-1}.dashboard-tip{margin-top:0}.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.app-sidebar,.compact-navigation .app-sidebar{width:264px;transform:translateX(-100%);transition:transform .2s}.app-frame,.compact-navigation .app-frame{margin-left:0}.mobile-navigation .app-sidebar{transform:translateX(0)}.mobile-menu-button{display:inline-flex}.module-search-button kbd{display:none}.module-search-button{border:0;background:none}.app-topbar{height:70px;min-height:70px;gap:10px;padding:0 20px}.topbar-account{gap:10px}.user-label{display:none}.environment-tag{font-size:7px}.app-content{padding:23px 20px 40px}.app-footer{padding:20px;font-size:9px}.mobile-navigation .mobile-backdrop{display:block;position:fixed;inset:0;background:#122a2566;z-index:35;border-radius:0;margin:0}.mobile-navigation .mobile-menu-button{position:relative;z-index:50;background:white}.compact-navigation .app-brand>span:last-child,.compact-navigation .workspace-switch,.compact-navigation .nav-caption,.compact-navigation .app-sidebar nav>a>span,.compact-navigation .sidebar-bottom{display:revert}.sidebar-collapse{display:none}.compact-navigation .app-sidebar nav>a{justify-content:flex-start}.overview-hero{padding:25px}.overview-mark{font-size:75px}.overview-hero h1{font-size:27px}.context-line{margin-bottom:22px}.app-content>.auth,.app-content .auth{padding:25px}.module{padding:22px}.app-sidebar .app-brand{padding-top:16px}.sidebar-bottom{margin-top:25px}}
@media(max-width:540px){.module-grid,.campaign-grid,.workspace .module-grid,.review-card,.form-grid,.team-layout,.contact-filters,.dashboard-aside{grid-template-columns:1fr}.dashboard-aside h3{grid-column:auto}.overview-stat-grid{gap:10px}.overview-stat{padding:17px}.overview-stat strong{font-size:28px}.overview-hero{padding:24px 22px}.overview-mark{display:none}.overview-hero h1{font-size:27px}.page-heading h1{font-size:28px}.page-heading{gap:13px}.page-heading>.button{align-self:flex-start}.app-content>.auth{padding:23px 20px}.auth h1{font-size:27px}.overview-info{flex-direction:column;gap:10px}.app-footer{flex-direction:column;gap:5px}.environment-tag{display:none}.module-search-button>span{font-size:10px}.app-topbar{padding:0 17px}.public-header{padding:18px 5%}.public-header nav{gap:14px}.public-header .app-brand{font-size:21px}.public-shell main{padding-top:25px}.public-shell .auth{padding:28px 23px}.public-shell .hero h1{font-size:40px}.contact-filters{padding:18px}.form-grid{gap:0}.auth.wide>form>.form-grid{gap:0}.overview-stat a{font-size:9px}.overview-module{min-height:195px}.section-title h2{font-size:20px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
/* Native validation emits an empty list item with an inline hidden style.
   Hide empty markers in CSS so the strict no-inline-style policy remains intact. */
[role="alert"] li:empty{display:none}
#toolbar-root{display:flex;align-items:center;gap:8px}
.profile-section{margin:28px 0}.profile-section>.form-grid{gap:0 24px}.profile-section .section-title p{font-size:11px}.selector-search{margin:22px 0;max-width:780px}.selector-search summary{cursor:pointer;font-weight:600}.selector-search>p{font-size:11px;color:var(--muted)}.selector-search form>button{width:auto}.interaction-entry{border-bottom:1px solid var(--line);padding:18px 0}.interaction-entry:last-of-type{border-bottom:0}.interaction-entry h3{margin:7px 0}.interaction-entry>p{font-size:12px}
