/* Standalone account page: isolate DCP UI from the active WordPress theme. */
html:has(body.dcp-account-page),body.dcp-account-page{margin:0!important;padding:0!important;min-height:100%;background:#f4f7fb!important;color:#17233b!important;font-family:Tahoma,Arial,sans-serif!important;font-size:14px!important;line-height:1.5!important;letter-spacing:normal!important}
body.dcp-account-page *{box-sizing:border-box}
body.dcp-account-page .dcp-account-viewport{width:100%;min-height:100vh;padding:24px;display:flex;align-items:flex-start;justify-content:center}
body.dcp-account-page .dcp-shell{width:min(1440px,100%);max-width:none;margin:0;min-height:calc(100vh - 48px)}
body.dcp-account-page .dcp-auth-card{width:min(460px,calc(100% - 24px));margin:auto;align-self:center}
body.dcp-account-page .dcp-auth-card h2,body.dcp-account-page .dcp-auth-card p{font-family:inherit;letter-spacing:normal}
body.dcp-account-page .dcp-auth-card input,body.dcp-account-page .dcp-auth-card button{box-sizing:border-box;width:100%;max-width:100%}
body.dcp-account-page #wpadminbar{display:none!important}
html:has(body.dcp-account-page){margin-top:0!important}
@media(max-width:700px){body.dcp-account-page .dcp-account-viewport{padding:0}body.dcp-account-page .dcp-shell{min-height:100vh;border-radius:0;box-shadow:none}body.dcp-account-page .dcp-auth-card{width:calc(100% - 28px);margin:28px auto}}

.dcp-shell{--navy:#18355f;--blue:#2f63d8;--bg:#f4f7fb;display:grid;grid-template-columns:1fr 245px;min-height:760px;background:var(--bg);border-radius:22px;overflow:hidden;font-family:Tahoma,Arial,sans-serif;color:#17233b;box-shadow:0 24px 70px rgba(20,45,80,.12)}.dcp-side{grid-column:2;grid-row:1;background:#fff;padding:28px 20px;display:flex;flex-direction:column;border-left:1px solid #e8edf5}.dcp-brand{font-size:21px;color:var(--navy);display:flex;gap:10px;align-items:center;margin-bottom:35px}.dcp-side nav{display:flex;flex-direction:column;gap:7px}.dcp-side nav a{padding:12px 14px;border-radius:10px;color:#526075;text-decoration:none}.dcp-side nav a.active{background:#eaf1ff;color:#2458c6;font-weight:700}.dcp-help{margin-top:auto;background:#eef4ff;padding:16px;border-radius:14px;display:flex;flex-direction:column;gap:7px}.dcp-help button,.dcp-hero button,.wallet button,.quick button{border:0;border-radius:9px;padding:10px 14px;background:#2f63d8;color:#fff;cursor:pointer}.dcp-main{grid-column:1;grid-row:1;padding:28px 34px}.dcp-main header{display:flex;justify-content:space-between;align-items:center}.dcp-main h2,.dcp-main h1{margin:0}.dcp-user{display:flex;align-items:center;gap:10px}.avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#dbe7ff;color:#234d9d;font-weight:700}.dcp-hero{margin:28px 0 20px;padding:30px;border-radius:18px;background:linear-gradient(120deg,#244c84,#152d51);color:#fff;display:flex;align-items:center;justify-content:space-between}.dcp-hero p{opacity:.8}.dcp-stats{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:16px}.stat,.wallet,.dcp-box{background:#fff;border:1px solid #e7edf6;border-radius:16px;padding:20px;box-shadow:0 7px 25px rgba(28,55,95,.05)}.stat b,.wallet b{display:block;font-size:25px;margin:8px 0}.stat span{font-size:12px;color:#4e68a2}.wallet{background:linear-gradient(135deg,#315fa4,#17345e);color:#fff}.wallet button{margin-top:10px;background:#fff;color:#1f4d93}.dcp-columns{display:grid;grid-template-columns:2fr 1fr;gap:16px;margin-top:16px}.box-title{display:flex;justify-content:space-between}.box-title a{color:#2f63d8}.empty{padding:42px 10px;text-align:center;color:#8390a4}.quick{display:grid;gap:10px;margin-top:20px}.quick button{background:#eef3fb;color:#264b7f;text-align:right}.dcp-login{padding:25px;border-radius:12px;background:#fff3cd}@media(max-width:900px){.dcp-shell{grid-template-columns:1fr}.dcp-side{grid-column:1;grid-row:2;border:0}.dcp-main{grid-column:1;grid-row:1;padding:20px}.dcp-side nav{display:grid;grid-template-columns:repeat(2,1fr)}.dcp-help{display:none}.dcp-stats,.dcp-columns{grid-template-columns:1fr}.dcp-hero{align-items:flex-start;gap:20px;flex-direction:column}}@media(max-width:520px){.dcp-main{padding:14px}.dcp-hero{padding:22px}.dcp-main header small{display:none}.dcp-side{padding:16px}.dcp-side nav{grid-template-columns:1fr 1fr}.dcp-user span{display:none}}
.dcp-primary{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:0;background:#244bdb;color:#fff!important;padding:12px 18px;border-radius:11px;font-weight:700;cursor:pointer}.dcp-primary.small{padding:8px 12px}.dcp-hero.compact strong{font-size:25px}.dcp-list{display:grid;gap:10px;margin-top:15px}.dcp-list-row{display:grid;grid-template-columns:1fr auto auto;gap:18px;align-items:center;padding:14px;border:1px solid #edf0f5;border-radius:12px}.dcp-list-row div{display:grid;gap:4px}.dcp-list-row small{color:#8490a3}.dcp-status{font-size:12px;padding:6px 10px;border-radius:999px;background:#eef2ff;color:#3347a9}.dcp-status.finalized{background:#e9f8ef;color:#197443}.dcp-status.draft{background:#fff6df;color:#9a6500}.dcp-catalog{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.dcp-contract-card{background:#fff;border:1px solid #e8ecf3;border-radius:18px;padding:20px;display:flex;flex-direction:column;gap:10px;box-shadow:0 8px 25px rgba(31,50,81,.05)}.dcp-contract-card h3,.dcp-contract-card p{margin:0}.dcp-contract-card p{color:#758198;min-height:48px}.dcp-icon{width:44px;height:44px;border-radius:12px;background:#eef3ff;display:grid;place-items:center;color:#244bdb}.dcp-profile{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.dcp-profile>div{padding:16px;background:#f8fafc;border-radius:12px;display:grid;gap:5px}.dcp-note{padding:14px 0;border-bottom:1px solid #edf0f5}.dcp-note p{margin:5px 0;color:#64748b}.quick a{display:block;text-decoration:none;padding:12px;border:1px solid #e8ecf3;border-radius:10px;color:#26334d;margin:8px 0}@media(max-width:900px){.dcp-catalog{grid-template-columns:1fr 1fr}.dcp-list-row{grid-template-columns:1fr auto}.dcp-list-row>strong{grid-column:1/2}.dcp-profile{grid-template-columns:1fr}}@media(max-width:620px){.dcp-catalog{grid-template-columns:1fr}.dcp-list-row{grid-template-columns:1fr}.dcp-shell{display:block}.dcp-side{position:relative;width:auto;min-height:auto}.dcp-side nav{display:flex;overflow:auto}.dcp-side nav a{white-space:nowrap}.dcp-help{display:none}}
.dcp-form-wrap{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:18px}.dcp-form-card,.dcp-review-card{background:#fff;border:1px solid #e7edf6;border-radius:18px;padding:22px}.dcp-field{display:grid;gap:7px;margin:0 0 17px}.dcp-field label{font-weight:700}.dcp-field input,.dcp-field textarea,.dcp-field select{width:100%;box-sizing:border-box;border:1px solid #dbe3ef;border-radius:10px;padding:12px;background:#fbfdff;font:inherit}.dcp-field small{color:#7b8798}.dcp-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.dcp-secondary{display:inline-flex;padding:11px 16px;border:1px solid #dbe3ef;background:#fff;border-radius:10px;text-decoration:none;color:#334155;cursor:pointer}.dcp-progress{height:7px;background:#e8eef8;border-radius:99px;overflow:hidden;margin:12px 0 24px}.dcp-progress span{display:block;height:100%;background:#315fd3}.dcp-summary{display:grid;gap:10px}.dcp-summary>div{display:flex;justify-content:space-between;gap:15px;padding:11px 0;border-bottom:1px solid #edf1f6}.dcp-errors{background:#fff1f2;color:#9f1239;padding:12px 16px;border-radius:10px;margin-bottom:16px}.dcp-save-state{font-size:12px;color:#64748b}.dcp-price-box{background:#17365f;color:#fff;border-radius:16px;padding:20px}.dcp-price-box b{font-size:22px;display:block;margin:7px 0}@media(max-width:800px){.dcp-form-wrap{grid-template-columns:1fr}.dcp-review-card{order:-1}}
.dcp-row-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.dcp-row-actions a{font-size:12px;text-decoration:none;padding:6px 9px;border:1px solid #dbe3f0;border-radius:8px;color:#244bdb;background:#fff}
.dcp-auth-card{max-width:460px;margin:60px auto;padding:34px;background:#fff;border:1px solid #e8edf5;border-radius:24px;box-shadow:0 20px 60px rgba(25,48,82,.09);font-family:inherit}.dcp-auth-card h2{margin-top:0}.dcp-auth-card form,.dcp-topup{display:grid;gap:12px}.dcp-auth-card input,.dcp-topup input,.dcp-topup select{min-height:48px;border:1px solid #dfe6f0;border-radius:12px;padding:0 14px;font:inherit}.dcp-presets{display:flex;flex-wrap:wrap;gap:8px}.dcp-presets button{border:1px solid #dfe6f0;background:#f8faff;border-radius:10px;padding:9px 12px;cursor:pointer}.dcp-success{padding:14px 18px;background:#ecfdf3;border:1px solid #bbf7d0;border-radius:14px;margin:0 0 16px;color:#166534}

.dcp-step-head{margin:14px 0 24px}.dcp-step-head small{display:block;margin-top:8px;color:#64748b}.dcp-form-step h4{font-size:18px;margin:0 0 18px}.dcp-field.has-error input,.dcp-field.has-error textarea,.dcp-field.has-error select{border-color:#dc2626;box-shadow:0 0 0 2px rgba(220,38,38,.08)}.dcp-required{color:#dc2626}.dcp-repeatable{border:1px solid #e2e8f0;border-radius:14px;padding:12px}.dcp-repeat-row{display:grid;grid-template-columns:auto 1fr 1fr auto;gap:8px;align-items:center;padding:8px;border-bottom:1px dashed #e2e8f0}.dcp-repeat-row:last-of-type{border-bottom:0}.dcp-drag{cursor:grab;color:#64748b}.dcp-remove-row{border:0;background:#fff1f2;color:#be123c;border-radius:8px;padding:8px;cursor:pointer}.dcp-live-calc{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.dcp-live-calc span{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:10px 14px;display:flex;gap:12px}.dcp-live-calc small{color:#64748b}@media(max-width:700px){.dcp-repeat-row{grid-template-columns:auto 1fr}.dcp-repeat-row .dcp-remove-row{grid-column:2}}

.dcp-cross-error{display:block;color:#b91c1c;margin-top:6px;font-size:12px}.dcp-field.has-error input,.dcp-field.has-error textarea,.dcp-field.has-error select{border-color:#dc2626}

.dcp-paid-preview-frame{width:100%;min-height:720px;border:1px solid #dbe2ea;border-radius:14px;background:#fff;margin:18px 0}.dcp-actions form{display:inline-block}

.dcp-nested-repeatable{border:1px dashed #cbd5e1;border-radius:10px;padding:8px;margin-top:6px}.dcp-nested-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr)) auto;gap:6px;align-items:end;margin-bottom:6px}

/* RC mobile/table hardening */
.dcp-main{min-width:0}.dcp-card,.dcp-panel,.dcp-form-card,.dcp-review-card{max-width:100%;box-sizing:border-box}.dcp-table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
@media(max-width:620px){.dcp-main{padding:14px}.dcp-auth-card{margin:20px 12px;padding:22px}.dcp-form-card,.dcp-review-card{padding:16px}.dcp-summary>div{align-items:flex-start;flex-direction:column}.dcp-actions>*{width:100%;box-sizing:border-box;justify-content:center}.dcp-paid-preview-frame{min-height:520px}.dcp-repeat-row{grid-template-columns:1fr}.dcp-repeat-row .dcp-drag,.dcp-repeat-row .dcp-remove-row{grid-column:auto}.dcp-profile{grid-template-columns:1fr}}

.dcp-auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:22px;background:#f4f7fb;padding:5px;border-radius:12px}.dcp-auth-tabs a{text-align:center;text-decoration:none;padding:10px;border-radius:9px;color:#64748b;font-weight:700}.dcp-auth-tabs a.active{background:#fff;color:#17365f;box-shadow:0 2px 8px rgba(20,45,80,.08)}.dcp-auth-card label{font-weight:700}.dcp-auth-card .dcp-check{display:flex;align-items:center;gap:8px;font-weight:400}.dcp-auth-card .dcp-check input{min-height:auto;width:auto}

/* v1.0.39 standalone app shell: isolate user portal from theme layout */
html,body.dcp-account-page{margin:0!important;padding:0!important;width:100%!important;max-width:none!important;min-height:100%!important;background:#f4f7fb!important;}
body.dcp-account-page{font-family:Tahoma,Arial,sans-serif!important;}
body.dcp-account-page #wpadminbar{display:none!important;}
html:has(body.dcp-account-page){margin-top:0!important;}
.dcp-account-viewport{width:100%;max-width:none;margin:0;padding:0;min-height:100vh;}
.dcp-account-viewport>.dcp-shell{width:100%;max-width:none;margin:0;min-height:100vh;border-radius:0;}


/* v1.0.42 desktop shell alignment fix */
@media(min-width:901px){
  body.dcp-account-page .dcp-account-viewport{display:block;padding:0;min-height:100vh;}
  body.dcp-account-page .dcp-shell{display:grid;grid-template-columns:minmax(0,1fr) 245px;grid-template-rows:minmax(100vh,auto);align-items:stretch;width:100%;min-height:100vh;margin:0;border-radius:0;box-shadow:none;overflow:hidden;}
  body.dcp-account-page .dcp-side{grid-column:2;grid-row:1;min-height:100vh;align-self:stretch;}
  body.dcp-account-page .dcp-main{grid-column:1;grid-row:1;align-self:start;min-width:0;margin:0;}
}

/* v1.0.59 support tickets */
.dcp-ticket-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:16px;align-items:center;padding:14px;border:1px solid #e7edf6;border-radius:12px}.dcp-ticket-row a{text-decoration:none;color:#17365f}.dcp-ticket-row small{display:block;margin-top:5px;color:#7b8798}.dcp-ticket-contract{margin:16px 0;padding:12px 14px;background:#f8fafc;border-radius:10px}.dcp-ticket-thread{display:grid;gap:12px;margin:20px 0}.dcp-ticket-message{max-width:78%;padding:14px 16px;border-radius:14px;background:#f3f6fa}.dcp-ticket-message.staff{margin-right:auto;background:#edf4ff}.dcp-ticket-message>div{display:flex;justify-content:space-between;gap:20px}.dcp-ticket-message small{color:#8490a3}.dcp-ticket-message p{margin:10px 0 0;line-height:1.9}.dcp-status.waiting_user{background:#fff6df;color:#9a6500}.dcp-status.closed{background:#eef2f7;color:#64748b}@media(max-width:700px){.dcp-ticket-row{grid-template-columns:1fr}.dcp-ticket-message{max-width:100%}}

/* v1.0.61 contract terms */
.dcp-contract-terms{margin-top:22px;padding-top:18px;border-top:1px solid #e2e8f0}.dcp-contract-terms-help{margin:5px 0 12px;color:#64748b;font-size:13px}.dcp-contract-term-row{display:flex;gap:10px;align-items:flex-start;margin-bottom:10px}.dcp-contract-term-row textarea{flex:1;min-height:78px}.dcp-contract-term-row .dcp-secondary{flex:0 0 auto}

/* v1.0.66 user portal refinements */
.dcp-support-call{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:9px;padding:10px 14px;background:#2f63d8;color:#fff!important;font-weight:700}.dcp-wallet-hero-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.dcp-wallet-add{display:inline-flex;padding:9px 13px;border-radius:9px;background:#fff;color:#17365f!important;text-decoration:none;font-weight:700}.dcp-user-transactions{width:100%;border-collapse:collapse;min-width:760px}.dcp-user-transactions th,.dcp-user-transactions td{padding:13px 12px;text-align:right;border-bottom:1px solid #e7edf6;white-space:nowrap}.dcp-user-transactions th{background:#f8fafc;color:#334155;cursor:pointer;user-select:none}.dcp-user-transactions th[data-sort]::after{content:" ↕";opacity:.45}.dcp-user-transactions th.sort-asc::after{content:" ↑";opacity:1}.dcp-user-transactions th.sort-desc::after{content:" ↓";opacity:1}.dcp-user-transactions tbody tr:hover{background:#fafcff}.dcp-user-transactions .dcp-money{font-weight:700}
@media(min-width:901px){body.dcp-account-page .dcp-shell{grid-template-columns:245px minmax(0,1fr)!important}body.dcp-account-page .dcp-side{grid-column:1!important;grid-row:1!important;border-left:0!important;border-right:1px solid #e8edf5}body.dcp-account-page .dcp-main{grid-column:2!important;grid-row:1!important}}

/* v1.0.79 — module navigation reset */
body.dcp-account-page .dcp-side{overflow:hidden}
body.dcp-account-page .dcp-side nav{display:flex;flex-direction:column;gap:6px;width:100%;min-width:0;overflow:visible}
body.dcp-account-page .dcp-side nav>a,
body.dcp-account-page .dcp-nav-group>a{display:flex;width:100%;min-width:0;align-items:center;justify-content:flex-start;padding:11px 12px;margin:0;border-radius:10px;white-space:normal;overflow-wrap:anywhere;line-height:1.55;color:#526075;text-decoration:none}
body.dcp-account-page .dcp-nav-group{display:block;width:100%;min-width:0;margin:0;padding:0}
body.dcp-account-page .dcp-nav-group>a.active{background:#eaf1ff;color:#2458c6;font-weight:700}
body.dcp-account-page .dcp-nav-sub{display:flex;flex-direction:column;gap:3px;width:100%;min-width:0;margin:4px 0 7px;padding:0 14px 0 0;border-right:2px solid #e5ebf5}
body.dcp-account-page .dcp-nav-sub a{display:block;width:100%;min-width:0;margin:0;padding:8px 10px;border-radius:8px;font-size:12px;line-height:1.5;color:#66758a;background:transparent;white-space:normal;overflow-wrap:anywhere}
body.dcp-account-page .dcp-nav-sub a.active{background:#f1f5ff;color:#2458c6;font-weight:700}
body.dcp-account-page .dcp-nav-sub a:hover,body.dcp-account-page .dcp-side nav>a:hover,body.dcp-account-page .dcp-nav-group>a:hover{background:#f5f8fc}
@media(max-width:900px){body.dcp-account-page .dcp-side nav{display:flex;flex-direction:column;grid-template-columns:none}body.dcp-account-page .dcp-nav-sub{padding-right:12px}}
@media(max-width:620px){body.dcp-account-page .dcp-side nav{display:flex;flex-direction:column;overflow:visible}body.dcp-account-page .dcp-side nav a{white-space:normal}}

/* v1.0.81 dashboard */
.dcp-dash-welcome,.dcp-dash-wallet{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:18px;padding:25px;border-radius:16px;margin-bottom:20px}.dcp-dash-welcome{background:linear-gradient(110deg,#fff,#eaf2ff);border:1px solid #e1e9f5}.dcp-dash-welcome h1{margin:8px 0}.dcp-dash-welcome p{color:#63738b}.dcp-dash-metrics,.dcp-dash-modules{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0 24px}.dcp-dash-metric,.dcp-dash-module{display:block;padding:20px;background:#fff;border:1px solid #e3eaf5;border-radius:14px;text-decoration:none!important;color:#193a68!important}.dcp-dash-metric small,.dcp-dash-metric span{display:block;color:#69788d}.dcp-dash-metric strong{display:block;font-size:29px;margin:10px 0}.dcp-dash-wallet{background:#183d75;color:#fff}.dcp-dash-wallet strong{display:block;font-size:26px;margin:10px 0}.dcp-dash-wallet p{margin:0;opacity:.8}.dcp-dash-module h3{margin:12px 0}.dcp-dash-module p{line-height:1.8;color:#63738b}.dcp-dash-module b,.dcp-dash-module-icon{color:#3165c9}.dcp-paid-top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:18px;margin-bottom:18px}.dcp-paid-intro{flex:1 1 360px}.dcp-paid-intro h3{margin-top:0}.dcp-paid-action{flex:0 0 auto}.dcp-paid-action form{margin:0}@media(max-width:900px){.dcp-dash-metrics,.dcp-dash-modules{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.dcp-dash-metrics,.dcp-dash-modules{grid-template-columns:1fr}.dcp-paid-action,.dcp-paid-action button{width:100%}}

.dcp-paid-finalize-list{margin:0;display:block}.dcp-paid-finalize-list button{cursor:pointer;width:100%;white-space:normal}
/* Profit calculation live preview — phase 4 */
.dcp-profit-notice{padding:14px 18px;background:#fff8e6;border:1px solid #f0dfa6;border-radius:12px;margin:15px 0 20px;color:#72531a;line-height:1.9}
.dcp-profit-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}
.dcp-profit-field{min-width:0}.dcp-profit-field>label{display:block;font-weight:700;margin-bottom:8px}.dcp-profit-field-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.dcp-profit-field-row>input,.dcp-profit-field-row>select{flex:1 1 130px;min-width:0;max-width:100%;padding:10px;border:1px solid #d7dfeb;border-radius:9px;background:white}
.dcp-profit-unit{white-space:nowrap;color:#57677b;font-size:13px}.dcp-profit-help{position:relative}.dcp-profit-help>summary{cursor:pointer;list-style:none;color:#285cb5;background:#edf3ff;border-radius:8px;padding:8px 10px;font-size:12px}.dcp-profit-help>summary::-webkit-details-marker{display:none}
.dcp-profit-help-body{position:absolute;z-index:15;left:0;top:calc(100% + 7px);width:min(320px,80vw);background:#fff;box-shadow:0 12px 30px #10243a22;border:1px solid #dfe6ef;border-radius:12px;padding:14px;line-height:1.9;max-height:250px;overflow:auto}
.dcp-profit-result-header{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.dcp-profit-result-header span{font-size:12px;color:#288257}
.dcp-profit-result{border:1px solid #e4eaf3;background:#f9fbff;border-radius:12px;padding:18px;margin-top:14px}.dcp-profit-result h4{margin:0 0 12px}.dcp-profit-result-number strong{font-size:25px;color:#2456a0}.dcp-profit-result-number span{color:#68778c}.dcp-profit-description{line-height:2;margin-top:12px}.dcp-profit-error{font-size:12px;color:#a52a35}.dcp-required{color:#bd3346}
@media(max-width:700px){.dcp-profit-fields{grid-template-columns:1fr}.dcp-profit-help-body{left:auto;right:0}}
/* Profit calculator phase 10 */
.dcp-profit-group-title{grid-column:1/-1;margin:18px 0 4px;padding:8px 12px;border-inline-start:3px solid #d85845;background:#fff6f4;border-radius:6px}.dcp-profit-actions{margin:18px 0}.dcp-profit-chart{margin-top:20px}.dcp-profit-chart-row{display:grid;grid-template-columns:minmax(110px,1fr) minmax(90px,3fr) auto;gap:12px;align-items:center;margin:12px 0}.dcp-profit-chart-track{height:14px;background:#f0f1f4;border-radius:20px;overflow:hidden}.dcp-profit-chart-bar{height:100%;background:#4b8eaf;border-radius:20px}.dcp-profit-chart-bar.negative{background:#cc615d}.dcp-profit-chart-row b{font-variant-numeric:tabular-nums}@media(max-width:640px){.dcp-profit-chart-row{grid-template-columns:1fr auto}.dcp-profit-chart-track{grid-column:1/-1;grid-row:2}}

.dcp-repeat{width:100%;padding:12px;border:1px solid #ddd;border-radius:10px}.dcp-repeat-card{padding:12px;margin:10px 0;border:1px solid #e5e5e5;border-radius:9px;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.dcp-repeat-card>strong{grid-column:1/-1}.dcp-repeat-card label{display:flex;flex-direction:column;gap:5px}.dcp-repeat-card input,.dcp-repeat-card select{width:100%;max-width:100%}.dcp-repeat-remove{background:#fff3f3;color:#a00;border:1px solid #d99;border-radius:6px;padding:7px;cursor:pointer}

/* v1.0.112 Global logo in user portal */
.dcp-brand img.dcp-global-logo{max-width:46px;max-height:46px;width:auto;height:auto;object-fit:contain;flex-shrink:0}

/* v1.0.115 — consistent project field and results layout */
.dcp-profit-inputs .dcp-profit-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:stretch}
.dcp-profit-inputs .dcp-profit-field{display:flex;flex-direction:column;gap:9px;min-width:0;height:100%;border:1px solid #e4eaf3;border-radius:12px;padding:15px 16px;background:#fbfcff}
.dcp-profit-inputs .dcp-profit-field>label{font-weight:700;margin:0;line-height:1.8;min-height:28px}
.dcp-profit-inputs .dcp-profit-field-row{display:flex;align-items:center;gap:9px;flex:1;min-width:0;flex-wrap:wrap}
.dcp-profit-inputs .dcp-profit-field-row>input,.dcp-profit-inputs .dcp-profit-field-row>select{flex:1 1 170px;min-width:0;width:100%;min-height:43px;border-radius:9px;background:#fff;padding:9px 12px;box-sizing:border-box}
.dcp-profit-inputs .dcp-profit-field--repeater{grid-column:1/-1}
.dcp-profit-inputs .dcp-profit-field--repeater>.dcp-profit-field-row{display:block}
.dcp-profit-inputs .dcp-profit-unit{font-size:12px}
.dcp-profit-inputs .dcp-profit-group-title{grid-column:1/-1;margin:10px 0 2px;font-size:14px;padding:10px 14px}
.dcp-profit-inputs .dcp-repeat{width:100%;padding:15px;background:#fff;border:1px solid #e5ebf3;border-radius:11px}
.dcp-profit-inputs .dcp-repeat-rows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-bottom:12px}
.dcp-profit-inputs .dcp-repeat-card{min-width:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:15px;border:1px solid #dfe7f1;border-radius:11px;background:#fafcff;align-content:start;align-items:start}
.dcp-profit-inputs .dcp-repeat-card>strong{grid-column:1/-1;padding-bottom:7px;border-bottom:1px solid #e7edf5;font-size:13px;color:#31476d}
.dcp-profit-inputs .dcp-repeat-card label{min-width:0;display:flex;flex-direction:column;align-items:stretch;gap:6px;font-size:12px;line-height:1.8;color:#344768}
.dcp-profit-inputs .dcp-repeat-card input,.dcp-profit-inputs .dcp-repeat-card select{box-sizing:border-box;width:100%;min-width:0;height:39px;padding:8px 10px;border:1px solid #ced8e7;border-radius:8px;background:#fff;font:inherit}
.dcp-profit-inputs .dcp-repeat-card label small{font-size:11px;color:#64748b}
.dcp-profit-inputs .dcp-repeat-card .dcp-repeat-remove{grid-column:1/-1;justify-self:start;align-self:start;width:auto!important;min-width:105px;max-width:150px;height:35px;padding:6px 14px!important;line-height:1.5;font-size:12px;font-weight:600;border:1px solid #fecaca;border-radius:8px;background:#fff1f2;color:#b91c1c;cursor:pointer}
.dcp-profit-inputs .dcp-repeat-add{width:auto;min-height:37px;padding:8px 15px;font-size:12px}
.dcp-profit-results .dcp-profit-output{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:13px;margin-top:16px}
.dcp-profit-results .dcp-profit-result{min-width:0;margin:0;padding:16px;display:flex;flex-direction:column;gap:10px;overflow-wrap:anywhere}
.dcp-profit-results .dcp-profit-result h4{line-height:1.8;margin:0;font-size:14px}
.dcp-profit-results .dcp-profit-result-number{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;margin-top:auto}
.dcp-profit-results .dcp-profit-result-number strong{font-size:clamp(16px,1.6vw,23px);overflow-wrap:anywhere;word-break:break-word}
.dcp-profit-results .dcp-profit-description{margin:0;font-size:12px;line-height:1.9}
.dcp-profit-results .dcp-profit-result .dcp-profit-error{margin:0;line-height:1.7}
.dcp-number-grouped{text-align:left;direction:ltr;unicode-bidi:plaintext;font-variant-numeric:tabular-nums}
@media(max-width:1250px){.dcp-profit-results .dcp-profit-output{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.dcp-profit-inputs .dcp-repeat-rows{grid-template-columns:1fr}}
@media(max-width:700px){.dcp-profit-inputs .dcp-profit-fields,.dcp-profit-results .dcp-profit-output{grid-template-columns:1fr}.dcp-profit-inputs .dcp-repeat-card{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:450px){.dcp-profit-inputs .dcp-repeat-card{grid-template-columns:1fr}}
/* A repeating-group variable is one of the two project columns, like other variables. */
@media(min-width:701px){
 .dcp-profit-inputs .dcp-profit-field--repeater{grid-column:auto}
 .dcp-profit-inputs .dcp-repeat-rows{grid-template-columns:1fr}
}

/* v1.0.116 — two-column profit project fields across different groups.
   Group labels are inside each card rather than full-width separators. */
.dcp-profit-inputs .dcp-profit-fields{
 grid-template-columns:repeat(2,minmax(0,1fr));
 grid-auto-flow:row;
 align-items:stretch;
}
.dcp-profit-inputs .dcp-profit-field{
 box-sizing:border-box;
 min-width:0;
 width:100%;
 height:100%;
}
.dcp-profit-inputs .dcp-profit-field-group{
 display:flex;
 align-items:center;
 width:100%;
 min-height:30px;
 margin:-3px 0 3px;
 padding:6px 10px;
 box-sizing:border-box;
 border-right:3px solid #d85845;
 border-radius:6px;
 background:#fff6f4;
 color:#69535a;
 font-size:12px;
 line-height:1.5;
 font-weight:600;
}
/* Repeating groups are grid items too, not forced to a full-width row. */
@media(min-width:701px){
 .dcp-profit-inputs .dcp-profit-field--repeater{grid-column:auto;}
}
@media(max-width:700px){
 .dcp-profit-inputs .dcp-profit-fields{grid-template-columns:minmax(0,1fr);}
}
/* The layout saved for each profit calculation product overrides fixed default grids. */
.dcp-profit-product-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:16px;margin-top:18px}
.dcp-profit-product{display:flex;flex-direction:column;gap:8px;border:1px solid #dce5f3;border-radius:12px;background:#f9fbff;padding:18px}
.dcp-profit-product h3{margin:0}.dcp-profit-product p{margin:2px 0}.dcp-profit-product .dcp-primary{margin-top:auto;text-align:center;display:inline-block;text-decoration:none}
.dcp-profit-inputs .dcp-profit-fields.dcp-layout-custom,.dcp-profit-results .dcp-profit-output.dcp-layout-custom{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px;align-items:stretch}
.dcp-profit-inputs .dcp-layout-custom>.dcp-profit-field,.dcp-profit-results .dcp-layout-custom>.dcp-profit-result{grid-column:span var(--dcp-tile-span,6)!important;min-width:0;max-width:none;width:100%}
.dcp-profit-layout-hr{grid-column:1/-1;width:100%;height:1px;border:0;border-top:1px solid #dce5f3;margin:8px 0;min-width:0}
@media(max-width:1050px){.dcp-profit-inputs .dcp-layout-custom>.dcp-profit-field,.dcp-profit-results .dcp-layout-custom>.dcp-profit-result{grid-column:span 6!important}}
@media(max-width:700px){.dcp-profit-inputs .dcp-profit-fields.dcp-layout-custom,.dcp-profit-results .dcp-profit-output.dcp-layout-custom{grid-template-columns:repeat(12,minmax(0,1fr))}.dcp-profit-inputs .dcp-layout-custom>.dcp-profit-field,.dcp-profit-results .dcp-layout-custom>.dcp-profit-result{grid-column:span 12!important}}

/* v1.0.118: keep intentionally empty appearance slots without shifting other rows. */
.dcp-profit-inputs .dcp-layout-custom>.dcp-profit-layout-empty,.dcp-profit-results .dcp-layout-custom>.dcp-profit-layout-empty{grid-column:span var(--dcp-tile-span,6);min-width:0;min-height:0;pointer-events:none}
@media(max-width:1050px){.dcp-profit-inputs .dcp-layout-custom>.dcp-profit-layout-empty,.dcp-profit-results .dcp-layout-custom>.dcp-profit-layout-empty{display:none}}

/* v1.0.119 — counted repeater: each floor is a table row, each detail a column. */
.dcp-profit-inputs .dcp-profit-field--counted{grid-column:1/-1!important}
.dcp-profit-inputs .dcp-profit-field--counted .dcp-profit-field-row{display:block;flex:none}
.dcp-profit-inputs .dcp-profit-field--counted .dcp-repeat{min-width:0;max-width:100%}
.dcp-profit-inputs .dcp-profit-field--counted .dcp-repeat-rows{display:block;margin-bottom:0}
.dcp-repeat-table-scroll{width:100%;max-width:100%;overflow-x:auto;border-radius:10px;border:1px solid #dce5ee}
.dcp-repeat-table{width:100%;min-width:560px;border-collapse:collapse;table-layout:fixed;font-size:12px;background:#fff}
.dcp-repeat-table th,.dcp-repeat-table td{padding:9px 10px;text-align:right;border-bottom:1px solid #e9eef5;vertical-align:middle;min-width:0}
.dcp-repeat-table th{background:#f4f7fc;color:#354762;font-weight:700}
.dcp-repeat-table thead th{background:#eaf0fa;white-space:normal}
.dcp-repeat-table th small{display:block;font-size:11px;color:#6b7b90;font-weight:400}
.dcp-repeat-table tbody th{white-space:nowrap;width:115px}
.dcp-repeat-table tbody tr:last-child>*{border-bottom:0}
.dcp-repeat-table input,.dcp-repeat-table select{width:100%;min-width:0;box-sizing:border-box;min-height:39px;background:#fff;border:1px solid #d3deeb;border-radius:7px;padding:7px 8px;font:inherit}
.dcp-repeat-count-note{margin:0 0 12px;font-size:12px;color:#526685;line-height:1.9}
@media(max-width:700px){.dcp-profit-inputs .dcp-layout-custom>.dcp-profit-field--counted{grid-column:span 12!important}.dcp-repeat-table{min-width:620px}}

.dcp-profit-inputs .dcp-layout-custom > .dcp-profit-field--counted{grid-column:1/-1!important}

/* v1.0.120: a custom 1/2/3/4-column row always respects 12/6/4/3 tracks.
   The prior <=1050px rule and forced counted-repeater span broke this. */
@media(min-width:701px){
 .dcp-profit-inputs .dcp-profit-fields.dcp-layout-custom > .dcp-profit-field,
 .dcp-profit-results .dcp-profit-output.dcp-layout-custom > .dcp-profit-result,
 .dcp-profit-inputs .dcp-profit-fields.dcp-layout-custom > .dcp-profit-field--counted{
  grid-column:span var(--dcp-tile-span,6)!important;
 }
 .dcp-profit-inputs .dcp-profit-fields.dcp-layout-custom > .dcp-profit-layout-empty,
 .dcp-profit-results .dcp-profit-output.dcp-layout-custom > .dcp-profit-layout-empty{
  display:block;grid-column:span var(--dcp-tile-span,6)!important;
 }
}
@media(max-width:700px){
 .dcp-profit-inputs .dcp-profit-fields.dcp-layout-custom > .dcp-profit-field,
 .dcp-profit-results .dcp-profit-output.dcp-layout-custom > .dcp-profit-result,
 .dcp-profit-inputs .dcp-profit-fields.dcp-layout-custom > .dcp-profit-field--counted{grid-column:span 12!important}
 .dcp-profit-inputs .dcp-profit-fields.dcp-layout-custom > .dcp-profit-layout-empty,
 .dcp-profit-results .dcp-profit-output.dcp-layout-custom > .dcp-profit-layout-empty{display:none}
}
.dcp-profit-inputs .dcp-layout-custom > .dcp-profit-layout-text,
.dcp-profit-results .dcp-layout-custom > .dcp-profit-layout-text{grid-column:span var(--dcp-tile-span,12)!important;min-width:0;width:100%;box-sizing:border-box}
.dcp-profit-layout-text{background:#f5f8fc;border:1px solid #dce5f1;border-right:3px solid #d85845;border-radius:10px;padding:16px 18px;line-height:2;color:#34465b;font-size:13px;overflow-wrap:anywhere;white-space:normal}
@media(max-width:700px){.dcp-profit-inputs .dcp-layout-custom > .dcp-profit-layout-text,.dcp-profit-results .dcp-layout-custom > .dcp-profit-layout-text{grid-column:span 12!important}}

/* v1.0.123 — Saved construction-profit calculations in readable tables. */
.dcp-profit-library{min-width:0}
.dcp-profit-library-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}
.dcp-profit-library-head h2{margin:0 0 5px}
.dcp-profit-library-head p{margin:0;color:#64748b}
.dcp-profit-library-subtitle{margin:26px 0 12px;font-size:18px}
.dcp-profit-table-scroll{width:100%;max-width:100%;overflow-x:auto;border:1px solid #e2e8f0;border-radius:13px;scrollbar-width:thin;background:#fff}
.dcp-profit-history-table{width:100%;min-width:720px;border-collapse:collapse;font-size:13px;table-layout:auto}
.dcp-profit-history-table th,.dcp-profit-history-table td{text-align:right;vertical-align:middle;padding:13px 15px;border-bottom:1px solid #e8edf3;line-height:1.65}
.dcp-profit-history-table th{background:#f1f5fb;color:#334155;font-weight:750;white-space:nowrap}
.dcp-profit-history-table tbody tr:nth-child(even){background:#f9fbfe}
.dcp-profit-history-table tbody tr:hover{background:#f1f6ff}
.dcp-profit-history-table tbody tr:last-child td{border-bottom:0}
.dcp-profit-history-table td:nth-child(2){min-width:160px}
.dcp-profit-history-table .dcp-table-date{white-space:nowrap;direction:ltr;text-align:right;font-variant-numeric:tabular-nums;color:#64748b}
.dcp-profit-history-table .dcp-table-empty{text-align:center;padding:25px;color:#64748b}
.dcp-profit-history-status{display:inline-flex;align-items:center;padding:4px 10px;background:#edf1f5;color:#536376;border-radius:100px;font-size:12px;white-space:nowrap}
.dcp-profit-history-status.is-active{background:#e9f5ee;color:#17643a}
.dcp-profit-table-action{display:inline-flex;align-items:center;justify-content:center;padding:7px 12px;border-radius:8px;background:#eaf1ff;color:#244c9c!important;text-decoration:none;white-space:nowrap;font-weight:700}
.dcp-profit-table-action:hover{background:#dbe7ff}
@media(max-width:760px){.dcp-profit-library-head{align-items:stretch}.dcp-profit-library-head .dcp-primary{width:100%}.dcp-profit-history-table{min-width:610px}}

/* v1.0.125 — a consistent visual scale across all customer account screens.
   Scoped to the standalone customer portal; saved appearance tile widths remain authoritative. */
body.dcp-account-page .dcp-shell{--dcp-ui-border:#e1e8f2;--dcp-ui-muted:#64748b;--dcp-ui-radius:13px;--dcp-ui-gap:16px;color:#24344c;font-size:14px;line-height:1.8}
body.dcp-account-page .dcp-main{min-width:0;padding:26px clamp(18px,2.3vw,36px) 44px}
body.dcp-account-page .dcp-main>*,body.dcp-account-page .dcp-main section,body.dcp-account-page .dcp-main .dcp-box{min-width:0}
body.dcp-account-page .dcp-main>header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;margin-bottom:20px;padding:0 0 20px;border-bottom:1px solid var(--dcp-ui-border)}
body.dcp-account-page .dcp-main>header h2{font-size:clamp(18px,1.7vw,23px);font-weight:750;line-height:1.55;margin:0}
body.dcp-account-page .dcp-main>header small{display:block;color:var(--dcp-ui-muted);font-size:12px;line-height:1.8;margin-top:2px}
body.dcp-account-page .dcp-main .dcp-user{display:flex;align-items:center;gap:10px;max-width:100%}
body.dcp-account-page .dcp-main .dcp-user>span{font-weight:650;overflow-wrap:anywhere}
body.dcp-account-page .dcp-main .avatar{width:40px;height:40px;min-width:40px;border-radius:12px}
body.dcp-account-page .dcp-side{padding:25px 16px 18px;gap:0;background:#fff}
body.dcp-account-page .dcp-brand{min-height:48px;margin:0 6px 22px;line-height:1.55;font-size:19px;font-weight:750;overflow-wrap:anywhere}
body.dcp-account-page .dcp-side nav{gap:4px}
body.dcp-account-page .dcp-side nav>a,body.dcp-account-page .dcp-nav-group>a{min-height:43px;padding:10px 12px;font-size:13px;line-height:1.7}
body.dcp-account-page .dcp-nav-sub a{min-height:35px;padding:7px 10px;font-size:12px;line-height:1.7}
body.dcp-account-page .dcp-help{margin-top:24px;padding:15px;gap:7px;line-height:1.75}
body.dcp-account-page .dcp-help small{color:#60738f}
body.dcp-account-page .dcp-account-logout{margin-top:16px}
body.dcp-account-page .dcp-account-logout button{width:100%;padding:10px 12px;border:1px solid #dfe7f2;border-radius:9px;background:#fff;color:#465a77;cursor:pointer;font:inherit}
body.dcp-account-page .dcp-box,body.dcp-account-page .dcp-form-card,body.dcp-account-page .dcp-review-card{border:1px solid var(--dcp-ui-border);border-radius:var(--dcp-ui-radius);padding:clamp(16px,1.7vw,23px);box-shadow:0 3px 15px rgba(28,55,95,.035)}
body.dcp-account-page .dcp-box{margin-bottom:17px}
body.dcp-account-page .dcp-box>h3,body.dcp-account-page .dcp-form-card>h3,body.dcp-account-page .dcp-review-card>h3{font-size:17px;font-weight:750;line-height:1.7;margin:0 0 17px}
body.dcp-account-page .dcp-box>h4{margin:18px 0 12px;font-size:14px}
body.dcp-account-page .dcp-main :is(h1,h2,h3,h4){line-height:1.65;letter-spacing:normal}
body.dcp-account-page .dcp-main :is(p,small){overflow-wrap:anywhere}
body.dcp-account-page .dcp-main .dcp-hero{margin:0 0 18px;padding:24px clamp(17px,2vw,29px);border-radius:var(--dcp-ui-radius);min-height:105px;gap:18px}
body.dcp-account-page .dcp-hero h1{font-size:clamp(20px,2vw,28px);line-height:1.6}
body.dcp-account-page .dcp-hero p{margin:5px 0 0;line-height:1.75}
body.dcp-account-page .dcp-main :is(.dcp-primary,.dcp-secondary,.dcp-support-call,.dcp-wallet-add){display:inline-flex;align-items:center;justify-content:center;gap:7px;width:auto;max-width:100%;min-height:40px;padding:9px 15px;font:inherit;font-size:13px;font-weight:700;line-height:1.6;border-radius:9px;text-align:center;text-decoration:none;white-space:normal;cursor:pointer}
body.dcp-account-page .dcp-main button:disabled{cursor:not-allowed;opacity:.65}
body.dcp-account-page .dcp-main :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){max-width:100%;min-width:0;font:inherit;font-size:13px;line-height:1.6;border-radius:9px;border:1px solid #d4dfed;color:#253750;background:#fff}
body.dcp-account-page .dcp-main :is(input:not([type="checkbox"]):not([type="radio"]),select){min-height:41px}
body.dcp-account-page .dcp-main textarea{min-height:95px;max-width:100%;padding:10px 12px}
body.dcp-account-page .dcp-main :is(input,select,textarea):focus-visible{outline:2px solid #b7cdf9;outline-offset:1px;border-color:#6d99e8}
body.dcp-account-page .dcp-main .dcp-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;align-items:start}
body.dcp-account-page .dcp-form-grid>.dcp-field{min-width:0;margin:0}
body.dcp-account-page .dcp-main .dcp-actions{gap:9px 12px}
body.dcp-account-page .dcp-main .dcp-dash-metrics,body.dcp-account-page .dcp-main .dcp-dash-modules{gap:14px}
body.dcp-account-page .dcp-dash-metric,body.dcp-account-page .dcp-dash-module,body.dcp-account-page .dcp-contract-card{min-width:0;padding:19px;border-radius:var(--dcp-ui-radius);border:1px solid var(--dcp-ui-border)}
body.dcp-account-page .dcp-dash-module p,body.dcp-account-page .dcp-contract-card p{min-height:0;margin:5px 0 0;line-height:1.9}
body.dcp-account-page .dcp-list-row,body.dcp-account-page .dcp-ticket-row{min-width:0;gap:12px;border-radius:11px}
body.dcp-account-page .dcp-profit-notice{margin:0 0 17px;border-radius:10px;padding:12px 16px}
body.dcp-account-page .dcp-profit-inputs .dcp-profit-field{border-radius:11px;padding:13px 15px}
body.dcp-account-page .dcp-profit-results .dcp-profit-result{border-radius:11px;margin:0;padding:15px}
body.dcp-account-page .dcp-main .dcp-table-wrap,body.dcp-account-page .dcp-profit-table-scroll{max-width:100%;overflow-x:auto;scrollbar-width:thin}
body.dcp-account-page .dcp-main :is(.dcp-user-transactions,.dcp-profit-history-table) th{font-size:12px;font-weight:750}
body.dcp-account-page .dcp-main :is(.dcp-user-transactions,.dcp-profit-history-table) td{font-size:12px;line-height:1.7}
body.dcp-account-page .dcp-profit-library-head{gap:12px}
body.dcp-account-page .dcp-profit-table-action{min-height:34px;padding:7px 11px;font-size:12px}
@media(min-width:901px){body.dcp-account-page .dcp-side{min-height:100vh}}
@media(max-width:900px){body.dcp-account-page .dcp-main{padding:20px 20px 34px}body.dcp-account-page .dcp-side{min-height:0;padding:18px 20px}body.dcp-account-page .dcp-side nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 10px}body.dcp-account-page .dcp-nav-sub{padding-right:10px}body.dcp-account-page .dcp-brand{margin-bottom:12px}body.dcp-account-page .dcp-main .dcp-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){body.dcp-account-page .dcp-main{padding:16px 13px 28px}body.dcp-account-page .dcp-side{padding:15px 13px}body.dcp-account-page .dcp-side nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}body.dcp-account-page .dcp-side nav>a,body.dcp-account-page .dcp-nav-group>a{min-height:40px;padding:9px 10px;font-size:12px}body.dcp-account-page .dcp-main .dcp-form-grid{grid-template-columns:minmax(0,1fr)}body.dcp-account-page .dcp-main>header{gap:8px;margin-bottom:15px;padding-bottom:14px}body.dcp-account-page .dcp-main .dcp-hero{padding:17px}body.dcp-account-page .dcp-box{padding:15px}body.dcp-account-page .dcp-main :is(.dcp-primary,.dcp-secondary){min-height:40px}body.dcp-account-page .dcp-side .dcp-nav-sub{padding-right:8px}}
/* Construction-profit working toolbar: aligned title, save status and actions. */
body.dcp-account-page .dcp-profit-workspace-toolbar{display:flex;align-items:end;flex-wrap:wrap;gap:12px 16px}
body.dcp-account-page .dcp-profit-workspace-title{display:flex;flex:1 1 245px;max-width:380px;min-width:0;flex-direction:column;gap:7px;font-weight:650}
body.dcp-account-page .dcp-profit-workspace-title input{width:100%;margin:0}
body.dcp-account-page .dcp-profit-workspace-toolbar #dcp-profit-save-status{flex:0 1 auto;font-size:12px;color:#517356}
body.dcp-account-page .dcp-profit-workspace-actions{display:flex;flex:1 1 auto;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:9px}
body.dcp-account-page .dcp-profit-workspace-history{margin-top:18px}
body.dcp-account-page .dcp-profit-history-item{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;padding:9px 0;border-bottom:1px solid #e9eef5;color:#56687f;font-size:12px;line-height:1.9}
body.dcp-account-page .dcp-profit-history-item:last-child{border-bottom:0}
body.dcp-account-page .dcp-profit-history-item :is(a,button){display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:5px 11px;border-radius:8px;border:1px solid #d8e3f5;background:#f0f5ff;color:#2655a6;text-decoration:none;cursor:pointer;font:inherit}
@media(max-width:620px){body.dcp-account-page .dcp-profit-workspace-title{flex-basis:100%;max-width:none}body.dcp-account-page .dcp-profit-workspace-actions{width:100%}body.dcp-account-page .dcp-profit-workspace-actions .dcp-primary{flex:1 1 165px}}


/* v1.0.153 — guided/simple and professional construction-profit workspace */
body.dcp-account-page .dcp-profit-flow{
 position:sticky;
 top:8px;
 z-index:30;
 margin:16px 0 20px;
 padding:16px 18px;
 border:1px solid #dfe7f1;
 border-radius:15px;
 background:linear-gradient(135deg,#ffffff 0%,#f7faff 100%);
 box-shadow:0 5px 18px rgba(27,52,84,.045);
}
body.dcp-account-page .dcp-profit-flow-head{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:14px;
 flex-wrap:wrap;
}
body.dcp-account-page .dcp-profit-flow-head>div:first-child{min-width:220px}
body.dcp-account-page .dcp-profit-flow-head strong{display:block;font-size:15px;color:#1e293b}
body.dcp-account-page .dcp-profit-flow-head p{margin:3px 0 0;color:#64748b;font-size:12px;line-height:1.8}
body.dcp-account-page .dcp-profit-mode-switch{
 display:inline-flex;
 align-items:center;
 gap:4px;
 padding:4px;
 border:1px solid #dce5f0;
 border-radius:11px;
 background:#edf2f8;
}
body.dcp-account-page .dcp-profit-mode-switch button{
 border:0;
 border-radius:8px;
 padding:9px 15px;
 min-height:38px;
 background:transparent;
 color:#475569;
 font:inherit;
 font-size:12px;
 font-weight:700;
 cursor:pointer;
 transition:background .15s ease,color .15s ease,box-shadow .15s ease;
}
body.dcp-account-page .dcp-profit-mode-switch button.is-active{
 background:#fff;
 color:#2457a7;
 box-shadow:0 1px 4px rgba(15,23,42,.12);
}
body.dcp-account-page .dcp-profit-wizard{
 margin-top:15px;
 padding-top:14px;
 border-top:1px solid #e6edf5;
}
body.dcp-account-page .dcp-profit-wizard[hidden],
body.dcp-account-page .dcp-profit-inputs[hidden],
body.dcp-account-page .dcp-profit-results[hidden],
body.dcp-account-page .dcp-profit-field[hidden],
body.dcp-account-page .dcp-profit-layout-text[hidden],
body.dcp-account-page .dcp-profit-layout-hr[hidden]{display:none!important}
body.dcp-account-page .dcp-profit-wizard-top{
 display:flex;
 justify-content:space-between;
 align-items:center;
 gap:12px;
 margin-bottom:10px;
}
body.dcp-account-page .dcp-profit-wizard-top strong{display:block;font-size:14px;color:#1e293b}
body.dcp-account-page .dcp-profit-wizard-top small{display:block;margin-top:2px;color:#64748b;font-size:11px;line-height:1.8}
body.dcp-account-page .dcp-profit-wizard-top>span{
 flex:0 0 auto;
 padding:5px 10px;
 border-radius:20px;
 background:#eaf1fb;
 color:#315b96;
 font-size:11px;
 font-weight:700;
}
body.dcp-account-page .dcp-profit-progress{
 height:6px;
 overflow:hidden;
 border-radius:10px;
 background:#e8edf4;
}
body.dcp-account-page .dcp-profit-progress>span{
 display:block;
 width:0;
 height:100%;
 border-radius:10px;
 background:#3974c6;
 transition:width .2s ease;
}
body.dcp-account-page .dcp-profit-step-nav{
 display:flex;
 align-items:stretch;
 gap:7px;
 margin:12px 0;
 overflow-x:auto;
 padding:2px 0 5px;
}
body.dcp-account-page .dcp-profit-step-item{
 display:flex;
 align-items:center;
 gap:7px;
 flex:1 0 auto;
 min-width:0;
 max-width:230px;
 padding:7px 10px;
 border:1px solid #e2e8f0;
 border-radius:9px;
 background:#fff;
 color:#64748b;
 font:inherit;
 font-size:11px;
 text-align:right;
 cursor:pointer;
}
body.dcp-account-page .dcp-profit-step-item:disabled{cursor:default;opacity:.58}
body.dcp-account-page .dcp-profit-step-item.is-current{
 border-color:#7fa5df;
 background:#edf4ff;
 color:#1e4d91;
 font-weight:700;
}
body.dcp-account-page .dcp-profit-step-item.is-complete{
 border-color:#b9d9c3;
 color:#27633b;
}
body.dcp-account-page .dcp-profit-step-number{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 flex:0 0 23px;
 width:23px;
 height:23px;
 border-radius:50%;
 background:#edf1f6;
 color:#475569;
 font-size:11px;
 font-weight:800;
}
body.dcp-account-page .dcp-profit-step-item.is-current .dcp-profit-step-number{background:#315fa8;color:#fff}
body.dcp-account-page .dcp-profit-step-item.is-complete .dcp-profit-step-number{background:#dff2e5;color:#24623a}
body.dcp-account-page .dcp-profit-step-label{white-space:normal;line-height:1.55}
body.dcp-account-page .dcp-profit-wizard-actions{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:10px;
 margin-top:12px;
}
body.dcp-account-page .dcp-profit-step-prev,
body.dcp-account-page .dcp-profit-step-next{
 min-height:39px;
 padding:8px 17px;
 border:1px solid #d7e0ec;
 border-radius:9px;
 background:#fff;
 color:#334155;
 font:inherit;
 font-size:12px;
 font-weight:700;
 cursor:pointer;
}
body.dcp-account-page .dcp-profit-step-prev:disabled{opacity:.4;cursor:not-allowed}
body.dcp-account-page .dcp-profit-step-next.dcp-primary{border:0;color:#fff;background:#315fa8}
body.dcp-account-page .dcp-profit-flow[data-mode="professional"] .dcp-profit-wizard{display:none}
@media(max-width:700px){
 body.dcp-account-page .dcp-profit-flow{position:relative;top:auto;padding:13px}
 body.dcp-account-page .dcp-profit-flow-head{align-items:stretch}
 body.dcp-account-page .dcp-profit-mode-switch{width:100%}
 body.dcp-account-page .dcp-profit-mode-switch button{flex:1}
 body.dcp-account-page .dcp-profit-step-item{min-width:135px}
 body.dcp-account-page .dcp-profit-wizard-actions button{flex:1}
}


/* 1.0.155 — three-scenario construction investment analysis */
.dcp-profit-scenarios{margin-top:26px;padding-top:20px;border-top:1px solid #e4eaf2}
.dcp-profit-scenarios[hidden]{display:none!important}
.dcp-profit-scenarios-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}
.dcp-profit-scenarios-head h3{margin:0 0 7px;font-size:18px}
.dcp-profit-scenarios-head p{margin:0;color:#65748a;font-size:13px;line-height:1.9}
.dcp-profit-scenario-live{flex:0 0 auto;padding:5px 10px;border-radius:20px;background:#edf7f1;color:#28764c;font-size:11px}
.dcp-profit-scenario-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}
.dcp-profit-scenario-controls label{display:flex;flex-direction:column;gap:7px;padding:11px;border:1px solid #e1e7ef;border-radius:10px;background:#fbfcfe;color:#475569;font-size:12px;line-height:1.7}
.dcp-profit-scenario-controls label[hidden]{display:none!important}
.dcp-profit-scenario-controls input{width:100%;min-height:38px;border:1px solid #d5deea;border-radius:7px;padding:7px 9px;background:#fff;font:inherit;font-variant-numeric:tabular-nums}
.dcp-profit-scenario-assumptions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}
.dcp-profit-scenario-assumption{display:flex;flex-direction:column;gap:4px;padding:11px 13px;border:1px solid #e4eaf2;border-radius:10px;background:#f8fafc}
.dcp-profit-scenario-assumption strong{font-size:13px;color:#26364b}
.dcp-profit-scenario-assumption span{font-size:12px;color:#65748a}
.dcp-profit-scenario-table-wrap{width:100%;overflow-x:auto;border:1px solid #e1e7ef;border-radius:10px}
.dcp-profit-scenario-table{width:100%;min-width:560px;border-collapse:collapse;font-size:13px}
.dcp-profit-scenario-table th,.dcp-profit-scenario-table td{padding:10px 12px;border-bottom:1px solid #e8edf3;text-align:right;white-space:normal}
.dcp-profit-scenario-table thead th{background:#f1f5f9;color:#34445a;font-weight:700}
.dcp-profit-scenario-table tbody th{font-weight:600;color:#334155}
.dcp-profit-scenario-table tbody td{font-variant-numeric:tabular-nums}
.dcp-profit-scenario-table .scenario-optimistic{background:#f0f8f3}
.dcp-profit-scenario-table .scenario-realistic{background:#f4f7fb}
.dcp-profit-scenario-table .scenario-pessimistic{background:#fff5f2}
.dcp-profit-scenario-count,.dcp-profit-scenario-note{margin:10px 0 0;color:#718096;font-size:11px;line-height:1.9}
.dcp-profit-scenario-note{padding:10px 12px;background:#f8fafc;border-radius:8px}
@media(max-width:1000px){.dcp-profit-scenario-controls{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.dcp-profit-scenario-controls,.dcp-profit-scenario-assumptions{grid-template-columns:1fr}.dcp-profit-scenarios-head{display:block}.dcp-profit-scenario-live{display:inline-block;margin-top:10px}}

.dcp-profit-scenario-assessment{display:flex;flex-direction:column;gap:6px;margin:14px 0;padding:13px 15px;border:1px solid #dbe5ef;border-radius:10px;background:#f8fafc;color:#334155;line-height:1.9}
.dcp-profit-scenario-assessment[hidden]{display:none!important}
.dcp-profit-scenario-assessment>strong{font-size:12px;color:#64748b}
.dcp-profit-scenario-assessment>b{font-size:14px}
.dcp-profit-scenario-assessment p{margin:0;font-size:12px}
.dcp-profit-scenario-assessment small{font-size:11px;color:#64748b;line-height:1.9}
.dcp-profit-scenario-assessment.is-resilient{border-inline-start:4px solid #39845d;background:#f3faf5}
.dcp-profit-scenario-assessment.is-sensitive{border-inline-start:4px solid #c28a2d;background:#fffaf0}
.dcp-profit-scenario-assessment.is-high-risk,.dcp-profit-scenario-assessment.is-loss{border-inline-start:4px solid #b95a55;background:#fff6f5}
.dcp-profit-scenario-assessment.is-incomplete{border-inline-start:4px solid #7b8794;background:#f8fafc}

/* ========================================================================
   DCP USER PANEL — refreshed visual system (v1.0.157)
   Scope: customer-facing account panel only. Business logic is untouched.
   ======================================================================== */
body.dcp-account-page {
  --dcp-ink: #243746;
  --dcp-muted: #71818c;
  --dcp-navy: #172f43;
  --dcp-navy-soft: #203d52;
  --dcp-teal: #16877f;
  --dcp-teal-dark: #116e68;
  --dcp-teal-pale: #e6f4f1;
  --dcp-gold: #c6a66b;
  --dcp-line: #e1e8e9;
  --dcp-surface: #f7f9f8;
  --dcp-shadow: 0 12px 34px rgba(23, 47, 67, .075);
  background: #edf2f2 !important;
  color: var(--dcp-ink) !important;
  font-family: Tahoma, "Segoe UI", Arial, sans-serif !important;
  font-size: 14px !important;
  line-height: 1.75 !important;
  -webkit-font-smoothing: antialiased;
}

body.dcp-account-page .dcp-account-viewport {
  width: 100%;
  min-height: 100vh;
  padding: 28px;
  align-items: flex-start;
}

body.dcp-account-page .dcp-shell {
  --navy: var(--dcp-navy);
  --blue: var(--dcp-teal);
  width: min(1500px, 100%);
  max-width: 1500px;
  min-height: calc(100vh - 56px);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 276px minmax(0, 1fr);
  grid-template-rows: minmax(760px, auto);
  direction: rtl;
  overflow: hidden;
  border: 1px solid rgba(225, 232, 233, .95);
  border-radius: 22px;
  background: var(--dcp-surface);
  color: var(--dcp-ink);
  box-shadow: 0 22px 60px rgba(23, 47, 67, .10);
  font-family: Tahoma, "Segoe UI", Arial, sans-serif;
  font-size: 14px;
  line-height: 1.75;
}

body.dcp-account-page .dcp-shell,
body.dcp-account-page .dcp-shell * {
  box-sizing: border-box;
}

/* Right navigation rail */
body.dcp-account-page .dcp-side {
  grid-column: 1;
  grid-row: 1;
  min-width: 0;
  padding: 26px 18px 20px;
  display: flex;
  flex-direction: column;
  gap: 18px;
  color: #fff;
  background: linear-gradient(165deg, #172f43 0%, #1c394e 58%, #203d52 100%);
  border: 0;
  border-left: 1px solid rgba(255,255,255,.08);
}

body.dcp-account-page .dcp-brand {
  min-height: 48px;
  margin: 0 0 12px;
  display: flex;
  align-items: center;
  gap: 11px;
  color: #fff;
  font-size: 19px;
  font-weight: 800;
  letter-spacing: -.2px;
}

body.dcp-account-page .dcp-brand > span {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  display: inline-grid;
  place-items: center;
  border-radius: 11px;
  background: var(--dcp-teal);
  color: #fff;
  font-size: 23px;
}

body.dcp-account-page .dcp-brand img,
body.dcp-account-page .dcp-brand .custom-logo {
  display: block;
  width: auto;
  max-width: 46px;
  max-height: 46px;
  object-fit: contain;
  border-radius: 9px;
}

body.dcp-account-page .dcp-side nav {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

body.dcp-account-page .dcp-side nav > a,
body.dcp-account-page .dcp-nav-group > a {
  min-height: 43px;
  padding: 10px 13px;
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid transparent;
  border-radius: 10px;
  color: #d8e3e8;
  background: transparent;
  text-decoration: none;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.55;
  transition: background .18s ease, color .18s ease, border-color .18s ease;
}

body.dcp-account-page .dcp-side nav > a:hover,
body.dcp-account-page .dcp-nav-group > a:hover {
  color: #fff;
  background: rgba(255,255,255,.08);
}

body.dcp-account-page .dcp-side nav > a.active,
body.dcp-account-page .dcp-nav-group > a.active {
  color: #fff;
  background: var(--dcp-teal);
  border-color: rgba(255,255,255,.10);
  box-shadow: 0 5px 14px rgba(5, 20, 31, .16);
  font-weight: 700;
}

body.dcp-account-page .dcp-nav-group {
  min-width: 0;
  display: grid;
  gap: 5px;
}

body.dcp-account-page .dcp-nav-sub {
  margin: 0 9px 5px 0;
  padding: 4px 9px 4px 0;
  display: grid;
  gap: 4px;
  border-right: 1px solid rgba(221, 239, 239, .24);
}

body.dcp-account-page .dcp-nav-sub a {
  min-height: 34px;
  padding: 7px 10px;
  display: flex;
  align-items: center;
  border-radius: 8px;
  color: #bdcdd4;
  text-decoration: none;
  font-size: 11px;
  line-height: 1.5;
}

body.dcp-account-page .dcp-nav-sub a:hover,
body.dcp-account-page .dcp-nav-sub a.active {
  color: #fff;
  background: rgba(255,255,255,.10);
}

body.dcp-account-page .dcp-help {
  margin-top: auto;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 13px;
  background: rgba(255,255,255,.075);
  color: #fff;
}

body.dcp-account-page .dcp-help b {
  font-size: 13px;
  font-weight: 700;
}

body.dcp-account-page .dcp-help small {
  color: #c2d0d6;
  font-size: 11px;
}

body.dcp-account-page .dcp-support-call {
  min-height: 37px;
  margin-top: 5px;
  padding: 8px 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: var(--dcp-teal);
  color: #fff;
  text-decoration: none;
  font-size: 12px;
  font-weight: 700;
}

body.dcp-account-page .dcp-account-logout {
  margin: 0;
}

body.dcp-account-page .dcp-account-logout button {
  width: 100%;
  min-height: 40px;
  padding: 8px 12px;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 9px;
  background: rgba(255,255,255,.055);
  color: #e8eff2;
  font: inherit;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
}

body.dcp-account-page .dcp-account-logout button:hover {
  background: rgba(255,255,255,.12);
}

/* Main content and type scale */
body.dcp-account-page .dcp-main {
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
  padding: 30px 34px 38px;
  background: var(--dcp-surface);
  color: var(--dcp-ink);
}

body.dcp-account-page .dcp-main > header {
  min-height: 62px;
  margin: 0 0 24px;
  padding: 0 0 17px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  border-bottom: 1px solid var(--dcp-line);
}

body.dcp-account-page .dcp-main > header h2 {
  margin: 0;
  color: var(--dcp-navy);
  font-size: 22px;
  font-weight: 800;
  line-height: 1.5;
  letter-spacing: -.3px;
}

body.dcp-account-page .dcp-main > header small {
  margin-top: 3px;
  display: block;
  color: var(--dcp-muted);
  font-size: 11px;
  line-height: 1.7;
}

body.dcp-account-page .dcp-user {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--dcp-ink);
  font-size: 13px;
  font-weight: 700;
}

body.dcp-account-page .dcp-user .avatar {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  display: grid;
  place-items: center;
  border: 2px solid #fff;
  border-radius: 50%;
  background: var(--dcp-teal-pale);
  color: var(--dcp-teal-dark);
  box-shadow: 0 0 0 1px var(--dcp-line);
  font-size: 15px;
  font-weight: 800;
}

body.dcp-account-page .dcp-main h1,
body.dcp-account-page .dcp-main h2,
body.dcp-account-page .dcp-main h3,
body.dcp-account-page .dcp-main h4 {
  color: var(--dcp-navy);
  font-family: inherit;
  letter-spacing: -.15px;
}

body.dcp-account-page .dcp-main h1 { font-size: 25px; line-height: 1.55; }
body.dcp-account-page .dcp-main h2 { font-size: 21px; line-height: 1.6; }
body.dcp-account-page .dcp-main h3 { font-size: 17px; line-height: 1.7; }
body.dcp-account-page .dcp-main h4 { font-size: 14px; line-height: 1.7; }
body.dcp-account-page .dcp-main p { line-height: 1.9; }
body.dcp-account-page .dcp-main small { line-height: 1.7; }

/* Shared surfaces */
body.dcp-account-page .dcp-box,
body.dcp-account-page .dcp-form-card,
body.dcp-account-page .dcp-review-card {
  min-width: 0;
  margin: 0 0 18px;
  padding: 22px;
  border: 1px solid var(--dcp-line);
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 5px 18px rgba(23, 47, 67, .035);
}

body.dcp-account-page .dcp-box > h3:first-child,
body.dcp-account-page .dcp-box > h2:first-child {
  margin: 0 0 16px;
}

body.dcp-account-page .box-title {
  min-height: 42px;
  margin: 0 0 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

body.dcp-account-page .box-title > b,
body.dcp-account-page .box-title h3 {
  margin: 0;
  color: var(--dcp-navy);
  font-size: 16px;
  font-weight: 800;
}

body.dcp-account-page .box-title > a:not(.dcp-primary) {
  color: var(--dcp-teal-dark);
  text-decoration: none;
  font-size: 12px;
  font-weight: 700;
}

/* Consistent buttons: same height, baseline, radius and typography */
body.dcp-account-page .dcp-main .dcp-primary,
body.dcp-account-page .dcp-main .dcp-secondary,
body.dcp-account-page .dcp-main button.dcp-primary,
body.dcp-account-page .dcp-main button.dcp-secondary,
body.dcp-account-page .dcp-main .dcp-row-actions a,
body.dcp-account-page .dcp-main .dcp-profit-table-action,
body.dcp-account-page .dcp-main .dcp-wallet-add {
  min-height: 42px;
  padding: 9px 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border: 1px solid transparent;
  border-radius: 9px;
  font-family: inherit;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.45;
  text-align: center;
  text-decoration: none;
  white-space: normal;
  vertical-align: middle;
  cursor: pointer;
  transition: background .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

body.dcp-account-page .dcp-main .dcp-primary,
body.dcp-account-page .dcp-main button.dcp-primary {
  background: var(--dcp-teal);
  color: #fff !important;
  box-shadow: 0 4px 11px rgba(22, 135, 127, .13);
}

body.dcp-account-page .dcp-main .dcp-primary:hover,
body.dcp-account-page .dcp-main button.dcp-primary:hover {
  background: var(--dcp-teal-dark);
  color: #fff !important;
  transform: translateY(-1px);
}

body.dcp-account-page .dcp-main .dcp-secondary,
body.dcp-account-page .dcp-main button.dcp-secondary {
  border-color: #d8e2e4;
  background: #fff;
  color: var(--dcp-navy-soft) !important;
}

body.dcp-account-page .dcp-main .dcp-secondary:hover,
body.dcp-account-page .dcp-main button.dcp-secondary:hover {
  border-color: #9fcac5;
  background: #f4faf9;
  color: var(--dcp-teal-dark) !important;
}

body.dcp-account-page .dcp-main .dcp-primary.small,
body.dcp-account-page .dcp-main .dcp-secondary.small,
body.dcp-account-page .dcp-main .dcp-row-actions a {
  min-height: 36px;
  padding: 7px 11px;
  font-size: 11px;
}

body.dcp-account-page .dcp-main button:disabled,
body.dcp-account-page .dcp-main .dcp-primary:disabled,
body.dcp-account-page .dcp-main .dcp-secondary:disabled {
  opacity: .52;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}

/* Dashboard */
body.dcp-account-page .dcp-dash-welcome {
  min-height: 150px;
  margin: 0 0 18px;
  padding: 25px 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 16px;
  background: linear-gradient(115deg, #172f43 0%, #203d52 65%, #245366 100%);
  color: #fff;
  box-shadow: 0 9px 23px rgba(23,47,67,.12);
}

body.dcp-account-page .dcp-dash-welcome small {
  color: #b9d4d5;
  font-size: 11px;
  font-weight: 600;
}

body.dcp-account-page .dcp-dash-welcome h1 {
  margin: 5px 0 4px;
  color: #fff;
  font-size: 24px;
  font-weight: 800;
}

body.dcp-account-page .dcp-dash-welcome p {
  margin: 0;
  color: #d2e0e4;
  font-size: 12px;
}

body.dcp-account-page .dcp-dash-welcome .dcp-primary {
  flex: 0 0 auto;
  border-color: rgba(255,255,255,.12);
  background: var(--dcp-teal);
  color: #fff !important;
}

body.dcp-account-page .dcp-dash-metrics {
  margin: 0 0 18px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

body.dcp-account-page .dcp-dash-metric {
  min-width: 0;
  min-height: 112px;
  padding: 16px 18px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  border: 1px solid var(--dcp-line);
  border-radius: 13px;
  background: #fff;
  color: var(--dcp-ink);
  text-decoration: none;
  box-shadow: 0 4px 13px rgba(23,47,67,.035);
  transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

body.dcp-account-page .dcp-dash-metric:hover {
  border-color: #a8d2cd;
  box-shadow: 0 8px 20px rgba(23,47,67,.07);
  transform: translateY(-2px);
}

body.dcp-account-page .dcp-dash-metric small {
  color: var(--dcp-muted);
  font-size: 11px;
  font-weight: 600;
}

body.dcp-account-page .dcp-dash-metric strong {
  color: var(--dcp-navy);
  font-size: 27px;
  font-weight: 800;
  line-height: 1.25;
  font-variant-numeric: tabular-nums;
}

body.dcp-account-page .dcp-dash-metric span {
  color: var(--dcp-teal-dark);
  font-size: 10px;
  font-weight: 700;
}

body.dcp-account-page .dcp-dash-wallet {
  min-height: 98px;
  margin: 0 0 24px;
  padding: 17px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  border: 1px solid #d6eae6;
  border-radius: 14px;
  background: var(--dcp-teal-pale);
}

body.dcp-account-page .dcp-dash-wallet small {
  display: block;
  color: var(--dcp-teal-dark);
  font-size: 11px;
  font-weight: 700;
}

body.dcp-account-page .dcp-dash-wallet strong {
  display: block;
  margin: 2px 0;
  color: var(--dcp-navy);
  font-size: 22px;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}

body.dcp-account-page .dcp-dash-wallet p {
  margin: 0;
  color: var(--dcp-muted);
  font-size: 10px;
}

body.dcp-account-page .dcp-dash-wallet > div:last-child {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

body.dcp-account-page .dcp-main > h2 {
  margin: 22px 0 13px;
  font-size: 18px;
}

body.dcp-account-page .dcp-dash-modules {
  margin: 0 0 18px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 13px;
}

body.dcp-account-page .dcp-dash-module {
  min-width: 0;
  min-height: 158px;
  padding: 18px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  border: 1px solid var(--dcp-line);
  border-radius: 14px;
  background: #fff;
  color: var(--dcp-ink);
  text-decoration: none;
  box-shadow: 0 4px 14px rgba(23,47,67,.035);
  transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

body.dcp-account-page .dcp-dash-module:hover {
  border-color: #a8d2cd;
  box-shadow: var(--dcp-shadow);
  transform: translateY(-2px);
}

body.dcp-account-page .dcp-dash-module-icon {
  width: 39px;
  height: 39px;
  margin-bottom: 8px;
  display: grid;
  place-items: center;
  border-radius: 11px;
  background: var(--dcp-teal-pale);
  color: var(--dcp-teal-dark);
  font-size: 19px;
}

body.dcp-account-page .dcp-dash-module h3 {
  margin: 0 0 4px;
  font-size: 14px;
}

body.dcp-account-page .dcp-dash-module p {
  margin: 0 0 10px;
  color: var(--dcp-muted);
  font-size: 11px;
}

body.dcp-account-page .dcp-dash-module b {
  margin-top: auto;
  color: var(--dcp-teal-dark);
  font-size: 11px;
}

body.dcp-account-page .dcp-columns {
  margin-top: 16px;
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(220px, .9fr);
  gap: 14px;
}

/* Contract list and repeatable list rows */
body.dcp-account-page .dcp-list {
  margin-top: 12px;
  display: grid;
  gap: 9px;
}

body.dcp-account-page .dcp-list-row,
body.dcp-account-page .dcp-ticket-row {
  min-width: 0;
  padding: 14px 15px;
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) auto minmax(0, 1.8fr);
  align-items: center;
  gap: 12px 16px;
  border: 1px solid #e8eeee;
  border-radius: 11px;
  background: #fff;
}

body.dcp-account-page .dcp-list-row > div:first-child,
body.dcp-account-page .dcp-ticket-row > div:first-child {
  min-width: 0;
  display: grid;
  gap: 3px;
}

body.dcp-account-page .dcp-list-row > div:first-child b,
body.dcp-account-page .dcp-ticket-row strong {
  color: var(--dcp-navy);
  font-size: 13px;
  font-weight: 800;
}

body.dcp-account-page .dcp-list-row small,
body.dcp-account-page .dcp-ticket-row small {
  color: var(--dcp-muted);
  font-size: 10px;
  line-height: 1.7;
}

body.dcp-account-page .dcp-row-actions {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 7px;
  flex-wrap: wrap;
}

body.dcp-account-page .dcp-row-actions strong {
  color: var(--dcp-navy);
  font-size: 12px;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

body.dcp-account-page .dcp-row-actions a:not(.dcp-secondary) {
  border-color: #d8e2e4;
  background: #fff;
  color: var(--dcp-teal-dark);
}

body.dcp-account-page .dcp-row-actions form {
  margin: 0;
  display: inline-flex;
}

body.dcp-account-page .dcp-row-actions .dcp-paid-finalize-list button {
  min-height: 36px;
  padding: 7px 10px;
  font-size: 10px;
}

body.dcp-account-page .dcp-status {
  min-height: 27px;
  padding: 5px 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  border-radius: 20px;
  background: #edf2f4;
  color: #536775;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.4;
  white-space: nowrap;
}

body.dcp-account-page .dcp-status.finalized,
body.dcp-account-page .dcp-status.paid,
body.dcp-account-page .dcp-status.answered {
  border-color: #d5eade;
  background: #eaf5ee;
  color: #28734f;
}

body.dcp-account-page .dcp-status.draft,
body.dcp-account-page .dcp-status.ready,
body.dcp-account-page .dcp-status.waiting_user {
  border-color: #f0e2c7;
  background: #fbf3e5;
  color: #966d2d;
}

body.dcp-account-page .dcp-status.open,
body.dcp-account-page .dcp-status.revision_unlocked,
body.dcp-account-page .dcp-status.revision_draft {
  border-color: #d9e7ef;
  background: #edf4f7;
  color: #42677c;
}

body.dcp-account-page .dcp-status.closed,
body.dcp-account-page .dcp-status.expired {
  border-color: #f0dedd;
  background: #fbefee;
  color: #a6534d;
}

body.dcp-account-page .empty,
body.dcp-account-page .dcp-table-empty {
  padding: 30px 16px;
  border: 1px dashed #d8e2e4;
  border-radius: 10px;
  background: #fbfdfd;
  color: var(--dcp-muted);
  text-align: center;
  font-size: 12px;
}

body.dcp-account-page .quick {
  margin-top: 10px;
  display: grid;
  gap: 8px;
}

body.dcp-account-page .quick a {
  min-height: 43px;
  margin: 0;
  padding: 10px 13px;
  display: flex;
  align-items: center;
  border: 1px solid var(--dcp-line);
  border-radius: 9px;
  background: #fbfdfd;
  color: var(--dcp-navy-soft);
  text-decoration: none;
  font-size: 12px;
  font-weight: 600;
}

body.dcp-account-page .quick a:hover {
  border-color: #a8d2cd;
  background: var(--dcp-teal-pale);
  color: var(--dcp-teal-dark);
}

/* Contract template cards */
body.dcp-account-page .dcp-catalog,
body.dcp-account-page .dcp-profit-product-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: 15px;
}

body.dcp-account-page .dcp-contract-card,
body.dcp-account-page .dcp-profit-product {
  min-width: 0;
  min-height: 235px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  border: 1px solid var(--dcp-line);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 5px 17px rgba(23,47,67,.035);
}

body.dcp-account-page .dcp-contract-card h3,
body.dcp-account-page .dcp-profit-product h3 {
  margin: 0;
  color: var(--dcp-navy);
  font-size: 15px;
  font-weight: 800;
}

body.dcp-account-page .dcp-contract-card p,
body.dcp-account-page .dcp-profit-product p {
  min-height: 0;
  margin: 0;
  color: var(--dcp-muted);
  font-size: 11px;
  line-height: 1.9;
}

body.dcp-account-page .dcp-contract-card > b,
body.dcp-account-page .dcp-profit-product p strong {
  color: var(--dcp-navy);
  font-size: 14px;
  font-weight: 800;
}

body.dcp-account-page .dcp-contract-card form,
body.dcp-account-page .dcp-profit-product > a.dcp-primary {
  width: 100%;
  margin-top: auto;
}

body.dcp-account-page .dcp-contract-card form button,
body.dcp-account-page .dcp-profit-product > a.dcp-primary {
  width: 100%;
}

body.dcp-account-page .dcp-icon {
  width: 43px;
  height: 43px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: var(--dcp-teal-pale);
  color: var(--dcp-teal-dark);
  font-size: 21px;
}

/* Tables: predictable column spacing, typography and horizontal overflow */
body.dcp-account-page .dcp-table-wrap,
body.dcp-account-page .dcp-profit-table-scroll,
body.dcp-account-page .dcp-profit-scenario-table-wrap,
body.dcp-account-page .dcp-repeat-table-scroll {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  border: 1px solid var(--dcp-line);
  border-radius: 11px;
  background: #fff;
  scrollbar-width: thin;
  scrollbar-color: #bdcecf #f1f5f5;
}

body.dcp-account-page .dcp-main table:not(.dcp-repeat-table) {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  color: var(--dcp-ink);
  font-family: inherit;
  font-size: 12px;
  line-height: 1.65;
}

body.dcp-account-page .dcp-user-transactions,
body.dcp-account-page .dcp-profit-history-table,
body.dcp-account-page .dcp-profit-scenario-table {
  min-width: 720px;
}

body.dcp-account-page .dcp-main table:not(.dcp-repeat-table) th,
body.dcp-account-page .dcp-main table:not(.dcp-repeat-table) td {
  padding: 12px 14px;
  border: 0;
  border-bottom: 1px solid #e9eeee;
  text-align: right;
  vertical-align: middle;
  line-height: 1.7;
}

body.dcp-account-page .dcp-main table:not(.dcp-repeat-table) thead th {
  background: #f0f5f4;
  color: #526875;
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
}

body.dcp-account-page .dcp-main table:not(.dcp-repeat-table) tbody tr:last-child td,
body.dcp-account-page .dcp-main table:not(.dcp-repeat-table) tbody tr:last-child th {
  border-bottom: 0;
}

body.dcp-account-page .dcp-main table:not(.dcp-repeat-table) tbody tr:hover {
  background: #f8fbfa;
}

body.dcp-account-page .dcp-main table:not(.dcp-repeat-table) td strong {
  color: var(--dcp-navy);
  font-weight: 800;
}

body.dcp-account-page .dcp-main table .dcp-money,
body.dcp-account-page .dcp-main table .dcp-number-grouped {
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

body.dcp-account-page .dcp-user-transactions th[data-sort] {
  cursor: pointer;
  user-select: none;
}

body.dcp-account-page .dcp-user-transactions th[data-sort]:hover {
  color: var(--dcp-teal-dark);
}

body.dcp-account-page .dcp-user-transactions th.sort-asc,
body.dcp-account-page .dcp-user-transactions th.sort-desc {
  color: var(--dcp-teal-dark);
  background: #e6f4f1;
}

body.dcp-account-page .dcp-repeat-table {
  width: 100%;
  min-width: 620px;
  border-collapse: collapse;
  table-layout: fixed;
  background: #fff;
  color: var(--dcp-ink);
  font-size: 11px;
}

body.dcp-account-page .dcp-repeat-table th,
body.dcp-account-page .dcp-repeat-table td {
  padding: 10px;
  border-bottom: 1px solid #e8eeee;
  text-align: right;
  vertical-align: middle;
}

body.dcp-account-page .dcp-repeat-table th {
  background: #f0f5f4;
  color: #526875;
  font-weight: 800;
}

body.dcp-account-page .dcp-repeat-table input,
body.dcp-account-page .dcp-repeat-table select {
  width: 100%;
  min-width: 0;
  min-height: 39px;
  padding: 8px 9px;
  border: 1px solid #d8e2e4;
  border-radius: 8px;
  background: #fff;
  font: inherit;
}

body.dcp-account-page .dcp-profit-table-action {
  min-height: 35px !important;
  padding: 7px 11px !important;
  border-color: #d4e7e3 !important;
  background: #f1f8f6 !important;
  color: var(--dcp-teal-dark) !important;
  white-space: nowrap !important;
}

body.dcp-account-page .dcp-profit-history-status {
  min-height: 27px;
  padding: 5px 10px;
  display: inline-flex;
  align-items: center;
  border-radius: 20px;
  background: #edf2f4;
  color: #536775;
  font-size: 10px;
  font-weight: 700;
}

body.dcp-account-page .dcp-profit-history-status.is-active {
  background: var(--dcp-teal-pale);
  color: var(--dcp-teal-dark);
}

/* Form controls and contract workflow */
body.dcp-account-page .dcp-form-wrap {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 270px;
  align-items: start;
  gap: 16px;
}

body.dcp-account-page .dcp-form-card,
body.dcp-account-page .dcp-review-card {
  padding: 23px;
}

body.dcp-account-page .dcp-form-card > h3,
body.dcp-account-page .dcp-review-card > h3 {
  margin: 0 0 14px;
  font-size: 17px;
}

body.dcp-account-page .dcp-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: 14px 16px;
  margin-bottom: 14px;
}

body.dcp-account-page .dcp-field {
  min-width: 0;
  margin: 0 0 15px;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 7px;
  color: var(--dcp-ink);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.7;
}

body.dcp-account-page .dcp-field label,
body.dcp-account-page .dcp-field > span,
body.dcp-account-page label.dcp-field {
  color: var(--dcp-ink);
  font-size: 12px;
  font-weight: 700;
}

body.dcp-account-page .dcp-field small,
body.dcp-account-page .dcp-field > small {
  color: var(--dcp-muted);
  font-size: 10px;
  font-weight: 400;
  line-height: 1.8;
}

body.dcp-account-page .dcp-main input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
body.dcp-account-page .dcp-main select,
body.dcp-account-page .dcp-main textarea {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 43px;
  padding: 9px 12px;
  border: 1px solid #d9e3e4;
  border-radius: 9px;
  outline: none;
  background: #fbfdfd;
  color: var(--dcp-ink);
  font-family: inherit;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.65;
  box-shadow: none;
  transition: border-color .16s ease, background .16s ease, box-shadow .16s ease;
}

body.dcp-account-page .dcp-main textarea {
  min-height: 110px;
  resize: vertical;
}

body.dcp-account-page .dcp-main input:focus,
body.dcp-account-page .dcp-main select:focus,
body.dcp-account-page .dcp-main textarea:focus {
  border-color: #79b8b0;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(22,135,127,.10);
}

body.dcp-account-page .dcp-main input:disabled,
body.dcp-account-page .dcp-main select:disabled,
body.dcp-account-page .dcp-main textarea:disabled {
  background: #f0f3f3;
  color: #839198;
  cursor: not-allowed;
}

body.dcp-account-page .dcp-required { color: #bd625b; }

body.dcp-account-page .dcp-actions {
  margin-top: 18px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 9px;
}

body.dcp-account-page .dcp-save-state {
  color: var(--dcp-muted);
  font-size: 10px;
}

body.dcp-account-page .dcp-step-head {
  margin: 8px 0 19px;
  padding: 12px 14px;
  border: 1px solid var(--dcp-line);
  border-radius: 10px;
  background: #f8fbfa;
}

body.dcp-account-page .dcp-form-step {
  padding: 0 0 4px;
}

body.dcp-account-page .dcp-form-step h4 {
  margin: 0 0 15px;
  padding: 0 11px 0 0;
  border-right: 3px solid var(--dcp-teal);
  color: var(--dcp-navy);
  font-size: 14px;
}

body.dcp-account-page .dcp-progress {
  height: 8px;
  margin: 8px 0 10px;
  overflow: hidden;
  border-radius: 20px;
  background: #e6eeee;
}

body.dcp-account-page .dcp-progress span {
  border-radius: inherit;
  background: linear-gradient(90deg, #16877f, #52aaa1);
}

body.dcp-account-page .dcp-price-box {
  padding: 20px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 14px;
  background: linear-gradient(155deg, #172f43, #244b5a);
  color: #fff;
  box-shadow: 0 8px 22px rgba(23,47,67,.10);
}

body.dcp-account-page .dcp-price-box small,
body.dcp-account-page .dcp-price-box span {
  color: #d1e0e3;
  font-size: 11px;
}

body.dcp-account-page .dcp-price-box b {
  margin: 8px 0;
  display: block;
  color: #fff;
  font-size: 21px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

body.dcp-account-page .dcp-live-calc {
  margin: 14px 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}

body.dcp-account-page .dcp-live-calc > span {
  min-width: 0;
  padding: 10px 12px;
  display: grid;
  gap: 4px;
  border: 1px solid var(--dcp-line);
  border-radius: 9px;
  background: #f8fbfa;
}

body.dcp-account-page .dcp-live-calc small {
  color: var(--dcp-muted);
  font-size: 10px;
}

body.dcp-account-page .dcp-live-calc b {
  color: var(--dcp-navy);
  font-size: 13px;
  font-variant-numeric: tabular-nums;
}

body.dcp-account-page .dcp-repeatable,
body.dcp-account-page .dcp-repeat,
body.dcp-account-page .dcp-contract-terms {
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--dcp-line);
  border-radius: 11px;
  background: #fafcfc;
}

body.dcp-account-page .dcp-repeat-row,
body.dcp-account-page .dcp-nested-row,
body.dcp-account-page .dcp-contract-term-row {
  min-width: 0;
  margin-bottom: 10px;
  padding: 12px;
  display: grid;
  grid-template-columns: auto repeat(2, minmax(0, 1fr)) auto;
  align-items: end;
  gap: 10px;
  border: 1px solid #e2eaea;
  border-radius: 9px;
  background: #fff;
}

body.dcp-account-page .dcp-repeat-row label,
body.dcp-account-page .dcp-nested-row label {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 5px;
  color: var(--dcp-ink);
  font-size: 11px;
}

body.dcp-account-page .dcp-repeat-row label input,
body.dcp-account-page .dcp-repeat-row label textarea,
body.dcp-account-page .dcp-nested-row label input {
  min-height: 39px;
}

body.dcp-account-page .dcp-drag {
  padding: 8px 4px;
  color: #84969b;
  cursor: grab;
}

body.dcp-account-page .dcp-remove-row,
body.dcp-account-page .dcp-remove-nested,
body.dcp-account-page .dcp-remove-contract-term {
  min-height: 35px;
  padding: 6px 11px;
  border: 1px solid #efd7d5;
  border-radius: 8px;
  background: #fff7f6;
  color: #a6534d;
  font: inherit;
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
}

body.dcp-account-page .dcp-add-row,
body.dcp-account-page .dcp-add-nested,
body.dcp-account-page .dcp-add-contract-term {
  min-height: 36px;
  padding: 7px 12px;
  font-size: 11px;
}

body.dcp-account-page .dcp-contract-terms-help {
  margin: 5px 0 12px;
  color: var(--dcp-muted);
  font-size: 11px;
}

body.dcp-account-page .dcp-contract-term-row {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
}

body.dcp-account-page .dcp-contract-term-row textarea {
  min-height: 74px;
}

/* Wallet, payment, alerts and profile */
body.dcp-account-page .dcp-hero.compact {
  min-height: 132px;
  margin: 0 0 18px;
  padding: 22px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  border: 0;
  border-radius: 15px;
  background: linear-gradient(115deg, #172f43, #245366);
  color: #fff;
}

body.dcp-account-page .dcp-hero.compact h1,
body.dcp-account-page .dcp-hero.compact h2 {
  margin: 0;
  color: #fff;
  font-size: 20px;
}

body.dcp-account-page .dcp-hero.compact p,
body.dcp-account-page .dcp-hero.compact small {
  margin: 4px 0 0;
  color: #d0dfe3;
  font-size: 11px;
}

body.dcp-account-page .dcp-wallet-hero-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 10px;
}

body.dcp-account-page .dcp-wallet-hero-actions > strong {
  color: #fff;
  font-size: 23px;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}

body.dcp-account-page .dcp-wallet-add {
  border-color: rgba(255,255,255,.18) !important;
  background: var(--dcp-teal) !important;
  color: #fff !important;
}

body.dcp-account-page .dcp-topup {
  max-width: 620px;
  display: grid;
  gap: 12px;
}

body.dcp-account-page .dcp-topup label {
  color: var(--dcp-ink);
  font-size: 12px;
  font-weight: 700;
}

body.dcp-account-page .dcp-presets {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

body.dcp-account-page .dcp-presets button {
  min-height: 37px;
  padding: 7px 12px;
  border: 1px solid #d8e5e3;
  border-radius: 8px;
  background: #f4faf8;
  color: var(--dcp-teal-dark);
  font: inherit;
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
}

body.dcp-account-page .dcp-note {
  padding: 16px 17px;
  border: 1px solid #e7eeee;
  border-radius: 11px;
  background: #fff;
}

body.dcp-account-page .dcp-note + .dcp-note { margin-top: 9px; }
body.dcp-account-page .dcp-note b { color: var(--dcp-navy); font-size: 13px; }
body.dcp-account-page .dcp-note p { margin: 5px 0; color: #536773; font-size: 12px; }
body.dcp-account-page .dcp-note small { color: var(--dcp-muted); font-size: 10px; }

body.dcp-account-page .dcp-profile {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

body.dcp-account-page .dcp-profile > div {
  min-width: 0;
  padding: 15px;
  display: grid;
  gap: 5px;
  border: 1px solid var(--dcp-line);
  border-radius: 10px;
  background: #f8fbfa;
}

body.dcp-account-page .dcp-profile > div > span,
body.dcp-account-page .dcp-profile > div > small {
  color: var(--dcp-muted);
  font-size: 10px;
}

body.dcp-account-page .dcp-profile > div > b { color: var(--dcp-navy); font-size: 13px; }

body.dcp-account-page .dcp-success,
body.dcp-account-page .dcp-errors,
body.dcp-account-page .dcp-login,
body.dcp-account-page .dcp-module-disabled,
body.dcp-account-page .dcp-module-placeholder {
  margin: 0 0 16px;
  padding: 15px 17px;
  border: 1px solid var(--dcp-line);
  border-radius: 11px;
  font-size: 12px;
  line-height: 1.9;
}

body.dcp-account-page .dcp-success {
  border-color: #d5eade;
  background: #edf7f0;
  color: #28734f;
}

body.dcp-account-page .dcp-errors {
  border-color: #f0dedd;
  background: #fff4f3;
  color: #a6534d;
}

body.dcp-account-page .dcp-login,
body.dcp-account-page .dcp-module-disabled,
body.dcp-account-page .dcp-module-placeholder {
  border-color: #dce8e7;
  background: #f4f9f8;
  color: var(--dcp-ink);
}

/* Support tickets and conversations */
body.dcp-account-page .dcp-ticket-row {
  grid-template-columns: minmax(0, 1.3fr) minmax(130px, .8fr) auto;
}

body.dcp-account-page .dcp-ticket-row a {
  color: var(--dcp-navy);
  text-decoration: none;
}

body.dcp-account-page .dcp-ticket-row a:hover { color: var(--dcp-teal-dark); }

body.dcp-account-page .dcp-ticket-contract {
  margin: 14px 0;
  padding: 13px 15px;
  border: 1px solid #d6eae6;
  border-radius: 10px;
  background: var(--dcp-teal-pale);
  color: var(--dcp-teal-dark);
  font-size: 12px;
}

body.dcp-account-page .dcp-ticket-thread {
  margin: 18px 0;
  padding: 14px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  border: 1px solid var(--dcp-line);
  border-radius: 12px;
  background: #f8fbfa;
}

body.dcp-account-page .dcp-ticket-message {
  width: min(88%, 760px);
  padding: 14px 16px;
  border: 1px solid #e0e9e8;
  border-radius: 11px;
  background: #fff;
  box-shadow: 0 3px 10px rgba(23,47,67,.025);
}

body.dcp-account-page .dcp-ticket-message.customer { align-self: flex-start; }
body.dcp-account-page .dcp-ticket-message.staff {
  align-self: flex-end;
  border-color: #d5eae5;
  background: #edf7f4;
}

body.dcp-account-page .dcp-ticket-message > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px;
}

body.dcp-account-page .dcp-ticket-message strong { color: var(--dcp-navy); font-size: 12px; }
body.dcp-account-page .dcp-ticket-message small { color: var(--dcp-muted); font-size: 10px; }
body.dcp-account-page .dcp-ticket-message p { margin: 9px 0 0; color: #405560; font-size: 12px; white-space: normal; overflow-wrap: anywhere; }

/* Paid preview and PDF frame */
body.dcp-account-page .dcp-paid-top {
  margin-bottom: 16px;
  padding: 16px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  border: 1px solid #d6eae6;
  border-radius: 12px;
  background: #f0f8f6;
}

body.dcp-account-page .dcp-paid-intro h3 { margin: 0 0 5px; font-size: 15px; }
body.dcp-account-page .dcp-paid-intro p { margin: 0; color: #526875; font-size: 11px; }
body.dcp-account-page .dcp-paid-action form { margin: 0; }
body.dcp-account-page .dcp-paid-preview-frame {
  width: 100%;
  min-height: 760px;
  display: block;
  border: 1px solid var(--dcp-line);
  border-radius: 10px;
  background: #fff;
}

/* Profit calculator and saved-project pages */
body.dcp-account-page .dcp-profit-library-head,
body.dcp-account-page .dcp-profit-workspace-toolbar,
body.dcp-account-page .dcp-profit-workspace-title,
body.dcp-account-page .dcp-profit-result-header,
body.dcp-account-page .dcp-profit-flow-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
}

body.dcp-account-page .dcp-profit-library-head {
  margin: 0 0 20px;
  padding: 17px 18px;
  border: 1px solid #d6eae6;
  border-radius: 12px;
  background: #f0f8f6;
}

body.dcp-account-page .dcp-profit-library-head h2,
body.dcp-account-page .dcp-profit-library-head h3 { margin: 0 0 4px; font-size: 17px; }
body.dcp-account-page .dcp-profit-library-head p { margin: 0; color: var(--dcp-muted); font-size: 11px; }
body.dcp-account-page .dcp-profit-library-subtitle { margin: 24px 0 12px; font-size: 16px; }
body.dcp-account-page .dcp-profit-product-grid { margin: 14px 0 22px; }
body.dcp-account-page .dcp-profit-product { min-height: 220px; }
body.dcp-account-page .dcp-profit-product > small { color: var(--dcp-muted); font-size: 10px; }
body.dcp-account-page .dcp-profit-table-scroll { margin: 12px 0 18px; }

body.dcp-account-page .dcp-profit-workspace {
  padding: 20px;
  border: 1px solid var(--dcp-line);
  border-radius: 15px;
  background: #fff;
}

body.dcp-account-page .dcp-profit-workspace-title h2,
body.dcp-account-page .dcp-profit-workspace-title h3 { margin: 0; }
body.dcp-account-page .dcp-profit-workspace-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
body.dcp-account-page .dcp-profit-inputs,
body.dcp-account-page .dcp-profit-results { margin: 0 0 17px; padding: 20px; }
body.dcp-account-page .dcp-profit-result-header { margin: 0 0 14px; }
body.dcp-account-page .dcp-profit-result-header h3 { margin: 0; font-size: 16px; }
body.dcp-account-page .dcp-profit-result-header span { color: var(--dcp-teal-dark); font-size: 11px; }

body.dcp-account-page .dcp-profit-inputs .dcp-profit-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: 13px;
}

body.dcp-account-page .dcp-profit-inputs .dcp-profit-field {
  min-width: 0;
  min-height: 100%;
  padding: 14px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  border: 1px solid #e1e9e8;
  border-radius: 11px;
  background: #fbfdfc;
}

body.dcp-account-page .dcp-profit-inputs .dcp-profit-field > label {
  min-height: 0;
  margin: 0;
  color: var(--dcp-navy);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.8;
}

body.dcp-account-page .dcp-profit-inputs .dcp-profit-field-row {
  min-width: 0;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

body.dcp-account-page .dcp-profit-inputs .dcp-profit-field-row > input,
body.dcp-account-page .dcp-profit-inputs .dcp-profit-field-row > select {
  min-width: 0;
  min-height: 42px;
  flex: 1 1 150px;
  border-color: #d9e3e4;
  border-radius: 8px;
  background: #fff;
}

body.dcp-account-page .dcp-profit-inputs .dcp-profit-unit { color: var(--dcp-muted); font-size: 10px; }
body.dcp-account-page .dcp-profit-inputs .dcp-profit-group-title {
  margin: 7px 0 1px;
  padding: 9px 12px;
  border-right: 3px solid var(--dcp-teal);
  border-radius: 7px;
  background: #eff7f5;
  color: var(--dcp-navy);
  font-size: 12px;
  font-weight: 800;
}

body.dcp-account-page .dcp-profit-results .dcp-profit-output {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: 12px;
}

body.dcp-account-page .dcp-profit-results .dcp-profit-result {
  min-width: 0;
  min-height: 130px;
  margin: 0;
  padding: 15px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  border: 1px solid #dce9e6;
  border-radius: 11px;
  background: #f7fbfa;
}

body.dcp-account-page .dcp-profit-results .dcp-profit-result h4 {
  margin: 0;
  color: var(--dcp-navy);
  font-size: 12px;
}

body.dcp-account-page .dcp-profit-result-number strong {
  color: var(--dcp-teal-dark);
  font-size: clamp(16px, 1.5vw, 22px);
  font-weight: 800;
}

body.dcp-account-page .dcp-profit-description { color: #60727b; font-size: 10px; line-height: 1.8; }
body.dcp-account-page .dcp-profit-error { color: #a6534d; font-size: 10px; }
body.dcp-account-page .dcp-profit-actions { margin-top: 16px; display: flex; flex-wrap: wrap; gap: 9px; }
body.dcp-account-page .dcp-profit-chart { margin-top: 18px; }
body.dcp-account-page .dcp-profit-chart-row { margin: 9px 0; }
body.dcp-account-page .dcp-profit-chart-track { border-radius: 20px; background: #edf2f1; }
body.dcp-account-page .dcp-profit-chart-bar { border-radius: 20px; background: var(--dcp-teal); }

body.dcp-account-page .dcp-profit-flow {
  margin: 0 0 16px;
  padding: 17px;
  border: 1px solid var(--dcp-line);
  border-radius: 12px;
  background: #f8fbfa;
}

body.dcp-account-page .dcp-profit-flow-head h3 { margin: 0; font-size: 15px; }
body.dcp-account-page .dcp-profit-mode-switch { display: flex; gap: 5px; padding: 4px; border: 1px solid var(--dcp-line); border-radius: 9px; background: #fff; }
body.dcp-account-page .dcp-profit-mode-switch button { min-height: 34px; padding: 6px 11px; border: 0; border-radius: 7px; background: transparent; color: var(--dcp-muted); font: inherit; font-size: 10px; cursor: pointer; }
body.dcp-account-page .dcp-profit-mode-switch button.active,
body.dcp-account-page .dcp-profit-mode-switch button[aria-pressed="true"] { background: var(--dcp-teal-pale); color: var(--dcp-teal-dark); font-weight: 800; }
body.dcp-account-page .dcp-profit-step-nav { display: flex; gap: 8px; overflow-x: auto; }
body.dcp-account-page .dcp-profit-step-item { border-color: var(--dcp-line); border-radius: 9px; background: #fff; }
body.dcp-account-page .dcp-profit-step-item.is-current { border-color: #8bc4bc; background: var(--dcp-teal-pale); color: var(--dcp-teal-dark); }
body.dcp-account-page .dcp-profit-step-item.is-current .dcp-profit-step-number { background: var(--dcp-teal); color: #fff; }
body.dcp-account-page .dcp-profit-step-item.is-complete { border-color: #cfe6dc; color: #28734f; }
body.dcp-account-page .dcp-profit-step-next.dcp-primary { background: var(--dcp-teal); }
body.dcp-account-page .dcp-profit-scenarios { margin-top: 24px; padding-top: 20px; border-top-color: var(--dcp-line); }
body.dcp-account-page .dcp-profit-scenarios-head h3 { margin: 0 0 6px; font-size: 16px; }
body.dcp-account-page .dcp-profit-scenarios-head p { color: var(--dcp-muted); font-size: 11px; }
body.dcp-account-page .dcp-profit-scenario-live { background: var(--dcp-teal-pale); color: var(--dcp-teal-dark); }
body.dcp-account-page .dcp-profit-scenario-controls label { border-color: var(--dcp-line); border-radius: 9px; background: #fbfdfc; color: #536773; }
body.dcp-account-page .dcp-profit-scenario-controls input { min-height: 40px; border-color: #d9e3e4; border-radius: 8px; }
body.dcp-account-page .dcp-profit-scenario-assumption { border-color: var(--dcp-line); border-radius: 9px; background: #f8fbfa; }
body.dcp-account-page .dcp-profit-scenario-assumption strong { color: var(--dcp-navy); }
body.dcp-account-page .dcp-profit-scenario-table thead th { background: #f0f5f4; color: #526875; }
body.dcp-account-page .dcp-profit-scenario-table .scenario-optimistic { background: #f0f8f3; }
body.dcp-account-page .dcp-profit-scenario-table .scenario-realistic { background: #f3f8f7; }
body.dcp-account-page .dcp-profit-scenario-table .scenario-pessimistic { background: #fbf4eb; }
body.dcp-account-page .dcp-profit-scenario-note { background: #f5f8f7; color: var(--dcp-muted); }
body.dcp-account-page .dcp-profit-scenario-assessment.is-resilient { border-inline-start-color: #39845d; background: #f3faf5; }
body.dcp-account-page .dcp-profit-scenario-assessment.is-sensitive { border-inline-start-color: var(--dcp-gold); background: #fffaf0; }

/* Authentication card when the shortcode is shown without a session */
body.dcp-account-page .dcp-auth-card {
  width: min(460px, calc(100% - 24px));
  max-width: 460px;
  margin: auto;
  padding: 34px;
  border: 1px solid var(--dcp-line);
  border-radius: 18px;
  background: #fff;
  box-shadow: var(--dcp-shadow);
}

body.dcp-account-page .dcp-auth-card h2 { margin: 0 0 8px; color: var(--dcp-navy); font-size: 21px; }
body.dcp-account-page .dcp-auth-card p { color: var(--dcp-muted); font-size: 12px; }
body.dcp-account-page .dcp-auth-card input { min-height: 45px; border-radius: 9px; }
body.dcp-account-page .dcp-auth-card button { min-height: 43px; border-radius: 9px; background: var(--dcp-teal); color: #fff; font: inherit; font-size: 12px; font-weight: 700; }

/* Responsive layout */
@media (max-width: 1180px) {
  body.dcp-account-page .dcp-main { padding: 26px 24px 32px; }
  body.dcp-account-page .dcp-side { padding-inline: 15px; }
  body.dcp-account-page .dcp-shell { grid-template-columns: 250px minmax(0, 1fr); }
  body.dcp-account-page .dcp-dash-modules,
  body.dcp-account-page .dcp-catalog,
  body.dcp-account-page .dcp-profit-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.dcp-account-page .dcp-profit-results .dcp-profit-output { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  body.dcp-account-page .dcp-account-viewport { padding: 14px; }
  body.dcp-account-page .dcp-shell {
    display: grid;
    width: 100%;
    min-height: 100vh;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto 1fr;
    border-radius: 16px;
  }
  body.dcp-account-page .dcp-side {
    grid-column: 1;
    grid-row: 1;
    padding: 15px 18px 13px;
    gap: 10px;
  }
  body.dcp-account-page .dcp-brand { min-height: 38px; margin: 0 0 4px; font-size: 17px; }
  body.dcp-account-page .dcp-brand > span { width: 34px; height: 34px; flex-basis: 34px; }
  body.dcp-account-page .dcp-side nav {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 5px;
  }
  body.dcp-account-page .dcp-side nav > a,
  body.dcp-account-page .dcp-nav-group > a {
    min-height: 39px;
    padding: 8px 9px;
    justify-content: center;
    text-align: center;
    font-size: 11px;
  }
  body.dcp-account-page .dcp-nav-sub { margin: 0 4px 4px; padding-right: 5px; }
  body.dcp-account-page .dcp-nav-sub a { min-height: 31px; padding: 6px 7px; font-size: 10px; }
  body.dcp-account-page .dcp-help { display: none; }
  body.dcp-account-page .dcp-account-logout { max-width: 130px; }
  body.dcp-account-page .dcp-main {
    grid-column: 1;
    grid-row: 2;
    padding: 24px 22px 30px;
  }
  body.dcp-account-page .dcp-form-wrap { grid-template-columns: minmax(0, 1fr); }
  body.dcp-account-page .dcp-price-box { order: -1; }
}

@media (max-width: 680px) {
  body.dcp-account-page .dcp-account-viewport { padding: 0; }
  body.dcp-account-page .dcp-shell { min-height: 100vh; border: 0; border-radius: 0; box-shadow: none; }
  body.dcp-account-page .dcp-side { padding: 13px 13px 11px; }
  body.dcp-account-page .dcp-side nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.dcp-account-page .dcp-main { padding: 19px 14px 26px; }
  body.dcp-account-page .dcp-main > header { min-height: 54px; margin-bottom: 17px; padding-bottom: 13px; }
  body.dcp-account-page .dcp-main > header h2 { font-size: 18px; }
  body.dcp-account-page .dcp-main > header small { font-size: 10px; }
  body.dcp-account-page .dcp-user { gap: 7px; font-size: 11px; }
  body.dcp-account-page .dcp-user .avatar { width: 36px; height: 36px; flex-basis: 36px; }
  body.dcp-account-page .dcp-dash-welcome { min-height: 0; padding: 19px; align-items: flex-start; flex-direction: column; gap: 14px; }
  body.dcp-account-page .dcp-dash-welcome h1 { font-size: 20px; }
  body.dcp-account-page .dcp-dash-welcome .dcp-primary { width: 100%; }
  body.dcp-account-page .dcp-dash-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
  body.dcp-account-page .dcp-dash-metric { min-height: 100px; padding: 13px; }
  body.dcp-account-page .dcp-dash-metric strong { font-size: 23px; }
  body.dcp-account-page .dcp-dash-wallet { align-items: flex-start; flex-direction: column; }
  body.dcp-account-page .dcp-dash-wallet > div:last-child { width: 100%; }
  body.dcp-account-page .dcp-dash-wallet > div:last-child a { flex: 1 1 auto; }
  body.dcp-account-page .dcp-dash-modules,
  body.dcp-account-page .dcp-catalog,
  body.dcp-account-page .dcp-profit-product-grid,
  body.dcp-account-page .dcp-columns,
  body.dcp-account-page .dcp-form-grid,
  body.dcp-account-page .dcp-profile,
  body.dcp-account-page .dcp-profit-inputs .dcp-profit-fields,
  body.dcp-account-page .dcp-profit-results .dcp-profit-output,
  body.dcp-account-page .dcp-profit-scenario-controls,
  body.dcp-account-page .dcp-profit-scenario-assumptions {
    grid-template-columns: minmax(0, 1fr);
  }
  body.dcp-account-page .dcp-list-row,
  body.dcp-account-page .dcp-ticket-row {
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    gap: 9px;
  }
  body.dcp-account-page .dcp-row-actions { justify-content: flex-start; }
  body.dcp-account-page .dcp-box,
  body.dcp-account-page .dcp-form-card,
  body.dcp-account-page .dcp-review-card { padding: 16px; }
  body.dcp-account-page .dcp-paid-top { align-items: stretch; flex-direction: column; }
  body.dcp-account-page .dcp-paid-action .dcp-primary { width: 100%; }
  body.dcp-account-page .dcp-paid-preview-frame { min-height: 560px; }
  body.dcp-account-page .dcp-ticket-message { width: 100%; }
  body.dcp-account-page .dcp-repeat-row,
  body.dcp-account-page .dcp-nested-row { grid-template-columns: minmax(0, 1fr); }
  body.dcp-account-page .dcp-contract-term-row { grid-template-columns: minmax(0, 1fr); }
  body.dcp-account-page .dcp-actions > button,
  body.dcp-account-page .dcp-actions > a { flex: 1 1 auto; }
  body.dcp-account-page .dcp-wallet-hero-actions { justify-content: flex-start; }
  body.dcp-account-page .dcp-wallet-hero-actions > strong { width: 100%; font-size: 20px; }
  body.dcp-account-page .dcp-profit-library-head { align-items: stretch; flex-direction: column; }
  body.dcp-account-page .dcp-profit-library-head > a { width: 100%; }
  body.dcp-account-page .dcp-profit-workspace,
  body.dcp-account-page .dcp-profit-inputs,
  body.dcp-account-page .dcp-profit-results { padding: 14px; }
}

@media (max-width: 390px) {
  body.dcp-account-page .dcp-main { padding-inline: 11px; }
  body.dcp-account-page .dcp-main > header h2 { font-size: 16px; }
  body.dcp-account-page .dcp-user > span { display: none; }
  body.dcp-account-page .dcp-side nav > a,
  body.dcp-account-page .dcp-nav-group > a { font-size: 10px; padding-inline: 6px; }
  body.dcp-account-page .dcp-dash-metric strong { font-size: 21px; }
  body.dcp-account-page .dcp-box,
  body.dcp-account-page .dcp-form-card,
  body.dcp-account-page .dcp-review-card { padding: 13px; }
}

/* ========================================================================
   v1.0.158 — Construction-profit spacing, contrast and notifications table
   ======================================================================== */
body.dcp-account-page .dcp-main .dcp-profit-notice {
  margin: 0 0 12px;
  padding: 10px 14px;
  border: 1px solid #ead9ad;
  border-radius: 9px;
  background: #fff8e8;
  color: #76551f;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.8;
}

body.dcp-account-page .dcp-profit-flow {
  position: relative;
  top: auto;
  z-index: 1;
  margin: 0 0 12px;
  padding: 13px 15px;
  border-color: #dce7e5;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 3px 12px rgba(23, 47, 67, .035);
}

body.dcp-account-page .dcp-profit-flow-head strong,
body.dcp-account-page .dcp-profit-wizard-top strong {
  color: #203746;
}

body.dcp-account-page .dcp-profit-flow-head p,
body.dcp-account-page .dcp-profit-wizard-top small {
  color: #586d78;
}

body.dcp-account-page .dcp-profit-wizard {
  margin-top: 11px;
  padding-top: 11px;
}

body.dcp-account-page .dcp-profit-workspace {
  margin-bottom: 12px;
  padding: 15px 16px;
  border-color: #dce6e5;
  border-radius: 12px;
}

body.dcp-account-page .dcp-profit-workspace-toolbar {
  align-items: center;
  gap: 10px 13px;
}

body.dcp-account-page .dcp-profit-workspace-title {
  gap: 5px;
  color: #2c414d;
  font-size: 12px;
}

body.dcp-account-page .dcp-profit-workspace-title input {
  min-height: 40px;
  padding: 8px 11px;
  border: 1px solid #cbd9dc;
  border-radius: 8px;
  background: #fff;
  color: #243746;
  font: inherit;
  font-size: 13px;
}

body.dcp-account-page .dcp-profit-workspace-title input:focus,
body.dcp-account-page .dcp-profit-inputs input:focus,
body.dcp-account-page .dcp-profit-inputs select:focus,
body.dcp-account-page .dcp-repeat-card input:focus,
body.dcp-account-page .dcp-repeat-card select:focus {
  outline: 0;
  border-color: #16877f;
  box-shadow: 0 0 0 3px rgba(22, 135, 127, .12);
}

body.dcp-account-page .dcp-profit-workspace-actions {
  align-items: center;
  gap: 8px;
}

body.dcp-account-page .dcp-profit-workspace-actions .dcp-primary,
body.dcp-account-page .dcp-profit-actions .dcp-primary,
body.dcp-account-page .dcp-profit-step-next,
body.dcp-account-page .dcp-profit-inputs .dcp-repeat-add {
  min-height: 39px;
  padding: 8px 13px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  border-radius: 8px;
  background: #16877f;
  color: #fff !important;
  font-family: inherit;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.45;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: none;
}

body.dcp-account-page .dcp-profit-workspace-actions .dcp-primary:hover,
body.dcp-account-page .dcp-profit-actions .dcp-primary:hover,
body.dcp-account-page .dcp-profit-step-next:hover,
body.dcp-account-page .dcp-profit-inputs .dcp-repeat-add:hover {
  background: #116e68;
  color: #fff !important;
}

body.dcp-account-page .dcp-profit-inputs,
body.dcp-account-page .dcp-profit-results {
  margin-bottom: 12px;
  padding: 16px;
  border-color: #dce6e5;
  border-radius: 12px;
  background: #fff;
}

body.dcp-account-page .dcp-profit-inputs > h3,
body.dcp-account-page .dcp-profit-results .dcp-profit-result-header h3 {
  margin: 0 0 12px;
  color: #203746;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.65;
}

body.dcp-account-page .dcp-profit-inputs .dcp-profit-fields {
  gap: 10px;
  align-items: start;
}

body.dcp-account-page .dcp-profit-inputs .dcp-profit-field {
  height: auto;
  min-height: 0;
  align-self: start;
  padding: 11px 12px;
  gap: 6px;
  border-color: #dce6e5;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 2px 7px rgba(23, 47, 67, .025);
}

body.dcp-account-page .dcp-profit-inputs .dcp-profit-field-group {
  min-height: 29px;
  margin: 0 0 2px;
  padding: 5px 10px;
  border-right: 3px solid #16877f;
  border-radius: 6px;
  background: #e8f4f1;
  color: #28534f;
  font-size: 12px;
  font-weight: 750;
  line-height: 1.55;
}

body.dcp-account-page .dcp-profit-inputs .dcp-profit-field > label {
  color: #263f4c;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.75;
}

body.dcp-account-page .dcp-profit-inputs .dcp-profit-field-row {
  flex: 0 0 auto;
  gap: 7px;
}

body.dcp-account-page .dcp-profit-inputs .dcp-profit-field-row > input,
body.dcp-account-page .dcp-profit-inputs .dcp-profit-field-row > select {
  min-height: 40px;
  padding: 8px 11px;
  border: 1px solid #cbd9dc;
  border-radius: 8px;
  background: #fff;
  color: #243746;
  font-family: inherit;
  font-size: 13px;
  line-height: 1.5;
}

body.dcp-account-page .dcp-profit-inputs .dcp-profit-field-row > input::placeholder {
  color: #87969c;
  opacity: 1;
}

body.dcp-account-page .dcp-profit-inputs .dcp-profit-unit {
  color: #526873;
  font-size: 11px;
  font-weight: 500;
}

body.dcp-account-page .dcp-profit-inputs .dcp-profit-help summary {
  color: #245b78;
  font-size: 11px;
  font-weight: 700;
}

body.dcp-account-page .dcp-profit-inputs .dcp-repeat {
  padding: 10px;
  border-color: #d9e4e4;
  border-radius: 9px;
  background: #f8fbfa;
}

body.dcp-account-page .dcp-profit-inputs .dcp-repeat-rows {
  gap: 9px;
  margin-bottom: 9px;
}

body.dcp-account-page .dcp-profit-inputs .dcp-repeat-card {
  min-height: 0;
  margin: 0;
  padding: 11px;
  gap: 8px 10px;
  align-content: start;
  align-items: start;
  border-color: #d9e4e4;
  border-radius: 9px;
  background: #fff;
}

body.dcp-account-page .dcp-profit-inputs .dcp-repeat-card > strong {
  padding-bottom: 6px;
  color: #203d4d;
  font-size: 12px;
  line-height: 1.5;
}

body.dcp-account-page .dcp-profit-inputs .dcp-repeat-card label {
  gap: 5px;
  color: #334b57;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.65;
}

body.dcp-account-page .dcp-profit-inputs .dcp-repeat-card input,
body.dcp-account-page .dcp-profit-inputs .dcp-repeat-card select {
  height: 39px;
  min-height: 39px;
  padding: 7px 10px;
  border-color: #cbd9dc;
  border-radius: 8px;
  background: #fff;
  color: #243746;
  font-family: inherit;
  font-size: 13px;
}

body.dcp-account-page .dcp-profit-inputs .dcp-repeat-card label small {
  color: #617680;
  font-size: 10px;
}

body.dcp-account-page .dcp-profit-inputs .dcp-repeat-card .dcp-repeat-remove {
  min-height: 33px;
  height: auto;
  padding: 6px 12px;
  border-radius: 7px;
  font-size: 11px;
}

body.dcp-account-page .dcp-profit-inputs .dcp-repeat-add {
  margin-top: 1px;
}

body.dcp-account-page .dcp-profit-layout-text {
  padding: 12px 14px;
  border-color: #d7e5e2;
  border-right-color: #16877f;
  background: #f1f8f6;
  color: #304b55;
  font-size: 12px;
  line-height: 1.8;
}

body.dcp-account-page .dcp-profit-results .dcp-profit-result {
  min-height: 112px;
  padding: 13px;
  border-color: #dce7e5;
  background: #f8fbfa;
}

body.dcp-account-page .dcp-profit-description {
  color: #526873;
  font-size: 11px;
}

body.dcp-account-page .dcp-profit-scenarios {
  margin-top: 18px;
  padding-top: 16px;
}

/* Notifications: one notification per table row. */
body.dcp-account-page .dcp-notifications-box {
  padding: 19px;
}

body.dcp-account-page .dcp-notifications-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 9px;
  margin-bottom: 13px;
}

body.dcp-account-page .dcp-notifications-head h3 {
  margin: 0;
  color: #203746;
  font-size: 17px;
  font-weight: 800;
}

body.dcp-account-page .dcp-notifications-head > span {
  padding: 5px 10px;
  border-radius: 20px;
  background: #edf4f2;
  color: #45645f;
  font-size: 11px;
  font-weight: 700;
}

body.dcp-account-page .dcp-notifications-table-wrap {
  overflow-x: auto;
}

body.dcp-account-page .dcp-notifications-table {
  min-width: 790px;
  table-layout: fixed;
}

body.dcp-account-page .dcp-notifications-table th,
body.dcp-account-page .dcp-notifications-table td {
  padding: 11px 12px;
}

body.dcp-account-page .dcp-notifications-table thead th {
  background: #edf4f2;
  color: #354f59;
  font-size: 12px;
}

body.dcp-account-page .dcp-notifications-table tbody tr.is-unread {
  background: #f5faf8;
}

body.dcp-account-page .dcp-notifications-table tbody tr:hover {
  background: #eef6f3;
}

body.dcp-account-page .dcp-notifications-table .dcp-notification-title {
  color: #203d4d;
  font-weight: 750;
  overflow-wrap: anywhere;
}

body.dcp-account-page .dcp-notifications-table .dcp-notification-message {
  color: #405762;
  font-size: 12px;
  line-height: 1.8;
  white-space: normal;
  overflow-wrap: anywhere;
}

body.dcp-account-page .dcp-notifications-table .dcp-notification-date {
  color: #5d7079;
  direction: ltr;
  text-align: right;
  white-space: nowrap;
  font-size: 11px;
  font-variant-numeric: tabular-nums;
}

body.dcp-account-page .dcp-notification-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 27px;
  padding: 4px 9px;
  border-radius: 20px;
  font-size: 10px;
  font-weight: 750;
  white-space: nowrap;
}

body.dcp-account-page .dcp-notification-status.is-unread {
  background: #e4f3ed;
  color: #23684e;
}

body.dcp-account-page .dcp-notification-status.is-read {
  background: #edf1f3;
  color: #5c6b73;
}

body.dcp-account-page .dcp-notifications-empty {
  padding: 28px 14px;
  border: 1px dashed #cddbd9;
  border-radius: 10px;
  background: #f8fbfa;
  color: #5d7079;
  text-align: center;
  font-size: 13px;
}

@media (max-width: 700px) {
  body.dcp-account-page .dcp-profit-flow { padding: 12px; }
  body.dcp-account-page .dcp-profit-workspace { padding: 13px; }
  body.dcp-account-page .dcp-profit-workspace-actions { width: 100%; }
  body.dcp-account-page .dcp-profit-workspace-actions .dcp-primary { flex: 1 1 100%; }
  body.dcp-account-page .dcp-profit-inputs,
  body.dcp-account-page .dcp-profit-results { padding: 13px; }
  body.dcp-account-page .dcp-profit-inputs .dcp-repeat-card { grid-template-columns: minmax(0, 1fr); }
  body.dcp-account-page .dcp-notifications-box { padding: 14px; }
}


/* ========================================================================
   v1.0.164 — refreshed standalone customer portal
   ======================================================================== */
html:has(body.dcp-account-page) {
  min-height: 100%;
  margin: 0 !important;
  background: #edf3f2 !important;
}
body.dcp-account-page {
  width: 100% !important;
  max-width: none !important;
  min-width: 320px;
  min-height: 100vh;
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: hidden;
  background: #edf3f2 !important;
  color: #263e4b !important;
  direction: rtl;
  font-family: Tahoma, "Segoe UI", Arial, sans-serif !important;
  font-size: 13px;
  line-height: 1.8;
  letter-spacing: normal !important;
}
body.dcp-account-page *,
body.dcp-account-page *::before,
body.dcp-account-page *::after { box-sizing: border-box; }
body.dcp-account-page #wpadminbar { display: none !important; }
html:has(body.dcp-account-page) { margin-top: 0 !important; }
body.dcp-account-page .dcp-account-viewport {
  display: flex;
  align-items: stretch;
  justify-content: center;
  width: 100%;
  max-width: 1760px;
  min-height: 100vh;
  margin: 0 auto;
  padding: 20px;
  background: transparent;
}
body.dcp-account-page .dcp-account-viewport > .dcp-shell {
  display: grid;
  grid-template-columns: 258px minmax(0,1fr) !important;
  grid-template-rows: minmax(0,auto);
  align-items: stretch;
  width: 100%;
  max-width: 1720px;
  min-width: 0;
  min-height: calc(100vh - 40px);
  margin: 0 auto;
  overflow: hidden;
  border: 1px solid #dce7e5;
  border-radius: 19px;
  background: #f7faf9;
  box-shadow: 0 12px 38px rgba(27,58,68,.08);
}
body.dcp-account-page .dcp-shell { font-family: inherit; }
body.dcp-account-page .dcp-side {
  grid-column: 1 !important;
  grid-row: 1 !important;
  align-self: stretch;
  width: auto;
  min-width: 0;
  min-height: 100%;
  padding: 24px 16px 18px;
  border: 0;
  border-inline-start: 1px solid rgba(255,255,255,.07);
  background: linear-gradient(165deg,#173b4a 0%,#143441 62%,#102c39 100%);
}
body.dcp-account-page .dcp-brand {
  min-width: 0;
  min-height: 48px;
  margin: 0 4px 19px;
  color: #fff;
  font-size: 18px;
  font-weight: 800;
  line-height: 1.6;
}
body.dcp-account-page .dcp-brand img,
body.dcp-account-page .dcp-brand .custom-logo {
  max-width: 43px;
  max-height: 43px;
}
body.dcp-account-page .dcp-side nav { gap: 6px; }
body.dcp-account-page .dcp-side nav > a,
body.dcp-account-page .dcp-nav-group > a {
  min-height: 41px;
  padding: 9px 11px;
  border-radius: 9px;
  color: #dce9eb;
  font-size: 12.5px;
  line-height: 1.65;
}
body.dcp-account-page .dcp-side nav > a:hover,
body.dcp-account-page .dcp-nav-group > a:hover {
  background: rgba(255,255,255,.09);
  color: #fff;
}
body.dcp-account-page .dcp-side nav > a.active,
body.dcp-account-page .dcp-nav-group > a.active {
  border-inline-start: 3px solid #75cbbd;
  background: #205467;
  color: #fff;
  box-shadow: 0 4px 12px rgba(0,0,0,.12);
}
body.dcp-account-page .dcp-nav-sub {
  margin-inline-start: 8px;
  padding-inline-start: 9px;
  border-inline-start: 1px solid rgba(221,239,239,.23);
  border-right: 0;
}
body.dcp-account-page .dcp-nav-sub a {
  min-height: 33px;
  color: #c4d5d9;
}
body.dcp-account-page .dcp-help {
  margin-top: auto;
  border-color: rgba(255,255,255,.1);
  border-radius: 12px;
  background: rgba(255,255,255,.07);
}
body.dcp-account-page .dcp-support-call {
  background: #16877f;
  color: #fff !important;
}
body.dcp-account-page .dcp-account-logout { margin-top: 13px; }
body.dcp-account-page .dcp-account-logout button {
  min-height: 39px;
  border-color: rgba(255,255,255,.15);
  border-radius: 9px;
  background: rgba(255,255,255,.055);
  color: #e8eff2;
  font: inherit;
  font-size: 12px;
  font-weight: 700;
}
body.dcp-account-page .dcp-account-logout button:hover {
  border-color: rgba(255,255,255,.25);
  background: rgba(255,255,255,.12);
}
body.dcp-account-page .dcp-main {
  grid-column: 2 !important;
  grid-row: 1 !important;
  min-width: 0;
  min-height: 100%;
  padding: clamp(20px,2.3vw,34px);
  background: #f7faf9;
  color: #263e4b;
}
body.dcp-account-page .dcp-main > header {
  min-height: 66px;
  margin: 0 0 21px;
  padding: 13px 17px;
  border: 1px solid #dce7e5;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 2px 10px rgba(27,58,68,.025);
}
body.dcp-account-page .dcp-main > header h2 {
  color: #183b4a;
  font-size: clamp(18px,1.6vw,22px);
  font-weight: 800;
  line-height: 1.6;
}
body.dcp-account-page .dcp-main > header small {
  color: #687e85;
  font-size: 11.5px;
}
body.dcp-account-page .dcp-user { color: #2d4650; }
body.dcp-account-page .dcp-user .avatar {
  border: 1px solid #d3e7e3;
  border-radius: 11px;
  background: #e7f4f1;
  color: #176b63;
  box-shadow: none;
}
body.dcp-account-page .dcp-main > * { min-width: 0; }
body.dcp-account-page .dcp-main :is(.dcp-box,.dcp-form-card,.dcp-review-card,
  .dcp-contract-card,.dcp-dash-module,.dcp-dash-metric,.stat) {
  border-color: #dce7e5;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 3px 13px rgba(27,58,68,.035);
}
body.dcp-account-page .dcp-main .dcp-box {
  margin-bottom: 15px;
}
body.dcp-account-page .dcp-main :is(h1,h2,h3,h4) {
  color: #1b4050;
  font-family: inherit;
  letter-spacing: normal;
  overflow-wrap: anywhere;
}
body.dcp-account-page .dcp-main p { color: #526b74; }
body.dcp-account-page .dcp-main :is(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
  select,textarea) {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 41px;
  padding: 8px 11px;
  border: 1px solid #bdcfd4;
  border-radius: 9px;
  background: #fff;
  color: #263e4b;
  font-family: inherit;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.6;
  box-shadow: none;
}
body.dcp-account-page .dcp-main textarea {
  min-height: 96px;
  padding: 10px 12px;
  resize: vertical;
}
body.dcp-account-page .dcp-main :is(input,select,textarea):focus-visible {
  border-color: #16877f;
  outline: 2px solid rgba(22,135,127,.14);
  outline-offset: 1px;
  background: #fff;
  box-shadow: none;
}
body.dcp-account-page .dcp-main input[type="checkbox"],
body.dcp-account-page .dcp-main input[type="radio"] {
  width: 17px;
  min-width: 17px;
  min-height: 17px;
  height: 17px;
  margin: 0;
  accent-color: #16877f;
}
body.dcp-account-page .dcp-main :is(.dcp-primary,.dcp-secondary,.dcp-support-call,.dcp-wallet-add) {
  min-height: 39px;
  padding: 8px 14px;
  border-radius: 9px;
  font-family: inherit;
  font-size: 12.5px;
  font-weight: 750;
}
body.dcp-account-page .dcp-main .dcp-primary,
body.dcp-account-page .dcp-main button.dcp-primary {
  border: 1px solid #16877f;
  background: #16877f;
  color: #fff !important;
}
body.dcp-account-page .dcp-main .dcp-primary:hover,
body.dcp-account-page .dcp-main button.dcp-primary:hover {
  background: #116e68;
  border-color: #116e68;
}
body.dcp-account-page .dcp-main .dcp-secondary {
  border: 1px solid #cbdcda;
  background: #fff;
  color: #31515a;
}
body.dcp-account-page .dcp-main .dcp-table-wrap,
body.dcp-account-page .dcp-main .dcp-profit-table-scroll,
body.dcp-account-page .dcp-main .dcp-notifications-table-wrap {
  max-width: 100%;
  overflow-x: auto;
  border: 1px solid #dce7e5;
  border-radius: 10px;
  background: #fff;
  scrollbar-width: thin;
}
body.dcp-account-page .dcp-main table:not(.dcp-repeat-table) {
  border-collapse: separate;
  border-spacing: 0;
}
body.dcp-account-page .dcp-main table:not(.dcp-repeat-table) thead th {
  background: #edf4f2;
  color: #35545c;
  font-size: 11.5px;
  font-weight: 800;
}
body.dcp-account-page .dcp-main table:not(.dcp-repeat-table) tbody tr:nth-child(even) {
  background: #fbfdfc;
}
body.dcp-account-page .dcp-main table:not(.dcp-repeat-table) tbody tr:hover {
  background: #f0f7f5;
}
body.dcp-account-page .dcp-auth-card {
  width: min(460px,calc(100% - 28px));
  margin: auto;
  padding: clamp(23px,3vw,36px);
  border: 1px solid #dce7e5;
  border-radius: 17px;
  background: #fff;
  box-shadow: 0 15px 45px rgba(27,58,68,.09);
  color: #263e4b;
}
body.dcp-account-page .dcp-auth-card h2 {
  margin: 0 0 8px;
  color: #183b4a;
  font-size: 21px;
  font-weight: 800;
}
body.dcp-account-page .dcp-auth-card p {
  margin: 0 0 17px;
  color: #667d84;
  font-size: 12px;
}
body.dcp-account-page .dcp-auth-card form {
  display: grid;
  gap: 8px;
}
body.dcp-account-page .dcp-auth-card label {
  margin-top: 4px;
  color: #304b56;
  font-size: 12px;
  font-weight: 700;
}
body.dcp-account-page .dcp-auth-card input:not([type="checkbox"]) {
  width: 100%;
  min-height: 43px;
  border: 1px solid #bdcfd4;
  border-radius: 9px;
  background: #fff;
  color: #263e4b;
  font: inherit;
  font-size: 13px;
}
body.dcp-account-page .dcp-auth-card .dcp-check {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 500;
}
body.dcp-account-page .dcp-auth-card .dcp-check input {
  width: 16px;
  min-height: 16px;
  height: 16px;
  margin: 0;
  accent-color: #16877f;
}
body.dcp-account-page .dcp-auth-card button {
  min-height: 43px;
  margin-top: 8px;
  border: 0;
  border-radius: 9px;
  background: #16877f;
  color: #fff;
  font: inherit;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
}
body.dcp-account-page .dcp-auth-card button:hover { background: #116e68; }
body.dcp-account-page .dcp-account-viewport > .dcp-box {
  width: min(760px,calc(100% - 30px));
  margin: 12vh auto;
  padding: 24px;
  border: 1px solid #dce7e5;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 12px 35px rgba(27,58,68,.07);
}
@media (max-width: 1050px) {
  body.dcp-account-page .dcp-account-viewport { padding: 14px; }
  body.dcp-account-page .dcp-account-viewport > .dcp-shell {
    grid-template-columns: 235px minmax(0,1fr) !important;
    min-height: calc(100vh - 28px);
  }
  body.dcp-account-page .dcp-main { padding: 21px; }
  body.dcp-account-page .dcp-side { padding: 19px 13px; }
}
@media (max-width: 820px) {
  body.dcp-account-page .dcp-account-viewport { display: block; padding: 12px; }
  body.dcp-account-page .dcp-account-viewport > .dcp-shell {
    display: grid;
    grid-template-columns: minmax(0,1fr) !important;
    grid-template-rows: auto minmax(0,1fr);
    min-height: calc(100vh - 24px);
    border-radius: 15px;
  }
  body.dcp-account-page .dcp-side {
    grid-column: 1 !important;
    grid-row: 1 !important;
    min-height: 0;
    padding: 14px 15px;
  }
  body.dcp-account-page .dcp-brand { margin: 0 3px 10px; }
  body.dcp-account-page .dcp-side nav {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 6px;
  }
  body.dcp-account-page .dcp-side nav > a,
  body.dcp-account-page .dcp-nav-group > a {
    justify-content: center;
    min-height: 38px;
    padding: 7px 8px;
    text-align: center;
    font-size: 11.5px;
  }
  body.dcp-account-page .dcp-nav-sub { margin: 0 4px 4px; padding: 3px 5px; }
  body.dcp-account-page .dcp-help { display: none; }
  body.dcp-account-page .dcp-account-logout { max-width: 150px; margin-top: 8px; }
  body.dcp-account-page .dcp-main {
    grid-column: 1 !important;
    grid-row: 2 !important;
    min-height: 0;
    padding: 19px;
  }
}
@media (max-width: 560px) {
  body.dcp-account-page .dcp-account-viewport { padding: 0; }
  body.dcp-account-page .dcp-account-viewport > .dcp-shell {
    min-height: 100vh;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }
  body.dcp-account-page .dcp-side { padding: 12px; }
  body.dcp-account-page .dcp-side nav { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body.dcp-account-page .dcp-side nav > a,
  body.dcp-account-page .dcp-nav-group > a { min-height: 38px; font-size: 11px; }
  body.dcp-account-page .dcp-main { padding: 14px 12px 24px; }
  body.dcp-account-page .dcp-main > header {
    align-items: flex-start;
    gap: 8px;
    padding: 11px 12px;
    margin-bottom: 14px;
  }
  body.dcp-account-page .dcp-main > header h2 { font-size: 17px; }
  body.dcp-account-page .dcp-user { font-size: 10px; }
  body.dcp-account-page .dcp-user > span { display: none; }
  body.dcp-account-page .dcp-main .dcp-box,
  body.dcp-account-page .dcp-main .dcp-form-card,
  body.dcp-account-page .dcp-main .dcp-review-card { padding: 14px; }
  body.dcp-account-page .dcp-main .dcp-form-grid,
  body.dcp-account-page .dcp-main .dcp-profile,
  body.dcp-account-page .dcp-main .dcp-columns,
  body.dcp-account-page .dcp-main .dcp-dash-metrics,
  body.dcp-account-page .dcp-main .dcp-dash-modules,
  body.dcp-account-page .dcp-main .dcp-catalog {
    grid-template-columns: minmax(0,1fr);
  }
  body.dcp-account-page .dcp-auth-card { width: calc(100% - 24px); margin: 24px auto; }
}
