/* v7.8 Onevivu UI consolidation. TailAdmin-inspired structure, Onevivu visual identity. */
:root{--v76-sidebar:260px;--v76-page:1440px;--v76-radius:12px;--v78-bg:#f7f9fc;--v78-card:#fff;--v78-line:#e5e9ef;--v78-text:#17211d;--v78-muted:#667085}
*{box-sizing:border-box}html,body{width:100%;max-width:100%;overflow-x:hidden}body{margin:0;background:var(--v78-bg);color:var(--v78-text)}
.shell{display:grid!important;grid-template-columns:var(--v76-sidebar) minmax(0,1fr)!important;width:100%!important;min-height:100vh!important;overflow:clip!important}
#app-sidebar{position:sticky!important;top:0!important;width:var(--v76-sidebar)!important;height:100vh!important;min-width:0!important;overflow-y:auto!important;overflow-x:hidden!important;z-index:30;background:#fff!important;border-right:1px solid var(--v78-line)!important;box-shadow:none!important}
.shell>main{display:block!important;width:100%!important;min-width:0!important;margin:0!important;overflow:clip!important}
#app-header{position:sticky;top:0;z-index:20;width:100%!important;min-width:0!important;padding:16px clamp(20px,2.4vw,32px)!important;background:rgba(255,255,255,.96)!important;border-bottom:1px solid var(--v78-line)!important;backdrop-filter:blur(10px)}
#app{width:100%!important;max-width:none!important;margin:0!important;padding:24px clamp(20px,2.4vw,32px) 48px!important;overflow:visible!important}
#view,#notice{width:min(100%,var(--v76-page))!important;max-width:var(--v76-page)!important;margin-inline:auto!important;min-width:0!important}.project-switcher{min-width:0;max-width:52vw}.project-switcher select{min-width:0;max-width:380px}

/* Authentication is independent from the application shell. */
body:has(#login:not([hidden])) .shell{display:block!important;min-height:100dvh!important;overflow:hidden!important}body:has(#login:not([hidden])) #app-sidebar,body:has(#login:not([hidden])) #app-header{display:none!important}body:has(#login:not([hidden])) .shell>main{display:grid!important;place-items:center!important;min-height:100dvh!important;padding:clamp(24px,5vw,64px)!important;overflow:hidden!important}body:has(#login:not([hidden])) .login-card{width:min(100%,440px)!important;max-width:440px!important;margin:0!important;padding:clamp(26px,4vw,38px)!important;border-radius:16px!important}body:has(#login:not([hidden])) .login-card input,body:has(#login:not([hidden])) .login-card button{width:100%!important;max-width:100%!important}

/* SaaS dashboard composition */
.v75-head,.v75-kpis,.v75-grid-main,.v75-grid-bottom,.v75-analytics-block{width:100%!important;min-width:0!important;max-width:100%!important}.v75-kpis{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px!important}.v75-grid-main{display:grid!important;grid-template-columns:minmax(0,3fr) minmax(250px,1fr)!important;gap:16px!important}.v75-grid-bottom,.v75-analytics-block{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}.v75-kpis>*,.v75-grid-main>*,.v75-grid-bottom>*{min-width:0!important}.v75-panel{min-width:0!important;overflow:hidden!important;border:1px solid var(--v78-line)!important;border-radius:var(--v76-radius)!important;box-shadow:0 1px 2px rgba(16,24,40,.03)!important}.v75-chart{min-height:280px!important;height:auto!important}.v75-chart svg{width:100%!important;max-width:100%!important;height:auto!important}.v75-bars>div{grid-template-columns:minmax(72px,100px) minmax(70px,1fr) auto!important}.v75-bars span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Settings: flat information architecture. */
.admin-summary{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:24px!important;margin:0 auto 18px!important;max-width:1180px!important;padding:22px 24px!important;border:1px solid var(--v78-line)!important;border-radius:var(--v76-radius)!important;box-shadow:none!important}.admin-metrics{display:grid!important;grid-template-columns:repeat(3,minmax(90px,1fr))!important;gap:8px!important}.admin-metrics span{min-width:0!important}
.settings-tabs{display:flex!important;gap:24px!important;position:sticky!important;top:82px!important;z-index:12!important;width:100%!important;max-width:1180px!important;padding:0!important;margin:0 auto 28px!important;overflow-x:auto!important;overflow-y:hidden!important;background:var(--v78-bg)!important;border:0!important;border-bottom:1px solid var(--v78-line)!important;border-radius:0!important;scrollbar-width:none!important}.settings-tabs::-webkit-scrollbar{display:none}.settings-tabs button{flex:0 0 auto!important;white-space:nowrap!important;border:0!important;border-bottom:2px solid transparent!important;border-radius:0!important;background:transparent!important;color:var(--v78-muted)!important;padding:13px 1px 11px!important;box-shadow:none!important;font-weight:650!important}.settings-tabs button.active{color:var(--green)!important;border-bottom-color:var(--green)!important;background:transparent!important}
.settings-tab-content{display:block!important;width:100%!important;max-width:1180px!important;margin-inline:auto!important;min-width:0!important}.settings-tab-content>[data-settings-panel]{display:none!important;width:100%!important;min-width:0!important;margin:0!important}.settings-tab-content>[data-settings-panel].v76-active-panel:not([hidden]){display:block!important}.settings-tab-content>.panel{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;padding:0 0 32px!important}.settings-tab-content>.panel+.panel{border-top:1px solid var(--v78-line)!important;padding-top:28px!important}.settings-tab-content .panel-head{padding:0 0 18px!important;margin:0!important;border:0!important;background:transparent!important}.settings-tab-content .panel-head h2{margin:0 0 5px!important;font-size:20px!important}.settings-tab-content .panel-head small{display:block;max-width:760px;line-height:1.5;color:var(--v78-muted)!important}
.settings-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px 20px!important;max-width:1040px!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}.settings-grid label,.compact-form label{min-width:0!important}.settings-grid input,.settings-grid select,.settings-grid textarea,.compact-form input,.compact-form select,.compact-form textarea{width:100%!important;min-width:0!important;max-width:100%!important}.settings-grid>button{grid-column:1/-1!important;justify-self:start!important;min-width:200px!important}.compact-form{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px 18px!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}.compact-form details,.compact-form>button{grid-column:1/-1!important}.role-list{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px 14px!important}.role-list>*{min-width:0!important;overflow-wrap:anywhere!important}.settings-tab-content .admin-list{border-top:1px solid var(--v78-line);padding-top:4px}.settings-tab-content .admin-list article,.settings-tab-content .role-list details{border:0!important;border-bottom:1px solid var(--v78-line)!important;border-radius:0!important;padding:13px 2px!important;background:transparent!important;box-shadow:none!important}.data-action-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0!important;border-top:1px solid var(--v78-line)}.settings-tab-content .data-action-card{border:0!important;border-bottom:1px solid var(--v78-line)!important;border-radius:0!important;background:transparent!important;padding:20px 4px!important;box-shadow:none!important}.cleanup-groups{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.danger-zone{display:grid!important;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr)!important;gap:16px!important;margin-top:28px!important;border-radius:10px!important;box-shadow:none!important}.panel:has(.table){overflow-x:auto!important}.table{min-width:720px!important}.table th,.table td{white-space:nowrap}

/* mobile navigation */
.v76-menu-toggle{display:none;align-items:center;justify-content:center;width:40px;height:40px;border-radius:9px;padding:0;font-size:21px}.v76-sidebar-backdrop{display:none;position:fixed;inset:0;background:rgba(18,31,27,.38);z-index:39}.v76-sidebar-backdrop.is-open{display:block}
@media(max-width:1180px){:root{--v76-sidebar:236px}.v75-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}.v75-grid-main{grid-template-columns:minmax(0,2fr) minmax(220px,.8fr)!important}.admin-summary{grid-template-columns:1fr!important}.admin-metrics{justify-self:start}.role-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:900px){:root{--v76-sidebar:0px}.shell{grid-template-columns:minmax(0,1fr)!important}#app-sidebar{position:fixed!important;left:0!important;top:0!important;width:min(320px,86vw)!important;max-width:min(320px,86vw)!important;transform:translateX(-105%);transition:transform .22s ease;z-index:40!important;box-shadow:0 18px 50px rgba(18,31,27,.18)!important}body.v76-nav-open #app-sidebar{transform:translateX(0)}.v76-menu-toggle{display:inline-flex!important}#app-header{padding:12px 18px!important;gap:12px!important;flex-wrap:wrap!important}#app-header>div:first-child{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center}#app-header .eyebrow,#page-title{grid-column:2}.project-switcher{width:100%!important;max-width:none!important;margin-left:0!important}.project-switcher select{flex:1!important;width:auto!important;max-width:none!important}#app{padding:18px!important}.settings-tabs{position:static!important}.v75-grid-main,.v75-grid-bottom,.v75-analytics-block{grid-template-columns:1fr!important}.settings-grid,.compact-form,.data-action-grid,.danger-zone{grid-template-columns:1fr!important}.settings-grid>button,.compact-form details,.compact-form>button{grid-column:auto!important}.role-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}body:has(#login:not([hidden])) .shell>main{padding:24px!important}}
@media(max-width:600px){#app{padding:14px!important}#app-header{padding:10px 14px!important}.project-switcher{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important}.project-switcher select{width:100%!important;min-width:0!important}.v75-kpis{grid-template-columns:1fr!important}.v75-chart{min-height:220px!important}.admin-summary{padding:18px!important}.admin-metrics{grid-template-columns:1fr 1fr!important;width:100%!important}.settings-tabs{margin-inline:0!important;gap:18px!important}.settings-grid,.compact-form,.cleanup-groups,.role-list{grid-template-columns:1fr!important}.panel{border-radius:10px!important}.table{min-width:680px!important}body:has(#login:not([hidden])) .shell>main{padding:16px!important}body:has(#login:not([hidden])) .login-card{padding:24px 20px!important;border-radius:14px!important}}
