:root{
    --bliss-primary:#0d6efd;
    --bliss-bg:#f5f7fb;
    --bliss-border:#e5e9f0;
    --bliss-text:#202631;
    --app-sidebar-width:276px;
    --app-topbar-height:64px;
}
html{min-height:100%}
body{
    min-height:100vh;
    background:var(--bliss-bg)!important;
    color:var(--bliss-text);
    padding-left:var(--app-sidebar-width);
    padding-top:var(--app-topbar-height);
}
.app-topbar{
    position:fixed;
    z-index:1025;
    top:0;
    right:0;
    left:var(--app-sidebar-width);
    height:var(--app-topbar-height);
    padding:0 1.35rem;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    color:#273142;
    background:rgba(255,255,255,.96);
    border-bottom:1px solid var(--bliss-border);
    box-shadow:0 2px 12px rgba(26,39,64,.04);
    backdrop-filter:blur(8px);
}
.app-menu-toggle,.app-sidebar-close{
    display:none;
    align-items:center;
    justify-content:center;
    border:0;
    background:transparent;
    color:inherit;
}
.app-menu-toggle{font-size:1.7rem;width:42px;height:42px;border-radius:.55rem}
.app-menu-toggle:hover{background:#eef2f7}
.app-topbar-brand{display:none;text-decoration:none;color:inherit;align-items:center;gap:.65rem}
.app-topbar-brand img{width:34px;height:34px;object-fit:contain}
.app-topbar-brand span{display:flex;flex-direction:column;line-height:1.05}
.app-topbar-brand small{font-size:.67rem;color:#748095;margin-top:.22rem}
.app-topbar-context{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.app-page-name{font-size:.82rem;font-weight:600;color:#7b8494;text-transform:uppercase;letter-spacing:.04em}
.app-user-summary{display:flex;align-items:center;gap:.6rem}
.app-user-summary>i{font-size:1.55rem;color:#333}
.app-user-summary span{display:flex;flex-direction:column;line-height:1.1;text-align:right}
.app-user-summary strong{font-size:.82rem}
.app-user-summary small{font-size:.68rem;color:#7b8494;margin-top:.2rem}
.app-sidebar{
    position:fixed;
    z-index:1030;
    top:0;
    bottom:0;
    left:0;
    width:var(--app-sidebar-width);
    display:flex;
    flex-direction:column;
    color:#dfe7f2;
    background:#1a1a1a;
    box-shadow:6px 0 24px rgba(16,33,57,.12);
}
.app-sidebar-brand{height:76px;display:flex;align-items:center;padding:0 1.15rem;border-bottom:1px solid rgba(255,255,255,.12);background:#111}
.app-sidebar-brand>a{min-width:0;display:flex;align-items:center;gap:.75rem;text-decoration:none;color:#fff}
.app-sidebar-brand img,.app-brand-symbol{width:38px;height:38px;flex:0 0 38px;border-radius:.65rem;background:#fff;object-fit:contain;padding:.2rem}
.app-brand-symbol{display:grid;place-items:center;color:#111;font-size:1.15rem}
.app-brand-text{min-width:0;display:flex;flex-direction:column;line-height:1.08}
.app-brand-text strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1rem}
.app-brand-text small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;color:rgba(255,255,255,.68);margin-top:.28rem}
.app-sidebar-nav{flex:1;overflow-y:auto;padding:1rem .75rem;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.24) transparent;background:#1a1a1a}
.app-nav-label{padding:.25rem .75rem .55rem;color:rgba(255,255,255,.48);font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em}
.app-nav-link,.app-nav-group-toggle{
    width:100%;
    min-height:42px;
    display:flex;
    align-items:center;
    gap:.75rem;
    padding:.65rem .75rem;
    border:0;
    border-radius:.55rem;
    color:rgba(255,255,255,.8);
    background:transparent;
    text-decoration:none;
    font-size:.86rem;
    text-align:left;
    transition:background .15s ease,color .15s ease;
}
.app-nav-link>i,.app-nav-group-toggle span>i{width:20px;font-size:1rem;text-align:center}
.app-nav-link:hover,.app-nav-group-toggle:hover{color:#fff;background:#333}
.app-nav-link.active{color:#fff;background:#000;font-weight:600;box-shadow:inset 4px 0 0 #fff}
.app-nav-link.disabled{cursor:default;opacity:.5;justify-content:space-between}
.app-nav-link.disabled small{padding:.14rem .35rem;border-radius:.3rem;background:rgba(255,255,255,.12);font-size:.56rem;text-transform:uppercase}
.app-nav-group{margin-top:.45rem}
.app-nav-group-toggle{justify-content:space-between;background:#111;color:#fff}
.app-nav-group-toggle>span{display:flex;align-items:center;gap:.75rem}
.app-chevron{font-size:.72rem;transition:transform .2s ease}
.app-nav-group.open .app-chevron{transform:rotate(180deg)}
.app-nav-group-items{display:none;padding:.3rem 0 .25rem 1.15rem}
.app-nav-group.open .app-nav-group-items{display:block}
.app-nav-group-items .app-nav-link{min-height:35px;margin:.18rem 0;padding:.48rem .7rem;font-size:.8rem;background:#262626}
.app-nav-group-items .app-nav-link:hover{background:#333}
.app-nav-group-items .app-nav-link.active{background:#000}
.app-sidebar-user{min-height:72px;padding:.8rem 1rem;display:flex;align-items:center;gap:.65rem;border-top:1px solid rgba(255,255,255,.12);background:#111}
.app-user-avatar{width:34px;height:34px;display:grid;place-items:center;flex:0 0 34px;border-radius:50%;color:#fff;background:rgba(255,255,255,.14)}
.app-user-data{min-width:0;flex:1;display:flex;flex-direction:column;line-height:1.08}
.app-user-data strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem}
.app-user-data small{font-size:.65rem;color:rgba(255,255,255,.58);margin-top:.24rem}
.app-sidebar-user>a{color:rgba(255,255,255,.7);padding:.4rem;border-radius:.4rem}
.app-sidebar-user>a:hover{color:#fff;background:rgba(255,255,255,.1)}
.app-sidebar-backdrop{display:none}
body>main.container,body>main.container-fluid{max-width:none;padding-left:1.5rem!important;padding-right:1.5rem!important}
.card{border-color:var(--bliss-border)!important;border-radius:.75rem}
.shadow-sm{box-shadow:0 .2rem .8rem rgba(26,39,64,.07)!important}
.card-header{border-color:var(--bliss-border);padding:.85rem 1rem}
.table{--bs-table-bg:transparent}
.table>:not(caption)>*>*{padding:.78rem .9rem;border-color:var(--bliss-border)}
.table thead th{font-size:.82rem;text-transform:none;white-space:nowrap;color:#343b47}
.form-control,.form-select{border-color:#d7dee8;min-height:38px}
.form-control:focus,.form-select:focus{border-color:#86b7fe;box-shadow:0 0 0 .2rem rgba(13,110,253,.12)}
.btn{border-radius:.45rem}
.progress{background:#e7ebf1}
.nav-tabs{border-color:#dbe1ea}
.nav-tabs .nav-link{color:#526070}
.nav-tabs .nav-link.active{font-weight:600;color:#111827}
.badge{font-weight:600}
@media(max-width:991.98px){
    body{padding-left:0}
    .app-topbar{left:0;padding:0 .8rem}
    .app-menu-toggle,.app-sidebar-close,.app-topbar-brand{display:flex}
    .app-page-name{display:none}
    .app-user-summary span{display:none}
    .app-topbar-context{width:auto;margin-left:auto}
    .app-sidebar{transform:translateX(-105%);transition:transform .22s ease}
    .app-sidebar-close{display:flex;margin-left:auto;color:#fff;width:36px;height:36px;border-radius:.45rem}
    .app-sidebar-close:hover{background:rgba(255,255,255,.1)}
    .app-menu-open{overflow:hidden}
    .app-menu-open .app-sidebar{transform:translateX(0)}
    .app-sidebar-backdrop{position:fixed;z-index:1028;inset:0;display:block;background:rgba(8,19,35,.48);opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}
    .app-menu-open .app-sidebar-backdrop{opacity:1;visibility:visible}
    .table-responsive{border-radius:0 0 .75rem .75rem}
}
@media(max-width:575.98px){
    h2,h3{font-size:1.45rem}
    body>main.container,body>main.container-fluid{padding-left:.85rem!important;padding-right:.85rem!important}
    .app-topbar-brand small{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
    .card-body{padding:1rem}
    .btn{min-height:40px}
}
@media print{
    body{padding:0!important;background:#fff!important}
    .app-topbar,.app-sidebar,.app-sidebar-backdrop,.nao-imprimir{display:none!important}
    .card{box-shadow:none!important}
}
