/* =========================================================
   NexoOdonto — identidade visual oficial
   Azul profundo + turquesa, interface clínica limpa e objetiva.
   ========================================================= */

:root{
    --clinic-primary:#0757B4;
    --clinic-primary-950:#031F41;
    --clinic-primary-900:#043268;
    --clinic-primary-800:#054587;
    --clinic-primary-700:#0757B4;
    --clinic-primary-600:#256DBD;
    --clinic-secondary:#0BC3C8;
    --clinic-secondary-700:#089397;
    --clinic-secondary-600:#0AAFB4;
    --clinic-primary-rgb:7,87,180;
    --clinic-secondary-rgb:11,195,200;
    --clinic-on-primary:#FFFFFF;
    --nexo-blue-950:var(--clinic-primary-950);
    --nexo-blue-900:var(--clinic-primary-900);
    --nexo-blue-800:var(--clinic-primary-800);
    --nexo-blue-700:var(--clinic-primary-700);
    --nexo-blue-600:var(--clinic-primary-600);
    --nexo-teal-700:var(--clinic-secondary-700);
    --nexo-teal-600:var(--clinic-secondary-600);
    --nexo-teal-500:var(--clinic-secondary);
    --nexo-cyan-100:#dff9fb;
    --nexo-ice:#f4fafc;
    --nexo-surface:#ffffff;
    --nexo-ink:#13283c;
    --nexo-muted:#6f8192;
    --nexo-line:#dfeaf0;
    --nexo-gradient:linear-gradient(135deg,var(--nexo-blue-900) 0%,var(--nexo-blue-600) 52%,var(--nexo-teal-500) 100%);
    --nexo-gradient-soft:linear-gradient(135deg,rgba(var(--clinic-primary-rgb),.10),rgba(var(--clinic-secondary-rgb),.10));
    --nexo-shadow:0 14px 38px rgba(var(--clinic-primary-rgb),.08);
    --nexo-shadow-strong:0 24px 64px rgba(var(--clinic-primary-rgb),.15);
    --brand-blue:var(--nexo-blue-700);
    --brand-blue-dark:var(--nexo-blue-950);
    --brand-teal:var(--nexo-teal-500);
    --blue:var(--nexo-blue-700);
    --teal:var(--nexo-teal-500);
    --bg:var(--nexo-ice);
    --panel:#fff;
    --text:var(--nexo-ink);
    --muted:var(--nexo-muted);
    --line:var(--nexo-line);
}

html{background:var(--nexo-ice);scroll-behavior:smooth}
body.nexo-body{
    min-width:320px;
    background:
        radial-gradient(circle at 92% 3%,rgba(var(--clinic-secondary-rgb),.08),transparent 24rem),
        linear-gradient(180deg,var(--theme-secondary-surface-1) 0%,var(--theme-secondary-surface-2) 100%) !important;
    color:var(--nexo-ink);
}
svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* Estrutura */
.app-shell{
    display:grid !important;
    grid-template-columns:264px minmax(0,1fr) !important;
    min-height:100vh;
    transition:grid-template-columns .22s ease;
}
body.sidebar-collapsed .app-shell{grid-template-columns:82px minmax(0,1fr) !important}
.main{
    min-width:0 !important;
    padding:0 28px 34px !important;
    background:transparent;
}
.page-content{max-width:1600px;margin:0 auto}

/* Menu lateral enxuto */
.sidebar{
    width:264px !important;
    height:100vh !important;
    min-height:100vh !important;
    padding:0 !important;
    position:sticky !important;
    top:0 !important;
    z-index:50;
    display:flex !important;
    flex-direction:column !important;
    gap:0 !important;
    overflow:hidden !important;
    color:#fff !important;
    background:
        radial-gradient(circle at 15% 0%,rgba(var(--clinic-secondary-rgb),.20),transparent 22rem),
        linear-gradient(180deg,var(--nexo-blue-900) 0%,var(--nexo-blue-950) 100%) !important;
    border:0 !important;
    box-shadow:18px 0 48px rgba(var(--clinic-primary-rgb),.08);
    transition:width .22s ease,transform .25s ease;
}
body.sidebar-collapsed .sidebar{width:82px !important}

.sidebar-header{
    min-height:88px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:15px 14px 15px 16px;
    border-bottom:1px solid rgba(255,255,255,.10);
}
.sidebar-brand{
    min-width:0;
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    color:#fff !important;
    text-decoration:none;
}
.brand-symbol-wrap{
    width:46px;
    height:46px;
    flex:0 0 46px;
    display:grid;
    place-items:center;
    overflow:hidden;
    border-radius:15px;
    background:rgba(255,255,255,.98);
    box-shadow:0 10px 28px rgba(0,0,0,.16);
}
.brand-symbol-wrap img{width:39px;height:39px;object-fit:contain;display:block}
.sidebar .brand-copy{
    display:flex !important;
    flex-direction:column;
    min-width:0;
    line-height:1;
}
.sidebar .brand-copy strong{
    color:#fff !important;
    font-size:20px !important;
    font-weight:400 !important;
    letter-spacing:-.035em;
    white-space:nowrap;
}
.sidebar .brand-copy strong span{font-weight:900}
.sidebar .brand-copy small{
    margin-top:6px;
    color:rgba(255,255,255,.62);
    font-size:10px;
    font-weight:700;
    letter-spacing:.035em;
    white-space:nowrap;
}
.sidebar-toggle{
    width:34px !important;
    height:34px !important;
    flex:0 0 34px;
    display:grid !important;
    place-items:center;
    padding:0 !important;
    border-radius:11px !important;
    border:1px solid rgba(255,255,255,.13) !important;
    background:rgba(255,255,255,.07) !important;
    color:rgba(255,255,255,.84) !important;
}
.sidebar-toggle:hover{background:rgba(255,255,255,.14) !important;color:#fff !important}
.sidebar-toggle svg{width:18px;height:18px;transition:transform .2s ease}
body.sidebar-collapsed .sidebar-toggle svg{transform:rotate(180deg)}

.sidebar-nav{
    flex:1;
    min-height:0;
    overflow-y:auto;
    padding:16px 12px !important;
    scrollbar-width:thin;
    scrollbar-color:rgba(255,255,255,.18) transparent;
}
.sidebar-nav::-webkit-scrollbar{width:5px}
.sidebar-nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.16);border-radius:99px}
.sidebar .nav-item,
.sidebar .nav-group summary{
    position:relative;
    width:100%;
    box-sizing:border-box;
    color:rgba(255,255,255,.78) !important;
    text-decoration:none;
}
.sidebar .nav-item{
    min-height:44px;
    display:flex !important;
    align-items:center !important;
    gap:12px !important;
    padding:10px 12px !important;
    border:1px solid transparent !important;
    border-radius:13px !important;
    background:transparent !important;
    transition:background .16s ease,color .16s ease,border-color .16s ease,transform .16s ease;
}
.sidebar .nav-item:hover{
    color:#fff !important;
    background:rgba(255,255,255,.075) !important;
}
.sidebar .nav-item.active{
    color:#fff !important;
    border-color:rgba(255,255,255,.11) !important;
    background:linear-gradient(135deg,rgba(var(--clinic-secondary-rgb),.28),rgba(var(--clinic-primary-rgb),.30)) !important;
    box-shadow:inset 3px 0 0 var(--theme-secondary-mid),0 9px 22px rgba(0,0,0,.08) !important;
}
.sidebar .nav-item-home{margin:0 0 10px !important}
.sidebar .nav-icon{
    width:21px !important;
    height:21px !important;
    min-width:21px !important;
    display:grid !important;
    place-items:center;
    margin:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    color:rgba(255,255,255,.72) !important;
    box-shadow:none !important;
}
.sidebar .nav-icon svg{width:20px;height:20px}
.sidebar .nav-item.active .nav-icon,
.sidebar .nav-item:hover .nav-icon{color:#fff !important;background:transparent !important;box-shadow:none !important}
.sidebar .nav-label{
    min-width:0;
    display:block !important;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:13.5px !important;
    font-weight:750 !important;
    line-height:1.2;
}

.sidebar .nav-group{
    margin:4px 0 !important;
    border:0 !important;
    border-radius:15px !important;
    background:transparent !important;
    overflow:visible !important;
}
.sidebar .nav-group summary{
    min-height:44px;
    list-style:none;
    display:flex !important;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:10px 12px !important;
    border-radius:13px !important;
    cursor:pointer;
    transition:background .16s ease,color .16s ease;
}
.sidebar .nav-group summary::-webkit-details-marker{display:none}
.sidebar .nav-group summary::after{display:none !important}
.sidebar .nav-group summary:hover,
.sidebar .nav-group[open] > summary{
    color:#fff !important;
    background:rgba(255,255,255,.065) !important;
}
.summary-content{display:flex;align-items:center;gap:12px;min-width:0}
.chevron{display:grid;place-items:center;color:rgba(255,255,255,.46);transition:transform .18s ease}
.chevron svg{width:17px;height:17px}
.nav-group[open] .chevron{transform:rotate(180deg)}
.sidebar .nav-submenu{
    display:grid !important;
    gap:2px !important;
    padding:4px 0 6px 33px !important;
}
.sidebar .nav-submenu .nav-item{
    min-height:36px;
    padding:7px 10px !important;
    border-radius:10px !important;
}
.nav-dot{
    width:5px;
    height:5px;
    flex:0 0 5px;
    border-radius:50%;
    background:rgba(255,255,255,.38);
}
.sidebar .nav-submenu .nav-item.active .nav-dot{background:var(--theme-secondary-mid);box-shadow:0 0 0 4px rgba(var(--clinic-secondary-rgb),.10)}

.sidebar-footer{
    padding:12px;
    border-top:1px solid rgba(255,255,255,.10);
    background:rgba(0,0,0,.08);
}
.clinic-mini{
    display:flex;
    align-items:center;
    gap:10px;
    padding:7px 7px 12px;
}
.clinic-avatar{
    width:34px;height:34px;flex:0 0 34px;border-radius:11px;
    display:grid;place-items:center;
    background:linear-gradient(135deg,#fff,var(--theme-secondary-surface-2));
    color:var(--nexo-blue-900);
    font-size:10px;font-weight:950;
}
.clinic-copy{display:flex;flex-direction:column;min-width:0}
.clinic-copy strong{font-size:11px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.clinic-copy small{font-size:9px;color:rgba(255,255,255,.52);margin-top:3px}
.logout-form{margin:0}
.logout-link{
    min-height:40px;
    display:flex;align-items:center;gap:11px;
    padding:9px 11px;
    border-radius:11px;
    color:rgba(255,255,255,.70);
    text-decoration:none;
    font-size:12px;font-weight:800;
    transition:.16s ease;
    width:100%;border:0;background:transparent;cursor:pointer;font-family:inherit;
}
.logout-link:hover{color:#fff;background:rgba(255,255,255,.08)}
.logout-link svg{width:19px;height:19px}

/* Estado recolhido */
body.sidebar-collapsed .sidebar-header{padding-inline:18px;justify-content:center;flex-direction:column;min-height:116px}
body.sidebar-collapsed .sidebar-brand{justify-content:center}
body.sidebar-collapsed .brand-copy,
body.sidebar-collapsed .sidebar .nav-label,
body.sidebar-collapsed .chevron,
body.sidebar-collapsed .clinic-copy,
body.sidebar-collapsed .logout-link span{display:none !important}
body.sidebar-collapsed .sidebar-nav{padding:12px 10px !important}
body.sidebar-collapsed .sidebar .nav-item,
body.sidebar-collapsed .sidebar .nav-group summary{justify-content:center;padding:10px !important}
body.sidebar-collapsed .sidebar .nav-group:not([open]) .nav-submenu{display:none !important}
body.sidebar-collapsed .sidebar .nav-group[open] .nav-submenu{display:none !important}
body.sidebar-collapsed .clinic-mini{justify-content:center;padding:7px 0 10px}
body.sidebar-collapsed .logout-link{justify-content:center;padding:9px}

/* Cabeçalho do conteúdo */
.workspace-header{
    max-width:1600px;
    margin:0 auto 22px;
    padding:22px 0 0;
}
.page-heading-row{
    min-height:58px;
    display:flex;
    align-items:center;
    gap:18px;
}
.page-heading{min-width:0;flex:1}
.page-heading h1,
.topbar h1{
    margin:0 !important;
    color:var(--nexo-blue-950) !important;
    font-size:30px !important;
    font-weight:900 !important;
    letter-spacing:-.035em !important;
    line-height:1.1;
}
.page-heading p,
.topbar p{
    margin:5px 0 0 !important;
    color:var(--nexo-muted) !important;
    font-size:13px;
}
.header-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.header-actions .btn{min-height:42px;gap:8px;padding:10px 14px !important}
.header-actions .btn svg{width:18px;height:18px}
.mobile-menu-button{display:none}
.global-search{
    width:100%;
    min-height:50px;
    margin-top:16px;
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto auto;
    align-items:center;
    gap:10px;
    padding:7px 8px 7px 16px;
    background:rgba(255,255,255,.94);
    border:1px solid rgba(var(--clinic-primary-rgb),.085);
    border-radius:17px;
    box-shadow:0 10px 28px rgba(var(--clinic-primary-rgb),.055);
    backdrop-filter:blur(12px);
}
.global-search > svg{width:20px;height:20px;color:var(--nexo-teal-700)}
.global-search input{
    min-width:0;
    padding:7px 0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    color:var(--nexo-ink);
    font-size:13px;
}
.global-search input::placeholder{color:var(--theme-primary-mid)}
.global-search kbd{
    padding:3px 7px;
    border:1px solid var(--nexo-line);
    border-bottom-width:2px;
    border-radius:7px;
    background:var(--theme-secondary-surface-1);
    color:var(--clinic-primary);
    font:700 11px/1.2 inherit;
}
.global-search button{
    min-height:36px;
    padding:8px 16px;
    border:0;
    border-radius:11px;
    color:#fff;
    background:var(--nexo-gradient);
    font-weight:850;
    cursor:pointer;
}
.global-search:focus-within{border-color:rgba(var(--clinic-secondary-rgb),.55);box-shadow:0 0 0 4px rgba(var(--clinic-secondary-rgb),.08),var(--nexo-shadow)}

/* Componentes globais alinhados à marca */
.btn{
    border-radius:13px !important;
    letter-spacing:-.01em;
}
.btn-primary{
    color:var(--clinic-on-primary) !important;
    background:var(--nexo-gradient) !important;
    box-shadow:0 11px 24px rgba(var(--clinic-primary-rgb),.19) !important;
}
.btn-primary:hover{box-shadow:0 15px 30px rgba(var(--clinic-primary-rgb),.25) !important}
.btn-soft{
    color:var(--nexo-blue-800) !important;
    background:#fff !important;
    border:1px solid rgba(var(--clinic-primary-rgb),.13) !important;
    box-shadow:0 7px 18px rgba(var(--clinic-primary-rgb),.045) !important;
}
.btn-soft:hover{background:var(--theme-secondary-surface-1) !important;border-color:rgba(var(--clinic-secondary-rgb),.36) !important}
.card,.metric,.patient-header,form.card,.payment-summary-card,.mini-receipt{
    border-color:rgba(var(--clinic-primary-rgb),.075) !important;
    box-shadow:var(--nexo-shadow) !important;
}
.card::before,.metric::before,.patient-header::before,form.card::before,.payment-summary-card::before{
    background:linear-gradient(90deg,var(--nexo-blue-700),var(--nexo-teal-500)) !important;
}
.hero-panel,.hero-premium{
    background:
        radial-gradient(circle at 90% 5%,rgba(255,255,255,.20),transparent 18rem),
        var(--nexo-gradient) !important;
}
input:focus,select:focus,textarea:focus{
    border-color:rgba(var(--clinic-secondary-rgb),.72) !important;
    box-shadow:0 0 0 4px rgba(var(--clinic-secondary-rgb),.10) !important;
}

/* Login */
body.login-page.login-page-branded{
    min-height:100vh;
    display:grid !important;
    place-items:stretch !important;
    padding:0;
    background:var(--theme-secondary-surface-1) !important;
}
.login-shell{
    min-height:100vh;
    display:grid;
    grid-template-columns:minmax(460px,1.08fr) minmax(430px,.92fr);
}
.login-brand-panel{
    position:relative;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    gap:30px;
    padding:42px clamp(42px,6vw,90px) 34px;
    color:#fff;
    background:
        radial-gradient(circle at 88% 14%,rgba(var(--clinic-secondary-rgb),.22),transparent 18rem),
        radial-gradient(circle at 8% 90%,rgba(var(--clinic-secondary-rgb),.26),transparent 24rem),
        linear-gradient(145deg,var(--clinic-primary-950) 0%,var(--clinic-primary-800) 52%,var(--clinic-secondary-700) 100%);
}
.login-brand-panel::before{
    content:"";
    position:absolute;
    width:470px;height:470px;
    right:-150px;bottom:-130px;
    opacity:.08;
    background:url('/static/nexoodonto-symbol.png') center/contain no-repeat;
    filter:brightness(0) invert(1);
}
.login-brand-top,.login-brand-copy,.login-feature-grid,.login-brand-footer{position:relative;z-index:1}
.login-brand-logo{
    display:block;
    width:min(310px,70%);
    height:auto;
    filter:brightness(0) invert(1);
    opacity:.98;
}
.login-brand-copy{max-width:660px;margin-top:auto}
.login-eyebrow{
    display:inline-flex;
    padding:7px 11px;
    border-radius:999px;
    border:1px solid rgba(255,255,255,.17);
    background:rgba(255,255,255,.09);
    color:var(--theme-secondary-surface-3);
    font-size:10px;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
}
.login-brand-copy h1{
    max-width:650px;
    margin:18px 0 14px;
    color:#fff;
    font-size:clamp(37px,4.4vw,64px);
    line-height:.99;
    letter-spacing:-.055em;
}
.login-brand-copy p{max-width:590px;margin:0;color:rgba(255,255,255,.74);font-size:16px;line-height:1.65}
.login-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:10px}
.login-feature-grid article{
    min-height:116px;
    display:flex;
    align-items:flex-start;
    gap:11px;
    padding:16px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:18px;
    background:rgba(255,255,255,.075);
    backdrop-filter:blur(8px);
}
.login-feature-grid article > span{
    width:27px;height:27px;flex:0 0 27px;display:grid;place-items:center;
    border-radius:9px;background:rgba(var(--clinic-secondary-rgb),.13);color:var(--theme-secondary-soft);font-size:9px;font-weight:950;
}
.login-feature-grid article div{display:flex;flex-direction:column;gap:6px}
.login-feature-grid strong{color:#fff;font-size:12px}
.login-feature-grid small{color:rgba(255,255,255,.58);font-size:10.5px;line-height:1.45}
.login-brand-footer{margin:0;color:rgba(255,255,255,.44);font-size:10px}

.login-form-panel{
    display:grid;
    place-items:center;
    padding:40px clamp(30px,5vw,82px);
    background:
        radial-gradient(circle at 100% 0%,rgba(var(--clinic-secondary-rgb),.10),transparent 20rem),
        var(--theme-secondary-surface-1);
}
.login-card-branded{
    width:min(100%,460px);
    margin:0 !important;
    padding:34px !important;
    display:grid !important;
    gap:20px !important;
    border:1px solid rgba(var(--clinic-primary-rgb),.08) !important;
    border-radius:26px !important;
    background:rgba(255,255,255,.97) !important;
    box-shadow:0 30px 75px rgba(var(--clinic-primary-rgb),.14) !important;
}
.login-card-branded::before{display:none !important}
.login-card-branded:hover{transform:none !important}
.login-mobile-brand{display:none;text-align:center}
.login-mobile-brand img{width:220px;max-width:80%;height:auto}
.login-card-heading{display:flex;align-items:center;gap:15px;margin-bottom:4px}
.login-card-icon{
    width:55px;height:55px;flex:0 0 55px;display:grid;place-items:center;
    border-radius:17px;background:#fff;border:1px solid rgba(var(--clinic-primary-rgb),.08);box-shadow:0 10px 25px rgba(var(--clinic-primary-rgb),.10)
}
.login-card-icon img{width:45px;height:45px;object-fit:contain}
.login-card-heading h2{margin:0;color:var(--nexo-blue-950);font-size:24px;letter-spacing:-.035em}
.login-card-heading p{margin:5px 0 0;color:var(--nexo-muted);font-size:12px}
.login-field{display:grid;gap:8px;color:var(--nexo-blue-950) !important;font-size:12px !important;font-weight:850 !important}
.login-input-wrap{position:relative;display:flex;align-items:center}
.login-input-wrap > svg{position:absolute;left:14px;width:19px;height:19px;color:var(--clinic-primary);z-index:1}
.login-input-wrap input{
    min-height:52px;
    padding:13px 46px 13px 44px !important;
    border:1px solid var(--nexo-line) !important;
    border-radius:14px !important;
    background:var(--theme-secondary-surface-1) !important;
    color:var(--nexo-ink);
}
.password-toggle{
    position:absolute;right:7px;width:38px;height:38px;display:grid;place-items:center;
    border:0;border-radius:10px;background:transparent;color:var(--clinic-primary);cursor:pointer
}
.password-toggle:hover{background:var(--theme-secondary-surface-2);color:var(--nexo-teal-700)}
.password-toggle svg{width:19px;height:19px}
.login-submit{min-height:52px;justify-content:space-between !important;padding-inline:19px !important;font-size:14px}
.login-submit svg{width:20px;height:20px}
.login-alert{margin:0;border-radius:13px;background:#fff1f2;border:1px solid #fecdd3;color:#9f1239}
.login-security-note{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--clinic-primary);font-size:10px;text-align:center}
.login-security-note svg{width:16px;height:16px;color:var(--nexo-teal-700)}

/* Dashboard renovado */
.dashboard-hero{
    position:relative;
    min-height:210px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:28px;
    overflow:hidden;
    padding:32px 34px;
    border-radius:27px;
    color:#fff;
    background:
        radial-gradient(circle at 88% 20%,rgba(255,255,255,.20),transparent 17rem),
        var(--nexo-gradient);
    box-shadow:0 23px 56px rgba(var(--clinic-primary-rgb),.20);
}
.dashboard-hero::after{
    content:"";
    position:absolute;
    right:4%;bottom:-52%;
    width:310px;height:310px;
    background:url('/static/nexoodonto-symbol.png') center/contain no-repeat;
    filter:brightness(0) invert(1);
    opacity:.09;
}
.dashboard-hero-copy,.dashboard-hero-actions{position:relative;z-index:1}
.dashboard-hero-copy{max-width:690px}
.dashboard-hero .eyebrow{margin-bottom:10px}
.dashboard-hero h2{margin:0;font-size:36px;line-height:1.06;letter-spacing:-.045em;color:#fff}
.dashboard-hero p{max-width:610px;margin:13px 0 0;color:rgba(255,255,255,.76);font-size:14px;line-height:1.6}
.dashboard-hero-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.dashboard-hero-actions .btn-soft{color:#fff !important;background:rgba(255,255,255,.12) !important;border-color:rgba(255,255,255,.18) !important;box-shadow:none !important}
.dashboard-hero-actions .btn-primary{background:#fff !important;color:var(--nexo-blue-800) !important;box-shadow:0 12px 28px rgba(0,0,0,.14) !important}

.dashboard-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:13px;margin:16px 0 20px}
.dashboard-metric{
    min-height:135px;
    padding:18px;
    border:1px solid rgba(var(--clinic-primary-rgb),.075);
    border-radius:20px;
    background:rgba(255,255,255,.96);
    box-shadow:var(--nexo-shadow);
}
.dashboard-metric-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.dashboard-metric-icon{width:37px;height:37px;display:grid;place-items:center;border-radius:12px;color:var(--nexo-blue-700);background:var(--nexo-gradient-soft)}
.dashboard-metric-icon svg{width:20px;height:20px}
.dashboard-metric small{color:var(--theme-primary-mid);font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.dashboard-metric strong{display:block;margin-top:18px;color:var(--nexo-blue-950);font-size:25px;letter-spacing:-.035em;line-height:1}
.dashboard-metric > span{display:block;margin-top:7px;color:var(--nexo-muted);font-size:10px}
.dashboard-metric.warning .dashboard-metric-icon{color:#b7791f;background:#fff7e6}
.dashboard-metric.danger .dashboard-metric-icon{color:#c2414a;background:#fff0f1}
.dashboard-metric.success .dashboard-metric-icon{color:#14825c;background:#eafaf3}

.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:18px;align-items:start}
.dashboard-stack{display:grid;gap:18px}
.dashboard-panel{
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    border-radius:22px !important;
}
.dashboard-panel::before{display:none !important}
.dashboard-panel-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:20px 22px 15px;border-bottom:1px solid var(--theme-primary-surface-2)}
.dashboard-panel-title{display:flex;align-items:center;gap:11px}
.dashboard-panel-title > span{width:36px;height:36px;display:grid;place-items:center;border-radius:12px;color:var(--nexo-blue-700);background:var(--nexo-gradient-soft)}
.dashboard-panel-title svg{width:19px;height:19px}
.dashboard-panel h3{margin:0 !important;font-size:15px;letter-spacing:-.02em}
.dashboard-panel-header a{color:var(--nexo-teal-700);font-size:11px;font-weight:900;text-decoration:none}
.dashboard-list{display:grid}
.dashboard-list-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:15px 22px;border-bottom:1px solid var(--theme-primary-surface-2);text-decoration:none;transition:background .15s ease}
.dashboard-list-row:last-child{border-bottom:0}
.dashboard-list-row:hover{background:var(--theme-secondary-surface-1)}
.dashboard-list-main{min-width:0;display:flex;align-items:center;gap:12px}
.dashboard-list-avatar{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(135deg,var(--theme-primary-surface-2),var(--theme-secondary-surface-2));color:var(--nexo-blue-800);font-size:11px;font-weight:950}
.dashboard-list-text{min-width:0}
.dashboard-list-text strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--nexo-blue-950);font-size:12px}
.dashboard-list-text small{display:block;margin-top:5px;color:var(--nexo-muted);font-size:10px}
.dashboard-list-meta{display:flex;align-items:center;gap:9px;color:var(--nexo-muted);font-size:10px;font-weight:750;white-space:nowrap}
.dashboard-status{padding:5px 8px;border-radius:999px;background:var(--theme-secondary-surface-2);color:var(--clinic-secondary-700);font-size:9px;font-weight:900}
.dashboard-empty{padding:30px 22px;text-align:center;color:var(--nexo-muted);font-size:12px}
.dashboard-quick-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:18px}
.dashboard-quick-action{min-height:92px;display:flex;flex-direction:column;justify-content:space-between;gap:12px;padding:15px;border:1px solid var(--nexo-line);border-radius:16px;background:var(--theme-secondary-surface-1);color:var(--nexo-blue-950);text-decoration:none;transition:.16s ease}
.dashboard-quick-action:hover{border-color:rgba(var(--clinic-secondary-rgb),.42);background:var(--theme-secondary-surface-1);transform:translateY(-1px)}
.dashboard-quick-action svg{width:22px;height:22px;color:var(--nexo-teal-700)}
.dashboard-quick-action strong{font-size:11px}
.dashboard-finance-summary{padding:18px 22px 22px}
.finance-bar{height:9px;overflow:hidden;border-radius:999px;background:var(--theme-primary-surface-2);margin:15px 0 19px}
.finance-bar span{display:block;height:100%;border-radius:inherit;background:var(--nexo-gradient)}
.finance-values{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.finance-value{padding:13px;border-radius:14px;background:var(--theme-primary-surface-1)}
.finance-value small{display:block;color:var(--nexo-muted);font-size:9px;text-transform:uppercase;letter-spacing:.07em;font-weight:900}
.finance-value strong{display:block;margin-top:7px;color:var(--nexo-blue-950);font-size:16px}

.sidebar-backdrop{display:none}

@media(max-width:1380px){
    .dashboard-metrics{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:1120px){
    .login-shell{grid-template-columns:1fr 440px}
    .login-feature-grid{grid-template-columns:1fr}
    .login-feature-grid article{min-height:auto}
    .dashboard-grid{grid-template-columns:1fr}
}
@media(max-width:980px){
    .app-shell,body.sidebar-collapsed .app-shell{grid-template-columns:1fr !important}
    .sidebar,body.sidebar-collapsed .sidebar{
        width:min(292px,86vw) !important;
        height:100vh !important;
        min-height:100vh !important;
        position:fixed !important;
        left:0;top:0;
        transform:translateX(-104%);
        box-shadow:30px 0 70px rgba(var(--clinic-primary-rgb),.32);
    }
    body.sidebar-open{overflow:hidden}
    body.sidebar-open .sidebar{transform:translateX(0)}
    .sidebar-backdrop{
        position:fixed;inset:0;z-index:45;
        display:block;
        border:0;
        background:rgba(var(--clinic-primary-rgb),.52);
        opacity:0;visibility:hidden;
        transition:.2s ease;
        backdrop-filter:blur(2px);
    }
    body.sidebar-open .sidebar-backdrop{opacity:1;visibility:visible}
    body.sidebar-collapsed .sidebar-header{min-height:88px;padding:15px 14px 15px 16px;justify-content:space-between;flex-direction:row}
    body.sidebar-collapsed .brand-copy,
    body.sidebar-collapsed .sidebar .nav-label,
    body.sidebar-collapsed .chevron,
    body.sidebar-collapsed .clinic-copy,
    body.sidebar-collapsed .logout-link span{display:flex !important}
    body.sidebar-collapsed .sidebar .nav-label{display:block !important}
    body.sidebar-collapsed .sidebar .nav-item,
    body.sidebar-collapsed .sidebar .nav-group summary{justify-content:flex-start;padding:10px 12px !important}
    body.sidebar-collapsed .sidebar .nav-group[open] .nav-submenu{display:grid !important}
    body.sidebar-collapsed .clinic-mini{justify-content:flex-start;padding:7px 7px 12px}
    body.sidebar-collapsed .logout-link{justify-content:flex-start;padding:9px 11px}
    .main{padding:0 18px 28px !important}
    .workspace-header{padding-top:16px}
    .mobile-menu-button{
        width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;
        border:1px solid rgba(var(--clinic-primary-rgb),.09);border-radius:13px;background:#fff;color:var(--nexo-blue-800);box-shadow:0 8px 20px rgba(var(--clinic-primary-rgb),.06)
    }
    .mobile-menu-button svg{width:21px;height:21px}
    .sidebar-toggle{display:none !important}
    .login-shell{grid-template-columns:1fr}
    .login-brand-panel{display:none}
    .login-form-panel{min-height:100vh;padding:30px 20px}
    .login-mobile-brand{display:block}
}
@media(max-width:720px){
    .page-heading-row{align-items:flex-start;flex-wrap:wrap}
    .page-heading{padding-top:4px}
    .page-heading h1{font-size:25px !important}
    .header-actions{width:100%;padding-left:60px}
    .header-actions .btn{flex:1}
    .global-search{grid-template-columns:auto minmax(0,1fr) auto}
    .global-search kbd{display:none}
    .dashboard-hero{min-height:auto;align-items:flex-start;flex-direction:column;padding:26px 24px}
    .dashboard-hero h2{font-size:30px}
    .dashboard-hero-actions{justify-content:flex-start}
    .dashboard-metrics{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:520px){
    .main{padding-inline:12px !important}
    .workspace-header{margin-bottom:16px}
    .page-heading-row{gap:11px}
    .page-heading h1{font-size:22px !important}
    .page-heading p{font-size:11px}
    .header-actions{padding-left:0}
    .header-action-secondary{display:none !important}
    .header-actions .btn{width:100%}
    .global-search{padding-left:13px;margin-top:13px}
    .global-search button{padding-inline:12px}
    .dashboard-metrics{grid-template-columns:1fr 1fr;gap:9px}
    .dashboard-metric{min-height:124px;padding:15px}
    .dashboard-metric strong{font-size:22px}
    .dashboard-panel-header,.dashboard-list-row{padding-left:16px;padding-right:16px}
    .dashboard-list-row{grid-template-columns:1fr}
    .dashboard-list-meta{padding-left:50px}
    .dashboard-quick-actions{grid-template-columns:1fr 1fr;padding:13px}
    .login-card-branded{padding:25px 20px !important;border-radius:22px !important}
    .login-card-heading{align-items:flex-start}
    .login-card-icon{width:48px;height:48px;flex-basis:48px}
    .login-card-icon img{width:39px;height:39px}
}
@media print{
    .sidebar,.workspace-header,.sidebar-backdrop{display:none !important}
    .app-shell{display:block !important}
    .main{padding:0 !important}
}

/* Identidade visual personalizada da clínica */
.brand-symbol-wrap.clinic-brand-symbol img{
    width:100%;
    height:100%;
    padding:5px;
    object-fit:contain;
}
.sidebar .brand-copy .clinic-brand-name{
    display:block;
    max-width:150px;
    overflow:hidden;
    text-overflow:ellipsis;
    color:#fff !important;
    font-size:15px !important;
    font-weight:900 !important;
    line-height:1.15;
}
.clinic-avatar.clinic-avatar-logo{
    overflow:hidden;
    padding:3px;
    background:#fff;
}
.clinic-avatar.clinic-avatar-logo img{
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
}
.login-mobile-brand.has-clinic-logo{
    display:none;
    gap:7px;
    justify-items:center;
}
.login-mobile-brand.has-clinic-logo img{
    width:auto;
    max-width:240px;
    max-height:82px;
    object-fit:contain;
}
.login-mobile-brand.has-clinic-logo small{
    display:block;
    margin-top:7px;
    color:var(--clinic-primary);
    font-size:10px;
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase;
}
.login-card-icon.clinic-login-logo{
    width:76px;
    flex-basis:76px;
    padding:7px;
}
.login-card-icon.clinic-login-logo img{
    width:100%;
    height:100%;
    object-fit:contain;
}
@media(max-width:900px){
    .login-mobile-brand.has-clinic-logo{display:grid}
}
@media(max-width:520px){
    .login-card-icon.clinic-login-logo{width:62px;height:50px;flex-basis:62px;border-radius:14px}
}

/* =========================================================
   v1.5.2 — menu lateral ligado à identidade da clínica.
   Este bloco usa especificidade suficiente para substituir
   os estilos legados fixos presentes em premium.css.
   ========================================================= */
html body .sidebar#sidebar{
    background:
        radial-gradient(circle at 0% 0%,rgba(var(--clinic-secondary-rgb),.32),transparent 34%),
        linear-gradient(180deg,var(--clinic-primary-800) 0%,var(--clinic-primary-950) 100%) !important;
    border-right-color:rgba(var(--clinic-secondary-rgb),.20) !important;
    box-shadow:12px 0 36px rgba(var(--clinic-primary-rgb),.16) !important;
}
html body .sidebar#sidebar .sidebar-header{
    border-bottom-color:rgba(var(--clinic-secondary-rgb),.20) !important;
    background:linear-gradient(180deg,rgba(var(--clinic-secondary-rgb),.10),transparent) !important;
}
html body .sidebar#sidebar .sidebar-toggle:hover{
    background:rgba(var(--clinic-secondary-rgb),.20) !important;
}
html body .sidebar#sidebar a.nav-item.active{
    background:linear-gradient(135deg,rgba(var(--clinic-secondary-rgb),.32),rgba(var(--clinic-primary-rgb),.38)) !important;
    box-shadow:inset 3px 0 0 var(--clinic-secondary),0 9px 22px rgba(0,0,0,.08) !important;
}
html body .sidebar#sidebar .nav-group.has-active>summary,
html body .sidebar#sidebar .nav-group[open]>summary{
    background:linear-gradient(135deg,rgba(var(--clinic-secondary-rgb),.17),rgba(var(--clinic-primary-rgb),.18)) !important;
}
html body .sidebar#sidebar .nav-submenu a.nav-item .nav-dot{
    background:var(--clinic-secondary) !important;
}
html body .sidebar#sidebar .brand-symbol-wrap{
    box-shadow:0 12px 30px rgba(var(--clinic-secondary-rgb),.22) !important;
}
html body .sidebar#sidebar .sidebar-nav{
    scrollbar-color:rgba(var(--clinic-secondary-rgb),.40) transparent;
}
html body .sidebar#sidebar .sidebar-nav::-webkit-scrollbar-thumb{
    background:rgba(var(--clinic-secondary-rgb),.38) !important;
}

/* =========================================================
   NexoOdonto 1.5.3 — marca ampliada e selects personalizados
   ========================================================= */
html body .sidebar#sidebar .brand-symbol-wrap{
    width:56px !important;
    height:56px !important;
    flex:0 0 56px !important;
    border-radius:17px !important;
}
html body .sidebar#sidebar .brand-symbol-wrap img{
    width:50px !important;
    height:50px !important;
}
html body .sidebar#sidebar .brand-symbol-wrap.clinic-brand-symbol img{
    width:100% !important;
    height:100% !important;
    padding:0 !important;
    object-fit:contain !important;
    transform:scale(1.08);
    transform-origin:center;
}
html body .sidebar#sidebar .sidebar-header{
    min-height:98px !important;
}
body.sidebar-collapsed .brand-symbol-wrap{
    width:52px !important;
    height:52px !important;
    flex-basis:52px !important;
}

/* Ficha de procedimentos em largura total */
.procedure-record-card{overflow:visible}
.procedure-record-heading{align-items:flex-start}
.procedure-table-scroll{overflow-x:auto;padding-bottom:6px}
.procedure-table{min-width:1040px;table-layout:auto}
.procedure-table th:nth-child(1){min-width:230px}
.procedure-table th:nth-child(2){min-width:120px}
.procedure-table th:nth-child(3){min-width:150px}
.procedure-table th:nth-child(4){min-width:110px}
.procedure-table th:nth-child(5){min-width:500px}
.procedure-description strong{font-size:.92rem;color:var(--clinic-primary-950)}
.procedure-value{white-space:nowrap;font-weight:800;color:var(--clinic-primary-900)}
.procedure-status{border:1px solid rgba(var(--clinic-primary-rgb),.12)}
.procedure-status-planejado{background:var(--theme-primary-surface-1);color:var(--clinic-primary-800)}
.procedure-status-em-andamento{background:#fff6df;color:#8b5b06}
.procedure-status-realizado{background:#eaf9f1;color:#177548}
.procedure-status-cancelado{background:#fff0f0;color:#a63838}
.procedure-action-cell{min-width:500px}
.procedure-update-form{
    display:grid;
    grid-template-columns:minmax(138px,.9fr) minmax(175px,1.2fr) minmax(145px,.9fr) auto;
    gap:9px;
    align-items:end;
}
.procedure-update-form label{gap:5px;margin:0;min-width:0}
.procedure-update-form label>span{font-size:10px;letter-spacing:.045em;text-transform:uppercase;color:var(--clinic-primary);font-weight:900}
.procedure-update-form input{min-height:44px;padding:10px 11px}
.procedure-update-button{min-height:44px;padding-inline:18px;white-space:nowrap}
.procedure-empty{display:grid;justify-items:center;gap:4px;padding:38px 15px;color:var(--clinic-primary);text-align:center}
.procedure-empty strong{color:var(--clinic-primary-800)}
@media(max-width:760px){
    .procedure-record-heading{display:grid;justify-items:start}
    .procedure-record-heading .btn{width:100%}
}

/* Select global personalizado */
.nexo-select{
    position:relative;
    width:100%;
    min-width:0;
    display:block;
    font:inherit;
}
.nexo-native-select{
    position:absolute !important;
    width:1px !important;
    height:1px !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    opacity:0 !important;
    overflow:hidden !important;
    pointer-events:none !important;
    clip-path:inset(50%) !important;
}
.nexo-select-trigger{
    width:100%;
    min-height:44px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    border:1px solid var(--theme-primary-surface-3);
    border-radius:13px;
    background:linear-gradient(180deg,#fff 0%,var(--theme-primary-surface-1) 100%);
    color:var(--clinic-primary-950);
    padding:9px 10px 9px 13px;
    text-align:left;
    font:inherit;
    font-size:13px;
    font-weight:750;
    line-height:1.25;
    cursor:pointer;
    box-shadow:0 1px 2px rgba(var(--clinic-primary-rgb),.03);
    transition:border-color .16s ease,box-shadow .16s ease,background .16s ease,transform .16s ease;
}
.nexo-select-trigger:hover{
    border-color:rgba(var(--clinic-primary-rgb),.35);
    background:#fff;
}
.nexo-select-trigger:focus-visible,
.nexo-select.is-open .nexo-select-trigger{
    outline:0;
    border-color:var(--clinic-secondary);
    box-shadow:0 0 0 4px rgba(var(--clinic-secondary-rgb),.13),0 8px 24px rgba(var(--clinic-primary-rgb),.08);
}
.nexo-select.is-open .nexo-select-trigger{background:#fff}
.nexo-select.is-invalid .nexo-select-trigger{
    border-color:#cf4b4b;
    box-shadow:0 0 0 4px rgba(207,75,75,.12);
}
.nexo-select.is-disabled .nexo-select-trigger,
.nexo-select-trigger:disabled{
    cursor:not-allowed;
    opacity:.58;
    background:var(--theme-primary-surface-2);
    box-shadow:none;
}
.nexo-select-value{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.nexo-select-chevron{
    width:28px;
    height:28px;
    flex:0 0 28px;
    border-radius:9px;
    display:grid;
    place-items:center;
    color:var(--clinic-primary-800);
    background:rgba(var(--clinic-primary-rgb),.07);
    transition:transform .18s ease,background .18s ease;
}
.nexo-select-chevron svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.nexo-select.is-open .nexo-select-chevron{transform:rotate(180deg);background:rgba(var(--clinic-secondary-rgb),.13)}
.nexo-select-trigger[data-status="planned"] .nexo-select-value{color:var(--clinic-primary-800)}
.nexo-select-trigger[data-status="progress"] .nexo-select-value{color:#8a5c0b}
.nexo-select-trigger[data-status="success"] .nexo-select-value{color:#18734a}
.nexo-select-trigger[data-status="danger"] .nexo-select-value{color:#a13a3a}

.nexo-select-menu{
    position:fixed;
    z-index:5000;
    display:flex;
    flex-direction:column;
    gap:6px;
    padding:7px;
    border:1px solid rgba(var(--clinic-primary-rgb),.16);
    border-radius:16px;
    background:rgba(255,255,255,.985);
    box-shadow:0 22px 60px rgba(var(--clinic-primary-rgb),.22),0 6px 18px rgba(var(--clinic-primary-rgb),.10);
    backdrop-filter:blur(14px);
    transform-origin:top center;
    animation:nexoSelectIn .14s ease-out;
}
.nexo-select-menu.opens-up{transform-origin:bottom center}
.nexo-select-menu[hidden]{display:none !important}
@keyframes nexoSelectIn{from{opacity:0;transform:translateY(-5px) scale(.985)}to{opacity:1;transform:none}}
.nexo-select-searchbox{
    position:relative;
    flex:0 0 auto;
}
.nexo-select-searchbox[hidden]{display:none !important}
.nexo-select-searchbox svg{
    position:absolute;
    left:12px;
    top:50%;
    width:17px;
    height:17px;
    transform:translateY(-50%);
    fill:none;
    stroke:var(--clinic-primary);
    stroke-width:1.8;
    stroke-linecap:round;
    pointer-events:none;
}
.nexo-select-searchbox input{
    min-height:40px;
    padding:8px 11px 8px 37px !important;
    border-radius:11px !important;
    background:var(--theme-primary-surface-1) !important;
    font-size:12px !important;
}
.nexo-select-options{
    display:grid;
    gap:3px;
    overflow:auto;
    overscroll-behavior:contain;
    scrollbar-width:thin;
    scrollbar-color:rgba(var(--clinic-primary-rgb),.25) transparent;
}
.nexo-select-option{
    width:100%;
    min-height:41px;
    display:grid;
    grid-template-columns:10px minmax(0,1fr) 22px;
    align-items:center;
    gap:9px;
    border:0;
    border-radius:11px;
    background:transparent;
    color:var(--clinic-primary-950);
    padding:8px 9px;
    font:inherit;
    font-size:12.5px;
    font-weight:700;
    text-align:left;
    cursor:pointer;
    transition:background .12s ease,color .12s ease,transform .12s ease;
}
.nexo-select-option:hover,
.nexo-select-option.is-active{
    background:rgba(var(--clinic-primary-rgb),.075);
    color:var(--clinic-primary-900);
}
.nexo-select-option:active{transform:scale(.995)}
.nexo-select-option.is-selected{
    background:linear-gradient(135deg,rgba(var(--clinic-primary-rgb),.11),rgba(var(--clinic-secondary-rgb),.10));
    color:var(--clinic-primary-900);
}
.nexo-select-option:disabled{opacity:.42;cursor:not-allowed}
.nexo-select-option-marker{
    width:8px;
    height:8px;
    border-radius:999px;
    background:var(--theme-primary-soft);
    box-shadow:0 0 0 3px rgba(var(--clinic-primary-rgb),.16);
}
.nexo-select-option.is-planned .nexo-select-option-marker{background:var(--clinic-primary);box-shadow:0 0 0 3px rgba(var(--clinic-primary-rgb),.14)}
.nexo-select-option.is-progress .nexo-select-option-marker{background:#d99a2b;box-shadow:0 0 0 3px rgba(217,154,43,.14)}
.nexo-select-option.is-success .nexo-select-option-marker{background:#2ca36c;box-shadow:0 0 0 3px rgba(44,163,108,.14)}
.nexo-select-option.is-danger .nexo-select-option-marker{background:#d05b5b;box-shadow:0 0 0 3px rgba(208,91,91,.14)}
.nexo-select-option-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nexo-select-option-check{display:grid;place-items:center;color:var(--clinic-secondary-700);opacity:0;transform:scale(.7);transition:.12s}
.nexo-select-option-check svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.nexo-select-option.is-selected .nexo-select-option-check{opacity:1;transform:scale(1)}
.nexo-select-empty{padding:17px 12px;text-align:center;color:var(--clinic-primary);font-size:12px}

.search-row>.nexo-select{flex:1 1 185px;max-width:440px}
.inline>.nexo-select,.nexo-select-inline{width:auto;min-width:128px;flex:0 1 185px}
.pagination-size .nexo-select,.nexo-select-pagination{width:auto;min-width:78px}
.nexo-select-pagination .nexo-select-trigger{min-height:34px;padding:4px 6px 4px 9px;border-radius:9px;font-size:12px}
.nexo-select-pagination .nexo-select-chevron{width:23px;height:23px;flex-basis:23px;border-radius:7px}
.notes-filter-form>.nexo-select{min-width:150px;flex:0 1 190px}
.side-card .nexo-select,.quick-grid .nexo-select,.report-filter-form .nexo-select{width:100%}
.procedure-update-form .nexo-select-trigger{min-height:44px}

@media(max-width:640px){
    .nexo-select-menu{border-radius:14px}
    .search-row>.nexo-select{max-width:none;flex-basis:100%}
}
@media print{
    .nexo-select-menu{display:none !important}
    .nexo-select-trigger{box-shadow:none;border-color:var(--theme-primary-surface-3);background:#fff}
}

.login-activation-link{text-align:center;margin:16px 0 0;color:inherit;opacity:.72;font-size:14px}.login-activation-link a{color:var(--clinic-primary);font-weight:800}
