:root{color-scheme:dark;--s950:#020617;--s900:#0f172a;--s800:#1e293b;--s700:#334155;--s600:#475569;--s500:#64748b;--s400:#94a3b8;--s300:#cbd5e1;--s200:#e2e8f0;--s100:#f1f5f9;--white:#fff;--emerald:#34d399;--red:#f87171;--amber:#fcd34d;--sky:#7dd3fc}*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5}body{margin:0}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}input,select,textarea{border:1px solid var(--s700);background:var(--s950);border-radius:.75rem;padding:.62rem .75rem;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--s500);box-shadow:0 0 0 3px rgba(100,116,139,.15)}input[type=checkbox]{padding:0;width:1rem;height:1rem}table{border-collapse:collapse;width:100%}th,td{vertical-align:top}canvas{max-width:100%}.bg-slate-950{background:var(--s950)}.bg-slate-900{background:var(--s900)}.bg-slate-800{background:var(--s800)}.bg-slate-300{background:var(--s300)}.bg-white{background:#fff}.bg-emerald-500{background:#10b981}.bg-emerald-950{background:#022c22}.bg-emerald-950\/50{background:rgba(2,44,34,.5)}.bg-red-950\/40{background:rgba(69,10,10,.4)}.bg-amber-950\/30{background:rgba(69,26,3,.3)}.bg-sky-950\/40{background:rgba(8,47,73,.4)}.bg-sky-950\/50{background:rgba(8,47,73,.5)}.bg-slate-900\/40{background:rgba(15,23,42,.4)}.bg-slate-900\/60{background:rgba(15,23,42,.6)}.bg-slate-950\/50{background:rgba(2,6,23,.5)}.bg-slate-950\/60{background:rgba(2,6,23,.6)}.text-white{color:#fff}.text-slate-950{color:var(--s950)}.text-slate-100{color:var(--s100)}.text-slate-200{color:var(--s200)}.text-slate-300{color:var(--s300)}.text-slate-400{color:var(--s400)}.text-slate-500{color:var(--s500)}.text-slate-600{color:var(--s600)}.text-emerald-300,.text-emerald-400{color:var(--emerald)}.text-red-300,.text-red-400{color:var(--red)}.text-amber-300{color:var(--amber)}.text-sky-200,.text-sky-300,.text-sky-300\/80{color:var(--sky)}.border{border-width:1px;border-style:solid}.border-b{border-bottom-width:1px;border-bottom-style:solid}.border-t{border-top-width:1px;border-top-style:solid}.border-r{border-right-width:1px;border-right-style:solid}.border-dashed{border-style:dashed}.border-slate-600{border-color:var(--s600)}.border-slate-700{border-color:var(--s700)}.border-slate-800{border-color:var(--s800)}.border-emerald-900{border-color:#064e3b}.border-red-900{border-color:#7f1d1d}.border-amber-900{border-color:#78350f}.border-sky-900{border-color:#0c4a6e}.rounded{border-radius:.25rem}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.grid{display:grid}.flex{display:flex}.inline-flex{display:inline-flex}.inline{display:inline}.hidden{display:none}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1 1 0%}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.min-h-screen{min-height:100vh}.h-full{height:100%}.h-2{height:.5rem}.w-full{width:100%}.w-fit{width:fit-content}.min-w-0{min-width:0}.min-w-\[650px\]{min-width:650px}.min-w-\[720px\]{min-width:720px}.min-w-\[760px\]{min-width:760px}.min-w-\[850px\]{min-width:850px}.max-w-md{max-width:28rem}.max-w-lg{max-width:32rem}.max-w-xl{max-width:36rem}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.p-10{padding:2.5rem}.p-12{padding:3rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pl-5{padding-left:1.25rem}.pr-8{padding-right:2rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-7{margin-top:1.75rem}.mt-8{margin-top:2rem}.mt-10{margin-top:2.5rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-7{margin-bottom:1.75rem}.mb-8{margin-bottom:2rem}.ml-2{margin-left:.5rem}.mr-2{margin-right:.5rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.space-y-3>*+*{margin-top:.75rem}.space-y-5>*+*{margin-top:1.25rem}.text-xs{font-size:.75rem}.text-sm{font-size:.875rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.text-3xl{font-size:1.875rem}.text-4xl{font-size:2.25rem}.text-\[11px\]{font-size:11px}.font-medium{font-weight:500}.font-semibold{font-weight:600}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.uppercase{text-transform:uppercase}.tracking-tight{letter-spacing:-.025em}.tracking-wider{letter-spacing:.05em}.tracking-\[\.25em\]{letter-spacing:.25em}.tracking-\[\.28em\]{letter-spacing:.28em}.leading-5{line-height:1.25rem}.leading-tight{line-height:1.25}.list-disc{list-style:disc}.whitespace-nowrap{white-space:nowrap}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.relative{position:relative}.absolute{position:absolute}.right-3{right:.75rem}.top-3{top:.75rem}.opacity-75{opacity:.75}.cursor-pointer{cursor:pointer}.divide-y>*+*{border-top:1px solid var(--s800)}.disabled\:opacity-40:disabled{opacity:.4}.hover\:text-white:hover{color:#fff}.hover\:text-red-300:hover{color:#fca5a5}.hover\:bg-slate-700:hover{background:var(--s700)}.hover\:bg-emerald-400:hover{background:#34d399}.hover\:border-slate-700:hover{border-color:var(--s700)}nav[role=navigation]{margin-top:1.25rem;font-size:.875rem}nav[role=navigation] a,nav[role=navigation] span{display:inline-flex;padding:.4rem .65rem;border:1px solid var(--s800);margin:.15rem;border-radius:.5rem}.progress{height:.5rem;border-radius:9999px;background:var(--s800);overflow:hidden}.progress>span{display:block;height:100%;background:#10b981}.status-danger{color:#fca5a5}.status-warning{color:#fcd34d}.status-good{color:#6ee7b7}@media(min-width:640px){.sm\:flex{display:flex}.sm\:flex-row{flex-direction:row}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-\[auto_1fr_140px\]{grid-template-columns:auto 1fr 140px}.sm\:col-span-2{grid-column:span 2/span 2}.sm\:items-center{align-items:center}.sm\:items-start{align-items:flex-start}.sm\:items-end{align-items:flex-end}.sm\:justify-between{justify-content:space-between}.sm\:mt-0{margin-top:0}.sm\:p-7{padding:1.75rem}.sm\:p-10{padding:2.5rem}.sm\:text-right{text-align:right}}@media(min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:col-span-2{grid-column:span 2/span 2}.md\:flex-row{flex-direction:row}.md\:items-end{align-items:flex-end}.md\:justify-between{justify-content:space-between}}@media(min-width:1024px){.lg\:grid{display:grid}.lg\:block{display:block}.lg\:hidden{display:none}.lg\:flex{display:flex}.lg\:flex-row{flex-direction:row}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:grid-cols-\[250px_1fr\]{grid-template-columns:250px 1fr}.lg\:grid-cols-\[1fr_360px\]{grid-template-columns:1fr 360px}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:items-end{align-items:flex-end}.lg\:justify-between{justify-content:space-between}.lg\:border-b-0{border-bottom-width:0}.lg\:border-r{border-right:1px solid var(--s800)}.lg\:min-h-screen{min-height:100vh}.lg\:p-10{padding:2.5rem}}@media(min-width:1280px){.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.xl\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.xl\:grid-cols-\[1fr_380px\]{grid-template-columns:1fr 380px}.xl\:col-span-2{grid-column:span 2/span 2}.xl\:col-span-3{grid-column:span 3/span 3}}

/* FinControl mobile v1.0.2 */
@media(max-width:1023.98px){
    body{
        overflow-x:hidden;
    }

    aside nav{
        display:flex !important;
        gap:.5rem;
        overflow-x:auto;
        margin-left:-1.25rem;
        margin-right:-1.25rem;
        padding-left:1.25rem;
        padding-right:1.25rem;
        padding-bottom:.4rem;
        scrollbar-width:none;
        -webkit-overflow-scrolling:touch;
        scroll-snap-type:x proximity;
    }

    aside nav::-webkit-scrollbar{
        display:none;
    }

    aside nav a{
        flex:0 0 auto;
        white-space:nowrap;
        scroll-snap-align:start;
    }

    main{
        min-width:0;
    }
}

/* FinControl responsive navigation v1.0.3 */

.mobile-topbar,
.mobile-menu-overlay,
.mobile-menu-close{
    display:none;
}

@media(max-width:1199.98px){

    body{
        overflow-x:hidden;
    }

    body.mobile-menu-open{
        overflow:hidden;
    }

    .app-shell{
        display:block!important;
        min-height:100vh;
    }

    .mobile-topbar{
        position:fixed;
        top:0;
        left:0;
        right:0;
        z-index:70;
        height:64px;
        display:flex;
        align-items:center;
        gap:14px;
        padding:0 16px;
        background:rgba(2,6,23,.96);
        border-bottom:1px solid var(--s800);
        backdrop-filter:blur(10px);
    }

    .mobile-brand{
        font-weight:600;
        letter-spacing:-.025em;
        color:var(--s100);
    }

    .mobile-topbar-spacer{
        flex:1;
    }

    .mobile-menu-button,
    .mobile-menu-close{
        place-content:center;
        padding:0;
        border:1px solid var(--s700);
        background:var(--s900);
        color:var(--s100);
    }

    .mobile-menu-button{
        display:grid;
        gap:4px;
        width:42px;
        height:42px;
        border-radius:12px;
    }

    .mobile-menu-button span{
        display:block;
        width:18px;
        height:2px;
        border-radius:99px;
        background:var(--s200);
    }

    .mobile-menu-close{
        display:grid;
        position:absolute;
        right:14px;
        top:14px;
        width:38px;
        height:38px;
        border-radius:11px;
        font-size:24px;
        line-height:1;
    }

    .mobile-menu-overlay{
        position:fixed;
        inset:0;
        z-index:55;
        background:rgba(2,6,23,.72);
        opacity:0;
        pointer-events:none;
        transition:opacity .2s ease;
    }

    .mobile-menu-overlay:not([hidden]){
        display:block;
    }

    body.mobile-menu-open .mobile-menu-overlay{
        opacity:1;
        pointer-events:auto;
    }

    .app-sidebar{
        position:fixed!important;
        top:0;
        bottom:0;
        left:0;
        z-index:60;
        width:min(86vw,320px);
        height:100dvh;
        min-height:0!important;
        overflow-y:auto;
        transform:translateX(-105%);
        transition:transform .22s ease;
        border-right:1px solid var(--s800)!important;
        border-bottom:0!important;
        box-shadow:18px 0 45px rgba(0,0,0,.35);
    }

    body.mobile-menu-open .app-sidebar{
        transform:translateX(0);
    }

    .app-sidebar nav{
        display:grid!important;
        overflow:visible!important;
        margin-left:0!important;
        margin-right:0!important;
        padding-left:0!important;
        padding-right:0!important;
        padding-bottom:0!important;
        scroll-snap-type:none!important;
    }

    .app-sidebar nav a{
        white-space:normal!important;
    }

    .app-main{
        width:100%;
        min-width:0;
        padding-top:88px!important;
    }
}

@media(max-width:639.98px){

    .app-main{
        padding-left:16px!important;
        padding-right:16px!important;
    }

    .grid-cols-2,
    .grid-cols-3{
        grid-template-columns:minmax(0,1fr)!important;
    }

    .text-3xl{
        font-size:1.65rem;
    }

    .p-10{
        padding:1.5rem;
    }

    table{
        font-size:.8125rem;
    }
}

/* FinControl billing editor */
.billing-editor-summary{
    list-style:none;
}

.billing-editor-summary::-webkit-details-marker{
    display:none;
}

.billing-editor-summary::after{
    content:'+';
    float:right;
    font-size:1.1rem;
    color:#94a3b8;
}

details[open] > .billing-editor-summary::after{
    content:'−';
}


/* =========================================================
   FinControl - botão Sair no final do menu mobile
   ========================================================= */

@media (max-width:1199.98px) {

    .app-sidebar {
        overflow-y:auto !important;
        overflow-x:hidden !important;
        -webkit-overflow-scrolling:touch;
    }

    .app-sidebar .mobile-logout-bottom {
        position:static !important;
        display:block !important;

        width:100% !important;

        margin-top:1rem !important;
        margin-bottom:1rem !important;

        padding-top:1rem !important;

        border-top:1px solid rgba(51,65,85,.8);
    }

    .app-sidebar .mobile-logout-bottom button {
        width:100% !important;
        min-height:44px;
    }

}

