/**
 * Sizing/spacing properties (spec addendum) -- split out of main_app.css
 * on direct request: font-size, width/height (and min-/max- variants),
 * padding, margin, line-height, and gap for every selector that had one,
 * moved here wholesale; everything else (color, font-family, borders,
 * display, position, etc.) stays in main_app.css unchanged.
 *
 * The reasoning: main_app.css was built and tuned on a retina Mac
 * display -- a laptop with meaningfully fewer physical pixels needs
 * different absolute dimensions to show the same amount of actual
 * information, even though colors/fonts/borders don't need to change at
 * all for that. Isolating everything that actually governs "how much
 * space does this take up" into its own file makes that a single,
 * separate tuning pass, without touching (or risking regressing) any of
 * the color/theme work already done.
 *
 * Loaded via its own <link> tag in index.php, after main_app.css --
 * these are the SAME selectors as in that file, just carrying a
 * different subset of each rule's original declarations. Cascade order
 * only matters here if a selector's specificity ties AND both files
 * declare the exact same property, which doesn't happen by construction
 * (each property lives in exactly one of the two files, never both).
 *
 * Split mechanically from the original main_app.css via a real CSS
 * parser (not regex), then verified: every one of the original 1,432
 * declarations is accounted for exactly once across this file plus the
 * updated main_app.css (963 there, 469 here) -- nothing dropped,
 * nothing duplicated. Deliberately conservative about what counts as
 * "sizing" -- shorthand properties that mix a size with color/style
 * (border: 0.1rem solid red, for instance) were left fully alone in
 * main_app.css rather than risk splitting them incorrectly, since the
 * size contribution there is minor anyway.
 */

*,
*::before,
*::after {
    margin: 0;
    padding: 0;
}


DIV.account_items .two_col {
    margin: 1rem 0;
}




h1.scenarioNameField {
    font-size: 1.9rem;
    margin-bottom: 0.7rem;
}

.time-bar-label-text {
    font-size: 1.1rem;
}

.time-bar-label-row {
    padding: 0 !important;
    margin-left: -1.0rem;
}

html {
    font-size: 1.4rem;
}

body {
    min-height: 100vh;
}

.property_wizard .more_choices {
    margin-left: 2rem;
}

div, span, label, p {
    font-size: 1.3rem;
}

.mt1 {
    margin-top: 1rem;
}

#new_scenario_form p.item button.field-tooltip-icon {
    top: -2.4rem;
    left: -1.5rem;
}

div.tab_header {
    font-size: 1.3rem;
}

#header_table div:first-child,
div.tab_header .tab {
    font-size: 1.5rem;
}

.content-block {
    width: 100%;
    padding: 24vh 15vw;
}

.theme-sandbox-capabilities {
    padding: 14vh 12vw;
}

.theme-sandbox-capabilities p {
    padding: 0 6vw 0 0;
}

.capability-feature-grid .header {
    padding: 2vh 3vw 3vh 0;
}

div.input_label p {
    margin: 0 0.5rem 0 0;
}

.single_scenario {
    padding: 1rem 0 1rem 0;
    height: 100%;
}

#single_scenario {
    min-height: 0;
}

.scenario_detail {
    min-height: 0;
}

.tab_header .spacer {
    max-width: 1.0rem;
}

.scenario_info {
    min-height: 50vh;
}

.border_box {
    padding: 1.0rem 1.5rem;
}

#tax .filing_settings {
    margin-right: 1.0rem;
    flex: 10;
}

#tax .deductions .two_col div:first-child {
    flex: 11;
}

#tax .deductions  {
    flex: 7;
}


#tax .border_box .two_col {
    margin-bottom: 2rem;
}

#tax .deductions .two_col .check {
    flex: 1;
}


#tax .projections {
    margin-left: 1.0rem;
    flex: 9;
}

::-webkit-scrollbar {
    width: 0.6rem;
    height: 0.6rem;
}

.topbar {
    padding: 0 2.0rem;
    height: 4.8rem;
}

.logo {
    min-width: 10rem;
    min-height: 2.5rem;
}

.logo span {
    min-width: 10rem;
    min-height: 2.5rem;
}

.topbar-right {
    gap: 1.2rem;
    align-content: center;
}

.user-badge {
    font-size: 1.2rem;
    padding: 0.4rem 1.0rem;
}

.user-menu {
    min-width: 1.6rem;
}

.user-menu-item {
    padding: 1.0 1.4rem;
    font-size: 1.3rem;
}

.conn-dot {
    width: 0.7rem;
    height: 0.7rem;
    margin-right: 0.4rem;
}

.app {
    height: calc(100vh - 4.8rem);
}

.sidebar {
    width: 13.0rem;
    margin: 0 0.6rem 0 0.3rem;
}

#landing_page {
    padding-bottom: 20vh;
}

#landing_page h1 {
    margin: 0 0 9vh 0;
    font-size: calc(3.4rem + 2vw/100 + 2vh/100);
}

.theme-sandbox-capabilities h1 {
    margin-bottom: 3vh !important;
}

.truth-matrix-container p {
    font-size: 1.5rem !important;
    font-weight: bold;
}

#dashboard {
    padding: 1.0rem 2.0rem;
}

.ad-sidebar {
    width: 18rem;
    padding: 1.6rem 1.2rem;
    gap: 1.2rem;
}

.ad-slot {
    min-height: 15rem;
    gap: 0.6rem;
    margin-bottom: 0.8rem;
}

.ad-slot-label {
    font-size: 1.0rem;
}

.ad-slot-note {
    font-size: 1.0rem;
    padding: 0 0.8rem;
}

.ad-upsell {
    padding: 1.2rem;
    font-size: 1.2rem;
    line-height: 1.5;
}

.ad-upsell strong {
    margin-bottom: 0.4rem;
}

.sidebar-section {
    padding: 1.6rem 0 0.8rem 0;
}

.sidebar-label {
    font-size: 1.0rem;
    padding: 0 0.8rem;
    margin-bottom: 0.4rem;
}

.nav-item {
    gap: 1.0rem;
    padding: 0.8rem;
    font-size: 1.3rem;
    padding-left: 3.8rem;
}

.nav-icon {
    width: 1.6rem;
    font-size: 1.3rem;
}

.sidebar-footer {
    margin-top: auto;
    padding: 1.2rem;
    font-size: 1.1rem;
}

.screen {
    padding: 2.4rem;
    min-width: 70rem;
}

.page-header {
    margin-bottom: 2.4rem;
}

.page-title {
    font-size: 1.8rem;
}

.page-sub {
    font-size: 1.3rem;
    margin-top: 0.4rem;
}

.card {
    padding: 2.0rem;
    margin-bottom: 1.6rem;
}

.card-title {
    font-size: 1.1rem;
    margin-bottom: 1.4rem;
}

.form-row {
    margin-bottom: 1.4rem;
}

.form-row:last-child {
    margin-bottom: 0;
}

.form-row label {
    font-size: 1.2rem;
    margin-bottom: 0.5rem;
}

input[type=text],
input[type=email],
input[type=password],
input[type=number],
input[type=time],
input[type=date],
select,
textarea {
    width: 100%;
    font-size: 1.3rem;
    padding: 0.5rem 1.0rem;
}

#newScenario input[name=nickname] {
    width: 25rem;
}

input[name=label] {
    width: 25rem;
}

select[name=frequency] {
    width: 15rem;
}

select[name=endAge],
select[name=startAge] {
    width: 12rem;
}

#copy_scenario input[type=text],
#copy_scenario input[type=number],
#copy_scenario select {
    padding: 0.4rem 1.0rem;
}

#copyScenarioName {
    width: 43rem;
    margin-right: 5.6rem;
}

#scenarioNameField {
    font-size: 1.4rem;
    padding: 0 0 0.5rem 0;
    margin-bottom: 1.0rem;
    width: 50rem;
}

input[type=number] {
    width: 11.2rem;
}

.form-grid {
    gap: 1.2rem;
}

.form-grid-3 {
    gap: 1.2rem;
}

.btn {
    gap: 0.6rem;
    padding: 0.8rem 1.6rem;
    font-size: 1.3rem;
}

.btn-sm {
    padding: 0.5rem 1.0rem;
    font-size: 1.2rem;
}

#sign-in-btn {
    margin-top: 1.9rem;
}

#user-badge-label {
    font-size: 1.0rem;
}

#user-badge-label span {
    font-size: 1.2rem;
}

.badge {
    font-size: 1.0rem;
    padding: 0.2rem 0.7rem;
}

.badge-lock {
    font-size: 1.1rem;
}

.data-table {
    width: 100%;
    font-size: 1.3rem;
}

.data-table th {
    font-size: 1.1rem;
    padding: 0.8rem 1.2rem;
}

.data-table td {
    padding: 1.0rem 1.2rem;
}

.stop-row {
    gap: 1.0rem;
    padding: 0.9rem 0;
}

.stop-num {
    width: 2.4rem;
    height: 2.4rem;
    font-size: 1.0rem;
}

.stop-info {
    min-width: 0;
}

.stop-name {
    font-size: 1.3rem;
}

.stop-loc {
    font-size: 1.1rem;
    margin-top: 0.1rem;
}

.stop-meta {
    font-size: 1.1rem;
}

.stop_time_info {
    font-size: 1.1rem;
}

.stop-del {
    font-size: 1.8rem;
    padding: 0 0.4rem;
    line-height: 1;
}

.depot-tabs {
    gap: 0.4rem;
    margin-bottom: 2.0rem;
}

.depot-tab {
    padding: 0.7rem 1.4rem;
    font-size: 1.2rem;
}

.plan-card {
    padding: 1.4rem 1.6rem;
    margin-bottom: 0.8rem;
    gap: 1.2rem;
}

.plan-card-name {
    font-size: 1.3rem;
}

.plan-card-meta {
    font-size: 1.1rem;
    margin-top: 0.3rem;
}

.plan-card-actions {
    gap: 0.8rem;
}

.stage-row {
    gap: 1.4rem;
    padding: 1.4rem 0;
}

.stage-dot {
    width: 1.0rem;
    height: 1.0rem;
}

.stage-info {
    min-width: 0;
}

.stage-name {
    font-size: 1.3rem;
}

.stage-detail {
    font-size: 1.2rem;
    margin-top: 0.3rem;
}

.stage-pct {
    font-size: 1.3rem;
    min-width: 3.8rem;
}

.mini-bar-bg {
    height: 0.3rem;
    margin-top: 0.7rem;
}

.mini-bar-fill {
    height: 0.3rem;
}

.route-card {
    margin-bottom: 1.0rem;
}

.route-plan-map {
    width: 30rem;
    height: 30rem;
    width: calc(30rem + 14vw);
    height: calc(30rem + 5vh);
}

.map-marker-label {
    font-size: 1.4rem !important;
}

.route-card-head {
    gap: 1.2rem;
    padding: 1.4rem 1.6rem;
}

.route-card-head-map {
    min-height: 20rem;
}

.driver-circle {
    width: 3.2rem;
    height: 3.2rem;
    font-size: 1.1rem;
}

.route-name {
    font-size: 1.3rem;
}

.route-stats {
    font-size: 1.2rem;
    margin-top: 0.2rem;
}

.route-body {
    padding: 1.4rem 1.6rem;
}

.map-ph {
    gap: 1.0rem;
    margin-bottom: 1.6rem;
    padding: 1.4rem 1.6rem;
}

#map {
    min-width: 30rem;
    min-height: 30rem;
}

.map-ph-icon {
    font-size: 3.0rem;
}

.stat-row {
    gap: 1.2rem;
    margin-bottom: 2.0rem;
}

.stat-box {
    padding: 1.4rem 1.6rem;
}

.stat-val {
    font-size: 2.2rem;
}

.stat-lbl {
    font-size: 1.1rem;
    margin-top: 0.3rem;
}

.upload-zone {
    padding: 3.2rem;
}

.upload-icon {
    font-size: 2.6rem;
    margin-bottom: 1.0rem;
}

.alert {
    padding: 1.0rem 1.4rem;
    font-size: 1.3rem;
    margin-bottom: 1.4rem;
    line-height: 1.5;
}

.tab-strip {
    margin-bottom: 2.0rem;
}

.tab-item {
    padding: 1.0rem 1.6rem;
    font-size: 1.3rem;
    margin-bottom: -0.1rem;
}

.preview-box {
    padding: 1.0rem 1.4rem;
    font-size: 1.3rem;
    margin-top: 1.2rem;
}

.preview-box .pv-label {
    font-size: 1.1rem;
    margin-bottom: 0.4rem;
}

.preview-box .pv-val {
    font-size: 2.0rem;
}

.colmap-row {
    gap: 1.2rem;
    padding: 0.8rem 0;
}

.colmap-src {
    font-size: 1.2rem;
    min-width: 13.0rem;
}

.colmap-sel select {
    padding: 0.5rem 0.8rem;
    font-size: 1.2rem;
}

.overlay {
    padding: 2.0rem;
}

.modal {
    width: 100%;
    max-width: 44.0rem;
    padding: 2.4rem;
}

.modal-title {
    font-size: 1.6rem;
    margin-bottom: 1.8rem;
}

.modal-footer {
    gap: 1.0rem;
    margin-top: 2.0rem;
}

.addr-picker-list {
    max-height: 30rem;
    margin-top: 1.0rem;
}

.addr-picker-row {
    gap: 1.0rem;
    padding: 0.9rem 0;
}

.addr-picker-row:hover {
    margin: 0 -0.4rem;
    padding: 0.9rem 0.4rem;
}

.addr-picker-name {
    font-size: 1.3rem;
}

.addr-picker-loc {
    font-size: 1.1rem;
}

.locked-banner {
    padding: 1.2rem 1.6rem;
    font-size: 1.3rem;
    margin-bottom: 1.6rem;
    gap: 1.0rem;
}

.mob-btn {
    width: 3.4rem;
    height: 3.4rem;
    font-size: 1.6rem;
}

.account-icon-btn {
    width: 3.4rem;
    height: 3.4rem;
}

@media (max-width:70rem) {
    .sidebar {
        width: 24.0rem;
    }

    .screen {
        padding: 1.6rem;
    }
}

fieldset {
    margin-bottom: 2.4rem;
}

label {
    margin-top: 1.0rem;
}

.prop_title .two_col .input_label p {
    padding: 0.6rem 1.0rem 0 0;
}

.prop_title .two_col .item input {
    width: 96%;
}



.expenseDialog p.age .field-tooltip-icon {
    top: 0.2rem;
    left: 1rem;
}

.expenseDialog {
    min-height: 38rem !important;
}

.expenseDialog .eu p {
    margin-top: 0.3rem;
}

.expenseDialog .eu {
    margin-bottom: 1.3rem;
}


.expenseDialog input {
    border: 1px solid var(--dialog_border);
}


.expenseDialog p.age  {
    margin-bottom: 0.4rem;
}

.expenseDialog input[name=label] {
    width: 50rem;
}

.expenseDialog .co .field-tooltip-icon {
    left: 0.5em;
}



.expenseDialog {
    
    padding: 1.0rem 1.4rem 1.0rem 1.4rem !important;
}

.expenseDialog p.title {
    margin-bottom: 0.6rem;
}


.expenseDialog div.ec:last-child {
    flex: 5;
}

.expenseDialog div.ec p {
    margin-bottom: 0.3em;
}

.expenseDialog .ec:first-child {
    margin-right: 3.0rem;
    background: red;
}

.expenseDialog div.eu .field-tooltip-icon {
    left: 0.5em;
}


.expenseDialog .co {
    
    margin: 0 0 2rem 0;
}

.expenseDialog .ui-dialog-titlebar {
    margin-top:-0.9rem;
}
.expenseDialog .object_title {
    
    padding-left: 0.4rem;
}

#authView .object_title {
    margin: -2.0rem -4.0rem 2.0rem -4.0rem;
    padding: 1.3rem 4.0rem;
}

#authView {
    padding: 2.0rem 4.0rem;
}

#authView input {
    padding: 0.9rem 1.0rem;
}

#register_account button,
BODY.logged_out .topbar-right a,
#authView button {
    padding: 0.8rem 1.4rem;
    margin: 4.0rem 0.8rem 2.0rem 0;
}


BODY.logged_out .topbar-right a {
    padding: 0.4rem 1.7rem;
    border-radius: 0.5rem;
    font-weight: bold;
}

#authView button.register_account {
    margin-right: 0;
}

#full_screen_review .object_title {
    margin: 0;
}

.object_title p {
    font-size: 1.5rem;
    padding: 0;
    margin: 0;
}

input,
textarea {
    width: 100%;
    padding: 0.6rem;
    margin-top: 0.4rem;
}

textarea {
    width: 20rem;
    height: 30rem;
    font-size: 1.0rem;
}

button {
    margin-top: 1.2rem;
    padding: 0.4rem 1.6rem;
    margin-right: 0.8rem;
}

#dashboardNewScenarioBtn {
    padding: 1.4rem 3.6rem;
}

.banner {
    padding: 1.2rem;
    margin-bottom: 2.0rem;
}

#noScenariosBanner {
    padding: 21vh 19vw;
    margin-top: 2rem;
}

ul#scenarioList {
    padding: 0;
    margin: 0;
}

ul#scenarioList li {
    gap: 0.6rem;
    margin: 0 0.8rem 0.8rem 0;
    padding: 1rem 1.0rem;
    min-width: 8rem;
}

.scenario-list-swatch {
    width: 3.2rem;
    height: 3.2rem;
    font-size: 1.4rem;
}



.ui-dialog {
    padding: 0;
}

.ui-dialog .ui-dialog-content {
    padding: 1.0rem 1.6rem 2.0rem 1.6rem;
}

.income_detail_popup {
    padding: 1.0rem 2.6rem 1.0rem 2.6rem !important;
}


.income_detail_popup .ui-dialog-titlebar {
    margin-left: -2.6rem;
    margin-right: -2.6rem;
}


.income_detail_popup .object_title p {
    padding-left: 1.3rem;
}


.income_detail_popup .border_box {
    margin-bottom: 2rem;
}

.income_detail_popup p.title {
    margin-bottom: 0.8rem;
    margin-top: 0.5rem;
}

#single_scenario legend {
    margin-right: 0.7rem;
    font-size: 1.1.0rem;
}

legend {
    font-size: 1.2rem;
    margin-bottom: 0.3rem;
}

.wizard-canvas-scroll,
.wizard-palette {
    max-height: calc(100vh - 38.0rem);
    min-height: 8rem;
}

.wizard-palette {
    gap: 0.8rem;
    margin-bottom: 1.6rem;
    padding: 1.0rem 1.5rem;
}

.debtDialog input[name=nickname] {
    width: 30rem;
}

#property .more_choices {
    margin-left: 2rem;
}

#property .selection {
    flex: 20;
}

.debtDialog {
    padding: 0 2rem 1rem 2rem;
}

#debt .more_choices {
margin-left: 2rem;
    flex: 5;
}

.debtDialog input {
    border: 1px solid var(--dialog_border);
}
.debtDialog button.field-tooltip-icon {
    left: 1rem;
}

.debtDialog .ui-dialog-titlebar {
    margin-right: -2.0rem;
    margin-left: -2.0rem;
}

.debtDialog .ui-dialog-titlebar .object_title p {
    padding-left: 0.6rem;
}

.debtDialog div.two_col {
    margin: 1rem 0;
}

.wizard-tile {
    padding: 0.7rem 1.9rem;
    margin: 0 0.5rem 0.5rem 0;
}

.property-cost-canvas, .property-cost-palette {
    max-height: 15rem;
}

.wizard-canvas {
    min-height: 8rem;
    padding: 1.2rem;
}

.wizard-canvas-labels {
    padding-bottom: 0.6rem;
    margin-bottom: 0.6rem;
}

.property_wizard .wizard-palette,
.property_wizard .wizard-canvas {
    margin: 0;
    padding: 0;
}

.wizard-row {
    padding: 0.6rem 1.2rem;
    margin-bottom: 0.4rem;
}

#mask {
    min-width: 100%;
    min-height: 100%;
}

.ui-dialog .heading p {
    margin-bottom: 1.0rem;
}

.input_row .owner, 
.input_row .account_nickname {
    margin-right: 2.2rem;
}

div.property_financing,
div.prop_details div.property_value {
    margin-left: 2rem;
}

.property_overview .age_span {
    margin: 1.0rem 0;
}

.age_span .purchase {
    margin-right: 1.0rem;
}

.age_span .sell {
    margin-left: 1.0rem;
}

.job_widget .column2 {
    margin-left: 4rem;
}


.job_widget .column1 .two_col {
    margin-top: 1rem;
}

.wage .column2 {
    margin-left: 3rem;
}

.wizard-canvas .time_bar {
    margin-left: 2.0rem;
    min-height: 1.8rem;
    margin-top: 0;
    max-height: 1.8rem;
    max-width: 20rem;
    min-width: 20rem;
}

.wizard-canvas .time_bar .job_time {
    min-height: 2.1rem;
    width: 10%;
    margin-left: 20%;
    margin-top: 0.1rem;
}

#single_scenario_charts_and_graphs {
    padding: 2.0rem;
}

.tab_header .tab {
    padding: 0.5rem 1.0rem;
}

#themeSelect {
    width: 10.0rem;
}

.two_col .check {
    padding-top: 0.9rem;
}

.two_col .growth_rates {
    padding-right: 1.5rem;
}

.two_col .growth_rates input[type=number] {
    width: 8rem;
}

#assets .two_col .selection {
    margin-right: 1.0rem;
}

#assetsCanvas .wizard-row {
    padding: 0.3rem 1.2rem;
    margin-bottom: 0.2rem;
}

.two_col .item_chooser .more_choices {
    padding-left: 2vw;
}

div.wizard-tips {
    padding-left: 1.5rem;
}

.wizard-tips p {
    font-size: 0.9rem;
    margin: 0.2rem 0;
}

.chart-container {
    width: 27.5rem;
    margin-left: 4.5rem;
    padding: 1.0rem 0;
}

#newScenario .chart-container {
    width: 24.5rem;
}

.chart-row {
    margin-bottom: 0.8rem;
    height: 1.2rem;
}

.chart-label {
    width: 10.0rem;
}

.bar-wrapper {
    width: 100%;
    height: 100%;
}

.bar {
    height: 100%;
}

.ui-resizable-e {
    width: 1.2rem;
    height: 100%;
    margin-left: 100%;
}

.percentage-display {
    font-size: 1.3rem;
}

icon {
    width: 1.8rem;
    height: 1.8rem;
    margin-left: 0.6rem;
    max-width: 1.8rem !important;
}

.field-tooltip-balloon {
    max-width: 260px;
    padding: 0.8rem 1.0rem;
    font-size: 1.3rem;
    line-height: 1.4;
    margin-top: 0.6rem;
}

.field-tooltip-caret {
    width: 1.0rem;
    height: 1.0rem;
}

.wizard-tour-offer {
    max-width: 28rem;
    padding: 1.2rem 1.8rem;
}

.wizard-tour-callout {
    max-width: 28rem;
    padding: 1.2rem 1.4rem;
}

#single_scenario_table_data {
    height: 100%;
    padding-right: 2.0rem;
}

.tabbed_detail {
    height: 100%;
}

.calc-results-table {
    width: 100%;
}

.calc-results-table th,
.calc-results-table td {
    padding: 0.6rem 1.0rem;
}

table.calc-results-table {
    margin: 0 1.0rem 0 1.0rem;
}

.calc-detail-row td {
    padding: 1.0rem 1.6rem;
}

.calc-year-detail {
    gap: 1.6rem;
}

.calc-detail-groups-row {
    gap: 2.4rem;
}

.calc-cashflow-row {
    gap: 2.4rem;
}

.cashflow-section {
    gap: 1.2rem;
}

.cashflow-pie-container {
    width: 18rem;
    height: 16rem;
}


.cashflow-swatch {
    width: 2.2rem;
    height: 1.0rem;
    margin-right: 0.6rem;
}

.calc-detail-section {
    margin: 0 0.5rem;
}

.calc-detail-section h4 {
    margin: 0 0 0.6rem 0;
    font-size: 1.4rem;
}

.detail-line-item {
    gap: 1.2rem;
    padding: 0.2rem 0;
}

.detail-line-item-typed {
    gap: 1.2rem;
    padding: 0.2rem 0;
}

.detail-line-item p {
    margin: 0;
}

.detail-line-item .item_name p {
    margin-right: 3.0rem;
    min-width: 115px;
}

.line_items,
.calc-property-detail {
    padding: 0.8rem 1.0rem;
    margin-bottom: 1.0rem;
}

.calc-property-detail h5 {
    margin: 0 0 0.4rem 0;
    font-size: 1.5rem;
}

.percent-slider-display {
    padding: 0.4rem 1.0rem;
    min-width: 60px;
}

.percent-slider-popup {
    width: 220px;
    padding: 1.4rem 1.6rem;
}

.percent-slider-caret {
    width: 1.0rem;
    height: 1.0rem;
}

.percent-slider-value {
    margin-bottom: 1.0rem;
}

.percent-slider-track {
    margin: 1.0rem 0.4rem 0.6rem 0.4rem;
}

.percent-slider-labels {
    font-size: 1.2rem;
}

.percent-slider-custom-btn {
    margin: 0.8rem auto 0 auto;
    font-size: 1.2rem;
    padding: 0.3rem 0.8rem;
}

.percent-custom-error {
    font-size: 1.2rem;
}

.percent-custom-set-btn,
.percent-custom-cancel-btn {
    margin-top: 0.8rem;
    margin-right: 0.6rem;
}

button.field-tooltip-icon {
    padding: 0;
    min-width: 1.6rem;
    max-width: 1.6rem;
    min-height: 1.6rem;
    max-height: 1.6rem;
    margin: 0 0 0 -0.2rem;
}

div.item button.field-tooltip-icon {
    position: relative;
    top: 0.2rem;
}

.fly-in-notification {
    padding: 1.2rem 1.8rem;
}

.calc-collapse-all-btn {
    margin: 0;
    font-size: 0.9rem;
    padding: 0.2rem 1.2rem;
}

.charts_and_graphs .chart-container {
    width: min(90%, 45rem);
    margin: 0 1.2rem 2.4rem 1.2rem;
}

.chart-container h3 {
    margin: 0 0 0.8rem 0;
}


.protected-account-note {
    font-size: 1.2rem;
    margin-top: 2rem;
}

.wizard-tour-btn {
    min-width: 2.4rem;
    min-height: 2.4rem;
    max-width: 2.4rem;
    max-height: 2.4rem;
    margin: 0;
    padding: 0;
}

.wizard-tour-btn:hover {
    min-width: 2.4rem;
    min-height: 2.4rem;
    max-width: 2.4rem;
    max-height: 2.4rem;
    margin: 0;
    padding: 0;
}

.copy-scenario-section-header {
    font-size: 1.2rem;
    margin: 2.0rem 0 0.8rem 0;
    padding: 0.5rem 1.5rem 0.5rem 1.0rem;
    margin-right: 1.0rem;
}

.copy-item-subheader {
    margin: 1.2rem 0 0.4rem 0;
    padding: 0 0 0.5rem 0;
    margin: 0 42px 0.6rem 1.5rem;
}

.copy-item-subheader-nested {
    margin-left: 2.0rem;
    margin-top: 1.0rem;
}

.copy-scenario-row {
    gap: 1.0rem;
    padding: 0 1.5rem 0 30.7rem;
    margin-right: 29px;
}

div.copyScenarioName {
    margin-bottom: 1.0rem;
    padding: 0 0 0.5rem 0;
}

#copyScenarioTable {
    max-height: calc(100vh - 45rem);
    min-height: 10.0rem;
}

#scenarioComparison {
    margin-top: 2.4rem;
}

#scenarioComparison .chart-container {
    height: 320px;
    margin-bottom: 2.4rem;
    width: min(90%, 50rem);
}

#scenarioComparison .chart-container h3 {
    padding-left: 4.0rem;
}

#scenarioComparisonTable table {
    width: 100%;
    margin-top: 1.2rem;
}

.confirm-dialog-body p {
    margin-bottom: 1.6rem;
}

.review-table {
    width: max-content;
}

.review-table thead tr:first-child {
font-size: 1.5rem;
}

.review-table th,
.review-table td {
    padding: 0.3rem 1.0rem;
}

.review-table thead tr:nth-child(2) th {
    max-width: 110px;
}

.assetsDetailPopup .ui-dialog-titlebar {
    margin-left: -2.6rem;
    margin-right: -2.6rem;
}

.assetsDetailPopup div.startAge {
    margin-right: 2rem;
}

.assetsDetailPopup div.escalation p {
    margin-bottom: 0.3rem;
    margin-top: 0.3rem;
}

.assetsDetailPopup p.mt3 {
    margin-top: 2rem;
}

.assetsDetailPopup div.co {
    margin-top: 0.4rem;
    margin-bottom: 3rem;
}

.assetsDetailPopup div.age p {
    margin-bottom: 0.3rem;
}

.assetsDetailPopup div.age button.field-tooltip-icon {
    position: relative;
    top: 0.3rem;
    left: 1.0rem;
}

.assetsDetailPopup .two_col {
    margin: 1rem 0;
}

.assetsDetailPopup select,
.assetsDetailPopup input {
    border: 1px solid var(--dialog_border);
}


.assetsDetailPopup {
    padding: 1.0rem 2.6rem 1.0rem 2.6rem !important;
}


.assetsDetailPopup .object_title p  {
    padding-left: 1.5rem;
}

.ui-dialog:has(#full_screen_review) {
    width: 100vw !important;
    height: 100vh !important;
    max-width: none !important;
    margin: 0 !important;
    background: var(--surface);
}

.ui-dialog:has(#full_screen_review) .ui-dialog-content {
    max-height: calc(100vh - 9rem);
}

#reviewTableContainer {
    max-height: calc(100vh - 9rem);
}

.full-review-close-btn {
    font-size: 2.2rem;
    line-height: 1;
    padding: 0 0.6rem;
}
/* Section-title legend swatches (spec addendum) -- smaller than the row-3
   swatch (2.2rem x 1.0rem, sized to sit alone in its own header cell) since
   these sit inline with text inside the section title cell instead. */
.review-legend-swatch {
    margin-left: 0.5rem;
    position: relative;
    top: -0.1rem;
}
