@font-face{font-family:"Inter";src:url("fonts/InterVariable.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap;}
:root{font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:15px;line-height:1.45;color:#000;background:#fff;color-scheme:light;--ink:#000;--muted:#000;--line:#e9ebed;--accent:#4CCB73;--soft:#effbf3}

*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;background:#fff}
button,input,select{font:inherit}
button{cursor:pointer}
button:disabled,input:disabled{cursor:not-allowed}
a{color:#000;text-decoration:none}
input,button,summary,a{outline-offset:3px}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #4ccb7399}
input:focus{outline:2px solid #4ccb7333;border-color:#4CCB73}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.skip{position:fixed;top:-80px;left:15px;background:#4CCB73;color:#000;padding:10px;z-index:100}
.skip:focus{top:8px}
.topbar{height:64px;display:flex;align-items:center;gap:35px;padding:0 35px;border-bottom:1px solid var(--line)}
.brand{font-size:18px;font-weight:600;font-style:normal;letter-spacing:0;color:#000;white-space:nowrap}
.page-label{font-size:15px;color:#000;display:flex;align-items:center;gap:12px;flex:1}
.page-label>span{color:#000}
.page-label small{font-size:13px;color:#000;margin-left:5px}
.actions{display:flex;align-items:center;gap:10px}
.actions #save-state{font-size:13px;color:#000;margin-right:6px}
.btn{font-size:14px;font-weight:600;border:1px solid #d9dde0;background:#fff;border-radius:5px;padding:8px 14px;display:inline-flex;align-items:center;justify-content:center;gap:10px;white-space:nowrap}
.btn:hover{background:#fafafa;border-color:#b9bfc5}
.btn.primary{background:var(--accent);border-color:var(--accent);color:#000}
.btn.primary:hover{background:#3cbb63}
.btn.dark{background:var(--accent);border-color:var(--accent);color:#000}
.btn:disabled{opacity:.45}
.page{max-width:1450px;margin:0 auto;padding:26px 35px 106px}
.identity{display:flex;align-items:center;gap:24px;margin-bottom:22px;}
.activity-heading{display:flex;align-items:center;gap:14px;flex:1;min-width:0;}
.centre-name,.activity-title{font-size:18px;font-weight:650;letter-spacing:-.3px;min-width:0;white-space:nowrap;}
.activity-status{display:inline-flex;align-items:center;white-space:nowrap;border:1px solid var(--accent);background:var(--soft);border-radius:999px;font-size:13px;padding:5px 10px;}
.activity-status.is-closed{border-color:#d9dde0;background:#fafafa;}
.activity-kind{display:flex;align-items:center;gap:12px;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end;}
.activity-kind .toggles{flex-wrap:nowrap;}
.activity-kind-label{display:inline-flex;align-items:center;min-height:36px;padding:7px 13px;border:1px solid var(--accent);background:var(--soft);border-radius:4px;font-size:14px;font-weight:600;}
.edit-actions{display:flex;align-items:center;gap:8px;}
.read-value{white-space:pre-wrap;}
.field-value>.read-value{display:inline-block;min-height:32px;padding-top:7px;}
td .read-value,th .read-value,.inline-fields .read-value,.money-input .read-value,.toggle-switch .read-value,.mini-label .read-value{padding-top:0;min-height:0;display:inline;}
.read-value.is-off{color:#7d8682;}
.variant-chips{display:flex;flex-wrap:wrap;gap:6px;}
.toggles{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.toggle{border:1px solid #dee1e4;background:#fff;color:#000;border-radius:4px;padding:7px 13px;font-size:14px;line-height:1.25;min-height:36px;white-space:nowrap;transition:background .12s}
.toggle:hover:not(:disabled){border-color:#4CCB73;background:#f3fcf6}
.toggle[aria-pressed=true]{border-color:#4CCB73;color:#000;background:var(--soft);font-weight:600}
.toggle:disabled{color:#000;border-color:#edeef0;background:#fff}
.toggle[aria-pressed=true]:disabled{color:#000;border-color:#d8dedb;background:#f5f6f5}
.toggle.tiny{font-size:13px;padding:5px 9px;min-height:32px}
.toggle.day{padding:5px 8px;min-width:36px;font-size:13px;min-height:32px}
.toggle-switch{display:inline-flex;gap:0}
.toggle-switch .toggle{border-radius:0;margin-left:-1px;min-width:36px}
.toggle-switch .toggle:first-child{border-radius:4px 0 0 4px;margin-left:0}
.toggle-switch .toggle:last-child{border-radius:0 4px 4px 0}
.pricing-workspace{display:grid;grid-template-columns:131px minmax(0,1fr);border:0;border-radius:0;background:transparent;align-items:start;}
.tab-list{display:flex;flex-direction:column;align-self:stretch;position:sticky;top:0;gap:0;padding:0;background:transparent;border-radius:0;}
.tab{display:flex;align-items:center;justify-content:flex-end;text-align:right;width:100%;font-size:14px;line-height:1.4;color:#000;padding:11px 16px;border:0;border-radius:0;background:transparent;}
.tab:hover{background:#f1f2f3;}
.tab[aria-selected=true],.tab[aria-selected=true]:hover{color:#000;background:var(--soft);font-weight:650;box-shadow:inset -3px 0 var(--accent);}
.workspace-content{min-width:0;min-height:560px;padding:0 0 0 20px;border-left:1px solid #dfe3e6;}
.tab-panel{padding:0;min-height:0;}
.concept-card,.common-concepts{border:1px solid #dfe3e6;border-radius:10px;padding:18px;background:#fff;margin:0 0 16px;min-width:0;}
.concept-card:last-child,.common-concepts:last-child{margin-bottom:0;}
.concept-card>h2,.concept-card .line-heading>h2{font-size:18px;font-weight:650;letter-spacing:-.25px;margin:0 0 15px;}
.card-layout{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:24px;align-items:start;}
.card-content{min-width:0;}
.panel-help{padding:0 0 0 20px;border-left:1px solid var(--line);font-size:13px;color:#000;line-height:1.75;}
.panel-help p{margin:0 0 12px;}
.panel-help p:last-child{margin-bottom:0;}
.panel-help strong{font-weight:600;}
.panel-help ul{padding-left:15px;margin:5px 0 10px;}
.schedule-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,1fr);gap:16px;}
.schedule-grid>.concept-card{margin:0;}
.schedule-slots{grid-column:1 / -1;}
.quota-controls{display:flex;flex-direction:column;align-items:flex-start;gap:14px;}
.quota-controls .field-label{padding:0;margin-bottom:8px;}
.service-dates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.service-dates .mini-label{flex-direction:column;align-items:flex-start;gap:8px;}
.service-dates input{width:100%;min-width:0;}
.field-row{display:grid;grid-template-columns:180px minmax(0,1fr);gap:15px;align-items:start;min-height:48px;padding:9px 0}
.field-label{font-size:14px;font-weight:550;color:#000;padding-top:7px}
.field-value{min-width:0}
.inline-fields{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.mini-label{display:flex;align-items:center;gap:7px;font-size:13px;color:#000}
.mini-label.stack{display:flex;flex-direction:column;align-items:flex-start;gap:5px}
.hint{font-size:13px;line-height:1.65;color:#000;margin-top:7px}
.hint strong{color:#000;font-weight:550}
.policy-description{font-size:14px;color:#000;line-height:1.6;margin:9px 0}
.read-only{font-size:14px;color:#000;padding-top:7px}
.text-input,input[type=number],input[type=date],input[type=time],input[type=month]{border:1px solid #dfe3e6;border-radius:4px;min-height:32px;padding:6px 8px;background:#fff;color:#000;max-width:100%;width:100%;font-size:14px}
input:disabled{color:#000;background:#fafbfc;border-color:#eef0f2}
input[type=date]{width:165px}
input[type=time]{width:110px}
input[type=month]{width:195px}
input.small{width:76px}
input.amount{width:105px;text-align:right}
input.name-input{width:100%}
.money-input{display:inline-flex;align-items:center;gap:6px;color:#000;font-size:13px;white-space:nowrap}
.table-scroll{overflow:auto;max-height:360px;overscroll-behavior:contain;scrollbar-width:thin}
.data-table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}
.data-table th{color:#000;font-size:13px;font-weight:500;padding:10px 10px 10px 0;border-bottom:1px solid #dce1e5;background:#fff;white-space:nowrap}
.data-table td{padding:9px 10px 9px 0;border-bottom:1px solid #eef0f2;vertical-align:middle;color:#000}
.data-table th:last-child,.data-table td:last-child{padding-right:0}
.data-table .right{text-align:right;white-space:nowrap}
.data-table .muted{color:#000}
.data-table .strong{font-weight:600;color:#000}
.data-table tfoot td{font-weight:600;border:0;padding-top:14px}
.data-table.compact td{padding-top:7px;padding-bottom:7px}
.data-table .detail-cell{padding:6px 0 15px 0}
.data-table tr.detail-row>td{border-bottom:1px solid #e4e8eb}
.schedule-table th:first-child{width:285px}
.schedule-table td:nth-child(4){white-space:nowrap}
.schedule-table .toggles{gap:3px;flex-wrap:nowrap}
.icon-button{border:0;background:transparent;color:#000;font-size:22px;line-height:1;padding:4px;width:25px;height:28px;border-radius:3px}
.icon-button:hover{background:#effbf3;color:#000}
.text-button{font-size:13px;color:#000;border:0;background:transparent;padding:5px 0;white-space:nowrap}
.text-button:hover{color:#000}
.text-button.accent,.add-button{color:#000}
.add-button{background:transparent;border:0;padding:10px 0;font-size:14px;text-align:left;display:inline-flex;align-items:center;gap:6px}
.add-button:disabled{color:#000;cursor:not-allowed}
.detail-toggle{font-size:13px;display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;color:#000;padding:4px 0}
.detail-toggle.active{color:#000}
.subsection{padding:12px 0;border-top:1px solid var(--line);margin-top:15px}
.subsection h3{font-size:15px;font-weight:600;margin:0 0 10px}
.subsection:first-child{border-top:0;margin-top:0;padding-top:0}
.detail-editor{padding:12px 0 3px}
.detail-editor h3{font-size:14px;font-weight:600;margin:0 0 10px;color:#000}
.line-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}
.line-heading h3{margin:0}
.concept-table .text-input{min-width:110px}
.concept-table .toggles{flex-wrap:nowrap;gap:3px}
.concept-table .toggle{font-size:13px;padding:5px 7px;min-height:32px}
.returns-table input{width:75px;text-align:right}
.pill{font-size:13px;padding:3px 6px;color:#000;background:#f6f7f8;border-radius:3px;white-space:nowrap}
.plain-note{font-size:13px;color:#000;line-height:1.7;padding:10px 0}
.plan-table th{position:sticky;top:0;z-index:1}
.plan-table .toggle{font-size:13px;min-height:32px;padding:5px 8px}
.plan-table td{padding-top:6px;padding-bottom:6px}
.plan-table .money-input input{width:90px}
.plan-table .month-name{text-transform:capitalize;white-space:nowrap}
.cancel-table input[type=date]{width:165px}
.cancel-table .text-input{min-width:130px}
.cancel-table .toggles{max-width:270px;gap:3px}
.cancel-table .effect{font-size:13px;line-height:1.6;min-width:110px;color:#000}
.discount-table .text-input{min-width:150px}
.discount-table input[type=date]{width:165px}
.discount-table .amount{width:90px}
.validation{border-left:2px solid #4CCB73;color:#000;padding:3px 0 3px 12px;font-size:13px;margin:10px 0 15px}
.validation ul{margin:5px 0;padding-left:15px}



.bottom-bar{position:fixed;bottom:0;left:0;right:0;height:76px;background:#fffffffa;border-top:1px solid #e5e8eb;display:flex;align-items:center;justify-content:space-between;padding:0 35px;z-index:30;gap:15px}
.footer-summary{display:flex;align-items:baseline;gap:20px}
.footer-summary>span{font-size:13px;color:#000}
.footer-summary #sticky-period{color:#000}
.footer-summary strong{font-size:24px;font-weight:600;letter-spacing:-.5px}
.footer-actions{display:flex;align-items:center;gap:25px}
.simulation{padding:23px 0 20px;border-top:1px solid #dfe4e8;margin-top:20px;scroll-margin-top:60px}
.simulation-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.simulation-head h2{font-size:18px;font-weight:600;letter-spacing:-.2px;margin:0}
.simulation-layout{display:grid;grid-template-columns:minmax(390px,1fr) minmax(400px,1.2fr);gap:50px}
.sim-controls .field-row{grid-template-columns:145px 1fr;padding:8px 0;min-height:43px}
.sim-contract{display:flex;flex-wrap:wrap;gap:5px}
.sim-check{display:flex;align-items:center;gap:7px;font-size:14px;color:#000;padding:4px 0}
.sim-check input{accent-color:var(--accent);width:13px;height:13px}
.formula{padding-left:30px;border-left:1px solid var(--line)}
.formula-label{font-size:13px;letter-spacing:1px;color:#000;text-transform:uppercase;margin-bottom:12px}
.formula-expression{font-size:15px;line-height:1.9;color:#000;padding-bottom:13px;margin-bottom:8px;border-bottom:1px solid var(--line)}
.formula-table{width:100%;border-collapse:collapse;font-size:14px}
.formula-table td{padding:7px 0;color:#000}
.formula-table td:nth-child(2){text-align:right;white-space:nowrap;color:#000;font-variant-numeric:tabular-nums}
.formula-table small{display:block;font-size:13px;color:#000;margin-top:2px}
.formula-table .subtotal td{border-top:1px solid #e9edef;color:#000}
.formula-table .total td{border-top:1px solid #dbe1e5;padding-top:13px;font-weight:600;color:#000}
.formula-table .total td:last-child{font-size:28px;letter-spacing:-.6px}
.formula-foot{font-size:13px;color:#000;line-height:1.8;margin-top:12px}
.tax-details{font-size:13px;color:#000;margin-top:12px}
.tax-details summary{cursor:pointer}
.tax-row{display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding:8px 0;margin-top:5px}
.toast{border:1px solid var(--accent);position:fixed;bottom:92px;left:50%;transform:translate(-50%,10px);opacity:0;pointer-events:none;background:#effbf3;color:#000;padding:11px 18px;border-radius:5px;z-index:100;font-size:14px;transition:opacity .15s,transform .15s;max-width:90vw;text-align:center}
.toast.visible{opacity:1;transform:translate(-50%,0)}
dialog{border:1px solid #e4e8eb;border-radius:8px;padding:25px;max-width:445px;color:#000}
dialog::backdrop{background:#26313a55}
dialog h2{font-size:20px;margin:0 0 12px}
dialog p{font-size:15px;color:#000;line-height:1.7}
dialog .actions{justify-content:flex-end;margin-top:20px}
.empty{font-size:14px;color:#000;padding:18px 0}
.deadline{font-size:14px;color:#000;line-height:1.8;margin-top:10px}
.deadline strong{font-weight:600;color:#000}

@media(min-width:1600px){.topbar,.bottom-bar{padding-left:calc((100vw - 1380px)/2);padding-right:calc((100vw - 1380px)/2)}
}

@media(max-width:1180px){.topbar{padding:0 23px;gap:20px}
.page{padding:23px 23px 106px}
.page-label small{display:none}
.tab-list{gap:0}
.tab{font-size:13px}
.identity-row{grid-template-columns:130px minmax(380px,1.8fr) minmax(180px,1fr);gap:15px}
.work-area{grid-template-columns:minmax(520px,2.8fr) minmax(160px,1fr);gap:22px}
.panel-help{padding-left:17px;font-size:13px}
.schedule-table th:first-child{width:285px}
.identity-help{font-size:13px}
.simulation-layout{gap:25px}
.bottom-bar{padding:0 23px}
.formula{padding-left:22px}
}

@media(max-width:960px){.actions #save-state{display:none}
.page-label{font-size:14px}
.identity-row{grid-template-columns:125px 1fr;min-height:45px}
.identity-help{grid-column:2;margin-top:-3px}
.identity-row:first-child .identity-help{display:none}
.identity{padding-bottom:8px}
.work-area{grid-template-columns:1fr;gap:15px}
.panel-help{border:0;padding:5px 0 0;border-top:1px solid #eef0f2;display:flex;flex-wrap:wrap;gap:0 25px}
.panel-help h3{display:none}
.panel-help p{max-width:400px;margin:5px 0}
.panel-help ul{margin-top:3px}
.tab-panel{padding-top:20px;min-height:260px}
.simulation-layout{grid-template-columns:1fr 1.1fr;gap:20px}
.sim-controls .field-row{grid-template-columns:1fr;gap:2px}
.formula{padding-left:20px}
.panel-head p{font-size:13px}
}

@media(max-width:680px){.topbar{height:56px;padding:0 15px;gap:15px}
.page-label{display:none}
.actions{margin-left:auto;gap:6px}
.btn{font-size:13px;padding:8px 11px}
.page{padding:18px 15px 103px}
.identity-row{grid-template-columns:1fr;gap:7px;margin-bottom:13px;min-height:auto}
.identity-row:first-child{margin-bottom:15px;min-height:auto}
.identity-row:first-child .name-input{font-size:22px}
.identity-label{font-size:13px}
.identity-help{grid-column:1;font-size:13px;margin-top:0}
.toggle{padding:8px 12px;font-size:13px;min-height:36px}
.tab-list{gap:0;margin:0;padding:0;top:0}
.tab{font-size:13px;padding:11px 12px}
.panel-head{align-items:flex-start;gap:12px;margin-bottom:15px}
.panel-head h2{font-size:16px}
.panel-head p{font-size:13px;max-width:135px;text-align:right}
.field-row{grid-template-columns:1fr;gap:6px;padding:8px 0}
.field-label{padding-top:0;font-size:13px}
.field-value .toggles{gap:5px}
.field-value .toggle{font-size:13px;padding:7px 9px}
.table-scroll{max-height:370px}
.schedule-table{min-width:730px}
.data-table{font-size:13px}
.data-table th{font-size:13px}
.tariff-table{min-width:620px}
.cancel-table{min-width:740px}
.plan-table{min-width:740px}
.discount-table{min-width:860px}
.concept-table{min-width:740px}
.returns-table{min-width:480px}
.panel-help{font-size:13px}
.panel-help p{max-width:none}
.simulation-layout{grid-template-columns:1fr;gap:22px}
.formula{padding:20px 0 0;border-left:0;border-top:1px solid var(--line)}
.sim-controls .field-row{grid-template-columns:115px 1fr;gap:10px}
.sim-controls input[type=month],.sim-controls input[type=date]{width:165px}
.footer-summary{display:block}
.footer-summary>span{font-size:13px;display:block}
.footer-summary strong{font-size:22px}
.footer-summary #sticky-period{font-size:13px}
.bottom-bar{height:76px;padding:0 15px}
.footer-actions{gap:15px}
.footer-actions .text-button{display:none}
.footer-actions .btn{font-size:13px;padding:9px 12px}

.formula-expression{font-size:14px}
.name-input{min-width:0}
.mini-label{font-size:13px}
.inline-fields{gap:9px}
.hint{font-size:13px}
.simulation-head h2{font-size:16px}
.panel-help ul{font-size:13px}
}

@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}
}

@media print{.topbar,.tab-list,.bottom-bar,.header-pending,.add-button,.icon-button,.toast,.panel-help{display:none!important}
.page{padding:0}
.tab-panel[hidden]{display:block!important}
.tab-panel{break-inside:avoid;padding:15px 0}
.table-scroll{max-height:none;overflow:visible}
.identity{break-after:avoid}
.simulation[hidden]{display:block!important}
.work-area{display:block}
input{border:0!important}
.actions{display:none}
}


/* Disabled text is the only gray typography. */
button:disabled,input:disabled,.toggle:disabled,.toggle[aria-pressed=true]:disabled,.add-button:disabled{color:#929a95;opacity:1;}
input:disabled::placeholder{color:#929a95;}
.add-button>span{color:var(--accent);}
.detail-toggle.active{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:4px;}

.work-area>div,.sim-controls,.formula{min-width:0;}
@media(max-width:680px){.footer-summary #sticky-period{display:none;}}

.examples-select{font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:14px;font-weight:500;color:#000;background:#fff;border:1px solid #d9dde0;border-radius:5px;min-height:38px;padding:7px 10px;max-width:160px;cursor:pointer;}
.examples-select:hover{border-color:var(--accent);}
.not-applicable-price{display:inline-block;width:105px;height:32px;vertical-align:middle;border:1px solid #eceeee;border-radius:4px;background:#f1f3f2;}
.inactive-column,.no-slot-message,.unavailable-cancellation .effect{color:#929a95;}
.examples-select:focus-visible{outline:2px solid #4ccb7399;outline-offset:3px;border-color:var(--accent);}
@media(max-width:1080px){.topbar .page-label{display:none;}.topbar .actions{margin-left:auto;}}
@media(max-width:680px){.topbar{height:auto;min-height:56px;flex-wrap:wrap;padding-top:12px;padding-bottom:12px;row-gap:10px;}.topbar .actions{width:100%;margin-left:0;justify-content:space-between;gap:7px;}.examples-select{max-width:130px;min-width:0;font-size:13px;}.topbar .btn{font-size:13px;padding:8px 10px;}}


.common-concepts-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;}
.common-concepts-heading h3{font-size:18px;font-weight:650;letter-spacing:-.25px;margin:0;}
.common-concepts-heading .inline-fields{font-size:13px;}
.common-concepts>.hint{margin-bottom:10px;}
.common-concepts>.toggles{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;}
.common-concepts>.toggles .toggle{flex-shrink:0;}
.header-pending{position:relative;flex-shrink:0;}
.header-pending>summary{list-style:none;cursor:pointer;min-height:38px;font-weight:500;}
.header-pending>summary::-webkit-details-marker{display:none;}
.header-pending[open]>summary{border-color:var(--accent);background:var(--soft);}
.header-pending[open]>summary>span{transform:rotate(180deg);}
.pending-dropdown{position:absolute;right:0;top:calc(100% + 8px);z-index:50;width:430px;max-width:calc(100vw - 30px);max-height:65vh;overflow:auto;background:#fff;border:1px solid var(--accent);border-radius:6px;padding:17px 20px;box-shadow:0 7px 24px #00000014;}
.pending-dropdown ul{padding-left:18px;margin:0;color:#000;font-size:14px;font-weight:400;line-height:1.65;}
.pending-dropdown li+li{margin-top:10px;}
.topbar{position:relative;z-index:40;}
.coverage-page{padding-bottom:48px;}
.coverage-page .table-scroll{max-height:none;overflow:visible;}
.coverage-page h2{font-size:18px;font-weight:650;letter-spacing:-.25px;margin:28px 0 12px;}
.coverage-page h2:first-of-type{margin-top:0;}
.coverage-page h3{font-size:16px;font-weight:650;margin:22px 0 10px;}
.coverage-note{margin:0 0 12px;}
.coverage-table td{vertical-align:top;line-height:1.45;}
.coverage-table td:first-child{width:36%;}
.coverage-table th:nth-child(2),.coverage-table th:nth-child(3),.coverage-table td:nth-child(2),.coverage-table td:nth-child(3){width:32%;}
.coverage-table .dash{color:#7d8682;}
@media(max-width:1280px){.topbar .page-label{display:none;}.topbar .actions{margin-left:auto;}}
@media(max-width:680px){.topbar .actions{flex-wrap:wrap;margin-left:0;}.header-pending>summary{font-size:13px;padding:8px 10px;}.pending-dropdown{font-size:13px;}}

/* Vertical navigation and independent configuration cards. */
.page{max-width:1600px;padding:26px 28px 106px;}
.concept-card .line-heading{margin-top:0;margin-bottom:12px;align-items:center;}
.concept-card .line-heading>h2{margin:0;}
.activity-kind .toggle[aria-pressed=true]:disabled{color:#000;border-color:var(--accent);background:var(--soft);}
@media(max-width:1450px){
  .card-layout{grid-template-columns:minmax(0,1fr);gap:14px;}
  .card-layout>.panel-help{display:block;border-left:0;border-top:1px solid var(--line);padding:12px 0 0;font-size:13px;}
  .card-layout>.panel-help p{max-width:none;margin:0 0 8px;}
  .card-layout>.panel-help p:last-child{margin-bottom:0;}
}
@media(max-width:1180px){
  .identity{flex-wrap:wrap;gap:14px;}
  .activity-heading{flex-basis:100%;}
  .activity-title{min-width:0;}
  .pricing-workspace{grid-template-columns:117px minmax(0,1fr);}
  .tab-list{gap:0;padding:0;}
  .tab{font-size:13px;padding:10px 14px;}
  .workspace-content{padding:0 0 0 16px;}
  .schedule-grid{grid-template-columns:minmax(0,1fr);}
  .quota-controls{flex-direction:row;flex-wrap:wrap;gap:18px 28px;}
  .service-dates{max-width:430px;}
}
@media(max-width:800px){
  .page{padding:20px 15px 103px;}
  .pricing-workspace{grid-template-columns:96px minmax(0,1fr);}
  .workspace-content{padding:0 0 0 12px;}
  .tab-list{margin:0;padding:0;gap:0;top:0;overflow:visible;}
  .tab{font-size:13px;padding:10px 12px;white-space:normal;}
  .concept-card,.common-concepts{padding:14px;border-radius:9px;}
  .centre-name,.activity-title{font-size:16px;}
  .activity-status{font-size:12px;}
  .concept-card>h2,.concept-card .line-heading>h2,.common-concepts-heading h3{font-size:17px;}
  .field-row{grid-template-columns:1fr;gap:6px;}
  .field-label{padding-top:0;}
  .schedule-table{min-width:700px;}
  .tariff-table{min-width:620px;}
}
@media(max-width:520px){
  .identity{margin-bottom:16px;}
  .activity-heading{flex-wrap:wrap;gap:10px;}
  .activity-title{font-size:16px;}
  .pricing-workspace{grid-template-columns:75px minmax(0,1fr);}
  .workspace-content{padding:0 0 0 8px;}
  .tab-list{padding:0;}
  .tab{font-size:12px;padding:9px 10px;}
  .concept-card,.common-concepts{padding:12px;}
  .quota-controls .toggles{gap:5px;}
  .quota-controls .toggle{padding:7px 9px;}
  .service-dates{grid-template-columns:minmax(0,1fr);}
  .service-dates input{width:100%;}
  .common-concepts-heading .inline-fields{gap:7px;}
  .card-layout{gap:10px;}
}
@media print{
  .pricing-workspace{display:block;border:0;}
  .workspace-content{border:0;padding:0;}
  .concept-card,.common-concepts{break-inside:avoid;}
}
.workspace-content>.tab-panel{padding:0;min-height:0;}

.concept-table{min-width:740px;}
.concept-table td:first-child{min-width:170px;}
.accounting-account,.vat-select{font:inherit;font-size:14px;color:#000;background:#fff;border:1px solid #dfe3e6;border-radius:4px;min-height:34px;padding:6px 8px;width:100%;min-width:215px;}
.accounting-account:focus-visible,.vat-select:focus-visible{outline:2px solid #4ccb7333;outline-offset:2px;border-color:var(--accent);}

.vat-select{width:100px;min-width:90px;}

.form-select{font:inherit;font-size:14px;color:#000;background:#fff;border:1px solid #dfe3e6;border-radius:4px;min-height:34px;padding:6px 8px;max-width:100%;}
.form-select:focus-visible{outline:2px solid #4ccb7333;outline-offset:2px;border-color:var(--accent);}
.form-select:disabled{color:#929a95;background:#f1f3f2;border-color:#eceeee;cursor:not-allowed;opacity:1;}
.payment-tariff-table{min-width:1030px;}
.payment-tariff-table td{vertical-align:top;padding-top:10px;padding-bottom:10px;}
.payment-tariff-table td:first-child>.text-input{min-width:170px;}
.payment-tariff-table .form-select{width:100%;}
.payment-tariff-table td:nth-child(2)>.form-select{min-width:190px;}
.payment-tariff-table td:nth-child(3)>.form-select{min-width:115px;}
.payment-tariff-table td:nth-child(4)>.form-select{min-width:190px;}
.payment-tariff-table td:nth-child(5)>.form-select{min-width:115px;}
.payment-tariff-table .money-input input{width:85px;}
.payment-tariff-table .detail-cell{padding:10px 0 18px;}
.payment-tariff-table .detail-cell .field-row{max-width:760px;}
.tariff-unit{display:block;font-size:12px;margin-top:5px;}
.common-concepts-heading .form-select{max-width:290px;}

.tariff-editor-selector{display:flex;align-items:center;gap:16px;padding:7px 0 20px;}
.tariff-editor-selector>label{font-size:16px;font-weight:600;}
.tariff-editor-selector>.form-select{min-width:240px;max-width:70%;}
.inline-check{display:inline-flex;align-items:center;gap:8px;font-size:14px;}
.inline-check input{accent-color:var(--accent);width:16px;height:16px;}
.grant-table{min-width:510px;}

.tariff-master-detail{display:grid;grid-template-columns:340px minmax(0,1fr);gap:20px;align-items:start;}
.tariff-list{position:sticky;top:16px;min-width:0;padding:16px;}
.tariff-list>h2{font-size:18px;margin:0 0 14px;}
.tariff-pick{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:12px;text-align:left;background:none;border:0;border-radius:0;color:#000;padding:8px 0;min-width:0;width:100%;}
.tariff-pick>span{min-width:0;overflow-wrap:break-word;word-break:normal;line-height:1.45;font-size:14px;font-weight:550;}
.tariff-badge{font-size:11px;font-weight:400;border:1px solid #dfe3e6;border-radius:20px;padding:2px 7px;background:#fff;}
.tariff-detail{min-width:0;}
.tariff-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px;}
.tariff-fields>.field-row{display:block;min-width:0;padding:0 0 9px;}
.tariff-fields .field-label{padding:0;margin-bottom:7px;}
.tariff-fields .form-select{width:100%;}
.tariff-fields>.field-row:first-child{grid-column:1 / -1;}
.tariff-detail .concept-table{min-width:650px;}
.tariff-detail .concept-table td:first-child{min-width:130px;}
.tariff-detail .accounting-account{min-width:185px;}
@media(max-width:1180px){.tariff-master-detail{grid-template-columns:310px minmax(0,1fr);gap:14px;}.tariff-fields{grid-template-columns:1fr;}}
@media(max-width:760px){.tariff-master-detail{grid-template-columns:1fr;}.tariff-list{position:static;}}

/* Calendar summary and tariff concept total */
.calendar-layout { display: grid; grid-template-columns: minmax(290px, .65fr) minmax(0, 1.65fr); gap: 16px; align-items: start; }
.calendar-layout .concept-card { min-width: 0; }
.calendar-layout .table-scroll { max-height: none; overflow: visible; }
.calendar-months .data-table th, .calendar-months .data-table td { padding: 10px 6px; }
.calendar-months .data-table th:not(:first-child), .calendar-months .data-table td:not(:first-child) { text-align: right; }
.calendar-months tfoot { font-weight: 700; border-top: 2px solid #dfe3e6; }
.calendar-sessions td:last-child { white-space: nowrap; text-align: right; }
.calendar-cancelled { background: #fff7f7; }
.cancelled-badge { display: inline-block; color: #ac3030; background: #fdeaea; border-radius: 20px; padding: 4px 8px; font-size: 12px; }
.concepts-total { display: flex; justify-content: flex-end; align-items: center; gap: 24px; border-top: 1px solid #dfe3e6; padding: 16px 8px; font-weight: 600; }
.concepts-total output { font-size: 18px; }
.concepts-total.is-invalid output { color: #ac3030; }
@media (max-width: 1200px) { .calendar-layout { grid-template-columns: 1fr; } }

.selection-table tbody tr { cursor: pointer; transition: background-color .15s; }
.selection-table tbody tr:hover { background: #f1f2f3; }
.selection-table tbody tr.selected, .selection-table tbody tr.selected:hover { background: #e8f8ee; }
.selection-table tbody tr.selected { box-shadow: inset 3px 0 #4ccb73; }
.calendar-months .text-button { white-space: nowrap; padding: 4px 0; }
.calendar-sessions th, .calendar-sessions td { padding: 9px 6px; white-space: nowrap; }
.calendar-sessions { font-size: 13px; }
.calendar-time { display: inline-block; white-space: nowrap; }
.calendar-time-separator { padding: 0 3px; }
.calendar-layout .concept-card { padding: 16px; }
.calendar-pending { margin: 14px 0 0; color: #e07b00; font-size: 14px; }

/* Shared selectable rows: Calendari and Tarifes. */
.selection-table tbody tr:focus-within { outline: 2px solid var(--accent); outline-offset: -2px; }
.selection-table tbody tr.selected button:not(.remove) { font-weight: 600; }
.tariff-selection { table-layout: fixed; }
.tariff-selection td { padding: 6px; border-bottom: 1px solid #dfe3e6; }
.tariff-selection td:last-child { width: 30px; padding: 0; text-align: center; }
.tariff-list > .text-button { margin-top: 12px; }

#panel-plan > .concept-card { min-height: 560px; }
#panel-plan .table-scroll { max-height: none; }
.plan-table .plan-total > * { border-top: 2px solid #dfe3e6; padding-top: 14px; padding-bottom: 14px; font-weight: 700; }
.plan-table .plan-total th { position: static; text-align: left; }

.tariff-selection td { vertical-align: middle; padding: 10px 8px; }
.tariff-selection .tariff-badge { flex-shrink: 0; white-space: nowrap; }
.tariff-selection td:last-child { width: 34px; padding: 0 4px 0 0; }
.tariff-selection .icon-button { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; font-size: 20px; }
.tariff-selection .icon-button:hover { background: #fdeaea; color: #ac3030; }

/* Informative, non-editable payment period dates. */
.plan-table tbody tr:not(.plan-total) td:nth-child(2),
.plan-table tbody tr:not(.plan-total) td:nth-child(3) { color: #858d94; }

.payment-plan-detail { min-width: 0; }
.payment-plan-detail > .concept-card { min-height: 560px; }
.payment-plan-detail .plan-table { min-width: 0; }
.payment-plan-detail .plan-table th { font-size: 12px; }
.payment-plan-detail .plan-table td { font-size: 13px; }
.payment-plan-detail .plan-table .amount { width: 70px; }

.general-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:16px; align-items:start; }
.general-grid > .concept-card { margin:0; min-width:0; }
.general-grid .span-two-thirds { grid-column:span 4; }
.general-grid .span-half { grid-column:span 3; }
.general-grid .span-third { grid-column:span 2; }
.general-grid .wide-card { grid-column:1 / -1; }
@media(min-width:801px) {
  .general-grid .field-row { grid-template-columns: minmax(108px, 150px) minmax(0,1fr); }
}
.general-grid .span-third .field-row { grid-template-columns: minmax(0,1fr); gap:6px; }
.general-grid .span-third .field-label { padding-top:0; }
.general-grid textarea { width:100%; resize:vertical; min-height:76px; border:1px solid #dfe3e6; border-radius:5px; padding:9px; font:inherit; color:#000; }
.variant-options { display:flex; flex-wrap:wrap; gap:12px 20px; }
.combined-plan tbody tr:not(.plan-total) td:nth-child(2), .combined-plan tbody tr:not(.plan-total) td:nth-child(3) { color:#000; }
.combined-plan .informative-date { color:#858d94; white-space:nowrap; }
.combined-plan .amount { width:70px; }
.combined-plan .inline-fields { gap:5px; flex-wrap:nowrap; }
.combined-plan td, .combined-plan th { padding-left:7px; padding-right:7px; }
.combined-plan .month-subtotal { background:#f6f8f7; font-weight:600; }
.combined-plan .month-subtotal th { position:static; text-align:left; }
@media(max-width:1100px) {
  .general-grid { grid-template-columns:1fr; }
  .general-grid .span-two-thirds,
  .general-grid .span-half,
  .general-grid .span-third,
  .general-grid .wide-card { grid-column:auto; }
}
@media(min-width:801px) and (max-width:1100px) {
  .general-grid .span-third .field-row { grid-template-columns: minmax(108px, 150px) minmax(0,1fr); gap:15px; }
  .general-grid .span-third .field-label { padding-top:7px; }
}

.fixed-days-table, .periods-table { table-layout:fixed; }
.fixed-days-table tbody th { text-align:left; font-weight:500; border-bottom:1px solid #eef0f2; }
.fixed-days-table th:nth-child(2), .fixed-days-table th:nth-child(3),
.periods-table th:nth-child(2), .periods-table th:nth-child(3) { width:34%; }
.periods-table th:last-child { width:36px; }
.fixed-days-table input, .periods-table input { width:100%; min-width:0; }
.period-actions { display:flex; flex-wrap:wrap; gap:0 18px; }
.variants-dropdown { border:1px solid #dfe3e6; border-radius:6px; }
.variants-dropdown summary { padding:10px 12px; cursor:pointer; }
.variants-menu { display:grid; padding:6px; border-top:1px solid #dfe3e6; }
.variants-menu label { padding:10px; border-radius:4px; }
.variants-menu label:hover { background:#f1f2f3; }
.variants-menu label:has(input:checked) { background:#e8f8ee; }
.variant-chip { display:inline-block; margin-right:6px; padding:3px 8px; border-radius:4px; background:#e8f8ee; }
.monthly-plan { min-width:0; }
.monthly-plan tbody tr:not(.plan-total) td:nth-child(2) { color:#000; }
.monthly-plan th:last-child { text-align:right; }

.billing-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr); gap:16px; align-items:start; }
.billing-side { display:flex; flex-direction:column; gap:16px; min-width:0; }
.billing-side > .concept-card { margin:0; }
.billing-side .field-row { grid-template-columns:minmax(108px,140px) minmax(0,1fr); gap:10px; }
.billing-plan-card { min-height:560px; min-width:0; margin:0; }
@media(max-width:1000px) { .billing-layout { grid-template-columns:1fr; } }
@media(max-width:800px) { .billing-side .field-row { grid-template-columns:1fr; gap:6px; } }
.billing-plan .informative-date { color:#858d94; }
.billing-plan .inline-fields { gap:7px; flex-wrap:nowrap; }
.invoice-series { table-layout:fixed; }
.invoice-series th:last-child { width:36px; }
.invoice-series td { padding:7px 4px; }
.invoice-series input, .invoice-series select { width:100%; min-width:0; }
.doc-legend { margin:0 0 12px; font-size:13px; line-height:1.5; color:#000; }
.doc-table { table-layout:fixed; width:100%; min-width:0; }
.doc-table th:nth-child(1) { width:18%; }
.doc-table th:nth-child(2) { width:24%; }
.doc-table th:nth-child(3) { width:16%; }
.doc-table th:nth-child(4) { width:168px; }
.doc-table th:nth-child(5) { width:78px; }
.doc-table th:last-child { width:36px; }
.doc-table td { padding:7px 8px 7px 0; }
.doc-table input { width:100%; min-width:0; }
.doc-table .toggles { flex-wrap:nowrap; gap:3px; }
.doc-table .toggle.tiny { padding:5px 7px; }

.groups-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:28px; align-items:start; }
.groups-layout > div { min-width:0; }
.groups-layout > div + div { border-left:1px solid var(--line); padding-left:28px; }
.groups-layout h3 { font-size:15px; font-weight:600; margin:0 0 12px; }
.groups-layout .table-scroll { max-height:none; overflow:visible; }
.groups-table, .blocks-table { table-layout:fixed; }
.groups-table th:nth-child(2), .groups-table th:nth-child(3) { width:34%; }
.groups-table th:last-child, .blocks-table th:last-child { width:36px; }
.groups-table input[type=date], .groups-table .text-input, .blocks-table .text-input { width:100%; min-width:0; cursor:text; }
.blocks-table th:nth-child(3), .blocks-table td:nth-child(3) { width:76px; text-align:right; }
.enrolled-count { color:#858d94; text-align:right; font-variant-numeric:tabular-nums; }
.monitor-combo { position:relative; }
.monitor-combo input { width:100%; padding-right:26px; background-image:linear-gradient(45deg, transparent 50%, #000 50%), linear-gradient(135deg, #000 50%, transparent 50%); background-position:calc(100% - 16px) calc(50% - 2px), calc(100% - 11px) calc(50% - 2px); background-size:5px 5px, 5px 5px; background-repeat:no-repeat; }
.category-combo.has-value input { padding-right:46px; }
.combo-clear { position:absolute; right:22px; top:0; height:100%; border:0; background:transparent; color:#5c656c; font-size:18px; line-height:1; padding:0 6px; }
.combo-clear:hover { color:#000; }
.combo-list { position:absolute; z-index:6; left:0; right:0; top:calc(100% + 4px); max-height:240px; overflow:auto; margin:0; padding:4px; list-style:none; background:#fff; border:1px solid #dfe3e6; border-radius:6px; box-shadow:0 8px 24px #26313a1a; }
.combo-list button { display:block; width:100%; text-align:left; border:0; background:transparent; border-radius:4px; padding:8px 10px; font-size:14px; }
.combo-list button.combo-child { padding-left:28px; }
.combo-list button:hover, .combo-list button[aria-selected=true] { background:#e8f8ee; }
.classification-check { min-height:0; padding-top:2px; }
.combo-empty { padding:8px 10px; font-size:13px; color:#858d94; }
.coverage-page .coverage-block{max-height:none;overflow:visible;}
.coverage-page .coverage-table{min-width:0;width:100%;}
.coverage-page .coverage-table th{white-space:normal;}
.coverage-page .coverage-table td,.coverage-page .coverage-table th{overflow:visible;}
@media(max-width:1000px) {
  .groups-layout { grid-template-columns:1fr; }
  .groups-layout > div + div { border-left:0; padding-left:0; border-top:1px solid var(--line); padding-top:18px; }
}
