.billing-planning{padding:16px;margin-bottom:18px;scroll-margin-top:18px}
.billing-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px}
.billing-heading h2{font-size:17px;margin:0 0 5px}.billing-heading p{font-size:11px;margin:0;line-height:1.45}
.billing-copy-all-open{font-size:11px;padding:6px 10px;white-space:nowrap}
.billing-table-scroll{overflow-x:auto;border:1px solid #dfe5ec;border-radius:7px}
.billing-period-table{width:100%;min-width:795px;table-layout:fixed;border-collapse:collapse;margin:0}
.billing-period-table .billing-col-area{width:136px}.billing-period-table .billing-col-enabled{width:84px}.billing-period-table .billing-col-year{width:70px}
.billing-period-table .billing-col-date{width:115px}.billing-period-table .billing-col-template{width:107px}.billing-period-table .billing-col-copy{width:53px}
.billing-period-table th,.billing-period-table td{padding:6px 5px;font-size:11px;border-bottom:1px solid #e7ebef;vertical-align:middle}
.billing-period-table thead th{background:#f4f7f6;color:#506158;font-weight:600;white-space:nowrap;font-size:10px}
.billing-period-table tbody th{font-weight:600;text-align:left;background:#fafcfb;line-height:1.4}
.billing-period-table tbody th small{display:block;font-weight:400;font-size:10px}
.billing-period-table tr:last-child th,.billing-period-table tr:last-child td{border-bottom:0}
.billing-period-table .is-enabled>th{box-shadow:inset 3px 0 #2e6c51}.billing-period-table .is-disabled>th{box-shadow:inset 3px 0 #c8d0da}
.billing-period-table input:not([type=checkbox]),.billing-period-table select{width:100%;min-width:0;box-sizing:border-box;padding:4px 5px;font-size:11px;min-height:29px;height:29px;border-radius:4px}
.billing-period-table input[type=number]{appearance:auto}.billing-period-table input[type=number]::-webkit-inner-spin-button,.billing-period-table input[type=number]::-webkit-outer-spin-button{appearance:auto;opacity:1}
.billing-period-table input[type=checkbox]{width:15px!important;min-width:15px;height:15px;margin:0;accent-color:#246450}
.billing-period-table .billing-check-cell,.billing-period-table .billing-copy-cell{text-align:center}
.billing-period-table input:disabled,.billing-period-table select:disabled{opacity:1;background:#f4f6f9;color:#475569}
.billing-empty{text-align:center;color:#94a3b8}.billing-special-row{background:#fbfcfd}
.billing-copy-open{display:inline-flex;align-items:center;justify-content:center;width:29px;height:29px;padding:5px!important;border-radius:5px}
.billing-copy-open svg{width:16px;height:16px;flex:none}
.billing-note{font-size:10px;margin:10px 0 0;line-height:1.5}.billing-readonly{font-size:11px;color:#64748b}
.billing-savebar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:12px;margin-top:12px;border-top:1px solid #e2e8f0}
.billing-savebar span{font-size:11px;color:#64748b}.billing-savebar button{font-size:11px;padding:7px 10px;white-space:nowrap}
.billing-copy-dialog{width:min(460px,calc(100vw - 40px));box-sizing:border-box;border:1px solid #d8e2dc;border-radius:12px;padding:22px;box-shadow:0 18px 60px #152e2330;color:#293c33}
.billing-copy-dialog::backdrop{background:#152e2352}
.billing-copy-dialog h2{font-size:16px;margin:0 0 18px;line-height:1.4}
.billing-copy-dialog label{display:block;font-size:12px;font-weight:600;margin-bottom:6px}
.billing-copy-dialog select{width:100%;box-sizing:border-box;font-size:12px;min-height:34px}
.billing-copy-dialog p{font-size:11px;line-height:1.55;margin:12px 0}
.billing-dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.billing-dialog-actions button{font-size:12px;min-width:72px}
@media(max-width:650px){.billing-planning{padding:12px}.billing-heading{align-items:flex-start;flex-direction:column;gap:9px}.billing-savebar{align-items:stretch;flex-direction:column;gap:10px}}

/* Non-billable areas retain their values but lock all dependent planning controls. */
.billing-period-table .is-disabled>th,.billing-period-table .is-disabled>td{background:#f2f3f3;color:#747e78}
.billing-period-table .is-disabled>th{box-shadow:inset 3px 0 #c5cbc8}
.billing-period-table .is-disabled input:disabled,.billing-period-table .is-disabled select:disabled{background:#f3f4f4;color:#818983;border-color:#dce1de}
.billing-period-table .is-disabled button:disabled{background:#f3f4f4;color:#919994;border-color:#dce1de;cursor:default;opacity:.65}
