/* Only Programa - camada visual global. Carregue após Bootstrap/Gentelella. */

/* 01. Variáveis e padrões seguros */
:root{--only-primary:#2a3f54;--only-secondary:#1abb9c;--only-bg:#f7f7f7;--only-surface:#fff;--only-text:#333;--only-muted:#73879c;--only-menu:#2a3f54;--only-menu-text:#fff;--only-menu-hover:#354b60;--only-menu-active:#1abb9c;--only-header:#ededed;--only-footer:#fff;--only-border:#d9dee4;--only-btn-primary:#337ab7;--only-btn-secondary:#5bc0de;--only-warning:#f0ad4e;--only-success:#26b99a;--only-danger:#d9534f;--only-info:#3498db;--only-radius:4px;--only-font:Arial,sans-serif;--only-font-size:14px;--only-menu-width:230px;--only-header-height:57px;--only-card-gap:16px;--only-shadow:0 2px 8px rgba(0,0,0,.08);--only-table-pad:8px;--only-status-bg:#e2e3e5;--only-status-text:#383d41;--only-status-border:#d6d8db}

/* 02. Base */
html{font-size:var(--only-font-size)}body{background:var(--only-bg);color:var(--only-text);font-family:var(--only-font);overflow-x:hidden}.container.body,.main_container,.right_col{min-height:100vh;height:auto}.right_col{background:var(--only-bg)!important;color:var(--only-text)}a{color:var(--only-primary)}a:hover,a:focus{color:var(--only-secondary)}hr{border-color:var(--only-border)}

/* 03. Tipografia */
h1,h2,h3,h4,h5,h6,.site_title{font-family:var(--only-font);color:var(--only-text)}.text-muted,.help-block,small{color:var(--only-muted)!important}code{color:var(--only-primary);background:color-mix(in srgb,var(--only-primary) 8%,white)}

/* 04. Layout */
.cfg-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:var(--only-card-gap)}.cfg-split{display:grid;grid-template-columns:minmax(300px,1fr) minmax(360px,1.15fr);gap:var(--only-card-gap);align-items:start}.cfg-field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.cfg-actions{position:sticky;z-index:5;bottom:0;padding:12px;background:color-mix(in srgb,var(--only-surface) 94%,transparent);border-top:1px solid var(--only-border);backdrop-filter:blur(4px)}

/* 05. Menu lateral */
.left_col,.nav_title,.sidebar-footer{background:var(--only-menu)!important}.nav-md .container.body .col-md-3.left_col,.nav-md .navbar.nav_title{width:var(--only-menu-width)}.nav-md .container.body .right_col,.nav-md .container.body .top_nav{margin-left:var(--only-menu-width)}.nav.side-menu>li>a,.nav.child_menu>li>a,.site_title{color:var(--only-menu-text)!important}.nav.side-menu>li>a:hover,.nav.child_menu>li>a:hover{background:var(--only-menu-hover)!important}.nav.side-menu>li.current-page,.nav.side-menu>li.active{border-right-color:var(--only-menu-active)}.nav.side-menu>li.active>a,.nav.child_menu>li.current-page>a{background:var(--only-menu-hover)!important;box-shadow:inset 4px 0 var(--only-menu-active)}.nav-sm .container.body .right_col,.nav-sm .container.body .top_nav{margin-left:70px}.nav-sm .container.body .left_col,.nav-sm .navbar.nav_title{width:70px}

/* 06. Cabeçalho e rodapé */
.top_nav{display:flow-root;position:relative;z-index:3;min-height:var(--only-header-height)}.top_nav .nav_menu{min-height:var(--only-header-height);background:var(--only-header);border-color:var(--only-border)}footer{background:var(--only-footer);color:var(--only-muted);border-top:1px solid var(--only-border)}.top_nav .nav.toggle a,.top_nav .nav.toggle a i{color:var(--only-menu)!important}

/* 07. Botões */
.btn{border-radius:var(--only-radius);transition:filter .15s,transform .08s}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--only-btn-primary);border-color:var(--only-btn-primary)}.btn-info{background:var(--only-info);border-color:var(--only-info)}.btn-success{background:var(--only-success);border-color:var(--only-success)}.btn-warning{background:var(--only-warning);border-color:var(--only-warning)}.btn-danger{background:var(--only-danger);border-color:var(--only-danger)}.btn-default{background:var(--only-surface);border-color:var(--only-border);color:var(--only-text)}.btn:hover,.btn:focus{filter:brightness(.94)}

/* 08. Formulários */
.form-control,input,select,textarea{border-color:var(--only-border);border-radius:var(--only-radius);color:var(--only-text);background-color:var(--only-surface)}.form-control:focus,input:focus,select:focus,textarea:focus{border-color:var(--only-secondary);box-shadow:0 0 0 2px color-mix(in srgb,var(--only-secondary) 20%,transparent);outline:0}.cfg-color-row{display:grid;grid-template-columns:48px 1fr auto;gap:8px;align-items:center}.cfg-color{width:48px;height:38px;padding:2px}.cfg-hex{font-family:monospace;text-transform:uppercase}.cfg-reset{white-space:nowrap}

/* 09. Tabelas */
.table{background:var(--only-surface);color:var(--only-text)}.table>thead>tr>th{background:color-mix(in srgb,var(--only-primary) 7%,var(--only-surface));border-color:var(--only-border);vertical-align:middle}.table>tbody>tr>td,.table>tfoot>tr>td{padding:var(--only-table-pad);border-color:var(--only-border);vertical-align:middle}.table-hover>tbody>tr:hover{background:color-mix(in srgb,var(--only-secondary) 7%,var(--only-surface))}.cfg-table th{text-align:center}.cfg-switch{white-space:nowrap}

/* 10. Painéis e cartões */
.x_panel,.cfg-card,.only-card{background:var(--only-surface);border:1px solid var(--only-border);border-radius:var(--only-radius);box-shadow:var(--only-shadow)}.cfg-card,.only-card{padding:18px}.cfg-card h3,.cfg-card h4{margin-top:0}.x_title{border-color:var(--only-border)}

/* 11. Modais */
.modal-content{background:var(--only-surface);border-color:var(--only-border);border-radius:var(--only-radius);box-shadow:var(--only-shadow)}.modal-header,.modal-footer{border-color:var(--only-border)}

/* 12. Alertas */
.alert{border-radius:var(--only-radius)}.alert-success{border-color:var(--only-success)}.alert-warning{border-color:var(--only-warning)}.alert-danger{border-color:var(--only-danger)}.alert-info{border-color:var(--only-info)}

/* 13. Status semânticos */
.only-status{display:inline-flex;gap:.35em;align-items:center;padding:.25em .6em;border:1px solid var(--only-status-border);border-radius:999px;background:var(--only-status-bg);color:var(--only-status-text);font-weight:600}.only-status--success,.only-status--ativo,.only-status--concluido{--only-status-bg:#d4edda;--only-status-text:#155724;--only-status-border:#c3e6cb}.only-status--danger,.only-status--cancelado,.only-status--inativo{--only-status-bg:#f8d7da;--only-status-text:#721c24;--only-status-border:#f5c6cb}.only-status--warning,.only-status--pendente{--only-status-bg:#fff3cd;--only-status-text:#856404;--only-status-border:#ffeeba}.only-status--info,.only-status--aberto{--only-status-bg:#d1ecf1;--only-status-text:#0c5460;--only-status-border:#bee5eb}

/* 14. PDV e componentes compartilhados */
.pdv-container,.pdv-shell,.pdv-painel{color:var(--only-text)}.pdv-card,.pdv-resumo,.pdv-item{background:var(--only-surface);border-color:var(--only-border);border-radius:var(--only-radius);box-shadow:var(--only-shadow)}.pdv-total,.valor-total{color:var(--only-primary)}.pdv-primary,.btn-finalizar-venda{background:var(--only-btn-primary);border-color:var(--only-btn-primary)}

/* 15. Editor e prévia */
.cfg-preview-toolbar{display:flex;gap:8px;margin-bottom:10px}.cfg-preview-wrap{position:sticky;top:10px}.cfg-preview{width:100%;min-height:520px;overflow:hidden;border:1px solid var(--only-border);border-radius:var(--only-radius);background:var(--only-bg);box-shadow:var(--only-shadow);transition:max-width .2s;margin:auto}.cfg-preview[data-device=tablet]{max-width:768px}.cfg-preview[data-device=mobile]{max-width:390px}.cfg-preview__menu{float:left;width:28%;min-height:520px;padding:16px 10px;background:var(--preview-menu,var(--only-menu));color:var(--preview-menu-text,var(--only-menu-text))}.cfg-preview__main{margin-left:28%;min-height:520px}.cfg-preview__header{height:58px;padding:18px;background:var(--preview-header,var(--only-header))}.cfg-preview__body{padding:16px;background:var(--preview-bg,var(--only-bg))}.cfg-preview__card{padding:15px;background:var(--preview-surface,var(--only-surface));border:1px solid var(--preview-border,var(--only-border));border-radius:var(--preview-radius,var(--only-radius));box-shadow:var(--preview-shadow,var(--only-shadow))}.cfg-preview__button{display:inline-block;margin-top:10px;padding:8px 14px;border-radius:var(--preview-radius,var(--only-radius));background:var(--preview-primary,var(--only-btn-primary));color:#fff}.cfg-preview__status{margin-top:12px}.cfg-preview[data-device=mobile] .cfg-preview__menu{width:72px;font-size:0}.cfg-preview[data-device=mobile] .cfg-preview__main{margin-left:72px}.cfg-inline-form{display:inline}.cfg-theme-actions{display:flex;gap:5px;flex-wrap:wrap}.cfg-status-preview{min-width:140px}

/* 16. Responsividade, login e impressão */
.form-signin{color:var(--only-text)}.form-signin .btn-primary{background:var(--only-btn-primary);border-color:var(--only-btn-primary)}@media(max-width:991px){.cfg-split{grid-template-columns:1fr}.cfg-preview-wrap{position:static}.nav-md .container.body .right_col,.nav-md .container.body .top_nav{margin-left:0!important;width:100%}}@media(max-width:767px){.cfg-grid,.cfg-field-grid{grid-template-columns:1fr}.cfg-actions{position:static}.table-responsive{border-color:var(--only-border)}.cfg-color-row{grid-template-columns:44px 1fr}.cfg-reset{grid-column:1/-1}}@media print{.left_col,.top_nav,footer,.cfg-actions,.btn,.cfg-preview-toolbar{display:none!important}.right_col{margin:0!important;padding:0!important;background:#fff!important}.x_panel,.cfg-card{box-shadow:none;border-color:#aaa}}

/* 17. Componentes globais de pagina - padrao visual Only/ClinicaSYS */
:root{--only-cor-primaria:var(--only-primary);--only-cor-secundaria:var(--only-secondary);--only-cor-superficie:var(--only-surface);--only-cor-texto:var(--only-text);--only-cor-borda:var(--only-border);--only-raio-borda:var(--only-radius);--only-sombra:var(--only-shadow);--only-cor-sucesso:var(--only-success);--only-cor-alerta:var(--only-warning);--only-cor-perigo:var(--only-danger);--only-cor-info:var(--only-info);--only-cabecalho-inicio:var(--only-primary);--only-cabecalho-fim:var(--only-secondary);--only-cabecalho-texto:#fff;--only-botao-raio:clamp(6px,var(--only-radius),10px);--only-campo-raio:clamp(6px,var(--only-radius),10px);--only-card-raio:clamp(7px,var(--only-radius),12px)}
.only-page{width:100%}.only-page-content,.right_col[role=main]{position:relative}.only-page-header,.right_col[role=main] .page-title{float:none;width:100%;height:auto;min-height:0;margin:0 0 20px;padding:22px 24px;border:0;border-radius:var(--only-card-raio);background:linear-gradient(118deg,var(--only-cabecalho-inicio),var(--only-cabecalho-fim));box-shadow:var(--only-shadow);color:var(--only-cabecalho-texto)}.only-page-header__content,.right_col[role=main] .page-title{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}.only-page-title,.right_col[role=main] .page-title h1,.right_col[role=main] .page-title h2,.right_col[role=main] .page-title h3{margin:0;color:var(--only-cabecalho-texto)!important;font-size:clamp(24px,2vw,34px);line-height:1.15;font-weight:700}.only-page-subtitle,.right_col[role=main] .page-title p{max-width:760px;margin:7px 0 0;color:color-mix(in srgb,var(--only-cabecalho-texto) 86%,transparent)!important;font-size:14px}.only-page-header__actions,.right_col[role=main] .page-title .title_right{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex:1 1 260px;float:none;width:auto;margin:0}.right_col[role=main] .page-title .title_left{float:none;width:auto;flex:1 1 320px}.only-page-header .btn,.right_col[role=main] .page-title .btn{margin:0;background:color-mix(in srgb,var(--only-surface) 94%,transparent);border-color:color-mix(in srgb,var(--only-surface) 62%,transparent);color:var(--only-primary)}
.only-filter-card{padding:18px;background:var(--only-surface);border:1px solid var(--only-border);border-radius:var(--only-card-raio);box-shadow:var(--only-shadow)}.only-filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;align-items:end}.only-filter-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.only-filter-group{min-width:0}
.btn,.only-btn{border-radius:var(--only-botao-raio);transition:filter .15s,transform .08s,box-shadow .15s;min-height:36px;font-weight:600}.btn:active,.only-btn:active{transform:translateY(1px)}.btn:hover,.btn:focus,.only-btn:hover,.only-btn:focus{filter:brightness(.94);box-shadow:0 3px 10px color-mix(in srgb,var(--only-primary) 16%,transparent)}.btn[disabled],.btn.disabled,.only-btn[disabled]{filter:none;box-shadow:none;cursor:not-allowed;opacity:.65}.only-btn--icon{display:inline-flex;align-items:center;justify-content:center;min-width:36px;padding:7px}
.form-control,.only-input,.only-select,.only-textarea,input:is([type=text],[type=number],[type=date],[type=datetime-local],[type=email],[type=password],[type=search],[type=tel],[type=url]),select,textarea{border:1px solid var(--only-border);border-radius:var(--only-campo-raio);color:var(--only-text);background-color:var(--only-surface);min-height:38px;padding:8px 11px}.form-control:focus,.only-input:focus,.only-select:focus,.only-textarea:focus,input:is([type=text],[type=number],[type=date],[type=datetime-local],[type=email],[type=password],[type=search],[type=tel],[type=url]):focus,select:focus,textarea:focus{border-color:var(--only-secondary);box-shadow:0 0 0 3px color-mix(in srgb,var(--only-secondary) 18%,transparent);outline:0}.form-control[disabled],.form-control[readonly],input[disabled],input[readonly],select[disabled],textarea[disabled],textarea[readonly]{background:color-mix(in srgb,var(--only-bg) 80%,var(--only-surface));color:var(--only-muted);cursor:not-allowed}.has-error .form-control{border-color:var(--only-danger)}.has-success .form-control{border-color:var(--only-success)}input[type=checkbox],input[type=radio],input[type=file],input[type=range],input[type=color],input[type=hidden]{min-height:initial;padding:initial;border-radius:initial;box-shadow:none}
.only-table-wrapper,.table-responsive{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--only-card-raio)}.table,.only-table{width:100%;max-width:100%;background:var(--only-surface);color:var(--only-text);border-collapse:collapse}.table>thead>tr>th,.only-table>thead>tr>th{background:color-mix(in srgb,var(--only-primary) 8%,var(--only-surface));border-color:var(--only-border);vertical-align:middle;font-weight:700;white-space:nowrap}.table>tbody>tr>td,.table>tfoot>tr>td,.only-table>tbody>tr>td,.only-table>tfoot>tr>td{padding:var(--only-table-pad);border-color:var(--only-border);vertical-align:middle}.table-hover>tbody>tr:hover,.only-table>tbody>tr:hover{background:color-mix(in srgb,var(--only-secondary) 7%,var(--only-surface))}
.x_panel,.cfg-card,.only-card{border-radius:var(--only-card-raio)}.only-card__header{padding:14px 18px;border-bottom:1px solid var(--only-border)}.only-card__body{padding:18px}.only-card__footer{padding:12px 18px;border-top:1px solid var(--only-border)}
.modal[aria-hidden=true]:not(.in):not(.show){pointer-events:none}.modal-content{overflow:hidden}.modal-dialog{max-width:calc(100vw - 24px)}body:not(.modal-open)>.modal-backdrop{pointer-events:none}.only-layout-generated{margin-bottom:20px}.only-layout-generated .only-page-subtitle{margin-bottom:0}.only-no-print{display:initial}.only-print-only{display:none}
@media(max-width:991px){.only-page-header,.right_col[role=main] .page-title{padding:18px 20px}.only-page-header__content,.right_col[role=main] .page-title{align-items:flex-start}.only-page-header__actions,.right_col[role=main] .page-title .title_right{justify-content:flex-start;flex-basis:100%}}
@media(max-width:767px){.only-filter-grid{grid-template-columns:1fr}.only-table-wrapper{border:1px solid var(--only-border)}.right_col[role=main]{padding-left:12px!important;padding-right:12px!important}.only-page-header,.right_col[role=main] .page-title{padding:16px;margin-bottom:14px}.only-page-title,.right_col[role=main] .page-title h1,.right_col[role=main] .page-title h2,.right_col[role=main] .page-title h3{font-size:24px}.only-page-header__actions,.right_col[role=main] .page-title .title_right{width:100%}.only-page-header__actions .btn,.right_col[role=main] .page-title .title_right .btn{flex:1 1 auto}.form-inline .form-control{width:100%;margin-bottom:8px}.modal-dialog{margin:12px auto}.modal-content{max-height:calc(100vh - 24px);overflow:auto}}
@media(max-width:480px){.only-page-header__actions,.only-filter-actions{display:grid;grid-template-columns:1fr;width:100%}.only-page-header__actions .btn,.only-filter-actions .btn{width:100%}.rel-indicators{grid-template-columns:1fr!important}}
@media print{.only-no-print{display:none!important}.only-print-only{display:block!important}.only-page-header,.right_col[role=main] .page-title{padding:0;background:none!important;box-shadow:none;color:#000}.only-page-title,.right_col[role=main] .page-title h1,.right_col[role=main] .page-title h2,.right_col[role=main] .page-title h3{color:#000!important}}

/* 09. Matriz de permissões (níveis de acesso): cabeçalho fixo + rolagem vertical */
.cfg-matriz-scroll{max-height:60vh;overflow-y:auto}
.cfg-matriz-scroll table{margin-bottom:0}
.cfg-matriz-scroll thead th{position:sticky;top:0;z-index:3;box-shadow:0 1px 0 var(--only-border)}
.cfg-help-btn{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;margin-left:2px;border:1px solid var(--only-border);border-radius:50%;background:color-mix(in srgb,var(--only-secondary) 12%,var(--only-surface));color:var(--only-secondary);font-size:11px;font-weight:700;line-height:1;cursor:pointer;vertical-align:middle}
.cfg-help-btn:hover,.cfg-help-btn:focus{background:var(--only-secondary);color:#fff;outline:0}
.cfg-help-overlay{position:fixed;inset:0;z-index:1050;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.45);padding:16px}
.cfg-help-box{width:100%;max-width:420px;max-height:80vh;overflow:auto;background:var(--only-surface);color:var(--only-text);border-radius:var(--only-radius);box-shadow:var(--only-shadow)}
.cfg-help-head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--only-border)}
.cfg-help-head strong{font-size:16px}
.cfg-help-close{border:0;background:none;font-size:20px;line-height:1;color:var(--only-muted);cursor:pointer}
.cfg-help-close:hover{color:var(--only-danger)}
.cfg-help-body{padding:16px}
.cfg-help-body ul{padding-left:18px;margin-bottom:0}
.cfg-help-body li{margin-bottom:6px}
