/* CityPro Studio — shared visual language for dashboard, editor and public forms. */
.cpf-admin{--studio-ink:#172d2c;--studio-muted:#6a7976;--studio-line:#dde5df;--studio-green:#147d73;max-width:1440px;margin:20px 24px 40px 4px;color:var(--studio-ink);font-family:Tahoma,'Segoe UI',sans-serif}.cpf-admin a{text-decoration:none}.cpf-admin [hidden]{display:none!important}.cpf-admin-top{display:flex;align-items:center;justify-content:space-between;gap:28px;background:#fff;padding:20px 28px;border:1px solid var(--studio-line);border-radius:16px}.cpf-brand{display:flex;gap:12px;align-items:center;font-family:'Segoe UI',sans-serif;font-size:23px;font-weight:700;direction:ltr;color:var(--studio-ink)!important;white-space:nowrap}.cpf-brand-light{font-weight:400;color:#7c8d88;margin-left:4px}.cpf-brand-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#147d73;color:#fff;font-size:25px}.cpf-admin-top nav{display:flex;gap:24px;margin:0;font-size:12px}.cpf-admin-top nav a{color:#536661;padding:7px 0}.cpf-admin-top nav a:hover{color:#147d73}.cpf-version{font-size:10px;color:#6c827b;letter-spacing:2px;font-family:'Segoe UI',sans-serif;direction:ltr}.cpf-kicker{display:block;color:#5d7d72;font-size:10px;font-family:'Segoe UI',sans-serif;font-weight:700;letter-spacing:2px;direction:ltr;text-align:start}.cpf-dashboard-hero{background:#eaf0e8;border:1px solid #d9e3d5;border-radius:20px;padding:48px 56px;display:grid;grid-template-columns:1.3fr 1fr;overflow:hidden;margin-top:26px;min-height:325px;position:relative}.cpf-dashboard-hero h1{font-size:clamp(27px,3.2vw,44px);line-height:1.65;letter-spacing:-1.5px;font-weight:600;margin:12px 0;color:#173e34}.cpf-dashboard-hero h1 em{font-style:normal;color:#6f876d}.cpf-dashboard-hero p{color:#5c7267;font-size:13px;margin:12px 0 24px}.cpf-admin .button{border:1px solid #d6e1db;background:#fff;border-radius:8px;color:#36554b;min-height:38px;padding:3px 15px;box-shadow:none;font-family:inherit;font-size:12px;cursor:pointer}.cpf-admin .button-primary{background:#147d73;border-color:#147d73;color:#fff;padding:6px 22px;min-height:42px;box-shadow:0 5px 14px #145d4720}.cpf-admin .button:hover{background:#edf5f1;border-color:#94b5a7;color:#145d47}.cpf-admin .button-primary:hover{background:#0c665e;color:#fff}.cpf-hero-art{display:grid;place-items:center;position:relative;isolation:isolate}.cpf-hero-art:before,.cpf-hero-art:after{content:'';position:absolute;width:245px;height:245px;border-radius:50%;border:1px solid #cad8c6;z-index:-1}.cpf-hero-art:after{width:330px;height:330px}.cpf-art-card{background:#fffef8;box-shadow:0 22px 55px #284e3621;border:1px solid #e1e6da;padding:26px;width:220px;border-radius:16px;transform:rotate(-9deg);position:relative}.cpf-art-card span{font-size:9px;font-weight:600;letter-spacing:1px;direction:ltr;display:block;color:#7a8b79}.cpf-art-card i{display:block;background:#edf2e9;height:30px;margin-top:16px;border-radius:6px;border:1px solid #dce4d5}.cpf-art-card i:last-of-type{width:65%}.cpf-art-card b{position:absolute;bottom:-15px;left:-14px;background:#147d73;box-shadow:0 8px 18px #145d4730;color:#fff;display:grid;place-items:center;border-radius:50%;width:49px;height:49px;border:5px solid #eaf0e8;font-size:20px}.cpf-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:20px 0 28px}.cpf-stat-grid>div{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--studio-line);padding:22px;background:#fff;border-radius:12px}.cpf-stat-grid span{font-size:12px;color:#6a7976}.cpf-stat-grid strong{font-size:27px;font-weight:500}.cpf-stat-grid .cpf-stat-text{font-size:14px}.cpf-template-strip{display:grid;grid-template-columns:1.2fr repeat(3,1fr);align-items:center;gap:14px;padding:24px;background:#fff;border:1px solid var(--studio-line);border-radius:14px}.cpf-template-strip h2{font-size:15px;margin:9px 0}.cpf-template-strip>a{border:1px solid #e1e9e2;background:#fbfcfa;border-radius:10px;padding:18px;color:#28463a;font-size:13px;transition:transform .2s,border-color .2s}.cpf-template-strip>a:hover{transform:translateY(-3px);border-color:#7ea995}.cpf-template-strip small{display:block;font-size:10px;color:#84918a;margin-top:9px}.cpf-list-heading{display:flex;align-items:center;justify-content:space-between;margin:36px 0 18px}.cpf-list-heading h2{font-size:19px}.cpf-list-heading h2 span{background:#e5eee7;color:#547562;border-radius:5px;font-size:11px;padding:3px 7px;margin-right:6px}.cpf-admin .cpf-search{display:flex;flex-direction:row;align-items:center;gap:12px;font-size:11px;color:#6a7976}.cpf-search input{width:230px!important}.cpf-admin input:not([type=checkbox]):not([type=color]),.cpf-admin select,.cpf-admin textarea{border:1px solid #dbe4de;border-radius:7px;min-height:38px;font-family:inherit;font-size:12px;background:#fff;color:#254438;padding:6px 10px}.cpf-admin input:focus,.cpf-admin textarea:focus,.cpf-admin select:focus{border-color:#147d73;box-shadow:0 0 0 3px #147d7315;outline:none}.cpf-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.cpf-form-card{background:#fff;border:1px solid var(--studio-line);border-radius:14px;overflow:hidden;padding:23px;box-shadow:0 6px 20px #18372a03;transition:box-shadow .2s,transform .2s}.cpf-form-card:hover{box-shadow:0 12px 30px #18372a0c;transform:translateY(-2px)}.cpf-card-top{display:flex;align-items:center;gap:10px}.cpf-form-symbol{width:42px;height:42px;display:grid;place-items:center;font-size:23px;border-radius:11px;background:#eaf3ee;color:#37795f}.cpf-badge{color:#497859;background:#f0f6eb;padding:3px 9px;border-radius:20px;font-size:10px}.cpf-badge:before{content:'●';font-size:7px;margin-inline-end:5px}.cpf-card-id{margin-inline-start:auto;color:#98a69f;font:11px 'Segoe UI',sans-serif}.cpf-form-card h3{font-size:18px;font-weight:600;margin:22px 0 10px}.cpf-form-card h3 a{color:#253e34}.cpf-form-card>p{font-size:11px;color:#88968f;margin-bottom:22px}.cpf-form-card>p span{margin:0 8px}.cpf-shortcode-row{display:flex;align-items:center;border:1px solid #e4eae5;background:#f8faf8;border-radius:8px;padding:8px 11px;gap:8px;direction:ltr}.cpf-shortcode-row code{background:none;font-size:11px;overflow-wrap:anywhere;padding:0;flex:1}.cpf-copy{border:0;background:none;color:#147d73;cursor:pointer;font-family:inherit;font-size:11px;white-space:nowrap}.cpf-card-actions{display:flex;align-items:center;gap:16px;margin-top:22px;padding-top:18px;border-top:1px solid #eef1ec;font-size:11px}.cpf-card-actions>a:first-child{margin-inline-end:auto;font-weight:700;color:#147d73}.cpf-card-actions>a{color:#829087}.cpf-card-actions form{margin:0}.cpf-card-actions button{border:0;background:none;font:inherit;color:#829087;cursor:pointer;padding:0}.cpf-page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:32px 0}.cpf-page-heading h1{margin:12px 0 10px;font-size:29px;font-weight:600;color:#183d31}.cpf-page-heading p{color:#7c8d83;font-size:12px}.cpf-builder-layout{display:grid;grid-template-columns:290px minmax(0,1fr);gap:24px;align-items:start}.cpf-panel{padding:23px;background:#fff;border:1px solid var(--studio-line);border-radius:12px;margin-bottom:18px}.cpf-panel h2{font-size:16px;margin:12px 0 20px}.cpf-panel .cpf-settings{grid-template-columns:1fr;gap:18px;margin:0}.cpf-admin label{font-size:11px;line-height:1.9;color:#5f7569;font-weight:500}.cpf-admin input[type=color]{width:100%;height:40px;padding:3px;border:1px solid #dbe4de;border-radius:7px;background:white}.cpf-admin .cpf-inline-check{flex-direction:row;align-items:center;gap:10px}.cpf-admin .cpf-inline-check input{margin:0}.cpf-embed-panel p{color:#7d8e84;font-size:11px;line-height:1.9}.cpf-shortcode{display:block;padding:12px;background:#f4f8f4;border-radius:6px;font-size:11px;overflow-wrap:anywhere;margin-bottom:12px}.cpf-canvas-title{display:flex;align-items:center;justify-content:space-between;padding:0 3px 16px;font-weight:600}.cpf-canvas-title small{font-size:10px;color:#85968a;font-weight:400}.cpf-builder-step{border-color:#dde5df;margin-top:0;margin-bottom:24px;box-shadow:0 4px 15px #18372a03;padding:24px}.cpf-builder-head{padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid #eef1ec}.cpf-builder-head>label{font-size:10px}.cpf-builder-field{background:#fff;border:1px solid #e1e8e2;border-radius:8px;padding:16px;margin:10px 0}.cpf-builder-field summary{font-size:12px;color:#446452;list-style-position:inside}.cpf-builder-field[open]{background:#fafcf9;border-color:#acc9b7}.cpf-builder-field[open] summary{padding-bottom:15px;border-bottom:1px solid #e6ede4}.cpf-builder-field textarea{font-family:monospace!important}.cpf-builder-field p{font-size:10px;color:#87978b;line-height:1.9}.cpf-builder-step>.button{margin-top:14px}.cpf-add-step{width:100%;border-style:dashed!important;background:#eaf2ed!important;min-height:50px!important}.cpf-save-bar{position:sticky;bottom:12px;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:15px;background:#fffef8;padding:16px 23px;border:1px solid #d8e2d8;border-radius:12px;margin-top:24px;box-shadow:0 8px 30px #153e2520}.cpf-save-bar>span{font-size:11px;color:#7c8d83}.cpf-logic{border-color:#d7e5d9;padding:16px}.cpf-logic h4{font-size:12px}.cpf-rule{grid-template-columns:1.5fr 1fr 1.2fr auto;gap:8px}.cpf-logic-group{background:#eef5ed}.cpf-logic>label{max-width:none}.cpf-empty{background:#fff;border:1px dashed #cad9cb;border-radius:12px;text-align:center;padding:50px 20px;color:#65816e}.cpf-empty h2{font-size:18px}.cpf-empty p{font-size:12px}.cpf-saved{padding:16px;margin:16px 0;background:#e4f2e8;border:1px solid #c1dfca;border-radius:10px;color:#276843}.cpf-entry{border-radius:10px;border-color:#dbe6dd;padding:22px}.cpf-entry summary{font-size:13px;color:#335f44}.cpf-entry p{padding:8px;border-bottom:1px solid #f0f4ef}.cpf-entry-filter{display:flex;align-items:end;gap:15px;margin-bottom:25px}.cpf-entry-filter select{min-width:200px}
/* Public form */
.cpf-root{--cpf-ink:#193b35;--cpf-border:#dce6e0;--cpf-surface:#fff;--cpf-muted:#72857d;max-width:820px;line-height:1.75}.cpf-form{position:relative;background:var(--cpf-surface);padding:clamp(24px,5vw,52px);border-radius:22px;box-shadow:0 24px 75px #173a2910;border-color:var(--cpf-border);overflow:hidden}.cpf-form:before{content:'';position:absolute;inset:0 0 auto;height:5px;background:var(--cpf-accent)}.cpf-header{position:relative;padding-bottom:28px;margin-bottom:26px;border-bottom:1px solid var(--cpf-border)}.cpf-eyebrow{font-size:10px;letter-spacing:2.4px;display:flex;align-items:center;gap:8px}.cpf-eyebrow:before{content:'';width:6px;height:6px;border-radius:50%;background:var(--cpf-accent)}.cpf-header h2{font-size:clamp(26px,4vw,37px);font-weight:600;letter-spacing:-1px;line-height:1.35;margin:15px 0 12px}.cpf-description{font-size:14px;color:var(--cpf-muted);max-width:560px;white-space:pre-line;margin:0 0 14px}.cpf-form-seal{font-size:11px;color:var(--cpf-muted)}.cpf-progress{height:4px;background:#eaf0eb}.cpf-progress>span{background:var(--cpf-accent)}.cpf-step-label{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--cpf-muted);margin:12px 0 20px}.cpf-step-rail{display:flex;gap:8px;list-style:none;padding:0!important;margin:0 0 32px!important;overflow:auto}.cpf-step-rail li{flex:1;min-width:75px;display:flex;flex-direction:column;gap:7px;font-size:9px;color:var(--cpf-muted);border-top:1px solid var(--cpf-border);padding-top:10px}.cpf-step-rail b{font-size:12px;font-weight:500;letter-spacing:1px}.cpf-step-rail .is-current{color:var(--cpf-accent);border-top:2px solid var(--cpf-accent);padding-top:9px}.cpf-step-rail .is-current b{font-weight:800}.cpf-step-rail .is-complete{color:var(--cpf-ink);border-color:var(--cpf-accent)}.cpf-step h3{font-size:21px;letter-spacing:-.4px;margin-bottom:28px;color:var(--cpf-ink)}.cpf-field{margin-bottom:26px}.cpf-label{font-size:13px;font-weight:600;margin-bottom:12px;color:var(--cpf-ink)}.cpf-choice{padding:15px 17px;border-radius:10px;gap:13px;transition:background .2s,border-color .2s,box-shadow .2s}.cpf-choice:hover{border-color:var(--cpf-accent)}.cpf-choice span{font-size:13px}.cpf-choice small{font-size:11px;color:var(--cpf-accent);padding:3px 8px;background:#eff6f1;border-radius:5px}.cpf-choice small:empty{display:none}.cpf-choice:has(input:checked){background:color-mix(in srgb,var(--cpf-accent) 6%,var(--cpf-surface));border-color:var(--cpf-accent);box-shadow:0 0 0 1px var(--cpf-accent)}.cpf-root input:not([type=radio]):not([type=checkbox]),.cpf-root textarea,.cpf-root select{border-radius:9px;background:var(--cpf-surface);border-color:var(--cpf-border);font-size:14px;min-height:48px;color:var(--cpf-ink)}.cpf-root input:focus,.cpf-root textarea:focus,.cpf-root select:focus{border-color:var(--cpf-accent)}.cpf-root input[type=file]{background:color-mix(in srgb,var(--cpf-accent) 3%,var(--cpf-surface))!important}.cpf-root input::file-selector-button{font:inherit;font-size:12px;padding:9px 14px;border:1px solid var(--cpf-border);background:var(--cpf-surface);color:var(--cpf-accent);border-radius:7px;cursor:pointer;margin-inline-end:12px}.cpf-footer{padding:24px 0 0;align-items:center;margin-top:32px}.cpf-total strong{font-size:29px;font-weight:600;letter-spacing:-1px;color:var(--cpf-ink)}.cpf-total span{color:var(--cpf-muted);font-size:10px}.cpf-actions{margin-inline-start:auto}.cpf-root button{font-size:13px;padding:13px 24px;border-radius:9px;transition:transform .15s,filter .15s}.cpf-root button:hover{filter:brightness(.96);transform:translateY(-1px)}.cpf-next{box-shadow:0 5px 16px #183a2915}.cpf-back{background:var(--cpf-surface);color:var(--cpf-ink);border-color:var(--cpf-border)}.cpf-bottom-note{text-align:center;color:var(--cpf-muted);font-size:10px;margin:24px 0 0}.cpf-security-status{font-size:11px;color:var(--cpf-muted)}.cpf-message:not(:empty){padding:14px;background:#fff6ed;border:1px solid #f3deca;border-radius:8px;color:#895225;font-size:13px}.cpf-success{padding:70px 20px;color:var(--cpf-accent);font-size:24px;font-weight:500}.cpf-theme-minimal .cpf-form{box-shadow:none;border-radius:4px}.cpf-theme-minimal .cpf-form:before{height:2px}.cpf-theme-minimal .cpf-choice,.cpf-theme-minimal input,.cpf-theme-minimal textarea,.cpf-theme-minimal select,.cpf-theme-minimal button{border-radius:3px!important}.cpf-theme-midnight{--cpf-ink:#edf5f0;--cpf-border:#314b44;--cpf-surface:#142c26;--cpf-muted:#9cb4a8}.cpf-theme-midnight .cpf-progress{background:#2b4339}.cpf-theme-midnight .cpf-choice small{background:#263f34;color:#b6d7c4}.cpf-theme-midnight .cpf-choice input{accent-color:#b5d8c5}.cpf-theme-midnight .cpf-next{color:#fff}.cpf-theme-midnight .cpf-form{box-shadow:0 25px 75px #071b2b20}.cpf-preview-page{background:#f0f3ed;margin:0;padding:28px 16px;font-family:'Segoe UI',Tahoma,sans-serif}.cpf-preview-notice{max-width:820px;margin:0 auto;font-size:12px;color:#6b8172;text-align:center}
@media(min-width:1250px){.cpf-builder-layout{grid-template-columns:310px minmax(0,1fr)}}@media(max-width:1100px){.cpf-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cpf-template-strip{grid-template-columns:repeat(3,1fr)}.cpf-template-strip>div{grid-column:1/-1}.cpf-builder-layout{grid-template-columns:255px minmax(0,1fr)}.cpf-builder-head{flex-wrap:wrap}.cpf-builder-head>label{flex-basis:100%}.cpf-rule{grid-template-columns:1fr 1fr}.cpf-version{display:none}}@media(max-width:800px){.cpf-admin{margin:15px 10px 30px 0}.cpf-admin-top{padding:18px;flex-wrap:wrap;gap:14px}.cpf-admin-top nav{font-size:11px;gap:18px}.cpf-dashboard-hero{padding:32px;grid-template-columns:1fr .8fr}.cpf-art-card{width:155px;padding:20px}.cpf-art-card span{font-size:7px}.cpf-hero-art:before{width:190px;height:190px}.cpf-hero-art:after{width:250px;height:250px}.cpf-stat-grid{gap:10px}.cpf-stat-grid>div{padding:16px;flex-direction:column;gap:10px}.cpf-builder-layout{grid-template-columns:1fr}.cpf-builder-sidebar{display:grid;grid-template-columns:1fr 1fr;gap:15px}.cpf-builder-sidebar .cpf-panel{margin:0}.cpf-embed-panel{grid-column:1/-1}.cpf-save-bar>span{display:none}.cpf-save-bar{justify-content:flex-end}.cpf-list-heading{align-items:flex-start;gap:15px}.cpf-page-heading{align-items:start}.cpf-page-heading h1{font-size:24px}}@media(max-width:540px){.cpf-admin-top nav{width:100%;justify-content:space-between}.cpf-dashboard-hero{padding:28px;grid-template-columns:1fr}.cpf-hero-art{display:none}.cpf-dashboard-hero h1{font-size:31px}.cpf-form-grid{grid-template-columns:1fr}.cpf-template-strip{grid-template-columns:1fr;padding:20px}.cpf-template-strip>a{padding:15px}.cpf-template-strip small{display:inline;margin-inline-start:10px}.cpf-stat-grid>div{padding:14px 7px}.cpf-stat-grid span{font-size:9px}.cpf-stat-grid strong{font-size:22px}.cpf-stat-grid .cpf-stat-text{font-size:11px}.cpf-list-heading{flex-direction:column}.cpf-admin .cpf-search{width:100%}.cpf-search input{flex:1}.cpf-builder-sidebar{grid-template-columns:1fr}.cpf-builder-step{padding:16px}.cpf-canvas-title{flex-direction:column;align-items:start;gap:8px}.cpf-page-heading{flex-direction:column}.cpf-panel{padding:20px}.cpf-save-bar{bottom:5px;padding:12px}.cpf-save-bar .button{font-size:10px;padding:3px 12px}.cpf-root{margin:16px auto}.cpf-form{border-radius:15px;padding:26px 22px}.cpf-header h2{font-size:27px}.cpf-header{padding-bottom:20px;margin-bottom:20px}.cpf-step-rail{gap:9px;margin-bottom:26px!important}.cpf-step-rail li{min-width:65px;font-size:8px}.cpf-step h3{font-size:19px}.cpf-choice{padding:13px 12px}.cpf-choice span{font-size:12px}.cpf-choice small{font-size:10px;padding:3px 6px}.cpf-footer{align-items:stretch;flex-direction:column}.cpf-actions{margin:0;justify-content:space-between}.cpf-total{display:flex;align-items:center;justify-content:space-between}.cpf-total strong{font-size:26px}.cpf-root button{padding:12px 20px}.cpf-entry-filter{align-items:stretch;flex-direction:column}.cpf-entry-filter select{width:100%}}
@media(prefers-reduced-motion:reduce){.cpf-admin *,.cpf-root *{transition:none!important;animation:none!important}}
/* Compact public layout, including overrides for theme label/input margins. */
.cpf-root .cpf-form{padding:26px 30px}
.cpf-root .cpf-header{padding-bottom:16px;margin-bottom:18px}
.cpf-root .cpf-header h2{margin:10px 0 8px;font-size:28px}
.cpf-root .cpf-step h3{margin:0 0 18px;font-size:20px}
.cpf-root .cpf-field{margin-bottom:18px}
.cpf-root .cpf-label{margin:0 0 8px;font-size:13px;line-height:1.5}
.cpf-root .cpf-choice{padding:9px 12px;margin:0 0 6px;min-height:40px;gap:10px;line-height:1.5}
.cpf-root .cpf-choice input[type=radio]{margin:0;min-height:0;width:16px;height:16px}
.cpf-root .cpf-choice span{line-height:1.5}
.cpf-root .cpf-choice small{padding:2px 6px;line-height:1.5}
.cpf-root .cpf-footer{padding-top:16px;margin-top:20px}
.cpf-root .cpf-bottom-note{margin:14px 0 0}
.cpf-root .cpf-security:has(.cpf-security-status:empty){margin-bottom:0}
@media(max-width:540px){.cpf-root .cpf-form{padding:22px 18px}.cpf-root .cpf-field{margin-bottom:16px}.cpf-root .cpf-choice{min-height:44px;padding:9px 11px}.cpf-root .cpf-step h3{margin-bottom:16px}}
.cpf-transfer{margin:26px 0}.cpf-transfer>p{font-size:12px;line-height:1.9;color:#6a7976}.cpf-transfer form{display:flex;align-items:end;gap:18px;flex-wrap:wrap}.cpf-transfer label{min-width:240px;flex:1}.cpf-transfer input[type=file]{max-width:100%}.cpf-card-actions{flex-wrap:wrap;gap:12px}.cpf-card-actions>a:first-child{flex-basis:100%}.cpf-entry p{white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:540px){.cpf-transfer form{align-items:stretch;flex-direction:column}.cpf-transfer label{min-width:0}}
.cpf-mail-panel{margin-top:26px}.cpf-mail-panel>p{font-size:12px;line-height:1.8;color:#6a7976}.cpf-mail-panel textarea{width:100%;font-family:monospace!important}.cpf-mail-panel .cpf-test-email-result:not(:empty){padding:14px;border:1px solid #d4e2d8;border-radius:8px;background:#f0f7f2;color:#264f3d;overflow-wrap:anywhere}
