:root {
  color-scheme: light; --radius:16px;
  --ink:#18213a; --muted:#5f6b82; --paper:#f6f8fc; --card:#fff; --card-2:#f0f4fb;
  --line:#e2e7f0; --accent:#3267d6; --accent-strong:#2454bd; --accent-soft:#eaf0ff;
  --success:#1fa77a; --danger:#c83b32; --shadow:0 14px 44px rgba(35,50,84,.08);
}

button{color:var(--on-accent,#fff)}
:root{--on-accent:#fff}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--on-accent:#0e1420}}
:root[data-theme="dark"]{--on-accent:#0e1420}
.upload-button,.button-link{color:var(--on-accent,#fff)}

/* Shared interaction and accessibility corrections. */
[hidden]{display:none!important}
button,a,input,textarea,select,[contenteditable]{touch-action:manipulation}
a:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.account-menu{position:relative}.account-menu summary{cursor:pointer;padding:10px;border-radius:10px;background:var(--card);border:1px solid var(--line)}
.account-menu>div{position:absolute;z-index:30;right:0;min-width:200px;display:grid;gap:8px;padding:12px;background:var(--card);border:1px solid var(--line);border-radius:14px}
.action-status{display:block;color:var(--muted);font-size:.9rem;margin-top:8px}
.event-options{display:grid;gap:16px}.event-options summary{cursor:pointer;margin-bottom:16px}
.contact-actions,.attachment-actions{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.contact-actions a{color:var(--accent)}
.attachment-item{padding:10px;border:1px solid var(--line);border-radius:12px;overflow-wrap:anywhere}
.file-preview{max-width:94vw;width:900px;border:1px solid var(--line);border-radius:18px;background:var(--card);color:var(--ink)}
.file-preview img,.file-preview video{display:block;max-width:100%;max-height:70vh;margin:auto}.file-preview iframe{width:100%;height:65vh;border:0}.file-preview audio{width:100%}
html[data-theme] .google-button{background:var(--card);color:var(--ink)}
html[data-theme] .private-media-open{background:var(--card-2);color:var(--ink)}
.album-strip button.active{color:var(--on-accent,#fff)}
html[data-theme] .private-tile.featured,html[data-theme] .private-tile:hover{background:var(--accent-soft);color:var(--ink)}
html[data-theme] .admin-columns section,html[data-theme] .storage-detail,html[data-theme] .metric-strip,html[data-theme] .table-wrap,html[data-theme] .device-list article,html[data-theme] .inline-form{background:var(--card);color:var(--ink)}
.user-main,.admin-main,.panel,.cloud-head,.journal-editor-head,.page-top{overflow-wrap:anywhere}
.page-actions{flex-wrap:wrap;justify-content:flex-end}.journal-fields>*{min-width:0}input,select,textarea{min-width:0;max-width:100%}
.recent-item[data-record-open],.agenda-mini [data-record-open],.memory-line [data-record-open]{cursor:pointer}.record-open{color:var(--accent);background:transparent;text-align:left;padding:4px}
@media(max-width:760px){.page-top{flex-wrap:wrap}.journal-editor-head{flex-wrap:wrap}.calendar-toolbar{grid-template-columns:auto minmax(0,1fr) auto!important}.calendar-toolbar>*{min-width:0}.dialog-actions{flex-wrap:wrap}.welcome-actions{flex-wrap:wrap}.user-main{min-width:0}}
@media(max-width:760px){.mobile-nav :is(button,a)>span:last-child{max-width:100%;width:100%;overflow-wrap:anywhere;white-space:normal;line-height:1.2;text-align:center}.user-main{padding-bottom:calc(6rem + env(safe-area-inset-bottom))!important}}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){color-scheme:dark;--ink:#f3f6fc;--muted:#9ba8bd;--paper:#0e1420;--card:#151e2d;--card-2:#1b2638;--line:#29364a;--accent:#7fa6ff;--accent-strong:#9bb9ff;--accent-soft:#1d3159;--shadow:0 16px 48px rgba(0,0,0,.25)}}
:root[data-theme="dark"]{color-scheme:dark;--ink:#f3f6fc;--muted:#9ba8bd;--paper:#0e1420;--card:#151e2d;--card-2:#1b2638;--line:#29364a;--accent:#7fa6ff;--accent-strong:#9bb9ff;--accent-soft:#1d3159;--shadow:0 16px 48px rgba(0,0,0,.25)}
body{background:var(--paper);color:var(--ink);font-family:Manrope,"Segoe UI",system-ui,sans-serif}.topbar{display:none}.brand img{width:32px;height:32px}#root{max-width:none;margin:0;padding:0;min-height:100vh}
.auth-mark{padding:0;background:transparent}.auth-mark img{width:54px;height:54px}
.user-shell{min-height:100vh;display:grid;grid-template-columns:248px minmax(0,1fr)}
.user-sidebar{position:sticky;top:0;height:100vh;padding:24px 16px;display:flex;flex-direction:column;background:var(--card);border-right:1px solid var(--line)}
.user-brand{display:flex;align-items:center;gap:12px;padding:0 8px 24px;color:var(--ink);text-decoration:none;font-size:1.08rem;font-weight:800;letter-spacing:-.02em}.user-brand img{width:38px;height:38px}
.user-nav{display:grid;gap:4px}.user-nav :is(button,a),.mobile-nav :is(button,a){display:flex;align-items:center;gap:12px;color:var(--muted);background:transparent;border:0;text-align:left;font-weight:650}.user-nav :is(button,a){width:100%;padding:12px;border-radius:12px}.user-nav :is(button,a):hover{transform:none;background:var(--card-2);color:var(--ink)}.user-nav :is(button,a).active{color:var(--accent);background:var(--accent-soft)}
.nav-icon{width:21px;height:21px;display:inline-grid;place-items:center;flex:0 0 21px}.nav-icon svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.user-account{margin-top:auto;padding:18px 10px 0;border-top:1px solid var(--line);display:grid;gap:4px}.user-account strong{overflow:hidden;text-overflow:ellipsis}.user-account span{color:var(--muted);font-size:.78rem;overflow:hidden;text-overflow:ellipsis}.account-actions{display:flex;gap:4px;margin-top:10px}.account-actions button{padding:7px 9px;color:var(--muted);background:transparent}.account-actions button:hover{color:var(--ink);background:var(--card-2);transform:none}
.user-main{min-width:0;padding:32px clamp(22px,4vw,58px) 60px}.page-top{max-width:1240px;margin:0 auto 24px;display:flex;justify-content:space-between;align-items:center;gap:24px}.page-top h1{margin:0;font-size:clamp(1.65rem,3vw,2.2rem);letter-spacing:-.045em}.page-top p{margin:5px 0 0;color:var(--muted)}.page-actions{display:flex;gap:8px;align-items:center}.icon-button{width:42px;height:42px;padding:10px;display:grid;place-items:center;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:13px}.icon-button .nav-icon{width:20px;height:20px}
.user-content{max-width:1240px;margin:0 auto}.mobile-nav{display:none}.surface{background:var(--card);border:1px solid var(--line);border-radius:20px;box-shadow:0 1px 2px rgba(24,33,58,.03)}
.home-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.65fr);gap:20px}.home-primary{display:grid;gap:20px}.welcome-panel{position:relative;overflow:hidden;padding:30px;background:linear-gradient(125deg,var(--accent),#5b85df);color:#fff;border:0}.welcome-panel:after{content:"";position:absolute;width:230px;height:230px;right:-75px;top:-100px;border:42px solid rgba(255,255,255,.12);border-radius:50%}.welcome-panel h2{margin:0 0 7px;font-size:1.65rem;letter-spacing:-.03em}.welcome-panel p{max-width:570px;margin:0;color:#eef4ff}.welcome-actions{position:relative;z-index:1;display:flex;gap:8px;margin-top:22px}.welcome-actions button{background:#fff;color:#234a9c}.welcome-actions .quiet{color:#fff;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.25)}
.feature-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.metric-card{min-width:0;padding:17px;border:1px solid var(--line);border-radius:17px;background:var(--card)}.metric-card .metric-icon{width:38px;height:38px;padding:9px;margin-bottom:18px;border-radius:12px;color:var(--accent);background:var(--accent-soft)}.metric-card strong{display:block;font-size:1.08rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.metric-card span{color:var(--muted);font-size:.79rem}
.section-card{padding:24px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.section-head h2{margin:0;font-size:1.05rem}.section-head button{padding:5px 8px;color:var(--accent);background:transparent}.recent-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.recent-item{min-width:0;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--card-2)}.recent-item .nav-icon{width:28px;height:28px;margin-bottom:24px;color:var(--accent)}.recent-item strong,.recent-item span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-item span{margin-top:3px;color:var(--muted);font-size:.76rem}
.home-aside{display:grid;align-content:start;gap:20px}.storage-ring{width:112px;height:112px;margin:12px auto 18px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--accent) var(--usage),var(--card-2) 0)}.storage-ring:after{content:"";width:78px;height:78px;border-radius:50%;background:var(--card)}.storage-value{position:absolute;text-align:center;font-weight:800}.storage-wrap{position:relative}.storage-copy{display:flex;justify-content:space-between;color:var(--muted);font-size:.82rem}.agenda-mini{display:grid;gap:4px}.agenda-mini article{display:grid;grid-template-columns:10px 1fr;gap:12px;padding:11px 3px}.agenda-mini i{width:9px;height:9px;margin-top:5px;border-radius:50%;background:var(--accent)}.agenda-mini strong,.agenda-mini span{display:block}.agenda-mini span{color:var(--muted);font-size:.78rem}
.workspace-panel{padding:24px}.workspace-panel .shell{grid-template-columns:230px minmax(0,1fr)}.workspace-panel .sidebar{box-shadow:none}.workspace-panel .panel{box-shadow:none;padding:24px}.workspace-panel .section-title h1{font-size:1.35rem}
.tool-section>h3{font-size:.76rem;text-transform:uppercase;letter-spacing:.11em}.private-grid{gap:12px}.private-tile{min-height:142px;border-radius:18px;background:var(--card);box-shadow:0 1px 2px rgba(24,33,58,.03)}.private-icon{color:var(--accent);background:var(--accent-soft)}.private-icon .nav-icon{width:23px;height:23px}
.app-dialog{width:min(92vw,440px);padding:0;border:1px solid var(--line);border-radius:22px;background:var(--card);color:var(--ink);box-shadow:var(--shadow)}.app-dialog::backdrop{background:rgba(10,17,29,.48);backdrop-filter:blur(3px)}#dialog-form{padding:24px;display:grid;gap:16px}#dialog-form h2{margin:0;font-size:1.25rem}#dialog-form p{margin:-8px 0 0;color:var(--muted)}.dialog-actions{display:flex;justify-content:flex-end;gap:8px}
input,select,textarea,.rich-editor{color:var(--ink);background:var(--card);border-color:var(--line)}button.secondary{color:var(--ink);background:var(--card-2)}.panel,.sidebar,.record-card,.journal-card,.contact-card,.agenda-card,.calendar-day,.album-strip button,.private-media-card{color:var(--ink);background:var(--card)}.empty{background:var(--card);border-color:var(--line)}
@media(max-width:1050px){.user-shell{grid-template-columns:86px minmax(0,1fr)}.user-brand{justify-content:center;padding-inline:0}.user-brand span,.user-nav :is(button,a)>span:last-child,.user-account strong,.user-account>span{display:none}.user-nav :is(button,a){justify-content:center;padding:12px}.user-account{padding-inline:0}.account-actions{display:grid}.feature-metrics{grid-template-columns:repeat(3,1fr)}.recent-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.user-shell{display:block}.user-sidebar{display:none}.user-main{padding:24px 14px 94px}.page-top{margin-bottom:20px;align-items:flex-start}.page-top p{font-size:.88rem}.page-actions .theme-text{display:none}.mobile-nav{position:fixed;z-index:20;left:8px;right:8px;bottom:8px;display:grid;grid-template-columns:repeat(5,1fr);padding:6px max(4px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom));border:1px solid var(--line);border-radius:20px;background:color-mix(in srgb,var(--card) 94%,transparent);box-shadow:0 14px 40px rgba(20,32,58,.2);backdrop-filter:blur(18px)}.mobile-nav :is(button,a){min-width:0;min-height:52px;padding:5px 2px;display:flex;flex-direction:column;gap:2px;justify-content:center;font-size:.65rem}.mobile-nav :is(button,a).active{color:var(--accent)}.mobile-nav .nav-icon{width:20px;height:20px}.home-grid{grid-template-columns:1fr}.feature-metrics{grid-template-columns:repeat(2,1fr)}.metric-card:last-child{grid-column:1/-1}.recent-grid{grid-template-columns:repeat(2,1fr)}.welcome-panel{padding:24px}.workspace-panel{padding:0;border:0;background:transparent}.workspace-panel .shell{grid-template-columns:1fr}.workspace-panel .sidebar{position:static}.private-grid,.private-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Shared Taruvo component contract. */
:root{--control-outline:#78849b;--danger:#b3261e;--on-danger:#fff}
button,.button-link,input:not([type=checkbox]):not([type=file]),select,summary{min-height:44px}
button,.button-link,summary{min-width:44px}
button.danger{color:var(--on-danger)}
a{color:var(--accent)}
a.button-link.secondary{color:var(--ink);background:var(--card-2)}
.user-nav a,.mobile-nav a{text-decoration:none}
.user-nav a:focus-visible,.mobile-nav a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[contenteditable]:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.upload-button:focus-within{outline:3px solid var(--accent);outline-offset:3px}
.upload-button{min-height:44px;display:inline-flex;align-items:center}
input,select,textarea{border:1px solid var(--control-outline)!important}
.icon-button{width:48px!important;height:48px!important}
.section-head button,.breadcrumbs button,.rich-toolbar button,td.actions button{min-height:44px}
.calendar-scroll{overflow-x:auto;max-width:100%}
.calendar-grid,.calendar-week{min-width:332px;grid-template-columns:repeat(7,minmax(44px,1fr))}
.calendar-day.selected,.calendar-day.selected span,.avatar{color:var(--on-accent)}
.device.active,.admin-context{background:var(--accent-soft);color:var(--ink)}
.calendar-day:focus-visible{position:relative;z-index:1;outline-offset:-3px}
.event-options{margin-top:16px}.event-options>label{margin-block:12px}
.rich-editor{max-width:75ch;line-height:1.5}
.record-editor{width:100%}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--control-outline:#8090ab;--danger:#ffb4ab;--on-danger:#601410}}
:root[data-theme="dark"]{--control-outline:#8090ab;--danger:#ffb4ab;--on-danger:#601410}
.welcome-panel{background:var(--accent-soft);color:var(--ink)}.welcome-panel:after{display:none}.welcome-panel p{color:var(--muted)}.welcome-actions .button-link{background:var(--accent);color:var(--on-accent)}.tool-section>h3{text-transform:none;letter-spacing:normal;font-size:1rem}.metric-card span,.recent-item span,.agenda-mini span,.user-account span{font-size:.875rem}.feature-metrics{grid-template-columns:repeat(5,minmax(0,1fr))}.metric-card .metric-icon{margin-bottom:8px}.metric-card{padding:16px}
@media(max-width:760px){.feature-metrics{display:flex;flex-wrap:wrap}.metric-card{flex:1 1 100px}.metric-card .metric-icon{display:none}.metric-card:last-child{grid-column:auto}}

.contact-actions a{display:inline-flex;align-items:center;min-height:44px;padding:8px}.mobile-nav :is(button,a){font-size:.875rem}

.user-shell:has(#tool-editor,#contact-editor,#event-editor,#journal-body) .mobile-nav{display:none}

button,input,select,textarea,.rich-editor{transition:border-color .16s,box-shadow .16s}button:hover{transform:none}.mobile-nav :is(button,a){font-size:.75rem}.calendar-scroll-hint{display:none}@media(max-width:360px){.calendar-scroll-hint{display:block;color:var(--muted);font-size:.875rem}}

button,.button-link,input,select,textarea,.upload-button{border-radius:12px}.calendar-grid,.calendar-week{gap:4px}.toolbar,.form-actions,.record-list,.contact-list,.agenda{gap:12px}

/* Compact enterprise administration and shared sign-in surfaces. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.color-mode-switch{display:inline-flex;align-items:stretch;gap:2px;padding:2px;border:1px solid var(--line);border-radius:4px;background:var(--paper);flex-shrink:0}
.color-mode-switch button{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:6px 8px;min-height:32px;min-width:0;border-radius:3px;background:transparent;color:var(--muted);font-size:.8125rem;font-weight:550;line-height:1.3}
.color-mode-switch button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.color-mode-switch svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.owner-console{--owner-panel-radius:6px;--owner-control-radius:4px;min-height:100vh;display:grid;grid-template-columns:220px minmax(0,1fr);line-height:1.35;font-size:.875rem}
.owner-console a{text-decoration:none}.owner-console p{color:var(--muted);line-height:1.45}
.owner-console :is(button,input,select,textarea,.button-link){font-size:.875rem;border-radius:var(--owner-control-radius)}
.owner-sidebar{position:sticky;top:0;height:100vh;overflow-y:auto;padding:16px 12px;background:var(--card);border-right:1px solid var(--line);display:flex;flex-direction:column}
.owner-brand{display:flex;align-items:center;gap:10px;color:var(--ink);font-size:1.0625rem;font-weight:700;padding:0 8px 20px;white-space:nowrap}
.owner-brand img{height:28px;width:28px}.owner-brand small{font-weight:450;color:var(--muted);font-size:.75rem;margin-left:4px}
.owner-sidebar nav,.owner-drawer nav{display:grid;gap:2px}
.owner-sidebar nav a,.owner-drawer nav a{min-height:36px;display:flex;align-items:center;gap:10px;padding:8px 10px;color:var(--muted);font-size:.8125rem;font-weight:500;border-radius:4px}
.owner-sidebar nav a:hover,.owner-drawer nav a:hover{background:var(--card-2);color:var(--ink)}
.owner-sidebar nav a.active,.owner-drawer nav a.active{background:var(--accent-soft);color:var(--accent);font-weight:650}
.owner-sidebar .nav-icon{width:18px;height:18px;flex-basis:18px}
.owner-sidebar-foot{margin-top:auto;padding:20px 8px 0;display:flex;gap:8px;align-items:flex-start;color:var(--muted);font-size:.75rem}
.owner-sidebar-foot strong{display:block;font-size:.8125rem;color:var(--ink);margin-bottom:2px}.owner-sidebar-foot span{display:block}
.owner-body{min-width:0}.owner-topbar{min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--card);padding:8px 24px;border-bottom:1px solid var(--line)}
.owner-topbar form{flex:1;max-width:480px}.owner-search-label{display:flex;align-items:center;gap:8px;padding:0 2px 0 10px;background:var(--paper);border-radius:4px;color:var(--muted)}
.owner-search-label input{background:transparent;border:0!important;min-width:0;padding:6px 0}.owner-search-label input:focus-visible{outline-offset:0}.owner-search-label button{flex:0 0 auto}
.owner-top-actions{display:flex;gap:10px;align-items:center}.owner-icon-button{width:36px;height:36px;padding:8px;display:grid;place-items:center;color:var(--muted);background:transparent}
.owner-account{position:relative}.owner-account summary{display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none;color:var(--ink);min-height:36px}.owner-account summary::-webkit-details-marker{display:none}
.owner-avatar{width:30px;height:30px;display:grid;place-items:center;flex:0 0 30px;border-radius:50%;background:var(--accent);color:var(--on-accent);font-size:.75rem;font-weight:650}
.owner-account summary strong{display:block;font-size:.8125rem;font-weight:600}.owner-account summary small{display:block;color:var(--muted);font-size:.75rem}
.owner-account-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:30;background:var(--card);padding:12px;border:1px solid var(--line);border-radius:6px;box-shadow:var(--shadow);min-width:220px;max-width:calc(100vw - 32px);display:grid;gap:8px}.owner-account-menu p{margin:0 0 4px;overflow-wrap:anywhere;font-size:.8125rem}
.owner-breadcrumb{max-width:1288px;margin:auto;padding:12px 24px 0;display:flex;gap:6px;align-items:center;font-size:.75rem;color:var(--muted)}.owner-breadcrumb .nav-icon{width:12px;height:12px;flex-basis:12px}.owner-breadcrumb a{color:var(--muted)}.owner-access-label{margin-left:auto}
.owner-console .admin-main{max-width:1288px;margin:auto;padding:12px 24px 32px;min-width:0}
.owner-console .admin-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:12px}
.owner-console h1{font-size:1.5rem;line-height:1.2;letter-spacing:-.025em;font-weight:650;outline:none;margin:0}
.owner-console .admin-heading p{font-size:.8125rem;margin:4px 0 0;max-width:75ch}
.owner-console h2{font-size:.9375rem;line-height:1.35;font-weight:650;margin:0 0 12px}
.owner-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:16px}.owner-metrics-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.owner-metric{border:1px solid var(--line);border-radius:6px;background:var(--card);padding:16px 12px;display:flex;gap:10px;align-items:flex-start;min-width:0}
.owner-metric-icon{display:inline-grid;place-items:center;width:28px;height:28px;flex:0 0 28px;border-radius:4px;background:var(--accent-soft);color:var(--accent)}
.owner-metric-icon .nav-icon{width:18px;height:18px}.owner-metric>div{min-width:0}.owner-metric>div>span{font-size:.75rem;color:var(--muted);display:block}.owner-metric strong{display:block;font-size:1.375rem;line-height:1.2;font-weight:650;margin:6px 0}.owner-metric small{color:var(--muted);font-size:.75rem;display:block}
.owner-grid-two,.owner-grid-three{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}.owner-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.owner-panel{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:16px;min-width:0;margin-bottom:16px}.owner-grid-two>.owner-panel,.owner-grid-three>.owner-panel{margin:0}
.owner-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.owner-panel-head h2{margin:0}.owner-panel-head a{font-size:.8125rem}
.owner-unavailable{min-height:96px;display:grid;grid-template-columns:20px minmax(0,1fr);align-content:center;align-items:start;column-gap:10px;row-gap:4px;padding:12px;border:1px solid var(--line);border-radius:4px;background:var(--paper)}
.owner-unavailable>.nav-icon{grid-column:1;grid-row:1/4;color:var(--muted);width:20px;height:20px;flex-basis:20px}.owner-unavailable strong{grid-column:2;font-size:.8125rem;font-weight:600}.owner-unavailable p{grid-column:2;max-width:65ch;margin:0;font-size:.75rem}.owner-unavailable .badge{grid-column:2;justify-self:start;margin-top:4px}
.owner-console .badge.unconnected{background:var(--card-2);color:var(--muted);text-transform:none;font-weight:500;font-size:.75rem}
.owner-plan-bars{display:grid;gap:12px;padding-top:4px}.owner-plan-bars>div{display:grid;grid-template-columns:64px minmax(0,1fr) 28px;gap:10px;align-items:center;font-size:.8125rem}.owner-plan-bars strong{text-align:right}.owner-plan-bars .owner-usage{margin:0}
.owner-usage{height:6px;max-width:220px;border-radius:3px;overflow:hidden;background:var(--card-2);margin:0 0 4px}.owner-usage>span{display:block;height:100%;background:var(--accent);border-radius:inherit}
.owner-console .table-wrap{border-radius:4px;background:var(--card);max-width:100%;max-height:560px;overflow:auto}
.owner-console .admin-table{display:table;width:100%;border-collapse:separate;border-spacing:0;text-align:left;font-size:.875rem}
.owner-console .admin-table thead{display:table-header-group}.owner-console .admin-table tbody{display:table-row-group}.owner-console .admin-table tr{display:table-row;width:auto}
.owner-console .admin-table :is(th,td){display:table-cell;width:auto;vertical-align:middle}
.owner-console th{position:sticky;top:0;z-index:1;font-size:.75rem;font-weight:600;color:var(--muted);background:var(--paper);padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap}
.owner-console td{padding:8px 12px;border-bottom:1px solid var(--line);height:40px}
.owner-console tbody tr:last-child td{border-bottom:0}.owner-console tbody tr:hover{background:var(--paper)}
.owner-console td>a{display:block;min-height:24px;align-content:center}.owner-console td strong{font-weight:550}.owner-console td small{display:block;font-size:.75rem;color:var(--muted);overflow-wrap:anywhere;line-height:1.35}.owner-console .badge{text-transform:none;font-size:.75rem}
.owner-console .filter-row{display:flex;align-items:end;flex-wrap:wrap;margin-bottom:12px;gap:10px}.owner-console .filter-row label{font-size:.75rem;min-width:120px}.owner-console .filter-row label:first-child{flex:2;min-width:160px}
.owner-console .button-link{display:inline-flex;align-items:center;justify-content:center;padding:7px 12px;font-size:.8125rem}
.owner-console .detail-tabs{padding:0;gap:4px;border-bottom:1px solid var(--line);margin-bottom:16px}
.owner-console .detail-tabs a{display:inline-flex;align-items:center;min-height:36px;padding:8px 12px;color:var(--muted);white-space:nowrap;font-size:.8125rem}.owner-console .detail-tabs a.active{color:var(--accent);box-shadow:inset 0 -2px var(--accent)}
.owner-console .pager{font-size:.75rem;flex-wrap:wrap;gap:8px;margin-top:12px}.owner-console .pager>span:first-child{margin-right:auto}.owner-console .pager>span:not(:first-child){margin-right:0}.owner-console .pager button{font-size:.8125rem}
.owner-console .facts{font-size:.8125rem;gap:10px}.owner-console .facts dd{overflow-wrap:anywhere;min-width:0;font-weight:550}
.owner-console .action-bar{flex-wrap:wrap;margin-top:16px}.owner-row-actions{display:flex;gap:6px}
.owner-scope{display:flex;flex-wrap:wrap;gap:12px;align-items:center;border:1px solid var(--line);background:var(--accent-soft);padding:12px;border-radius:4px;margin:12px 0 16px;font-size:.75rem}
.owner-scope>div{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.owner-scope>div>span:last-child{min-width:0;overflow-wrap:anywhere}.owner-scope strong,.owner-scope small{display:block}.owner-scope small{font-size:.75rem;color:var(--muted)}.owner-back{font-size:.8125rem}
.owner-plan-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.owner-plan-grid .owner-panel{padding:16px}.owner-plan-grid h2{font-size:1rem;margin-top:12px}.owner-plan-grid .owner-plan-size{font-size:1.5rem;font-weight:650;color:var(--ink);margin:16px 0 0}.owner-plan-grid p{font-size:.8125rem}.owner-plan-grid .facts{margin:16px 0}.owner-plan-grid .button-link{width:100%}
.owner-settings{display:grid;grid-template-columns:176px minmax(0,1fr);gap:16px}.owner-settings>nav{display:grid;align-content:start;gap:2px}.owner-settings>nav a{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:4px;min-height:36px;color:var(--muted);font-size:.8125rem}.owner-settings>nav a.active{background:var(--accent-soft);color:var(--accent)}
.owner-settings fieldset{min-width:0;border:0;padding:16px 0 0;margin:0;display:grid;gap:12px}.owner-settings legend{padding:16px 0 0;font-weight:600}.owner-settings label{max-width:560px}.owner-settings form{display:grid;gap:12px}.owner-settings form button,.owner-settings fieldset button{justify-self:start}
.owner-error{padding:24px;background:var(--card);border:1px solid var(--line);border-radius:6px}.owner-error p{margin:8px 0 16px}
.owner-mutation{border-radius:8px}.owner-mutation form{padding:20px;display:grid;gap:12px}.owner-mutation h2,.owner-mutation p{margin:0}.owner-mutation p{overflow-wrap:anywhere;font-size:.875rem;line-height:1.45}.owner-mutation .error:empty{display:none}.owner-mutation :is(input,select,textarea,button){border-radius:4px}
body:has(.owner-console,.owner-login,.owner-device-context) .app-dialog{border-radius:8px}
.owner-device-context{padding:10px 16px;border-radius:4px;font-size:.8125rem;gap:12px;margin:16px}.owner-device-context+ .workspace-panel{margin:16px;padding:16px;border-radius:6px}.owner-device-context+ .workspace-panel .panel{padding:16px;border-radius:6px}
.owner-device-context+ .workspace-panel .sidebar{border-radius:6px}.owner-device-context+ .workspace-panel :is(button,input,select){border-radius:4px}
.owner-mobile-nav,.owner-drawer{display:none}.owner-console button:disabled{cursor:not-allowed;opacity:.65}.owner-console h1:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
@media(pointer:fine) and (min-width:761px){
  .owner-console :is(button,input,select,.button-link,summary),.owner-mutation :is(button,input,select),.owner-device-context :is(button,.color-mode-switch button){min-height:36px}
  .owner-console input:not([type=checkbox]):not([type=file]){min-height:36px}
  .owner-console :is(button,.button-link){min-width:36px;padding:7px 12px}.owner-console input,.owner-console select{padding:6px 10px}
  .owner-console .owner-icon-button{width:36px;padding:8px}.owner-console .owner-search-label input{padding:6px 0}
  .owner-console .color-mode-switch button{min-height:30px;min-width:0;padding:5px 8px}
}
@media(max-width:1100px){.owner-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.owner-metrics-three{grid-template-columns:repeat(3,minmax(0,1fr))}.owner-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:761px) and (max-width:1050px){.owner-console{grid-template-columns:86px minmax(0,1fr)}.owner-sidebar{padding:16px 12px}.owner-brand{justify-content:center;padding-inline:0}.owner-brand>span,.owner-sidebar nav a>span:last-child,.owner-sidebar-foot{display:none}.owner-sidebar nav a{justify-content:center}.owner-sidebar nav a .nav-icon{width:20px;height:20px;flex-basis:20px}.owner-account summary>span:last-child{display:none}}
@media(max-width:760px){
  .owner-console{display:block}.owner-sidebar{display:none}.owner-topbar{padding:10px 16px;gap:8px;flex-wrap:wrap}.owner-topbar form{max-width:none;flex:1 1 100%;order:2}.owner-top-actions{margin-left:auto;gap:8px}
  .owner-account summary>span:last-child{display:none}.owner-icon-button{width:44px;height:44px}.owner-account summary{min-height:44px}.owner-search-label input{font-size:.875rem}.owner-top-actions{flex-wrap:wrap;justify-content:flex-end;max-width:100%}
  .owner-breadcrumb{padding:12px 16px 0}.owner-access-label{display:none}.owner-console .admin-main{padding:12px 16px calc(88px + env(safe-area-inset-bottom))}
  .owner-console .admin-heading{align-items:flex-start;flex-wrap:wrap}.owner-console h1{font-size:1.5rem}
  .owner-metrics,.owner-metrics-three{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.owner-metric{padding:12px;gap:8px;flex-direction:column}.owner-metric strong{font-size:1.25rem}.owner-metric:last-child:nth-child(odd){grid-column:1/-1;flex-direction:row}
  .owner-grid-two,.owner-grid-three{grid-template-columns:1fr;gap:12px;margin-bottom:12px}.owner-panel{padding:16px;margin-bottom:12px}.owner-panel-head{flex-wrap:wrap}
  .owner-console .filter-row label{flex:1 1 120px}.owner-console .filter-row label:first-child{flex-basis:100%}.owner-console .filter-row button{flex:1}
  .owner-console .admin-table{min-width:540px}.owner-console td>a{min-height:44px}.owner-console :is(button,input,select,.button-link,.detail-tabs a){min-height:44px}
  .owner-settings{grid-template-columns:1fr;gap:12px}.owner-settings>nav{display:flex;overflow-x:auto}.owner-settings>nav a{white-space:nowrap;min-height:44px}.owner-settings>nav .nav-icon{display:none}
  .owner-console .facts div{flex-wrap:wrap;gap:6px}.owner-console .facts dd{text-align:left}.owner-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.owner-plan-grid .facts div{display:grid}
  .owner-mobile-nav{position:fixed;z-index:25;left:0;right:0;bottom:0;padding:4px 4px calc(4px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:var(--card);border-top:1px solid var(--line)}
  .owner-mobile-nav a,.owner-mobile-nav button{color:var(--muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:0;min-height:56px;font-size:.75rem;background:transparent;padding:4px;line-height:1.2}
  .owner-mobile-nav .active{color:var(--accent)}.owner-mobile-nav span:last-child{overflow-wrap:anywhere;text-align:center}
  .owner-drawer[open]{display:block;position:fixed;margin:0 0 0 auto;height:100dvh;max-height:100dvh;width:min(90vw,360px);border:0;border-left:1px solid var(--line);padding:16px;background:var(--card);color:var(--ink);overflow:auto}
  .owner-drawer nav a{min-height:44px}.owner-drawer::backdrop{background:rgba(10,17,29,.45)}.owner-drawer-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.owner-drawer-heading h2{margin:0}
  .owner-console .workspace-actions{flex-wrap:wrap}.owner-device-context{margin:12px 16px;flex-wrap:wrap}
}
@media(pointer:coarse){.color-mode-switch button{min-height:44px}.owner-console .owner-sidebar nav a{min-height:44px}.owner-console :is(button,input,select,summary,.button-link,.detail-tabs a),.owner-mutation :is(button,input,select){min-height:44px}}
@media(max-width:360px){.owner-plan-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.owner-console *{scroll-behavior:auto;transition:none!important}}

/* Both login surfaces share geometry; customer copy and authorization remain distinct. */
.owner-login{min-height:100svh;display:flex;flex-direction:column;line-height:1.45;background:var(--paper);color:var(--ink);overflow-wrap:anywhere}
.owner-login :is(label,form,fieldset,.owner-login-features>div>span,.google-button>span){min-width:0}
.owner-login-header,.owner-login-footer{width:min(1120px,100%);margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 24px}
.owner-login-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-size:1.0625rem;font-weight:700}.owner-login-brand img{width:30px;height:30px}.owner-login-brand small{margin-left:4px;font-size:.75rem;font-weight:450;color:var(--muted)}
.login-header-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.owner-login-appearance{display:flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:8px;background:var(--card);color:var(--muted);border:1px solid var(--line);border-radius:4px;font-size:.8125rem}
.owner-login-appearance .nav-icon{width:18px;height:18px}.owner-login-appearance>span:last-child{display:none}
.owner-login-layout{width:min(1072px,calc(100% - 48px));margin:24px auto;flex:1;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:32px}
.owner-login-intro{background:var(--accent-soft);border:1px solid var(--line);border-radius:6px;padding:32px;align-self:center;display:flex;flex-direction:column;justify-content:center;min-width:0}
.owner-login-tag{align-self:flex-start;font-size:.8125rem;font-weight:600;color:var(--accent)}
.owner-login-intro h2{margin:16px 0 12px;font-size:2.5rem;line-height:1.12;letter-spacing:-.035em;font-weight:650}
.owner-login-intro>p{margin:0;color:var(--muted);font-size:.9375rem;max-width:36ch}
.owner-login-features{display:grid;gap:20px;margin-top:32px}.owner-login-features>div{display:flex;align-items:flex-start;gap:12px}
.owner-login-features .nav-icon{width:32px;height:32px;flex-basis:32px;padding:7px;border:1px solid var(--line);border-radius:4px;background:var(--card);color:var(--accent)}
.owner-login-features strong{display:block;font-size:.875rem;font-weight:600}.owner-login-features small{display:block;color:var(--muted);font-size:.8125rem;margin-top:3px;max-width:38ch}.owner-login-company{font-size:.75rem;color:var(--muted);margin-top:32px}
.owner-login-panel{min-width:0;padding:16px 0}.owner-login-card{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:28px;box-shadow:none}
.owner-login-mark{margin-bottom:20px}.owner-login-mark img{width:36px;height:36px;display:block}
.owner-login h1{font-size:1.5rem;font-weight:650;line-height:1.2;letter-spacing:-.025em;margin:0 0 8px}
.owner-login-description{color:var(--muted);font-size:.875rem;margin:0 0 24px}
.owner-login .google-button{width:100%;min-height:44px;display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--control-outline);border-radius:4px;background:var(--card);color:var(--ink);font-weight:600;font-size:.875rem;padding:10px 12px}
.owner-login .google-button:hover{background:var(--card-2)}.owner-login .google-button:disabled{cursor:wait;opacity:.7}
.owner-google-mark{width:18px;height:18px;flex:0 0 18px}.owner-login .google-button>span{background:none;padding:0;width:auto;height:auto;border-radius:0;color:inherit;font-weight:600}
.owner-login .admin-fallback{border-top:1px solid var(--line);margin-top:20px;padding-top:8px}
.owner-login .admin-fallback summary{min-height:36px;align-content:center;color:var(--muted);font-size:.8125rem;padding:8px 0}
.owner-login .admin-fallback[open] summary{color:var(--ink)}.owner-login .admin-fallback form{gap:12px;margin-top:12px}
.owner-login .admin-fallback input{min-height:36px;font-size:.875rem;border-radius:4px;padding:8px 10px}.owner-login .admin-fallback button{min-height:36px;border-radius:4px;font-weight:600}
.owner-login #auth-error:empty{display:none}.owner-login #auth-error{font-size:.8125rem;color:var(--danger);background:var(--paper);border-left:3px solid var(--danger);padding:10px 12px;margin-top:16px;overflow-wrap:anywhere}
.owner-login-access{border-top:1px solid var(--line);margin:20px 0 0;padding-top:16px;font-size:.75rem;color:var(--muted)}
.owner-login-help{font-size:.8125rem;text-align:center;color:var(--muted);margin:16px 8px 0}.owner-login-help a{white-space:nowrap;text-underline-offset:3px}
.owner-login-footer{color:var(--muted);font-size:.75rem}.owner-login-footer a{color:var(--muted);text-underline-offset:3px}
.customer-login-setup{font-size:.8125rem;line-height:1.45;color:var(--muted);background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:12px;margin:16px 0 0}.customer-login-setup strong{display:block;color:var(--ink);margin-bottom:4px}
@media(max-width:900px){.owner-login-layout{gap:24px}.owner-login-intro{padding:24px}.owner-login-card{padding:24px}.owner-login-intro h2{font-size:2rem}}
@media(max-width:760px){
  .owner-login-header,.owner-login-footer{padding:16px}.owner-login-header{flex-wrap:wrap}.owner-login-brand{font-size:1rem;gap:8px}.owner-login-brand img{width:28px;height:28px}.login-header-actions{margin-left:auto}
  .owner-login-appearance{width:44px;min-height:44px;padding:10px}
  .owner-login-layout{display:flex;flex-direction:column;width:calc(100% - 32px);gap:16px;margin:12px auto 20px;flex:1}
  .owner-login-intro{order:2;align-self:stretch;padding:20px}.owner-login-intro h2{font-size:1.75rem;line-height:1.2;margin:12px 0}.owner-login-intro h2 br{display:none}
  .owner-login-intro>p{max-width:40ch;font-size:.875rem}.owner-login-features{margin-top:24px;gap:16px}.owner-login-company{margin-top:24px}
  .owner-login-panel{order:1;width:100%;padding:0}.owner-login-card{padding:24px 20px}.owner-login h1{font-size:1.5rem}.owner-login-description{margin-bottom:20px}
  .owner-login :is(button,input,select,summary){min-height:44px}.owner-login .admin-fallback input{font-size:1rem}.owner-login .color-mode-switch button{min-height:44px}
}
@media(pointer:coarse){.owner-login :is(button,input,select,summary){min-height:44px}}
