@font-face { font-family: 'Jarvis Orbitron'; src: url('jarvis-orbitron-500.ttf?v=20260926-1') format('truetype'); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: 'Jarvis Orbitron'; src: url('jarvis-orbitron-700.ttf?v=20260926-1') format('truetype'); font-weight: 700; font-style: normal; font-display: swap; }
:root { color-scheme: light; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
* { box-sizing: border-box; }
body { margin: 0; background: #fff; color: #202123; overscroll-behavior-y: none; }
main { width: min(100%, 1100px); min-height: 100vh; min-height: 100dvh; margin: auto; padding: 0 1.5rem 9.5rem; }
.landing-page { min-height: 100vh; min-height: 100dvh; background: radial-gradient(circle at 12% 8%, #dff3e6 0, transparent 34%), linear-gradient(145deg, #f9fbfa 0, #eef4f0 100%); }
.landing-main { display: grid; width: min(100% - 2rem, 67rem); min-height: 100vh; min-height: 100dvh; margin: auto; padding: 4rem 1.5rem; grid-template-columns: minmax(0, 1.2fr) minmax(20rem, .8fr); gap: clamp(2rem, 6vw, 6rem); align-content: center; align-items: center; }
.landing-brand-panel { min-width: 0; }
.landing-lockups { display: flex; flex-wrap: wrap; align-items: center; gap: 1.1rem; margin-bottom: 3.2rem; }
.izeno-lockup { display: inline-flex; align-items: center; gap: .75rem; color: #123c28; font-size: 1.55rem; letter-spacing: -.035em; }
.izeno-lockup img { width: 3.4rem; height: 3.4rem; border-radius: .85rem; box-shadow: 0 .45rem 1.25rem #0d5c3528; }
.landing-brand-divider { width: 1px; height: 2.5rem; background: #b9c9bf; }
.wireless-group-link { display: inline-flex; padding: .25rem; align-items: center; border-radius: .55rem; }
.wireless-group-link:hover { background: #fff9; }
.wireless-group-link:focus-visible { outline: 3px solid #15734745; }
.wireless-group-logo { width: min(13rem, 42vw); height: 3rem; object-fit: contain; object-position: left center; }
.landing-app-download {
  display: none; min-height: 2.45rem; padding: .5rem .8rem; align-items: center;
  justify-content: center; border: 1px solid #70b287; border-radius: 999px;
  background: #edf8f1; color: #146139; font-size: .78rem; font-weight: 800;
  white-space: nowrap; box-shadow: 0 .35rem 1rem #155f3820;
}
.client-mobile .landing-app-download {
  display: inline-flex; min-height: 3.25rem; padding: .75rem 1.1rem;
  border-width: 2px; font-size: 1rem; box-shadow: 0 .5rem 1.3rem #155f3830;
}
.client-mobile body.native-android .landing-app-download { display: none; }
.landing-app-download:hover { border-color: #318858; background: #dff2e5; }
.landing-eyebrow { margin: 0 0 .65rem; color: #157347; font-size: .76rem; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.landing-main h1 { max-width: 11ch; margin: 0; color: #18251e; font-size: clamp(2.5rem, 5vw, 4.6rem); line-height: .98; letter-spacing: -.06em; }
.landing-description { max-width: 36rem; margin: 1.6rem 0 0; color: #55635b; font-size: 1.08rem; line-height: 1.65; }
.landing-trust { display: flex; margin-top: 1.7rem; flex-wrap: wrap; gap: .55rem 1.25rem; color: #557261; font-size: .78rem; font-weight: 700; }
.landing-trust span::first-letter { color: #25a55f; }
.landing-card { padding: clamp(1.5rem, 4vw, 2.5rem); border: 1px solid #dce6df; border-radius: 1.5rem; background: rgba(255,255,255,.94); box-shadow: 0 1.4rem 4rem #244d3520; backdrop-filter: blur(14px); }
.landing-card h2 { margin: 0; color: #1c2922; font-size: clamp(1.7rem, 3vw, 2.35rem); letter-spacing: -.035em; }
.landing-card-intro, .landing-card > p:not(.landing-eyebrow):not(.landing-error) { margin: .65rem 0 1.5rem; color: #66736b; line-height: 1.5; }
.landing-login-form { display: grid; gap: 1.05rem; margin-top: 1.4rem; }
.landing-login-form label { display: grid; gap: .42rem; color: #35443b; font-size: .82rem; font-weight: 750; }
.landing-login-form input { width: 100%; min-height: 3.2rem; padding: .7rem .85rem; border: 1px solid #cbd8cf; border-radius: .8rem; background: #fbfdfc; color: inherit; font: inherit; }
.landing-login-form input:focus { border-color: #157347; outline: 3px solid #15734720; background: #fff; }
.landing-login-form button, .landing-access { display: inline-flex; width: 100%; min-height: 3.2rem; padding: .7rem 1.1rem; align-items: center; justify-content: center; border: 1px solid #157347; border-radius: .8rem; background: #157347; color: #fff; font: inherit; font-weight: 800; cursor: pointer; }
.landing-access:hover { background: #0f542f; }
.landing-login-form button:hover { background: #0f5d37; }
.landing-error { margin: 1rem 0 0; padding: .7rem .8rem; border: 1px solid #efc4c0; border-radius: .65rem; background: #fff3f2; color: #912b23; font-size: .82rem; }
.landing-secondary-action { margin-top: .8rem; text-align: center; }
.landing-secondary-action button { border: 0; background: transparent; color: #68736d; text-decoration: underline; }
.landing-footer { grid-column: 1 / -1; margin: 0; color: #7b8981; font-size: .72rem; text-align: center; }
@media (max-width: 760px) {
  .landing-main { padding: 2rem 1rem; grid-template-columns: 1fr; gap: 2rem; align-content: start; }
  .landing-lockups { margin-bottom: 2rem; }
  .landing-main h1 { max-width: 12ch; font-size: clamp(2.35rem, 12vw, 3.4rem); }
  .landing-card { border-radius: 1.2rem; }
}
header { position: sticky; top: 0; z-index: 20; display: flex; justify-content: space-between; gap: 1rem; align-items: center; padding: 1rem 0; background: rgba(255,255,255,.94); backdrop-filter: blur(12px); }
.top-shell { position: sticky; z-index: 24; top: 0; margin: 0 -.35rem; padding: 0 .35rem; border-bottom: 1px solid #e8ece9; background: rgba(255,255,255,.96); box-shadow: 0 .4rem 1.2rem #1b3e2910; backdrop-filter: blur(14px); }
.top-shell > header { position: static; padding-bottom: .65rem; background: transparent; backdrop-filter: none; }
.services-toolbar { display: grid; gap: .32rem; padding: 0 0 .65rem; }
.services-main, .services-connections { display: flex; min-width: 0; gap: .38rem; align-items: center; }
.services-main { overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: thin; scrollbar-color: #bdc9c0 transparent; }
.services-main > button, .services-main > .button,
.service-stack > button, .service-stack > .button,
.service-google-links > .button,
.services-connections > button, .services-connections > .button {
  display: inline-flex; min-width: max-content; min-height: 2.25rem; padding: .38rem .68rem;
  flex: 0 0 auto; align-items: center; justify-content: center; gap: .38rem;
  font-size: .72rem; line-height: 1; white-space: nowrap;
}
.service-stack { display: grid; min-width: max-content; flex: 0 0 auto; gap: .2rem; }
.service-stack > [hidden] { display: none !important; }
.service-google-links { display: flex; min-width: 0; gap: .25rem; }
.service-connect { min-height: 1.55rem !important; padding: .22rem .5rem !important; font-size: .61rem !important; }
.services-main .service-logo { width: 1.05rem; height: 1.05rem; }
.services-main .mygip-logo { width: auto; max-width: 4.8rem; height: 1.3rem; }
.services-connections { padding-top: .32rem; justify-content: flex-end; border-top: 1px dashed #dce4de; }
.services-connections:not(:has(> :not([hidden]))) { display: none; }
.services-connections > [hidden] { display: none !important; }
body:not(.native-android) .services-connections:not(:has(#google-reconnect:not([hidden]), #redbooth-reconnect:not([hidden]))) { display: none; }
.services-connections > .button { min-height: 1.9rem; padding: .3rem .58rem; font-size: .66rem; }
.services-toolbar #redbooth-dashboard,
.services-toolbar #mygip-link,
.services-toolbar #genvoice-link,
.services-toolbar #famtree-link,
.services-toolbar #gmail-link,
.services-toolbar #google-calendar-link,
.services-toolbar #google-drive-link,
.services-toolbar #whatsapp-link,
.services-toolbar #notices-history,
.services-toolbar #messages-enrico,
.services-toolbar #messages-antonio,
.services-toolbar #organization-chart,
.services-toolbar #google-reconnect,
.services-toolbar #whatsapp-connect,
.services-toolbar #redbooth-reconnect { grid-column: auto; }
@media (max-width: 760px) {
  .services-main, .services-connections {
    padding-bottom: .18rem; overflow-x: auto; justify-content: flex-start; scrollbar-width: thin;
  }
}
a { color: inherit; text-decoration: none; }
.brand { display: flex; align-items: center; gap: .7rem; font-size: 1.05rem; }
.brand a { font-weight: 750; }
.jarvis-entry {
  display: inline-grid; width: 1.55rem; min-width: 1.55rem; height: 1.55rem; min-height: 1.55rem;
  padding: .08rem; place-items: center; border: 1px solid #d7d7d7; border-radius: .3rem;
  background: #fff; box-shadow: 0 1px 3px #0002;
}
.jarvis-entry:hover { border-color: #8d8d8d; background: #fff; box-shadow: 0 1px 5px #0003; }
.jarvis-entry:disabled { opacity: .55; cursor: wait; }
.jarvis-entry img { display: block; width: .92rem; height: 1.15rem; object-fit: contain; }
.brand #famtree-link {
  display: inline-flex; min-width: auto; min-height: 1.55rem; height: 1.55rem;
  padding: .12rem .45rem; align-items: center; justify-content: center; gap: .28rem;
  border-color: #bcd9c4; border-radius: .38rem; background: #f3faf5;
  color: #245c35; font-size: .63rem; font-weight: 750; line-height: 1;
  white-space: nowrap;
}
.brand #famtree-link:hover { border-color: #4f9664; background: #e6f4ea; color: #174728; }
.brand #famtree-link .service-logo { width: .95rem; height: .95rem; }
.brand #famtree-link b { font: inherit; }
.brand .app-download { display: none; padding: .32rem .55rem; border: 1px solid #b9d6c2; border-radius: 999px; background: #edf8f0; color: #17663b; font-size: .72rem; white-space: nowrap; }
.client-mobile .brand .app-download {
  display: inline-flex; min-height: 3rem; padding: .68rem 1rem; align-items: center;
  border-width: 2px; font-size: .95rem; font-weight: 850;
  box-shadow: 0 .35rem 1rem #155f3828;
}
.client-mobile .app-share-dialog .app-share-actions .primary {
  min-height: 3rem; padding: .7rem 1rem; font-size: 1rem; font-weight: 850;
}
.client-mobile body:not(.native-android) .app-share-dialog {
  width: min(calc(100vw - .4rem), 48rem); max-width: none;
  padding: clamp(1.65rem, 5vw, 2.65rem); border-radius: 1.45rem;
}
.client-mobile body:not(.native-android) .app-share-dialog h2 {
  margin-right: 3.4rem; font-size: clamp(2.2rem, 6.5vw, 3.1rem); line-height: 1.06;
}
.client-mobile body:not(.native-android) .app-share-dialog p {
  font-size: clamp(1.4rem, 4.25vw, 1.8rem); line-height: 1.45;
}
.client-mobile body:not(.native-android) .app-share-dialog > .close {
  width: 3.35rem; height: 3.35rem; min-height: 3.35rem; font-size: 1.9rem;
}
.client-mobile body:not(.native-android) .app-share-dialog .app-share-actions {
  gap: 1rem; margin-top: 1.75rem;
}
.client-mobile body:not(.native-android) .app-share-dialog .app-share-actions .primary,
.client-mobile body:not(.native-android) .app-share-dialog .app-share-actions button {
  min-height: 4.2rem; padding: 1rem 1.4rem; font-size: 1.4rem;
}
.client-mobile body:not(.native-android) .brand .app-download {
  min-height: 3.65rem; padding: .85rem 1.25rem; border-width: 2px;
  border-color: #3f9a60; background: #e2f5e8; font-size: 1.12rem;
  box-shadow: 0 .55rem 1.35rem #155f3835;
}
.client-mobile body.native-android .brand .app-download { display: none; }
.brand .app-download:hover { border-color: #55a36b; background: #e1f3e6; }
.brand .app-download.has-update { border-color: #dd8b16; background: #fff4dc; color: #7a4700; }
.impersonation-return { min-height: 2rem; padding: .32rem .65rem; border: 1px solid #d18b27; border-radius: 999px; background: #fff3d9; color: #704000; font-size: .72rem; font-weight: 750; white-space: nowrap; cursor: pointer; }
.impersonation-return:hover,.impersonation-return:focus-visible { border-color: #ad6810; background: #ffe8b7; }
.impersonation-return:disabled { cursor: wait; opacity: .65; }
.app-update-indicator { display: inline-grid; width: 2rem; height: 2rem; padding: 0; place-items: center; border-color: #dd8b16; background: #fff0ce; color: #8a4e00; box-shadow: 0 0 0 3px #f3ac3b2b; font-size: 1rem; animation: update-bell 1.7s ease-in-out infinite; }
.app-update-indicator[hidden] { display: none; }
@keyframes update-bell { 0%, 75%, 100% { transform: rotate(0); } 82% { transform: rotate(10deg); } 90% { transform: rotate(-10deg); } }
.app-update-welcome { position: fixed; z-index: 80; width: min(22rem, calc(100vw - 20px)); padding: 1rem; border: 1px solid #e4a538; border-radius: 1rem; background: #fffaf0; color: #533100; box-shadow: 0 14px 38px #5b3b1029; }
.app-update-welcome[hidden] { display: none; }
.app-update-welcome::before { content: ''; position: absolute; left: var(--update-arrow-left, 75%); top: -.58rem; width: 1rem; height: 1rem; border-left: 1px solid #e4a538; border-top: 1px solid #e4a538; background: #fffaf0; transform: translateX(-50%) rotate(45deg); }
.app-update-welcome strong, .app-update-welcome span { display: block; }
.app-update-welcome strong { margin-bottom: .35rem; font-size: 1rem; }
.app-update-welcome span { padding-left: 0; border-left: 0; color: #765221; font-size: .84rem; line-height: 1.4; }
.app-update-welcome > div { display: flex; gap: .5rem; margin-top: .85rem; flex-wrap: wrap; }
.app-update-welcome button { min-height: 2.35rem; }
body.native-android .app-update-welcome {
  height: auto; max-height: none; margin: 0; overflow: visible; transform: none;
}
body.native-android .app-update-welcome::before { display: block; }
.app-share-dialog { width: min(92vw, 31rem); }
.app-share-dialog h2 { margin: .2rem 2.5rem .55rem 0; }
.app-share-dialog p { line-height: 1.45; }
.app-share-actions { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 1rem; }
.app-share-actions .button, .app-share-actions button { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
.question-dialog { width: min(92vw, 34rem); }
.jarvis-preview-dialog {
  width: min(92vw, 31rem); padding: 2.2rem; overflow: hidden; border-color: #2fa9c4;
  background-color: #06121b; color: #c4f7ff; text-align: center;
  background-image: linear-gradient(#1a9ebd12 1px, transparent 1px), linear-gradient(90deg, #1a9ebd12 1px, transparent 1px), radial-gradient(circle at 50% 42%, #073447 0, #06121b 60%);
  background-size: 2rem 2rem, 2rem 2rem, auto;
  box-shadow: 0 1.5rem 5rem #001018aa, inset 0 0 2rem #20cdeb12;
}
.jarvis-preview-dialog:not(.is-unlocked) {
  inset: 0; width: 100vw; max-width: none; height: 100dvh; max-height: none; margin: 0;
  padding: max(1rem,env(safe-area-inset-top)) 1rem max(1rem,env(safe-area-inset-bottom));
  border: 0; border-radius: 0; background:
    repeating-linear-gradient(0deg,#030606 0 2px,#0b1010 2px 3px),#020404;
  color: #81f9ff; font-family: 'Jarvis Orbitron',ui-monospace,"Courier New",monospace;
  box-shadow: 0 0 0 1px #ff681f66,0 0 3rem #00d9ee26,inset 0 0 3rem #000;
}
.jarvis-preview-dialog:not(.is-unlocked) > h2,
.jarvis-preview-dialog:not(.is-unlocked) > .jarvis-gate-status,
.jarvis-preview-dialog:not(.is-unlocked) > .jarvis-gate-form { width: min(39rem,88vw); margin-left: auto; margin-right: auto; }
.jarvis-preview-dialog:not(.is-unlocked) > h2 { margin-top: calc(50dvh - 6.5rem); }
.jarvis-preview-dialog:not(.is-unlocked) .jarvis-preview-core { display: none; }
.jarvis-preview-dialog:not(.is-unlocked) .jarvis-preview-kicker { display: none; }
.jarvis-preview-dialog:not(.is-unlocked) h2 { color: #6df8ff; font-size: clamp(1.25rem,4vw,2rem); letter-spacing: .035em; text-shadow: 0 0 .4rem #16ecff,0 0 1rem #16ecff; }
.jarvis-preview-dialog:not(.is-unlocked) .jarvis-gate-form { padding: .75rem; border: 1px solid #ff6b21; box-shadow: 0 0 .7rem #ff6b2133; }
.jarvis-preview-dialog:not(.is-unlocked) .jarvis-gate-form input { border: 1px solid #63f6ff; border-radius: 0; background: #030707; color: #9effff; box-shadow: inset 0 0 1rem #18dbea1f; font-family: inherit; }
.jarvis-preview-dialog:not(.is-unlocked) .jarvis-gate-form input:focus { border-color: #fff; box-shadow: 0 0 0 2px #ff6b21,0 0 1rem #28efff88; }
.jarvis-preview-dialog:not(.is-unlocked) .jarvis-gate-form .primary { border-radius: 0; border-color: #ff6b21; background: #071213; color: #7ffaff; }
.jarvis-preview-dialog:not(.is-unlocked) #jarvis-password-unlock > strong,
.jarvis-preview-dialog:not(.is-unlocked) #jarvis-password-unlock label > span,
.jarvis-preview-dialog:not(.is-unlocked) #jarvis-password-unlock .primary { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.jarvis-preview-dialog.is-unlocked {
  width: min(68rem, calc(100vw - 2rem)); max-width: 68rem;
  min-height: min(43rem, calc(100dvh - 2rem));
  padding: clamp(1.25rem, 3vw, 2.35rem);
}
.jarvis-preview-dialog.is-unlocked .jarvis-preview-kicker { opacity: .7; }
.jarvis-preview-dialog.is-unlocked h2 { margin-bottom: .5rem; }
.jarvis-preview-dialog.is-unlocked .jarvis-preview-core {
  width: 6.5rem; height: 6.5rem; margin: .2rem auto .6rem;
}
.jarvis-preview-dialog.is-unlocked .jarvis-preview-core span { inset: 2.05rem; }
.jarvis-preview-dialog.is-transitioning {
  animation: jarvis-cinematic-entry 1.15s cubic-bezier(.16,.84,.22,1) both;
  pointer-events: none;
}
.jarvis-preview-dialog.is-transitioning::after {
  content: ''; position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
  background: repeating-linear-gradient(0deg, #58eaff00 0 7px, #58eaff24 8px 9px);
  animation: jarvis-scan 1.15s linear both;
}
.jarvis-preview-dialog.is-transitioning .jarvis-preview-core {
  animation: jarvis-core-activate 1.15s cubic-bezier(.15,.8,.2,1) both;
}
@keyframes jarvis-cinematic-entry {
  0% { opacity: .25; transform: scale(.78) perspective(900px) rotateX(12deg); filter: blur(5px); }
  45% { opacity: 1; transform: scale(1.035) perspective(900px) rotateX(0); filter: blur(0); box-shadow: 0 0 0 2px #61eeff, 0 0 7rem #23d8ff99; }
  100% { transform: scale(1); }
}
@keyframes jarvis-core-activate {
  0% { transform: scale(.55) rotate(-80deg); filter: brightness(.5); }
  55% { transform: scale(1.18) rotate(28deg); filter: brightness(1.8); }
  100% { transform: scale(1) rotate(0); filter: brightness(1); }
}
@keyframes jarvis-scan {
  from { opacity: 0; transform: translateY(-35%); }
  25%, 75% { opacity: 1; }
  to { opacity: 0; transform: translateY(35%); }
}
.jarvis-preview-dialog::backdrop { background: #02080dcc; backdrop-filter: blur(4px); }
.jarvis-preview-dialog > .close { border-color: #2d7f92; background: #0a2430; color: #8ceeff; }
.jarvis-preview-kicker { margin: 0; color: #5dcde2; font-size: .68rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.jarvis-preview-dialog h2 { margin: .35rem 0 1rem; color: #d4fbff; font-size: 2rem; letter-spacing: .22em; text-shadow: 0 0 1rem #42dfffa0; }
.jarvis-preview-dialog > strong { display: block; margin-top: 1rem; color: #8beeff; }
.jarvis-preview-dialog > p:last-child { margin: .5rem auto 0; max-width: 24rem; color: #83aeba; line-height: 1.5; }
.jarvis-gate-status { margin: 1rem 0 0; color: #83aeba; }
.jarvis-gate-form { display: grid; gap: .75rem; margin-top: 1rem; text-align: left; }
.jarvis-gate-form > strong, .jarvis-ready > strong { color: #8beeff; text-align: center; }
.jarvis-gate-form > p { margin: -.25rem 0 .25rem; color: #83aeba; font-size: .78rem; text-align: center; }
.jarvis-gate-form label { display: grid; gap: .32rem; color: #88c5d1; font-size: .74rem; font-weight: 750; }
.jarvis-gate-form input { width: 100%; min-height: 2.75rem; padding: .6rem .75rem; border: 1px solid #2d8295; border-radius: .6rem; outline: 0; background: #031019; color: #d6fbff; font: inherit; }
.jarvis-gate-form input:focus { border-color: #78e9ff; box-shadow: 0 0 0 3px #43d9f526; }
.jarvis-gate-form .primary { border-color: #49d8ed; background: #0c6075; color: #e9fdff; }
.jarvis-ready { display: grid; gap: 1rem; margin-top: 1rem; text-align: left; }
.jarvis-ready[hidden], .jarvis-gate-form[hidden] { display: none; }
.jarvis-ready p { margin: 0; color: #83aeba; line-height: 1.5; }
.jarvis-ready button { border-color: #2d7f92; background: #0a2430; color: #8ceeff; }
.jarvis-cockpit-heading, .jarvis-cockpit-footer {
  display: flex; gap: 1rem; align-items: center; justify-content: space-between;
  padding: .8rem 1rem; border: 1px solid #1e6373; border-radius: .7rem;
  background: linear-gradient(90deg, #07212d, #05141d); box-shadow: inset 0 0 1rem #28d7f214;
}
.jarvis-cockpit-heading div { display: grid; gap: .18rem; }
.jarvis-cockpit-heading small, .jarvis-cockpit-grid small, .jarvis-cockpit-footer span {
  color: #55cfe3; font-size: .62rem; font-weight: 850; letter-spacing: .12em;
}
.jarvis-cockpit-heading strong { color: #d5fbff; font-size: 1.05rem; }
.jarvis-cockpit-heading > span { color: #8af1ff; font-size: .72rem; font-weight: 850; white-space: nowrap; }
.jarvis-cockpit-heading > span i {
  display: inline-block; width: .5rem; height: .5rem; margin-right: .35rem;
  border-radius: 50%; background: #4bf4b0; box-shadow: 0 0 .8rem #4bf4b0;
  animation: jarvis-online-pulse 1.8s ease-in-out infinite;
}
.jarvis-cockpit-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; }
.jarvis-cockpit-grid article {
  min-height: 8.2rem; padding: 1rem; border: 1px solid #185568; border-radius: .75rem;
  background: linear-gradient(145deg, #061b26, #03111a); box-shadow: inset 0 0 1.5rem #1fd9f30d;
}
.jarvis-cockpit-grid article strong { display: block; margin: .55rem 0 .4rem; color: #bdf7ff; }
.jarvis-cockpit-grid article p { color: #76a8b4; font-size: .78rem; }
.jarvis-cockpit-footer span { line-height: 1.4; }
.jarvis-cockpit-footer button { flex: 0 0 auto; }
@keyframes jarvis-online-pulse { 50% { opacity: .45; transform: scale(.78); } }
@keyframes jarvis-core-speaking { from { transform: scale(.93); filter: brightness(1) drop-shadow(0 0 .55rem #55f5e8); } to { transform: scale(1.09); filter: brightness(1.34) drop-shadow(0 0 1.8rem #82fff0); } }
@media (max-width: 680px) {
  .jarvis-preview-dialog.is-unlocked {
    width: calc(100vw - .7rem); min-height: calc(100dvh - .7rem); max-height: calc(100dvh - .7rem);
    padding: 1rem .8rem; overflow-y: auto;
  }
  .jarvis-preview-dialog.is-unlocked .jarvis-preview-core { width: 5.25rem; height: 5.25rem; }
  .jarvis-preview-dialog.is-unlocked .jarvis-preview-core span { inset: 1.7rem; }
  .jarvis-cockpit-grid { grid-template-columns: 1fr; }
  .jarvis-cockpit-grid article { min-height: 0; padding: .8rem; }
  .jarvis-cockpit-heading, .jarvis-cockpit-footer { align-items: flex-start; flex-direction: column; }
  .jarvis-cockpit-footer button { width: 100%; }
}
.jarvis-experience {
  position: fixed; z-index: 2147483600; inset: 0; overflow: hidden;
  background: #02090b; color: #bffaff; font-family: "Segoe UI", Inter, sans-serif;
}
.jarvis-experience[hidden], .jarvis-boot[hidden], .jarvis-interface[hidden] { display: none !important; }
body.jarvis-mode, body.jarvis-transition-active, body.jarvis-resume-pending { overflow: hidden; background: #01090b; color: #cafff8; }
body.jarvis-resume-pending > main { visibility: hidden; }
.jarvis-boot, .jarvis-interface {
  position: absolute; inset: 0; background:
    radial-gradient(circle at 50% 46%, #0a766e38 0, #031719 34%, #010708 72%),
    repeating-linear-gradient(0deg, #5bf7df08 0 1px, transparent 1px 5px), #02090b;
}
.jarvis-boot { display: grid; place-content: center; justify-items: center; padding: 1rem; text-align: center; }
.jarvis-boot::before, .jarvis-interface::before {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(90deg, transparent 49.8%, #46f1df12 50%, transparent 50.2%),
    linear-gradient(0deg, transparent 49.8%, #46f1df0d 50%, transparent 50.2%);
  background-size: 8rem 8rem;
}
.jarvis-boot::after {
  content: ''; position: absolute; z-index: 3; left: 0; right: 0; top: -15%; height: 18%;
  background: linear-gradient(transparent, #70ffea22, #a3fff042, transparent);
  animation: jarvis-full-scan 2.2s linear 3;
}
.jarvis-boot-grid { position: absolute; inset: 0; opacity: .5; background-image: radial-gradient(#43e8d744 1px, transparent 1px); background-size: 3rem 3rem; }
.jarvis-identify-screen, .jarvis-access-screen, .jarvis-welcome-screen {
  position: absolute; z-index: 5; inset: 0; display: grid; padding: 1rem; place-content: center;
  justify-items: center; background: repeating-linear-gradient(0deg,#020505 0 2px,#091010 2px 3px);
  font-family: 'Jarvis Orbitron',ui-monospace,"Courier New",monospace; transition: opacity .7s ease,transform .7s ease;
}
.jarvis-identify-screen strong { color: #63f7ff; font-size: clamp(1.05rem,4vw,2.05rem); font-weight: 700; letter-spacing: .035em; text-shadow: 0 0 .35rem #19e5f5,0 0 1.1rem #19e5f5; }
.jarvis-identify-screen > div { width: min(39rem,88vw); margin-top: .8rem; padding: .5rem; border: 2px solid #ff6a20; border-radius: .32rem; box-shadow: 0 0 .9rem #ff6a2040,inset 0 0 .6rem #ff6a201d; }
.jarvis-identify-screen span { position: relative; display: flex; min-height: 3.35rem; padding: .65rem .8rem; overflow: hidden; align-items: center; border: 1px solid #61f4ff; border-radius: .2rem; color: #7efaff; background: #010606; font-size: clamp(.9rem,3vw,1.35rem); font-weight: 500; letter-spacing: .09em; text-align: left; box-shadow: inset 0 0 1.4rem #18dbea20,0 0 .65rem #18dbea24; }
.jarvis-boot.identity-typing .jarvis-identify-screen span { animation: jarvis-type-jitter .11s steps(2,end) infinite; }
.jarvis-boot.identity-typing .jarvis-identify-screen span::before { content: attr(data-value); position: absolute; inset: .65rem .8rem; color: #ff742d; opacity: .55; clip-path: inset(42% 0 30%); transform: translateX(.12rem); text-shadow: 0 0 .5rem #ff5e23; }
.jarvis-identify-screen span::after { content: ''; width: 2px; height: 1.7rem; margin-left: .16rem; background: #78fbff; box-shadow: 0 0 .5rem #3af4ff; animation: jarvis-identify-caret .72s steps(1,end) infinite; }
.jarvis-boot.identity-complete .jarvis-identify-screen > div { box-shadow: 0 0 1.4rem #22efff66,0 0 .8rem #ff6a2040,inset 0 0 1.3rem #22efff1f; }
.jarvis-boot.identity-complete .jarvis-identify-screen span::after { opacity: 0; }
.jarvis-access-screen { opacity: 0; transform: scale(.92); pointer-events: none; }
.jarvis-access-screen strong { position: relative; color: #ff6a20; font-size: clamp(2rem,8vw,5.8rem); font-weight: 700; letter-spacing: .035em; text-shadow: 0 0 .45rem #ff5b1f99,0 0 1.5rem #ff5b1f55; }
.jarvis-access-screen strong::before,
.jarvis-access-screen strong::after { content: attr(data-text); position: absolute; inset: 0; opacity: .7; pointer-events: none; }
.jarvis-access-screen strong::before { color: #64f8ff; clip-path: inset(18% 0 58%); transform: translateX(-.09em); }
.jarvis-access-screen strong::after { color: #ffb04e; clip-path: inset(62% 0 12%); transform: translateX(.09em); }
.jarvis-boot.stage-access:not(.stage-welcome) .jarvis-access-screen strong::before { animation: jarvis-access-glitch-a .18s steps(2,end) 7; }
.jarvis-boot.stage-access:not(.stage-welcome) .jarvis-access-screen strong::after { animation: jarvis-access-glitch-b .22s steps(2,end) 6; }
.jarvis-welcome-screen { opacity: 0; transform: scale(.94); pointer-events: none; }
.jarvis-welcome-screen > strong { color: #ff6a20; font-size: clamp(1.6rem,7vw,4.5rem); letter-spacing: .08em; text-shadow: 0 0 1.2rem #ff5b1f80; }
.jarvis-profile-frame { position: relative; display: grid; width: clamp(10rem,25vw,15rem); aspect-ratio: 1; margin: 1.25rem 0; padding: .55rem; place-items: center; border: 1px solid #64f7ff; background: #031010; box-shadow: 0 0 0 .65rem #17deee0a,0 0 2rem #13e9ff3d,inset 0 0 1.4rem #17dce32e; }
.jarvis-profile-frame::before { content: ''; position: absolute; z-index: 2; inset: -.65rem; pointer-events: none; border-left: 2px solid #ff6a20; border-right: 2px solid #ff6a20; clip-path: polygon(0 0,14% 0,14% 2px,86% 2px,86% 0,100% 0,100% 100%,86% 100%,86% calc(100% - 2px),14% calc(100% - 2px),14% 100%,0 100%); filter: drop-shadow(0 0 .35rem #ff6a2080); }
.jarvis-profile-frame::after { content: ''; position: absolute; z-index: 3; inset: .55rem; pointer-events: none; background: repeating-linear-gradient(0deg,transparent 0 3px,#72fbff19 3px 4px),linear-gradient(180deg,transparent,#54fbff17 48%,transparent 52%); mix-blend-mode: screen; animation: jarvis-profile-scan 2.1s linear infinite; }
.jarvis-welcome-screen img { width: 100%; height: 100%; object-fit: cover; object-position: center 32%; opacity: .9; filter: grayscale(1) sepia(.45) saturate(2.2) hue-rotate(130deg) contrast(1.18) brightness(1.05) drop-shadow(0 0 .8rem #5cf5ff); }
.jarvis-welcome-screen b { color: #77f8ff; font-size: clamp(1.5rem,7vw,4.4rem); letter-spacing: .08em; text-shadow: 0 0 1.2rem #27eaff; }
.jarvis-boot > :is(.jarvis-boot-code,.jarvis-boot-core,h2,.jarvis-boot-status,.jarvis-boot-progress,.jarvis-boot-telemetry) { opacity: 0; transform: scale(.93); transition: opacity .75s ease,transform .75s ease; }
.jarvis-boot.stage-access .jarvis-identify-screen,
.jarvis-boot.stage-welcome .jarvis-identify-screen { visibility: hidden; opacity: 0; transform: scale(1.05); pointer-events: none; transition: opacity .7s ease,transform .7s ease,visibility 0s .7s; }
.jarvis-boot.stage-access .jarvis-access-screen { opacity: 1; transform: scale(1); }
.jarvis-boot.stage-welcome .jarvis-access-screen { visibility: hidden; opacity: 0; transform: scale(1.08); transition: opacity .55s ease,transform .55s ease,visibility 0s .55s; }
.jarvis-boot.stage-welcome .jarvis-welcome-screen { opacity: 1; transform: scale(1); }
.jarvis-boot.stage-core .jarvis-welcome-screen { visibility: hidden; opacity: 0; transform: scale(1.06); transition: opacity .7s ease,transform .7s ease,visibility 0s .7s; }
.jarvis-boot.stage-core > :is(.jarvis-boot-code,.jarvis-boot-core,h2,.jarvis-boot-status,.jarvis-boot-progress,.jarvis-boot-telemetry) { opacity: 1; transform: scale(1); }
.jarvis-boot-code { z-index: 1; margin: 0 0 1.2rem; color: #60d9cf; font-size: .62rem; font-weight: 800; letter-spacing: .28em; }
.jarvis-boot h2 { z-index: 1; margin: 1.2rem 0 .55rem; color: #d9ffff; font-size: clamp(2.2rem, 7vw, 5.4rem); letter-spacing: .32em; text-shadow: 0 0 2rem #43f7e0; animation: jarvis-title-lock 1.4s ease both; }
.jarvis-boot-core, .jarvis-main-core {
  position: relative; z-index: 1; display: grid; width: clamp(13rem, 31vw, 23rem); aspect-ratio: 1;
  place-items: center; border: 2px solid #42ebd9; border-radius: 50%;
  box-shadow: 0 0 2.5rem #30dac870, inset 0 0 2.8rem #1ec6b23d;
}
.jarvis-boot-core::before, .jarvis-boot-core::after,
.jarvis-main-core::before, .jarvis-main-core::after,
.jarvis-boot-core i, .jarvis-main-core i { content: ''; position: absolute; border-radius: 50%; }
.jarvis-boot-core::before, .jarvis-main-core::before { inset: 7%; border: .7rem dashed #55f6df; animation: jarvis-ring-clockwise 7s linear infinite; }
.jarvis-boot-core::after, .jarvis-main-core::after { inset: 21%; border: .28rem dotted #cbfff4; animation: jarvis-ring-counter 4.5s linear infinite; }
.jarvis-boot-core i:first-child, .jarvis-main-core i:first-child { inset: -7%; border-top: .38rem solid #50ead8; border-bottom: .38rem solid #50ead8; animation: jarvis-ring-clockwise 3.4s linear infinite; }
.jarvis-boot-core i:nth-child(2), .jarvis-main-core i:nth-child(2) { inset: 14%; border-left: .3rem solid #ff8b35; border-right: .3rem solid #ff8b35; animation: jarvis-ring-counter 5.2s linear infinite; }
.jarvis-boot-core i:nth-child(3), .jarvis-main-core i:nth-child(3) { inset: 34%; border: 1px solid #82ffea; box-shadow: 0 0 1.7rem #67ffe4, inset 0 0 1.4rem #58e9d9; }
.jarvis-boot-core > span, .jarvis-main-core > span { z-index: 2; color: #eafffa; font-size: clamp(2rem, 6vw, 4rem); font-weight: 200; text-shadow: 0 0 1.2rem #fff, 0 0 2.5rem #46ead7; }
.jarvis-boot-core > img, .jarvis-main-core > img { z-index: 2; width: 96%; height: 96%; object-fit: contain; clip-path: circle(35% at 50% 50%); filter: saturate(1.2) contrast(1.08) drop-shadow(0 0 .7rem #55f5e8) drop-shadow(0 0 1.4rem #36bcae88); }
body.jarvis-speaking .jarvis-main-core > img { animation: jarvis-core-speaking .68s ease-in-out infinite alternate; }
body.jarvis-mode .jarvis-main-core {
  animation: jarvis-core-float 3.6s ease-in-out infinite alternate;
  box-shadow: 0 0 var(--jarvis-voice-glow, 40px) #30dac878, inset 0 0 2.8rem #1ec6b23d;
  transition: box-shadow 90ms linear;
}
.jarvis-boot-status { z-index: 1; min-height: 1.5rem; margin: 0; color: #84d9d0; font-size: clamp(.78rem, 2vw, 1rem); letter-spacing: .08em; }
.jarvis-boot-progress { z-index: 1; width: min(34rem, 82vw); height: .32rem; margin-top: 1.2rem; overflow: hidden; border: 1px solid #2e8c83; background: #041312; }
.jarvis-boot-progress span { display: block; width: 0; height: 100%; background: linear-gradient(90deg, #21b5aa, #a6fff0); box-shadow: 0 0 1rem #61ffea; animation: jarvis-boot-progress 5s 3.3s linear forwards; }
.jarvis-boot-telemetry { z-index: 1; display: flex; margin-top: 1rem; gap: 1.2rem; color: #438c87; font-size: .52rem; letter-spacing: .14em; }
.jarvis-interface { overflow: auto; padding: 1rem clamp(1rem, 3vw, 3rem) 1.5rem; }
.jarvis-interface-header {
  position: sticky; z-index: 5; top: 0; display: grid; width: min(100%, 92rem); margin: 0 auto 1rem;
  padding: .8rem 1rem; grid-template-columns: 1fr auto 1fr; align-items: center;
  border: 1px solid #226c67; clip-path: polygon(2% 0,98% 0,100% 35%,100% 100%,0 100%,0 35%);
  background: #031214ee; box-shadow: inset 0 0 1.5rem #34e3d11a; backdrop-filter: blur(12px);
}
.jarvis-interface-header > div { display: grid; }
.jarvis-interface-header small, .jarvis-hud-stack small, .jarvis-interface-footer { color: #55dacf; font-size: .58rem; font-weight: 850; letter-spacing: .16em; }
.jarvis-interface-header strong { color: #d9fffb; font-size: 1.45rem; letter-spacing: .26em; }
.jarvis-interface-header .jarvis-online { color: #95fff1; font-size: .68rem; font-weight: 850; letter-spacing: .1em; }
.jarvis-online i { display: inline-block; width: .5rem; height: .5rem; margin-right: .35rem; border-radius: 50%; background: #5affb2; box-shadow: 0 0 .9rem #5affb2; animation: jarvis-online-pulse 1.8s ease-in-out infinite; }
.jarvis-interface-header button { justify-self: end; border-color: #2a8c84; background: #062522; color: #aafff2; }
.jarvis-interface-layout { position: relative; z-index: 1; display: grid; width: min(100%, 92rem); min-height: calc(100dvh - 9rem); margin: auto; grid-template-columns: minmax(13rem, 18rem) minmax(24rem, 1fr) minmax(13rem, 18rem); gap: 1rem; align-items: stretch; }
.jarvis-hud-stack { display: grid; align-content: center; gap: .8rem; }
.jarvis-hud-stack article { min-height: 8.7rem; padding: 1rem; border: 1px solid #1d6f68; background: linear-gradient(135deg, #061b1cdd, #020d0fee); clip-path: polygon(0 0,92% 0,100% 18%,100% 100%,8% 100%,0 82%); box-shadow: inset 0 0 1.4rem #34decf12; }
.jarvis-hud-stack article strong { display: block; margin: .55rem 0; color: #c9fff8; font-size: .95rem; }
.jarvis-hud-stack article p { margin: 0; color: #70aaa5; font-size: .72rem; line-height: 1.5; }
.jarvis-core-stage { display: grid; width: 100%; min-height: 0; margin: 0; padding: .5rem; justify-items: center; align-content: center; background: transparent; text-align: center; }
.jarvis-main-core { width: min(25rem, 62vw); }
.jarvis-core-stage > p { margin: 1rem 0; color: #6dddd1; font-size: .62rem; font-weight: 850; letter-spacing: .19em; }
.jarvis-core-stage > small { max-width: 33rem; margin-top: .75rem; color: #4d8f89; line-height: 1.4; }
.jarvis-izeno-bridge { width: min(100%, 40rem); padding: .8rem; border: 1px solid #1b625d; background: #031315d9; box-shadow: inset 0 0 1.5rem #21c9bb10; }
.jarvis-izeno-bridge > strong { display: block; margin-bottom: .6rem; color: #abfff5; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; }
.jarvis-talk-izeno { min-height: 2.55rem; border-color: #37b5a9; background: #0a4945 !important; color: #e4fffa !important; font-weight: 800; }
.jarvis-talk-izeno.is-active { border-color: #f08a42; background: #3d1b0d !important; color: #ffd7b8 !important; }
.jarvis-write-izeno { display: grid; gap: .3rem; margin-top: .65rem; text-align: left; }
.jarvis-write-izeno label { color: #67c9c0; font-size: .62rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.jarvis-write-izeno > div { display: flex; gap: .4rem; }
.jarvis-write-izeno input { min-width: 0; min-height: 2.55rem; flex: 1; border: 1px solid #246d67; border-radius: .55rem; outline: 0; background: #020b0d; color: #d9fffa; padding: .55rem .65rem; }
.jarvis-write-izeno input:focus { border-color: #63eee0; box-shadow: 0 0 0 3px #42e3d124; }
.jarvis-write-izeno button { border-color: #2b9c91; background: #0b3937; color: #bffff6; }
.jarvis-write-izeno .jarvis-composer-row { display: flex; gap: .4rem; }
.jarvis-pending-attachments { display: flex; flex-wrap: wrap; gap: .4rem; }
.jarvis-pending-attachments:empty { display: none; }
.jarvis-pending-attachments article { position: relative; display: grid; width: 7rem; padding: .28rem; gap: .2rem; border: 1px solid #297f77; background: #031719; }
.jarvis-pending-attachments img { width: 100%; height: 4.2rem; object-fit: cover; background: #010708; }
.jarvis-pending-attachments .jarvis-file-icon { display: grid; width: 100%; height: 4.2rem; place-items: center; border: 1px solid #215e59; background: linear-gradient(135deg,#041d20,#020b0d); color: #69e6dc; font-size: .8rem; font-weight: 850; letter-spacing: .08em; }
.jarvis-pending-attachments span { overflow: hidden; color: #a9eee7; font-size: .5rem; text-overflow: ellipsis; white-space: nowrap; }
.jarvis-pending-attachments button { position: absolute; top: .2rem; right: .2rem; width: 1.35rem; height: 1.35rem; min-height: 1.35rem; padding: 0; border-color: #ff8d4f; background: #180a05; color: #ffc4a5; font-size: .9rem; line-height: 1; }
.jarvis-attachment-status { min-height: .7rem; color: #4f918b; font-size: .5rem; }
.jarvis-izeno-feed { min-height: 10rem; max-height: min(34vh, 18rem); margin-top: .65rem; padding: .45rem; overflow-y: auto; border-top: 1px solid #164b48; text-align: left; }
.jarvis-izeno-feed > p { margin: .35rem; color: #4f918b; font-size: .72rem; }
.jarvis-izeno-feed .event { position: relative; margin: .35rem 0; padding: .45rem 3.8rem .45rem .55rem; border-color: #24756e; background: linear-gradient(135deg,#041a1b,#031012); color: #c8fff8; font-size: .72rem; user-select: text; -webkit-user-select: text; -webkit-touch-callout: default; }
.jarvis-izeno-feed .event.user { border-color: #2d9187; background: linear-gradient(135deg,#062322,#031315); color: #dcfffa; }
.jarvis-copy-event { position: absolute; top: .35rem; right: .38rem; min-height: 1.55rem; padding: .2rem .42rem; border: 1px solid #277c75; border-radius: 0; background: #041617; color: #79dcd3; font: inherit; font-size: .48rem; letter-spacing: .06em; text-transform: uppercase; cursor: pointer; user-select: none; -webkit-user-select: none; }
.jarvis-copy-event:hover,.jarvis-copy-event:focus-visible,.jarvis-copy-event.is-copied { border-color: #61f4e7; color: #cafffa; box-shadow: 0 0 .55rem #39e8da44; }
.jarvis-experience .jarvis-izeno-feed .event.final,
.jarvis-experience .jarvis-izeno-feed .event.commentary,
.jarvis-experience .jarvis-izeno-feed .event.diff {
  border-color: #24756e !important;
  background: linear-gradient(135deg,#041a1b,#031012) !important;
  color: #c8fff8 !important;
}
.jarvis-experience .jarvis-izeno-feed .event :is(p,div,span,pre,code) { color: inherit; }
.jarvis-izeno-feed .jarvis-inline-images { display: grid; margin-top: .45rem; gap: .4rem; grid-template-columns: repeat(auto-fit,minmax(7rem,1fr)); }
.jarvis-izeno-feed .jarvis-inline-images a { display: grid; overflow: hidden; border: 1px solid #2e8e85; background: #020b0d; color: #9eeee7; text-decoration: none; }
.jarvis-izeno-feed .jarvis-inline-images img { display: block; width: 100%; max-height: 15rem; object-fit: contain; background: #010607; }
.jarvis-izeno-feed .jarvis-inline-images span { padding: .25rem .35rem; overflow: hidden; font-size: .5rem; text-overflow: ellipsis; white-space: nowrap; }
.jarvis-izeno-feed .meta { color: #4f918b; font-size: .55rem; }
.jarvis-interface-footer { position: relative; z-index: 1; display: flex; width: min(100%, 92rem); margin: 1rem auto 0; padding: .65rem 1rem; justify-content: space-between; border-top: 1px solid #1e625d; color: #4e9992; }
body.jarvis-transition-active .voice-tools { z-index: 2147483645; }
body.jarvis-mode .voice-session.is-active,
body.jarvis-mode #voice-presence { display: none !important; }
@keyframes jarvis-ring-clockwise { to { transform: rotate(360deg); } }
@keyframes jarvis-ring-counter { to { transform: rotate(-360deg); } }
@keyframes jarvis-full-scan { to { top: 110%; } }
@keyframes jarvis-title-lock { from { opacity: 0; letter-spacing: .7em; filter: blur(8px); } to { opacity: 1; letter-spacing: .32em; filter: blur(0); } }
@keyframes jarvis-boot-progress { to { width: 100%; } }
@keyframes jarvis-identify-caret { 50% { opacity: 0; } }
@keyframes jarvis-type-jitter { 0%,100% { transform: translateX(0); filter: brightness(1); } 35% { transform: translateX(-1px); filter: brightness(1.35); } 70% { transform: translateX(1px); } }
@keyframes jarvis-access-glitch-a { 0%,100% { transform: translateX(-.08em); } 50% { transform: translateX(.08em); } }
@keyframes jarvis-access-glitch-b { 0%,100% { transform: translateX(.09em); } 50% { transform: translateX(-.06em); } }
@keyframes jarvis-profile-scan { from { background-position: 0 0,0 -8rem; } to { background-position: 0 0,0 8rem; } }
@keyframes jarvis-core-float {
  from { transform: translateY(-.38rem) scale(var(--jarvis-voice-scale, 1)); }
  to { transform: translateY(.38rem) scale(var(--jarvis-voice-scale, 1)); }
}
@media (max-width: 900px) {
  .jarvis-interface { padding: .45rem .45rem 1rem; }
  .jarvis-interface-header { position: relative; grid-template-columns: 1fr auto; gap: .4rem; }
  .jarvis-interface-header .jarvis-online { grid-column: 1 / -1; grid-row: 2; }
  .jarvis-interface-header button { grid-column: 2; grid-row: 1; }
  .jarvis-interface-layout { min-height: 0; grid-template-columns: 1fr; }
  .jarvis-core-stage { grid-row: 1; padding: .35rem; }
  .jarvis-main-core { width: min(15rem, 58vw); }
  .jarvis-hud-stack { grid-template-columns: repeat(3, minmax(0, 1fr)); align-content: start; }
  .jarvis-hud-stack article { min-height: 0; padding: .7rem; clip-path: none; border-radius: .55rem; }
  .jarvis-hud-stack article strong { font-size: .78rem; }
  .jarvis-hud-stack article p { font-size: .64rem; }
  .jarvis-interface-footer { gap: .45rem; flex-direction: column; }
}
@media (max-width: 560px) {
  .jarvis-boot-core { width: min(15rem, 68vw); }
  .jarvis-boot h2 { font-size: 2.5rem; }
  .jarvis-boot-telemetry { gap: .5rem; font-size: .43rem; }
  .jarvis-hud-stack { grid-template-columns: 1fr; }
  .jarvis-main-core { width: min(12rem, 52vw); }
  .jarvis-write-izeno > div { align-items: stretch; flex-direction: column; }
  .jarvis-write-izeno button { width: 100%; }
}

/* Jarvis2: desktop-only skin adapted from openclaw-jarvis-ui (ISC). */
@media (min-width: 1025px) {
  body.jarvis2-mode .jarvis-interface {
    --j2-red: #ff4e42; --j2-dark-red: #9d211d; --j2-pale: #ffb3ab;
    background:
      radial-gradient(circle at 50% 46%,#4b0b102d 0 14%,transparent 42%),
      linear-gradient(#ff4e4208 1px,transparent 1px),
      linear-gradient(90deg,#ff4e4208 1px,transparent 1px),
      #030304;
    background-size: auto,3.4rem 3.4rem,3.4rem 3.4rem,auto;
    color: #ffd9d5;
  }
  body.jarvis2-mode .jarvis-interface::before {
    opacity: .72; background:
      radial-gradient(circle at 12% 18%,#ff4e4270 0 1px,transparent 2px),
      radial-gradient(circle at 81% 68%,#ffb3ab60 0 1px,transparent 2px);
    background-size: 6rem 7rem,8rem 9rem;
  }
  body.jarvis2-mode .jarvis-interface::after {
    background: linear-gradient(180deg,transparent,#ff4e421a 48%,#ffb3ab99 50%,#ff4e421a 52%,transparent);
    animation-duration: 6.8s;
  }
  body.jarvis2-mode .jarvis-interface-header {
    border-color: #7a2422; background: linear-gradient(90deg,#090506 0 28%,#26090be8 36% 64%,#090506 72%);
    box-shadow: 0 0 1.4rem #ff4e421e,inset 0 -1rem 2rem #ff4e4209;
  }
  body.jarvis2-mode .jarvis-interface-header > div:first-child small,
  body.jarvis2-mode .jarvis-hud-stack article small { color: #b44743; }
  body.jarvis2-mode .jarvis-interface-header > div:first-child strong,
  body.jarvis2-mode .jarvis-hud-stack article strong { color: #ffb3ab; text-shadow: 0 0 .8rem #ff4e42; }
  body.jarvis2-mode .jarvis-hud-clock small,
  body.jarvis2-mode .jarvis-hud-clock span { color: #ee756d; }
  body.jarvis2-mode .jarvis-hud-clock strong { color: #ffd0ca; text-shadow: 0 0 1rem #ff4e42; }
  body.jarvis2-mode .jarvis-interface-header button {
    border-color: #92312d; background: #230809; color: #ffb3ab;
  }
  body.jarvis2-mode .jarvis-interface-layout {
    grid-template-columns: minmax(13rem,18rem) minmax(28rem,1fr) minmax(13rem,18rem);
  }
  body.jarvis2-mode .jarvis-hud-stack article,
  body.jarvis2-mode .jarvis-hud-right article {
    border-color: #67211f; background: linear-gradient(90deg,#0b0607ec,#26090bbf);
    box-shadow: inset 0 0 1.2rem #ff4e4215;
  }
  body.jarvis2-mode .jarvis-hud-right article { background: linear-gradient(270deg,#0b0607ec,#26090bbf); }
  body.jarvis2-mode .jarvis-hud-stack article::after { background: linear-gradient(90deg,transparent,#ff7b71,transparent); }
  body.jarvis2-mode .jarvis-hud-stack article p { color: #94504c; }
  body.jarvis2-mode .jarvis-mini-radar { border-color: #e3473f; background: repeating-radial-gradient(circle,#ff4e421f 0 1px,transparent 1px .7rem); box-shadow: 0 0 .8rem #ff4e422e,inset 0 0 .7rem #ff4e4224; }
  body.jarvis2-mode .jarvis-mini-radar::before,
  body.jarvis2-mode .jarvis-mini-radar::after { background: #ff4e4247; }
  body.jarvis2-mode .jarvis-mini-radar i::before { background: conic-gradient(from 0deg,#ff4e4250,transparent 18%); }
  body.jarvis2-mode .jarvis-data-bars,
  body.jarvis2-mode .jarvis-wave { border-color: #8f2c29; background: linear-gradient(0deg,#ff4e4217,transparent); }
  body.jarvis2-mode .jarvis-data-bars i,
  body.jarvis2-mode .jarvis-wave i { background: #ff6459; box-shadow: 0 0 .4rem #ff4e42; }
  body.jarvis2-mode .jarvis-data-grid { border-color: #702624; background: linear-gradient(90deg,#ff4e421b 1px,transparent 1px),linear-gradient(#ff4e421b 1px,transparent 1px); background-size: .7rem .7rem; }
  body.jarvis2-mode .jarvis-data-grid::after { background: #ff6459; box-shadow: 0 0 .6rem #ff4e42; }
  body.jarvis2-mode .jarvis-core-stage::before,
  body.jarvis2-mode .jarvis-core-stage::after {
    content: ''; position: absolute; z-index: 0; inset: 7% 1.5%; pointer-events: none;
    border: 1px solid #ff4e423f; clip-path: polygon(0 12%,8% 12%,8% 0,30% 0,30% 1px,70% 1px,70% 0,92% 0,92% 12%,100% 12%,100% 88%,92% 88%,92% 100%,70% 100%,70% calc(100% - 1px),30% calc(100% - 1px),30% 100%,8% 100%,8% 88%,0 88%);
  }
  body.jarvis2-mode .jarvis-core-stage::after { inset: 11% 5%; border-color: #ffb3ab22; transform: scaleX(.94); }
  body.jarvis2-mode .jarvis-main-core { width: min(31rem,52vh,45vw); background: radial-gradient(circle,#ff4e4219,transparent 68%); }
  body.jarvis2-mode .jarvis-aurora-core canvas { filter: none; }
  body.jarvis2-mode .jarvis-aurora-fallback {
    background: radial-gradient(circle,#fff 0 3%,#ffb3ab 4% 8%,transparent 10%),repeating-radial-gradient(circle,transparent 0 10%,#ff4e4277 11% 12%,transparent 13% 18%),conic-gradient(#ff4e42,transparent 16%,#ffb3ab 30%,transparent 48%,#9d211d 66%,transparent 82%,#ff4e42);
    box-shadow: 0 0 3rem #ff4e4255,inset 0 0 2rem #ff4e4255;
  }
  body.jarvis2-mode .jarvis-orbit-label { border-color: #d33c35; color: #d65e58; }
  body.jarvis2-mode .jarvis-orbit-label b { color: #ffb3ab; }
  body.jarvis2-mode .jarvis-core-nodes { color: #b44743; }
  body.jarvis2-mode .jarvis-core-nodes :is(span,button) { border-color: #66201e; background: #0e0607; }
  body.jarvis2-mode .jarvis-core-nodes button:hover,
  body.jarvis2-mode .jarvis-core-nodes button:focus-visible { border-color: #ff6459; color: #ffd5d1; box-shadow: 0 0 .65rem #ff4e4255; }
  body.jarvis2-mode .jarvis-core-stage > p i,
  body.jarvis2-mode .jarvis-izeno-bridge > strong span { background: #ff4e42; box-shadow: 0 0 .4rem #ff4e42; }
  body.jarvis2-mode .jarvis-izeno-bridge { border-color: #762522; background: linear-gradient(180deg,#24090be8,#080405ee); box-shadow: 0 0 1.2rem #ff4e421f,inset 0 0 1.5rem #ff4e4213; }
  body.jarvis2-mode .jarvis-talk-izeno,
  body.jarvis2-mode .jarvis-write-izeno button { border-color: #a3342f; background: #2a0a0c; color: #ffd0ca; }
  body.jarvis2-mode .jarvis-write-izeno input { border-color: #5f211f; background: #090506; color: #ffe5e2; }
  body.jarvis2-mode .jarvis-interface-footer { border-color: #712522; background: linear-gradient(90deg,transparent,#310b0d77,transparent); color: #8d4541; }
  body.jarvis2-mode .jarvis-interface-footer .jarvis-online { color: #ffb3ab; }
}

/* Jarvis1 · plancia HUD operativa */
.jarvis-interface {
  overflow: hidden; padding: .55rem 1rem .7rem;
  font-family: 'Jarvis Orbitron', ui-monospace, monospace;
  background:
    radial-gradient(circle at 50% 45%, #0b63665c 0 7%, #042b3038 25%, transparent 51%),
    linear-gradient(90deg, #02090bea, #031719ba 50%, #02090bea),
    repeating-linear-gradient(0deg, #6fffff08 0 1px, transparent 1px 4px), #010607;
}
.jarvis-interface::before { opacity: .55; background-size: 4rem 4rem; animation: jarvis-grid-drift 18s linear infinite; }
.jarvis-interface::after {
  content: ''; position: absolute; z-index: 12; inset: 0; pointer-events: none;
  background: repeating-linear-gradient(0deg, transparent 0 3px, #0008 3px 4px);
  opacity: .22; mix-blend-mode: multiply;
}
.jarvis-hud-particles {
  position: absolute; z-index: 0; inset: 0; pointer-events: none; opacity: .52;
  background-image:
    radial-gradient(circle, #72fff9 0 1px, transparent 1.5px),
    radial-gradient(circle, #ff7a2f 0 1px, transparent 1.5px);
  background-position: 0 0, 2.7rem 3.3rem; background-size: 7rem 8rem, 11rem 13rem;
  animation: jarvis-particles-drift 22s linear infinite;
}
.jarvis-hud-scan {
  position: absolute; z-index: 1; left: 0; right: 0; top: -22%; height: 18%; pointer-events: none;
  background: linear-gradient(transparent, #3fffe20a, #58fff22f, #3fffe20a, transparent);
  animation: jarvis-hud-scan 7.5s linear infinite;
}
.jarvis-interface-header {
  position: relative; z-index: 5; width: min(100%, 105rem); min-height: 4.8rem; margin: 0 auto .45rem;
  padding: .45rem 1.35rem; grid-template-columns: 1fr auto 1fr;
  border: 0; border-top: 1px solid #5afcf1; border-bottom: 1px solid #174b4d;
  clip-path: none;
  background: linear-gradient(90deg,#031011e8 0 26%,#073537c9 31% 69%,#031011e8 74%);
  box-shadow: 0 0 1.2rem #29e9dc22, inset 0 -1rem 2rem #1edfd30a;
}
.jarvis-interface-header > div:first-child { align-self: start; }
.jarvis-interface-header > div:first-child small { color: #48bdb9; font-size: .45rem; }
.jarvis-interface-header > div:first-child strong { color: #85fff9; font-size: 1rem; text-shadow: 0 0 .8rem #22f4e8; }
.jarvis-hud-clock { display: grid !important; min-width: 15rem; grid-template-columns: 1fr auto; align-items: center; text-align: center; }
.jarvis-hud-clock small { grid-column: 1; color: #7ffff6; font-size: .72rem; letter-spacing: .09em; }
.jarvis-hud-clock strong { grid-column: 2; grid-row: 1 / 3; color: #ff762d; font-size: 2.8rem; line-height: .9; letter-spacing: -.08em; text-shadow: 0 0 1rem #ff5d1f6e; }
.jarvis-hud-clock span { grid-column: 1; color: #b8fff9; font-size: .58rem; letter-spacing: .22em; }
.jarvis-interface-header button {
  min-height: 2rem; padding: .35rem .75rem; justify-self: end; border: 1px solid #287b78;
  border-radius: 0; clip-path: polygon(8% 0,100% 0,100% 72%,92% 100%,0 100%,0 28%);
  background: #062425; color: #8ffcf4; font-family: inherit; font-size: .56rem; letter-spacing: .08em;
}
.jarvis-interface-actions { display: flex !important; justify-self: end; gap: .4rem; }
.jarvis-interface-actions button { justify-self: auto; }
.jarvis3-mobile { display: none; }
body.jarvis3-preview .jarvis-interface { padding: 0; overflow: hidden; background: radial-gradient(circle at 50% 34%,#073d45 0,#021519 35%,#010709 72%); }
body.jarvis3-preview .jarvis-interface > :not(.jarvis3-mobile) { display: none !important; }
body.jarvis3-preview .jarvis3-mobile { position: relative; display: grid; width: min(100%,54rem); min-height: 100dvh; margin: auto; padding: max(.8rem,env(safe-area-inset-top)) .8rem max(.7rem,env(safe-area-inset-bottom)); grid-template-rows: auto minmax(0,1fr) auto; overflow: hidden; border-inline: 1px solid #1a777c66; background: linear-gradient(180deg,#03171bd9,#010709e8),radial-gradient(circle at 50% 42%,#0c616833,transparent 48%); color: #c9ffff; box-shadow: 0 0 4rem #20dfe329; font-family: 'Jarvis Orbitron',system-ui,sans-serif; }
body.jarvis3-preview .jarvis3-mobile::before { content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(#38eff511 1px,transparent 1px),linear-gradient(90deg,#38eff50b 1px,transparent 1px); background-size: 2.4rem 2.4rem; mask-image: linear-gradient(to bottom,#0008,transparent 75%); }
.jarvis3-mobile > header { position: relative; z-index: 2; display: grid; min-height: 4.2rem; padding: .45rem .55rem .65rem; grid-template-columns: minmax(0,1fr) auto; align-items: center; border-bottom: 1px solid #2dcbd155; }
.jarvis3-mobile > header > div:first-child { display: grid; }
.jarvis3-mobile > header small { color: #54a9ad; font-size: .46rem; letter-spacing: .18em; }
.jarvis3-mobile > header strong { color: #bfffff; font-size: 1.25rem; letter-spacing: .23em; text-shadow: 0 0 1rem #39eff5aa; }
.jarvis3-mobile > header strong span { color: #ff8140; }
.jarvis3-status { align-self: end; color: #70d7d5; font-size: .45rem; letter-spacing: .08em; }
.jarvis3-status i { display: inline-block; width: .42rem; height: .42rem; margin-right: .3rem; border-radius: 50%; background: #58ffad; box-shadow: 0 0 .65rem #58ffad; }
.jarvis3-mobile > header > button { position: absolute; top: .4rem; right: .45rem; min-height: 1.7rem; padding: .25rem .45rem; border: 1px solid #28777a; border-radius: 0; background: #031316d9; color: #8bdadd; font: inherit; font-size: .42rem; }
.jarvis3-mobile > main { position: relative; z-index: 1; display: grid; min-height: 0; padding: .75rem .25rem; align-content: center; justify-items: center; overflow-y: auto; }
.jarvis3-orbit { position: absolute; top: 44%; left: 50%; width: min(72vw,25rem); aspect-ratio: 1; transform: translate(-50%,-50%); border: 1px solid #38cbd447; border-radius: 50%; box-shadow: 0 0 3rem #23d7e323,inset 0 0 3rem #23d7e318; pointer-events: none; }
.jarvis3-orbit::before,.jarvis3-orbit::after,.jarvis3-orbit i,.jarvis3-orbit b,.jarvis3-orbit span { content: ''; position: absolute; border-radius: 50%; }
.jarvis3-orbit::before { inset: 9%; border: 1px dashed #49e6ed5c; animation: jarvis-ring-clockwise 18s linear infinite; }
.jarvis3-orbit::after { inset: 22%; border: 1px dotted #49e6ed66; animation: jarvis-ring-counter 12s linear infinite; }
.jarvis3-orbit i { inset: 34%; background: radial-gradient(circle,#31e4ee33,transparent 70%); box-shadow: 0 0 2rem #37e9ef55; }
.jarvis3-orbit b { inset: 2%; border-block: 2px solid #ff7b3d7a; animation: jarvis-ring-clockwise 9s linear infinite; }
.jarvis3-voice-toggle { position: relative; z-index: 3; display: grid; width: 8.2rem; height: 8.2rem; padding: 1rem; place-items: center; align-content: center; gap: .5rem; border: 1px solid #46f0f3; border-radius: 50%; background: radial-gradient(circle,#0c5661 0,#06262c 56%,#021114 72%); color: #bfffff; box-shadow: 0 0 0 .5rem #24dce810,0 0 2.2rem #2cecf099,inset 0 0 1.7rem #42eef044; font: inherit; }
.jarvis3-voice-toggle::before { content: ''; position: absolute; inset: -.65rem; border: 1px solid #38dce64d; border-radius: 50%; }
.jarvis3-voice-toggle svg { width: 2.7rem; fill: none; stroke: #9affff; stroke-width: 1.5; filter: drop-shadow(0 0 .45rem #4ff5fa); }
.jarvis3-voice-toggle span { font-size: .47rem; letter-spacing: .1em; }
.jarvis3-voice-toggle.is-active { border-color: #ff8347; background: radial-gradient(circle,#66301d,#24120e 62%,#100806); box-shadow: 0 0 0 .5rem #ff763c12,0 0 2.4rem #ff6b33aa,inset 0 0 1.7rem #ff7c4544; animation: jarvis-online-pulse 1.3s ease-in-out infinite; }
.jarvis3-voice-toggle.is-active svg { stroke: #ffd2bd; filter: drop-shadow(0 0 .5rem #ff7d45); }
#jarvis3-voice-state { position: relative; z-index: 3; margin: 1.2rem 0 0; color: #69b8ba; font-size: .52rem; text-align: center; }
.jarvis3-tools { position: relative; z-index: 5; display: grid; width: 100%; margin-top: 1rem; padding: .55rem; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .45rem; border: 1px solid #25868b; background: #020d10f2; box-shadow: 0 0 1.5rem #20d8df2f; }
.jarvis3-tools[hidden] { display: none !important; }
.jarvis3-tools button { display: grid; min-height: 4.25rem; padding: .55rem; gap: .18rem; border: 1px solid #1f6569; border-radius: 0; background: linear-gradient(135deg,#062429,#031216); color: #b9fafa; font: inherit; text-align: left; }
.jarvis3-tools button:active { border-color: #62f5f5; background: #0a373c; }
.jarvis3-tools small { color: #4f9295; font-size: .38rem; letter-spacing: .12em; }
.jarvis3-tools strong { font-size: .64rem; }
.jarvis3-tools span { color: #65b8ba; font-size: .44rem; }
.jarvis3-primary-actions { position: relative; z-index: 6; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .45rem; }
.jarvis3-primary-actions button { display: grid; min-width: 0; min-height: 4.5rem; padding: .45rem .15rem; place-items: center; align-content: center; gap: .25rem; border: 1px solid #217076; border-radius: 0; background: linear-gradient(180deg,#05252a,#021216); color: #abf5f5; box-shadow: inset 0 0 1rem #25dbe50e; font: inherit; }
.jarvis3-primary-actions button:active,.jarvis3-primary-actions button.is-active { border-color: #ff8044; color: #ffe3d5; box-shadow: 0 0 .8rem #ff713c44,inset 0 0 1rem #ff713c1f; }
.jarvis3-primary-actions button > span { display: grid; width: 1.8rem; height: 1.8rem; place-items: center; border: 1px solid #38bfc5; border-radius: 50%; color: #81ffff; font-size: .8rem; }
.jarvis3-primary-actions button strong { overflow: hidden; font-size: .45rem; letter-spacing: .05em; text-overflow: ellipsis; }
@media (min-width: 600px) {
  body.jarvis3-preview .jarvis3-mobile { padding-inline: 1.35rem; }
  .jarvis3-tools { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .jarvis3-primary-actions button { min-height: 5.3rem; }
}
.jarvis-interface-layout {
  z-index: 2; width: min(100%, 105rem); height: calc(100dvh - 8.2rem); min-height: 32rem;
  grid-template-columns: minmax(12rem, 17rem) minmax(25rem, 1fr) minmax(12rem, 17rem);
  gap: clamp(.35rem, 1.2vw, 1rem); align-items: center;
}
.jarvis-hud-stack { display: grid; gap: .6rem; align-content: center; }
.jarvis-hud-stack article {
  position: relative; display: grid; min-height: 6.25rem; padding: .55rem; grid-template-columns: 5.2rem 1fr;
  gap: .6rem; align-items: center; overflow: hidden; border: 1px solid #1c6868; border-radius: 0;
  background: linear-gradient(90deg,#031719e8,#052426b5); box-shadow: inset 0 0 1.1rem #35eee214;
  clip-path: polygon(0 0,91% 0,100% 18%,100% 100%,8% 100%,0 82%);
}
.jarvis-hud-right article { grid-template-columns: 1fr 5.2rem; background: linear-gradient(270deg,#031719e8,#052426b5); clip-path: polygon(9% 0,100% 0,100% 82%,92% 100%,0 100%,0 18%); }
.jarvis-hud-right article > div:first-child { grid-column: 2; grid-row: 1; }
.jarvis-hud-right article > div:last-child { grid-column: 1; grid-row: 1; text-align: right; }
.jarvis-hud-stack article::after {
  content: ''; position: absolute; left: 0; right: 0; top: 0; height: 1px;
  background: linear-gradient(90deg,transparent,#6efff4,transparent); animation: jarvis-panel-sweep 3.8s ease-in-out infinite;
}
.jarvis-hud-stack article:nth-child(2)::after { animation-delay: -.8s; }
.jarvis-hud-stack article:nth-child(3)::after { animation-delay: -1.6s; }
.jarvis-hud-stack article:nth-child(4)::after { animation-delay: -2.4s; }
.jarvis-hud-stack article small { color: #51e1db; font-size: .42rem; letter-spacing: .12em; }
.jarvis-hud-stack article strong { margin: .22rem 0; color: #aafff9; font-size: .58rem; letter-spacing: .04em; text-shadow: 0 0 .5rem #46fff28c; }
.jarvis-identity-name { color: #ff8a42; white-space: nowrap; text-shadow: 0 0 .5rem #ff742f70; }
.jarvis-hud-stack article p { color: #428e8d; font-size: .43rem; line-height: 1.35; }
.jarvis-mini-radar { position: relative; width: 4.5rem; aspect-ratio: 1; border: 1px solid #3bd9d4; border-radius: 50%; background: repeating-radial-gradient(circle,#38cfcf22 0 1px,transparent 1px .7rem); box-shadow: 0 0 .8rem #23e9dd2f,inset 0 0 .7rem #35fff124; }
.jarvis-mini-radar::before,.jarvis-mini-radar::after { content: ''; position: absolute; background: #3bd9d444; }
.jarvis-mini-radar::before { left: 50%; top: 5%; bottom: 5%; width: 1px; }
.jarvis-mini-radar::after { top: 50%; left: 5%; right: 5%; height: 1px; }
.jarvis-mini-radar i { position: absolute; inset: 8%; overflow: hidden; border-radius: 50%; }
.jarvis-mini-radar i::before { content: ''; position: absolute; inset: -50%; background: conic-gradient(from 0deg,#5ffff140,transparent 18%); animation: jarvis-ring-clockwise 2.8s linear infinite; }
.jarvis-mini-radar b { position: absolute; left: 62%; top: 28%; width: .32rem; height: .32rem; border-radius: 50%; background: #ff782c; box-shadow: 0 0 .65rem #ff782c; animation: jarvis-online-pulse 1.4s infinite; }
.jarvis-data-bars,.jarvis-wave { display: flex; width: 4.65rem; height: 3.2rem; align-items: end; justify-content: center; gap: .25rem; border-bottom: 1px solid #38aaa6; background: linear-gradient(0deg,#21d5cb16,transparent); }
.jarvis-data-bars i { width: .38rem; height: 30%; background: #55e8e0; box-shadow: 0 0 .4rem #42e7dd; animation: jarvis-bar 1.7s ease-in-out infinite alternate; }
.jarvis-network-bars i { opacity: .14; animation: none; transition: height .65s ease, opacity .65s ease, background .65s ease; }
.jarvis-network-bars i.is-on { opacity: 1; background: #55e8e0; }
.jarvis-data-bars i:nth-child(2),.jarvis-wave i:nth-child(2) { animation-delay: -.7s; }
.jarvis-data-bars i:nth-child(3),.jarvis-wave i:nth-child(3) { animation-delay: -1.15s; }
.jarvis-data-bars i:nth-child(4),.jarvis-wave i:nth-child(4) { animation-delay: -.35s; }
.jarvis-data-bars i:nth-child(5),.jarvis-wave i:nth-child(5) { animation-delay: -1.4s; }
.jarvis-data-bars i:nth-child(6),.jarvis-wave i:nth-child(6) { animation-delay: -.95s; }
.jarvis-wave { height: 2.9rem; align-items: center; border: 1px solid #1e6464; }
.jarvis-wave i { width: 2px; height: 22%; background: #58eee7; animation: jarvis-waveform .86s ease-in-out infinite alternate; }
.jarvis-wave i:nth-child(7) { animation-delay: -.55s; }.jarvis-wave i:nth-child(8) { animation-delay: -.2s; }
.jarvis-wave-alt i { background: #ff7a2f; box-shadow: 0 0 .3rem #ff7a2f; }
.jarvis-data-grid { width: 4.65rem; height: 3.2rem; border: 1px solid #236766; background: linear-gradient(90deg,#33b9b91d 1px,transparent 1px),linear-gradient(#33b9b91d 1px,transparent 1px); background-size: .7rem .7rem; }
.jarvis-data-grid::after { content: ''; display: block; width: 100%; height: 2px; margin-top: 45%; background: #5cfff0; box-shadow: 0 0 .6rem #5cfff0; animation: jarvis-data-line 2.2s ease-in-out infinite alternate; }
.jarvis-system-card { cursor: pointer; }
.jarvis-network-card { cursor: pointer; }
.jarvis-network-card:focus-within { border-color: #55e8e0; box-shadow: 0 0 1rem #38e6dc45, inset 0 0 1.1rem #35eee214; }
.jarvis-system-card:focus-within { border-color: #ff7a2f; box-shadow: 0 0 1rem #ff7a2f45, inset 0 0 1.1rem #35eee214; }
.jarvis-hud-hitbox { position: absolute; z-index: 3; inset: 0; width: 100%; height: 100%; padding: 0; border: 0; border-radius: 0; background: transparent !important; box-shadow: none; cursor: pointer; }
.jarvis-hud-hitbox:hover { background: #5cfff009 !important; }
.jarvis-system-dialog {
  width: min(44rem, calc(100vw - 1.5rem)); max-height: min(88dvh, 46rem); padding: 1.2rem;
  overflow: auto; border: 1px solid #32cfc6; border-radius: 0; background: #031113f2;
  color: #cafff9; box-shadow: 0 0 2.5rem #23ddd55c, inset 0 0 2rem #20d8cc14;
  font-family: 'Jarvis Orbitron', system-ui, sans-serif;
}
.jarvis-system-dialog::backdrop { background: #000c; backdrop-filter: blur(5px); }
.jarvis-system-dialog h2 { margin: 0 2.5rem 1rem 0; color: #7ffff5; font-size: 1rem; letter-spacing: .12em; }
.jarvis-system-dialog > p { color: #5fbab5; font-size: .68rem; }
.jarvis-system-dialog .close { position: absolute; right: .7rem; top: .7rem; border-color: #2c7772; background: #062526; color: #9ffff7; }
.jarvis-system-grid { display: grid; margin: 1rem 0 0; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .65rem; }
.jarvis-system-grid > div { min-width: 0; padding: .75rem; border: 1px solid #1d6864; background: linear-gradient(135deg,#062526,#020c0e); }
.jarvis-system-grid > .wide { grid-column: 1 / -1; }
.jarvis-system-grid dt { margin-bottom: .35rem; color: #ff8a42; font-size: .56rem; letter-spacing: .11em; text-transform: uppercase; }
.jarvis-system-grid dd { margin: 0; overflow-wrap: anywhere; color: #cafff9; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .78rem; line-height: 1.45; }
.jarvis-network-dialog { width: min(54rem, calc(100vw - 1.5rem)); }
.jarvis-network-dialog canvas {
  display: block; width: 100%; height: 18rem; margin: .85rem 0 1rem; border: 1px solid #1d6864;
  background: radial-gradient(circle at 50% 45%,#0d41414f,transparent 68%),#01090b;
  box-shadow: inset 0 0 1.2rem #35eee214;
}
.jarvis-speed-test { display: grid; margin: 1rem 0; padding: .85rem; grid-template-columns: 1fr auto; gap: .8rem 1rem; align-items: center; border: 1px solid #266e6a; background: linear-gradient(135deg,#062526,#020c0e); }
.jarvis-speed-test > div:first-child { display: grid; gap: .3rem; }
.jarvis-speed-test strong { color: #7ffff5; font-size: .72rem; letter-spacing: .1em; }
.jarvis-speed-test span { color: #609d99; font-size: .58rem; }
.jarvis-speed-test button { border-color: #ff8a42; background: #271209; color: #ffd1b6; font-family: inherit; font-size: .62rem; letter-spacing: .06em; }
.jarvis-speed-test button:disabled { opacity: .55; cursor: progress; }
.jarvis-speed-test dl { display: grid; margin: 0; grid-column: 1 / -1; grid-template-columns: repeat(3,1fr); gap: .55rem; }
.jarvis-speed-test dl div { padding: .55rem; border-top: 1px solid #1d6864; }
.jarvis-speed-test dt { color: #609d99; font-size: .52rem; letter-spacing: .08em; text-transform: uppercase; }
.jarvis-speed-test dd { margin: .28rem 0 0; color: #e1fffc; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .82rem; }
.jarvis-network-legend { display: flex; margin-top: .8rem; flex-wrap: wrap; gap: .65rem 1.25rem; color: #8bd3ce; font-size: .62rem; letter-spacing: .06em; }
.jarvis-network-ranges { display: flex; margin: .8rem 0 .2rem; flex-wrap: wrap; gap: .4rem; }
.jarvis-network-ranges button { padding: .38rem .6rem; border-color: #245f5c; background: #031719; color: #61aaa6; font-family: inherit; font-size: .56rem; letter-spacing: .05em; }
.jarvis-network-ranges button.is-active { border-color: #5ffff1; color: #d8fffc; box-shadow: 0 0 .55rem #38e6dc45; }
.jarvis-network-legend span { display: inline-flex; align-items: center; gap: .42rem; }
.jarvis-network-legend i { width: 1.5rem; height: 2px; background: #5ffff1; box-shadow: 0 0 .45rem #5ffff1; }
.jarvis-network-legend span:nth-child(2) i { background: #ff8a42; box-shadow: 0 0 .45rem #ff8a42; }
.jarvis-network-summary { margin-top: 0; }
.jarvis-network-note { margin: .8rem 0 0; line-height: 1.5; }
.jarvis-core-stage { position: relative; min-height: 100%; padding: 0 .35rem; align-content: center; }
.jarvis-main-core { width: min(28rem, 48vh, 42vw); background: radial-gradient(circle,#45fff21a,transparent 65%); }
.jarvis-main-core::before { border-width: .58rem; }
.jarvis-main-core > img { width: 98%; height: 98%; clip-path: circle(35% at 50% 50%); }
.jarvis-aurora-core {
  overflow: visible; border: 0; background: radial-gradient(circle,#2cc7ff12,transparent 68%);
  box-shadow: none !important; isolation: isolate;
}
.jarvis-aurora-core::before,.jarvis-aurora-core::after,.jarvis-aurora-core > i { display: none; }
.jarvis-aurora-core canvas {
  position: absolute; z-index: 2; inset: 0; display: block; width: 100%; height: 100%;
  opacity: 1; filter: hue-rotate(0deg) saturate(1.08) brightness(1.03);
  transition: filter 1s ease-in-out, opacity 1s ease-in-out;
}
body.jarvis-mode .jarvis-aurora-core { animation: none; transform: none; }
.jarvis-aurora-core canvas[data-voice-speaker="user"] {
  filter: hue-rotate(-72deg) saturate(1.58) brightness(1.08);
}
.jarvis-aurora-core canvas[data-voice-speaker="assistant"] {
  filter: hue-rotate(42deg) saturate(1.5) brightness(1.14);
}
.jarvis-aurora-fallback {
  position: absolute; z-index: 1; inset: 8%; border-radius: 50%; pointer-events: none;
  background:
    radial-gradient(circle at 50% 50%,#f2ffff 0 4%,#58f7ff 5% 10%,transparent 12%),
    repeating-radial-gradient(circle at 50% 50%,transparent 0 9%,#2cc7ff88 10% 11%,transparent 12% 17%),
    conic-gradient(from 10deg,#58f7ff,transparent 12%,#9afff4 22%,transparent 37%,#2cc7ff 52%,transparent 68%,#9afff4 82%,transparent);
  box-shadow: 0 0 3rem #2cc7ff66,inset 0 0 2rem #58f7ff66;
  animation: jarvis-ring-clockwise 5s linear infinite;
  transition: opacity 1s ease-in-out;
}
.jarvis-aurora-core canvas[data-orb-ready="true"] + .jarvis-aurora-fallback { opacity: 0; }
.jarvis-core-readout {
  position: absolute !important; z-index: 4 !important; display: grid; width: 4.2rem; height: 4.2rem;
  place-content: center; border: 1px solid #91fff7; border-radius: 50%; background: #04292fe8;
  color: #e5fffd !important; font-size: .72rem !important; line-height: 1.15; letter-spacing: .08em;
  text-shadow: 0 0 .65rem #58fff1 !important; box-shadow: 0 0 1rem #5cfff05c,inset 0 0 .8rem #5cfff03b;
}
.jarvis-core-readout b { color: #ff7a2f; font-size: .42rem; }
.jarvis-orbit-label { position: absolute; z-index: 4; top: 6%; display: flex; min-width: 7.5rem; padding: .28rem .55rem; justify-content: space-between; border-bottom: 1px solid #55e8df; color: #61e8df; font-size: .48rem; letter-spacing: .08em; }
.jarvis-orbit-label b { color: #ff762d; }
.jarvis-core-nodes { display: flex; width: min(31rem, 90%); margin: -.4rem auto .25rem; justify-content: space-between; color: #4ab9b5; font-size: .38rem; letter-spacing: .08em; }
.jarvis-core-nodes :is(span,button) { padding: .2rem .35rem; border: 1px solid #225b5d; border-radius: 0; background: #021012; color: inherit; font: inherit; letter-spacing: inherit; }
.jarvis-core-nodes .jarvis-core-node-action {
  min-height: 2rem; padding: .38rem .55rem; border-color: #42cfc8;
  background: linear-gradient(180deg,#073638,#031719); color: #c7fffb;
  font-size: .48rem; font-weight: 700; letter-spacing: .04em;
  text-shadow: 0 0 .45rem #64fff2aa;
  box-shadow: 0 0 .65rem #2ceadd44,inset 0 0 .7rem #2ceadd22;
}
.jarvis-core-nodes button { cursor: pointer; }
.jarvis-core-nodes button:hover,.jarvis-core-nodes button:focus-visible { border-color: #5ffff1; color: #bafffa; box-shadow: 0 0 .65rem #38e6dc55; }
.jarvis-core-stage > p { display: flex; margin: .45rem 0; align-items: center; gap: .6rem; font-size: .52rem; }
.jarvis-core-stage > p i { width: 3rem; height: 1px; background: linear-gradient(90deg,transparent,#5efff3); }
.jarvis-core-stage > p i:last-child { transform: scaleX(-1); }
.jarvis-izeno-bridge {
  position: relative; width: min(100%, 40rem); padding: .48rem .65rem .55rem; border: 1px solid #2a8581;
  border-radius: 0; background: linear-gradient(180deg,#062628e8,#020d0fee);
  clip-path: polygon(7% 0,93% 0,100% 28%,100% 100%,0 100%,0 28%);
  box-shadow: 0 0 1.2rem #2de8da1a,inset 0 0 1.5rem #21c9bb12;
}
.jarvis-izeno-bridge > strong { display: flex; margin: 0 0 .35rem; align-items: center; justify-content: center; gap: .45rem; font-size: .52rem; }
.jarvis-izeno-bridge > strong span { width: 2rem; height: 1px; background: #45e9df; box-shadow: 0 0 .4rem #45e9df; }
.jarvis-talk-izeno { min-height: 2rem; padding: .35rem .8rem; border-radius: 0; font-family: inherit; font-size: .6rem; letter-spacing: .06em; }
.jarvis-write-izeno { margin-top: .35rem; gap: .2rem; }
.jarvis-write-izeno label { font-size: .43rem; }
.jarvis-write-izeno input,.jarvis-write-izeno button { min-height: 2rem; border-radius: 0; font-family: inherit; font-size: .58rem; }
.jarvis-izeno-feed { max-height: 5rem; margin-top: .35rem; padding: .25rem; background: #01090b; color: #c8fff8; }
.jarvis-experience .jarvis-izeno-feed > .event {
  border-color: #24756e !important;
  background: linear-gradient(135deg,#041a1b,#031012) !important;
  color: #c8fff8 !important;
  box-shadow: none !important;
}
.jarvis-experience .jarvis-izeno-feed > .event.user {
  border-color: #2d9187 !important;
  background: linear-gradient(135deg,#062322,#031315) !important;
  color: #dcfffa !important;
}
.jarvis-core-stage > small { margin-top: .35rem; font-size: .39rem; letter-spacing: .08em; }
.jarvis-interface-footer {
  z-index: 5; width: min(100%, 105rem); min-height: 2rem; margin: .35rem auto 0; padding: .35rem 1rem;
  align-items: center; border-top: 1px solid #3cd6ce; border-bottom: 1px solid #123f41;
  background: linear-gradient(90deg,transparent,#07363866,transparent); font-size: .45rem;
}
.jarvis-interface-footer > span:first-child i { display: inline-block; width: .35rem; height: .35rem; margin-right: .3rem; border-radius: 50%; background: #ff792e; box-shadow: 0 0 .6rem #ff792e; }
.jarvis-interface-footer .jarvis-online { color: #90fff5; }
@keyframes jarvis-grid-drift { to { background-position: 8rem 8rem; } }
@keyframes jarvis-particles-drift { to { background-position: 7rem 8rem, -8.3rem -9.7rem; } }
@keyframes jarvis-hud-scan { to { top: 110%; } }
@keyframes jarvis-panel-sweep { 0%,100% { opacity: .1; transform: translateX(-70%); } 45%,55% { opacity: .9; } 100% { transform: translateX(70%); } }
@keyframes jarvis-bar { to { height: 92%; background: #ff782c; } }
@keyframes jarvis-waveform { to { height: 88%; } }
@keyframes jarvis-data-line { from { transform: translateY(-.8rem) scaleX(.55); } to { transform: translateY(.8rem) scaleX(.9); } }

@media (max-width: 900px) {
  .jarvis-interface { overflow-y: auto; padding: .35rem; }
  .jarvis-interface-header { position: relative; min-height: 4.2rem; grid-template-columns: 1fr auto; clip-path: none; }
  .jarvis-hud-clock { min-width: 9rem; grid-column: 1 / -1; grid-row: 2; justify-self: center; }
  .jarvis-hud-clock strong { font-size: 1.65rem; }
  .jarvis-interface-layout { height: auto; min-height: 0; grid-template-columns: 1fr; }
  .jarvis-core-stage { grid-row: 1; min-height: 38rem; }
  .jarvis-main-core { width: min(21rem, 68vw); }
  .jarvis-hud-stack { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .jarvis-hud-stack article,.jarvis-hud-right article { min-height: 5.5rem; grid-template-columns: 4.1rem 1fr; clip-path: none; }
  .jarvis-hud-right article > div:first-child { grid-column: 1; }.jarvis-hud-right article > div:last-child { grid-column: 2; text-align: left; }
  .jarvis-mini-radar { width: 3.7rem; }.jarvis-data-bars,.jarvis-wave,.jarvis-data-grid { width: 3.8rem; }
}
@media (min-width: 901px) {
  .jarvis-izeno-feed {
    min-height: 10rem; max-height: min(30vh, 16rem); overflow-y: scroll;
    overscroll-behavior: contain; scrollbar-gutter: stable;
  }
}
@media (max-width: 560px) {
  .jarvis-interface-header { padding: .35rem .55rem; }
  .jarvis-interface-header > div:first-child strong { font-size: .8rem; }
  .jarvis-interface-header button { padding: .3rem .45rem; font-size: .47rem; }
  .jarvis-core-stage { min-height: 34rem; }
  .jarvis-main-core { width: min(18rem, 82vw); }
  .jarvis-orbit-label { top: 3%; }
  .jarvis-hud-stack { grid-template-columns: 1fr; }
  .jarvis-izeno-bridge { width: 100%; clip-path: none; }
  .client-mobile body.native-android .jarvis-izeno-feed {
    min-height: 16rem; max-height: 42dvh; padding: .55rem;
  }
  .client-mobile body.native-android .jarvis-izeno-feed .event {
    padding: .6rem 4.1rem .6rem .65rem; font-size: .78rem; line-height: 1.48;
  }
  .jarvis-interface-footer { gap: .25rem; align-items: center; text-align: center; }
  .jarvis-system-grid { grid-template-columns: 1fr; }
  .jarvis-system-grid > .wide { grid-column: 1; }
}
@media (max-width: 900px) {
  body.native-android.jarvis-mode,
  body.native-android.jarvis-mode .jarvis-experience,
  body.native-android.jarvis-mode .jarvis-interface {
    width: 100%; max-width: 100%; overflow-x: hidden;
  }
  body.native-android.jarvis-mode .jarvis-interface {
    box-sizing: border-box; left: 0; right: 0;
    padding-left: max(.35rem,env(safe-area-inset-left));
    padding-right: max(.35rem,env(safe-area-inset-right));
  }
  body.native-android.jarvis-mode .jarvis-interface-header {
    display: grid; box-sizing: border-box; width: 100%; min-width: 0; max-width: 100%;
    grid-template-columns: minmax(0,1fr); gap: .55rem; justify-items: stretch;
  }
  body.native-android.jarvis-mode .jarvis-interface-header > div:first-child {
    min-width: 0; justify-items: center; text-align: center;
  }
  body.native-android.jarvis-mode .jarvis-hud-clock {
    min-width: 0; grid-column: 1; grid-row: auto; justify-self: center;
  }
  body.native-android.jarvis-mode .jarvis-interface-actions {
    display: grid !important; width: 100%; min-width: 0; justify-self: stretch;
    grid-template-columns: repeat(3,minmax(0,1fr)); gap: .35rem;
  }
  body.native-android.jarvis-mode .jarvis-interface-actions button {
    box-sizing: border-box; width: 100%; min-width: 0; padding: .35rem .15rem;
    justify-self: stretch; overflow: hidden; font-size: .45rem; white-space: nowrap;
  }
  body.native-android.jarvis-mode .jarvis-interface-layout,
  body.native-android.jarvis-mode .jarvis-core-stage,
  body.native-android.jarvis-mode .jarvis-hud-stack,
  body.native-android.jarvis-mode .jarvis-interface-footer {
    box-sizing: border-box; width: 100%; min-width: 0; max-width: 100%; margin-inline: auto;
  }
  body.native-android.jarvis-mode .jarvis-interface-layout {
    grid-template-columns: minmax(0,1fr);
  }
  body.native-android.jarvis-mode .jarvis-core-stage {
    padding-inline: 0; justify-self: stretch; justify-items: center;
  }
  body.native-android.jarvis-mode .jarvis-main-core {
    width: min(18rem,78vw); max-width: 78%; margin-inline: auto;
  }
  body.native-android.jarvis-mode .jarvis-core-nodes {
    display: grid; box-sizing: border-box; width: 100%; min-width: 0; max-width: 31rem;
    grid-template-columns: repeat(4,minmax(0,1fr)); gap: .25rem;
  }
  body.native-android.jarvis-mode .jarvis-core-nodes :is(span,button) {
    min-width: 0; padding-inline: .15rem; overflow: hidden; text-overflow: ellipsis;
  }
  body.native-android.jarvis-mode .jarvis-core-node-action {
    min-height: 2.35rem; padding: .45rem .2rem;
    align-items: center; justify-content: center; border-color: #42cfc8;
    background: linear-gradient(180deg,#073638,#031719); color: #c7fffb;
    font-size: .52rem; font-weight: 700; letter-spacing: .04em;
    text-shadow: 0 0 .45rem #64fff2aa;
    box-shadow: 0 0 .65rem #2ceadd44,inset 0 0 .7rem #2ceadd22;
  }
  body.native-android.jarvis-mode .jarvis-izeno-bridge,
  body.native-android.jarvis-mode .jarvis-write-izeno,
  body.native-android.jarvis-mode .jarvis-izeno-feed {
    box-sizing: border-box; width: 100%; min-width: 0; max-width: 100%;
  }
  body.native-android.jarvis-mode .jarvis-composer-row {
    display: grid; min-width: 0; grid-template-columns: repeat(2,minmax(0,1fr));
  }
  body.native-android.jarvis-mode .jarvis-composer-row input {
    box-sizing: border-box; width: 100%; min-width: 0; grid-column: 1 / -1;
  }
  body.native-android.jarvis-mode .jarvis-composer-row button {
    box-sizing: border-box; width: 100%; min-width: 0;
  }
  body.native-android.jarvis-mode .jarvis-izeno-feed .event,
  body.native-android.jarvis-mode .jarvis-izeno-feed .event * {
    max-width: 100%; overflow-wrap: anywhere;
  }
  body.native-android.jarvis-mode .jarvis-interface-footer {
    flex-wrap: wrap; justify-content: center; gap: .35rem .75rem; text-align: center;
  }
}
.jarvis-preview-core { position: relative; width: 8.5rem; height: 8.5rem; margin: .6rem auto; border: 1px solid #2cc7e4; border-radius: 50%; box-shadow: 0 0 1.8rem #25d7f055, inset 0 0 1.5rem #25d7f033; }
.jarvis-preview-core::before, .jarvis-preview-core::after, .jarvis-preview-core i { content: ''; position: absolute; border-radius: 50%; }
.jarvis-preview-core::before { inset: .65rem; border: .3rem dotted #53e8ff; }
.jarvis-preview-core::after { inset: 1.65rem; border: 1px solid #38b9d2; box-shadow: inset 0 0 1.4rem #4be5ff66; }
.jarvis-preview-core i:first-child { inset: -.45rem 1.55rem; border-top: 2px solid #8ef2ff; border-bottom: 2px solid #8ef2ff; }
.jarvis-preview-core i:nth-child(2) { inset: 1.55rem -.45rem; border-left: 2px solid #3bbcd5; border-right: 2px solid #3bbcd5; }
.jarvis-preview-core span { position: absolute; inset: 2.75rem; border-radius: 50%; background: #9af4ff; box-shadow: 0 0 1.5rem #63eaff, 0 0 3rem #24bddd; }
.question-dialog form { display: grid; min-height: 100%; align-content: start; gap: .85rem; }
.question-dialog h2, .question-dialog p { margin: 0; }
.question-dialog p { line-height: 1.5; white-space: pre-wrap; }
.question-dialog label { display: grid; gap: .4rem; font-weight: 700; }
.question-dialog input { width: 100%; min-height: 2.6rem; padding: .55rem .7rem; border: 1px solid #cfd5d1; border-radius: .65rem; color: inherit; font: inherit; }
.question-actions { display: flex; margin-top: auto; gap: .55rem; justify-content: flex-end; flex-wrap: wrap; }
#question-confirm.danger-link { border-color: #b42318; background: #b42318; color: #fff; }
.brand span { padding-left: .7rem; border-left: 1px solid #ddd; color: #666; }
.header-state { display: flex; align-items: center; gap: .5rem; }
.work-picker { display: flex; min-width: 13rem; align-items: center; gap: .35rem; }
.work-picker[hidden] { display: none !important; }
.work-picker select { min-width: 13rem; max-width: 20rem; height: 2.05rem; padding: 0 1.8rem 0 .65rem; border: 1px solid #b8c8bd; border-radius: 999px; background: #fff; color: #284a34; font: inherit; font-size: .7rem; font-weight: 750; }
.work-picker select[hidden] { display: none !important; }
.work-progress { position: relative; display: grid; width: clamp(13rem, 20vw, 21rem); height: 2.05rem; min-width: 0; overflow: hidden; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: .5rem; padding: 0 .65rem; border: 1px solid #9fcbb0; border-radius: 999px; background: #eef5f0; color: #173d25; box-shadow: inset 0 1px 2px #0000000d; font-size: .7rem; }
.work-progress[hidden] { display: none !important; }
.work-progress-fill { position: absolute; z-index: 0; inset: 0 auto 0 0; width: 0; border-radius: inherit; background: linear-gradient(90deg,#62bd80,#9bd6ae); transition: width 1.2s ease; }
.work-progress-title,.work-progress-value { position: relative; z-index: 1; }
.work-progress-title { overflow: hidden; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }
.work-progress-value { font-size: .68rem; font-variant-numeric: tabular-nums; }
.client-mobile .work-picker { display: none !important; }
.usage { color: #777; font-size: .76rem; white-space: nowrap; }
.usage.warning { color: #9a6200; font-weight: 700; }
.usage.critical { color: #b42318; font-weight: 750; }
.context-pressure-dot { display: inline-block; width: .62rem; height: .62rem; margin-right: .38rem; border-radius: 50%; vertical-align: -.03rem; background: #25a55f; box-shadow: 0 0 0 2px #25a55f22; }
.context-pressure-dot.is-yellow { background: #e8a317; box-shadow: 0 0 0 2px #e8a3172b; }
.context-pressure-dot.is-red { background: #d92d20; box-shadow: 0 0 0 2px #d92d2030; animation: context-pressure-blink 1s steps(2,end) infinite; }
@keyframes context-pressure-blink { 50% { opacity: .18; box-shadow: 0 0 0 5px #d92d2012; } }
@media (prefers-reduced-motion: reduce) { .context-pressure-dot.is-red { animation: none; box-shadow: 0 0 0 3px #d92d2040; } }
.status { padding: .42rem .75rem; border: 1px solid #e5e5e5; border-radius: 999px; color: #555; font-size: .82rem; white-space: nowrap; }
.status::before { content: ''; display: inline-block; width: .6rem; height: .6rem; margin-right: .45rem; border-radius: 50%; background: #92999f; }
.status[data-state="busy"]::before { background: #ef4444; box-shadow: 0 0 0 3px #ef444422; }
.status[data-state="queued"]::before { background: #e8a317; }
.status[data-state="idle"]::before { background: #25a55f; }
.resource-management { position: relative; display: inline-flex; min-height: 2.05rem; padding: .32rem .7rem; align-items: center; gap: .38rem; color: #31523c; font-size: .76rem; font-weight: 750; white-space: nowrap; }
.resource-management-mark { display: grid; width: 1.12rem; height: 1.12rem; place-items: center; border-radius: 50%; background: #dff3e5; color: #18713a; font-size: .72rem; }
.resource-management.has-alerts { border-color: #d99b23; background: #fff8e7; color: #704600; }
.resource-management.has-alerts .resource-management-mark { background: #f5cf7b; color: #6c4200; }
.resource-management.has-new { border-color: #c33b30; background: #fff0ee; color: #8f241c; box-shadow: 0 0 0 3px #d92d2017; }
.resource-management.has-new .resource-management-mark { background: #d92d20; color: #fff; }
.resource-management-badge { display: grid; min-width: 1.2rem; height: 1.2rem; padding: 0 .3rem; place-items: center; border-radius: 999px; background: #d92d20; color: #fff; font-size: .66rem; font-weight: 850; }
.resource-management-badge[hidden] { display: none; }
.workspace { display: block; }
.bookmarks-panel { display: none; position: fixed; z-index: 30; left: 1rem; top: 4.5rem; width: min(360px, calc(100vw - 2rem)); max-height: calc(100vh - 6rem); padding: .8rem; overflow: auto; border: 1px solid #e7e7e7; border-radius: .8rem; background: #fff; box-shadow: 0 10px 35px #0000000d; }
.bookmarks-panel.is-open { display: block; }
.bookmarks-backdrop { position: fixed; z-index: 29; inset: 0; width: 100%; height: 100%; padding: 0; border: 0; border-radius: 0; background: #1118; backdrop-filter: blur(2px); }
.bookmarks-backdrop[hidden] { display: none; }
.bookmarks-panel h2 { margin: 0 0 .25rem; font-size: .95rem; }
.bookmarks-heading { display: flex; justify-content: space-between; gap: .5rem; align-items: center; }
.bookmarks-heading button { width: 2rem; height: 2rem; padding: 0; font-size: 1.2rem; }
.bookmarks-heading-actions { display: flex; gap: .35rem; }
.bookmarks-heading .bookmarks-heading-actions #discussion-category-manage { width: auto; padding-inline: .55rem; font-size: .7rem; white-space: nowrap; }
.bookmarks-panel-drag-handle { display: none; }
.bookmarks-close { display: none; }
.bookmarks-resize { display: none; }
.discussion-intro { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .9fr) auto; gap: .35rem; align-items: center; }
.discussion-intro .hint { grid-column: 1 / 3; min-width: 0; margin-block: .5rem; }
#discussion-search { display: block; width: 100%; margin: .2rem 0 .55rem; padding: .55rem .7rem; border: 1px solid #d8d8d8; border-radius: .65rem; background: #fff; color: inherit; font: inherit; font-size: .78rem; }
#discussion-search:focus { border-color: #55a36b; outline: 3px solid #55a36b22; }
#discussion-closed-toggle { display: inline-flex; grid-column: 3; padding: .35rem .55rem; align-items: center; gap: .35rem; white-space: nowrap; font-size: .68rem; }
#discussion-closed-toggle[hidden] { display: none; }
.discussion-closed-count { display: inline-flex; min-width: 1.25rem; height: 1.25rem; padding: 0 .3rem; align-items: center; justify-content: center; border-radius: 999px; background: #dfe3e7; color: #4d5862; font-size: .66rem; font-weight: 800; }
.discussion-category-tools { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .9fr); gap: .35rem; margin: .35rem 0 .8rem; align-items: stretch; }
.discussion-category-tools select { min-width: 0; padding: .42rem .5rem; border: 1px solid #d8d8d8; border-radius: .55rem; background: #fff; color: inherit; font: inherit; font-size: .76rem; }
.discussion-category-tools button { padding: .4rem .6rem; font-size: .7rem; }
#discussion-category-filter { grid-column: 1; grid-row: 2; }
#discussion-progress-order { grid-column: 2; grid-row: 2; }
.discussion-shared-filter { display: inline-flex; grid-column: 1 / -1; grid-row: 1; padding: .38rem .55rem; align-items: center; justify-content: center; gap: .35rem; border: 1px solid #b8cebf; border-radius: .55rem; background: #f4faf6; color: #28613b; cursor: pointer; font-size: .7rem; font-weight: 750; white-space: nowrap; }
.discussion-shared-filter input { margin: 0; accent-color: #25844a; }
.discussion-shared-filter.is-active { border-color: #25844a; background: #dff3e6; color: #145b32; box-shadow: inset 0 -2px #25844a,0 0 0 2px #25844a20; }
#redbooth-dashboard { grid-column: 1 / -1; border-color: #efd6d6; background: #fff7f7; color: #7d3535; }
#redbooth-dashboard:hover { background: #fff0f0; }
#redbooth-dashboard, #mygip-link, #genvoice-link, #famtree-link, #gmail-link, #google-calendar-link, #google-drive-link, #whatsapp-link, #message-enrico, #message-antonio, #messages-enrico, #messages-antonio { display: flex; align-items: center; justify-content: center; gap: .42rem; }
.service-logo { flex: 0 0 auto; width: 1.15rem; height: 1.15rem; object-fit: contain; }
.redbooth-logo > rect:first-child { fill: #d84545; }
.redbooth-logo > rect:not(:first-child) { fill: #fff; }
#mygip-link { grid-column: 1 / -1; border-color: #dadde1; background: #fafafa; color: #555; font-size: .7rem; text-align: center; }
#mygip-link:hover { border-color: #90959a; background: #f2f3f4; color: #333; }
.mygip-logo { width: auto; max-width: 7rem; height: 2rem; object-fit: contain; transform: scale(1.69); transform-origin: center; }
#genvoice-link { grid-column: 1 / -1; border-color: #d7dfed; background: #f7f9fd; color: #27476d; font-size: .7rem; text-align: center; }
#genvoice-link:hover { border-color: #cf3340; background: #fff4f5; color: #9f202b; }
#famtree-link { border-color: #bcd9c4; background: #f3faf5; color: #245c35; font-size: .7rem; text-align: center; }
#famtree-link:hover { border-color: #4f9664; background: #e6f4ea; color: #174728; }
.famtree-logo path { fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.famtree-logo circle { fill: #fff; stroke: currentColor; stroke-width: 1.7; }
#gmail-link { grid-column: 1 / -1; border-color: #d8e1eb; background: #fff; color: #334b63; font-size: .7rem; text-align: center; }
#gmail-link:hover { border-color: #4285f4; background: #f5f9ff; color: #174ea6; }
.gmail-logo { width: 1.3rem; }
#google-calendar-link { grid-column: 1 / -1; border-color: #d8e1eb; background: #fff; color: #334b63; font-size: .7rem; text-align: center; }
#google-calendar-link:hover { border-color: #4285f4; background: #f5f9ff; color: #174ea6; }
.google-calendar-logo { width: 1.25rem; height: 1.25rem; }
#google-drive-link { grid-column: 1 / -1; border-color: #d8e1eb; background: #fff; color: #334b63; font-size: .7rem; text-align: center; }
#google-drive-link:hover { border-color: #0f9d58; background: #f3fbf6; color: #087342; }
.google-drive-logo { width: 1.25rem; height: 1.25rem; }
#whatsapp-link { grid-column: 1 / -1; border-color: #bfe8cd; background: #f3fcf6; color: #17663b; font-size: .7rem; text-align: center; }
#whatsapp-link:hover { border-color: #25d366; background: #e9f9ef; color: #0d542e; }
#whatsapp-connect { display: none; grid-column: 1 / -1; padding: .5rem .7rem; align-items: center; justify-content: center; border-color: #8ed4a8; background: #ecf9f1; color: #145c34; font-size: .76rem; font-weight: 750; text-align: center; }
body.native-android #whatsapp-connect { display: flex; }
#whatsapp-connect[hidden] { display: none !important; }
#whatsapp-connect:hover { border-color: #25d366; background: #e2f6e9; color: #0d542e; }
#notices-history { display: flex; grid-column: 1 / -1; align-items: center; justify-content: center; gap: .42rem; text-align: center; }
#notices-history > [aria-hidden="true"] { font-size: 2em; line-height: 1; }
#message-enrico, #message-antonio { flex: 0 0 auto; padding: .48rem .7rem; border-color: #cfdccf; background: #f5faf6; color: #285b37; font-size: .72rem; text-align: center; white-space: nowrap; }
#message-enrico:hover, #message-antonio:hover { border-color: #55a36b; background: #eaf6ed; color: #174c27; }
#messages-enrico, #messages-antonio { grid-column: 1 / -1; border-color: #cfdccf; background: #f5faf6; color: #285b37; font-size: .7rem; text-align: center; }
#messages-enrico:hover, #messages-antonio:hover { border-color: #55a36b; background: #eaf6ed; color: #174c27; }
.message-enrico-logo path:first-child { fill: #4d9b63; stroke: none; }
.message-enrico-logo path:last-child { fill: none; stroke: #fff; stroke-width: 1.8; stroke-linecap: round; }
.message-enrico-field { display: block; width: 100%; min-height: 10rem; margin-top: 1rem; padding: .8rem; resize: vertical; border: 1px solid #d8d8d8; border-radius: .7rem; color: inherit; font: inherit; line-height: 1.45; }
.message-enrico-field:focus { border-color: #4d9b63; outline: 3px solid #4d9b6322; }
.message-attachment-picker { display: grid; margin-top: .7rem; gap: .55rem; justify-items: start; }
.message-attachment-picker .upload-button.is-uploading { opacity: .55; cursor: wait; }
.message-attachment-list { display: flex; max-width: 100%; flex-wrap: wrap; gap: .4rem; }
.message-attachment-chip { display: inline-flex; max-width: 100%; min-height: 2.15rem; padding: .25rem .3rem .25rem .6rem; align-items: center; gap: .35rem; border: 1px solid #b9cce8; border-radius: 999px; background: #edf4fd; color: #244f83; font-size: .76rem; font-weight: 700; }
.message-attachment-chip > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.message-attachment-chip button { width: 1.55rem; height: 1.55rem; min-height: 1.55rem; padding: 0; border: 0; background: transparent; color: #244f83; font-size: 1.05rem; line-height: 1; }
.message-enrico-actions { display: flex; justify-content: flex-end; gap: .55rem; margin-top: .8rem; }
.new-discussion-label { display: grid; gap: .45rem; margin-top: 1rem; color: #555; font-size: .85rem; font-weight: 700; }
.new-discussion-title { width: 100%; min-height: 3rem; padding: .7rem .8rem; border: 1px solid #d8d8d8; border-radius: .7rem; background: #fff; color: inherit; font: inherit; font-weight: 500; }
.new-discussion-title:focus { border-color: #4d9b63; outline: 3px solid #4d9b6322; }
.message-enrico-feedback { min-height: 1.3rem; margin-top: .45rem; color: #7a4b00; font-size: .78rem; }
.notice-recipient-select { display: block; width: 100%; min-height: 3rem; margin-top: .45rem; padding: .55rem .7rem; border: 1px solid #cfd8d1; border-radius: .65rem; background: #fff; color: inherit; font: inherit; }
#viewer-body[data-panel="notice-recipient"] label { display: block; margin-top: 1rem; font-weight: 700; }
.messages-enrico-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.messages-enrico-heading h2 { margin: 0; }
.messages-enrico-timeline { display: flex; max-height: 65vh; margin-top: 1rem; padding: .35rem; overflow-y: auto; flex-direction: column; gap: .65rem; }
.messages-enrico-card { width: min(82%, 560px); padding: .7rem .85rem; border: 1px solid #dfe3e0; border-radius: .85rem; background: #f6f7f6; line-height: 1.4; white-space: pre-wrap; overflow-wrap: anywhere; }
.messages-enrico-card.outgoing { align-self: flex-end; border-color: #bcd9c3; background: #eaf6ed; }
.messages-enrico-card.incoming { align-self: flex-start; }
.messages-enrico-card a { color: #1559a8; font-weight: 700; text-decoration: underline; }
.messages-enrico-meta { margin-top: .4rem; color: #737a75; font-size: .66rem; text-align: right; }
#redbooth-reconnect { grid-column: 1 / -1; padding: .4rem .6rem; text-align: center; font-size: .7rem; }
#redbooth-dashboard #redbooth-count { display: inline-flex; min-width: 1.3rem; height: 1.3rem; margin-left: .25rem; padding: 0 .3rem; align-items: center; justify-content: center; border-radius: 999px; background: #f5dddd; font-size: .68rem; font-weight: 750; }
#redbooth-dashboard #redbooth-new { display: inline-flex; min-width: 1.3rem; height: 1.3rem; margin-left: .2rem; padding: 0 .35rem; align-items: center; justify-content: center; border-radius: 999px; background: #d84545; color: #fff; font-size: .68rem; font-weight: 800; }
#redbooth-dashboard #redbooth-new[hidden] { display: none; }
#redbooth-dashboard.has-new { border-color: #d84545; background: #fff0f0; color: #9f2020; }
#google-reconnect { display: flex; grid-column: 1 / -1; padding: .5rem .7rem; align-items: center; justify-content: center; gap: .42rem; border-color: #b8c9ef; background: #f4f7ff; color: #244c91; font-size: .76rem; font-weight: 750; text-align: center; }
.google-new { display: inline-flex; min-width: 1.3rem; height: 1.3rem; margin-left: .2rem; padding: 0 .35rem; align-items: center; justify-content: center; border-radius: 999px; background: #d84545; color: #fff; font-size: .68rem; font-weight: 800; }
.google-new[hidden] { display: none; }
#gmail-link:has(.google-new:not([hidden])), #google-calendar-link:has(.google-new:not([hidden])) { border-color: #d84545; background: #fff0f0; }
.google-calendar-agenda { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .8rem; margin: .8rem 0; }
.google-calendar-agenda section { min-width: 0; padding: .75rem; border: 1px solid #dbe3f1; border-radius: .7rem; background: #f8faff; }
.google-calendar-agenda h3 { margin: 0 0 .55rem; color: #285ea8; font-size: .92rem; }
.google-calendar-event { display: grid; grid-template-columns: 4.8rem minmax(0,1fr); gap: .55rem; padding: .55rem .35rem; border-top: 1px solid #e2e8f2; color: #34435e; text-decoration: none; }
.google-calendar-event time { color: #285ea8; font-size: .72rem; font-weight: 750; }
.google-calendar-event span { display: grid; min-width: 0; gap: .15rem; }
.google-calendar-event strong { overflow-wrap: anywhere; font-size: .78rem; }
.google-calendar-event small { color: #758096; font-size: .65rem; }
.google-calendar-event:hover { background: #edf3fd; }
.google-calendar-event.is-active { margin: .22rem -.18rem; padding-inline: .53rem; border: 1px solid #52a66d; border-radius: .55rem; background: linear-gradient(100deg,#e7f8ec,#f4fcf6); box-shadow: inset 4px 0 #279451,0 3px 10px #277a4030; }
.google-calendar-event.is-active time,.google-calendar-event.is-active strong { color: #176b36; }
.google-calendar-open { display: inline-flex; padding: .55rem .8rem; border-color: #8aa9dc; background: #edf4ff; color: #24599f; text-decoration: none; }
@media (max-width: 700px) { .google-calendar-agenda { grid-template-columns: 1fr; } }
#whatsapp-link:has(#whatsapp-new:not([hidden])) { border-color: #25a55f; background: #e9f9ef; box-shadow: inset 3px 0 #25a55f; }
#organization-chart { grid-column: 1 / -1; border-color: #d8deec; background: #f6f8fd; color: #33476d; }
#organization-chart:hover { background: #edf2fb; }
.organization-section { margin-top: 1.25rem; }
.organization-section > h3 { margin: 0 0 .65rem; color: #39435a; font-size: .95rem; }
.organization-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(245px, 1fr)); gap: .75rem; }
.organization-card { display: flex; min-width: 0; flex-direction: column; gap: .6rem; padding: .85rem; border: 1px solid #dfe3eb; border-radius: .75rem; background: #fbfcff; }
.organization-card.has-capsules { border-color: #69b88a; background: #f2fbf5; box-shadow: inset 4px 0 #43a66d,0 3px 12px #2d8f5820; }
.organization-card.has-capsules .organization-card-heading h4 { color: #17643a; }
.organization-card.has-server-folders { border-color: #6f98ca; background: #f3f7fd; box-shadow: inset 4px 0 #447dbb,0 3px 12px #315f9420; }
.organization-card.has-server-folders .organization-card-heading h4 { color: #24558c; }
.organization-card.has-capsules.has-server-folders { border-color: #579f9b; background: linear-gradient(135deg,#f2fbf5,#f2f7fd); box-shadow: inset 4px 0 #43a66d,inset 8px 0 #447dbb,0 3px 12px #315f9424; }
.organization-card.has-redbooth { border-color: #ae79c7; box-shadow: inset -4px 0 #8d4daf,0 3px 12px #71368d20; }
.organization-card.has-redbooth .organization-card-heading h4 { color: #69307f; }
.organization-card.has-capsules.has-redbooth,.organization-card.has-server-folders.has-redbooth { background: linear-gradient(135deg,#f2fbf5,#f3f7fd 55%,#faf3fd); }
.organization-card.has-ispadmin { border-color: #d2a24b; box-shadow: inset 0 -4px #c48c27,0 3px 12px #8b651b20; }
.organization-card.has-google-drive { border-color: #6d91d7; box-shadow: inset 0 4px #4285f4,0 3px 12px #3569bd20; }
.organization-card-heading { display: flex; align-items: baseline; justify-content: space-between; gap: .7rem; }
.organization-card-heading h4 { margin: 0; color: #27334d; font-size: .9rem; }
.organization-card-heading > span { flex: 0 0 auto; color: #778097; font-size: .68rem; }
.organization-order-controls { display: inline-flex; margin-left: auto; gap: .14rem; }
.organization-order-controls button { display: grid; width: 1.45rem; min-height: 1.65rem; padding: 0; place-items: center; border: 1px solid #cbd3e1; border-radius: .4rem; background: #fff; color: #455675; cursor: pointer; font-size: .82rem; }
.organization-order-controls button:hover:not(:disabled),.organization-order-controls button:focus-visible { border-color: #7189b4; background: #eef3fb; }
.organization-order-controls button:disabled { cursor: default; opacity: .3; }
.organization-card[draggable="true"] { cursor: grab; }
.organization-card.is-dragging { opacity: .45; outline: 2px dashed #7189b4; }
.organization-brands { display: flex; flex-wrap: wrap; gap: .28rem; }
.organization-brands span { padding: .16rem .4rem; border-radius: 999px; background: #e8eef9; color: #4b5f85; font-size: .62rem; }
.organization-people { display: flex; margin: 0; padding: 0; flex-wrap: wrap; gap: .32rem; list-style: none; }
.organization-people li { padding: .24rem .45rem; border: 1px solid #e4e6ea; border-radius: .45rem; background: #fff; color: #464b57; font-size: .7rem; }
.organization-people li:has(.organization-person-full-panels) { display: inline-flex; align-items: center; gap: .35rem; border-color: #d7b76f; background: #fff8e8; }
.organization-person-full-panels { padding-left: .35rem; border-left: 1px solid #d7b76f; color: #805b18; font-size: .55rem; font-weight: 800; }
.organization-capsule { display: grid; gap: .25rem; margin-top: auto; padding-top: .55rem; border-top: 1px solid #e5e8ef; }
.organization-capsule small { min-height: 1em; color: #74809a; font-size: .62rem; }
.organization-capsule-picker { border: 1px solid #cfd6e5; border-radius: .55rem; background: #fff; }
.organization-capsule-picker summary { padding: .48rem .58rem; color: #405174; cursor: pointer; font-size: .72rem; font-weight: 750; }
.organization-capsule-options { display: grid; max-height: 15rem; padding: .2rem .45rem .5rem; overflow-y: auto; gap: .15rem; border-top: 1px solid #e5e8ef; }
.organization-capsule-option, .organization-capsule-all { display: flex; align-items: center; gap: .42rem; padding: .32rem .25rem; border-radius: .35rem; color: #4e586e; cursor: pointer; font-size: .68rem; }
.organization-capsule-all { margin-bottom: .15rem; border-bottom: 1px solid #eceef3; border-radius: 0; font-weight: 750; }
.organization-capsule-option:hover, .organization-capsule-all:hover { background: #f3f6fc; }
.organization-capsule-option input, .organization-capsule-all input { width: 1rem; height: 1rem; margin: 0; accent-color: #586fa7; }
.organization-capsule-selected { display: flex; flex-wrap: wrap; gap: .25rem; }
.organization-capsule-selected[hidden] { display: none; }
.organization-capsule-selected span { padding: .2rem .42rem; border: 1px solid #cbd8ee; border-radius: 999px; background: #edf3fd; color: #3d5278; font-size: .62rem; line-height: 1.2; }
.organization-capsule-selected button { min-height: 0; padding: .2rem .42rem; border: 1px solid #cbd8ee; border-radius: 999px; background: #edf3fd; color: #3d5278; cursor: pointer; font: inherit; font-size: .62rem; line-height: 1.2; }
.organization-capsule-selected button:hover,.organization-capsule-selected button:focus-visible { border-color: #8ba2c8; filter: brightness(.97); }
.organization-hierarchy-picker { border-color: #d2a45e; background: #fffaf0; }
.organization-hierarchy-picker summary { color: #78551d; }
.organization-hierarchy-selected span { border-color: #dfc28b; background: #fff6df; color: #714f18; }
.organization-server-picker { margin-top: .35rem; border-color: #b9cde5; }
.organization-server-picker summary { color: #2f639b; }
.organization-server-selected span { border-color: #b9cfe8; background: #eaf3fd; color: #285b91; }
.organization-redbooth-picker { margin-top: .35rem; border-color: #d7b9e5; }
.organization-redbooth-picker summary { color: #71398a; }
.organization-redbooth-project-group { margin-top: .3rem; border: 1px solid #eadcf1; border-radius: .45rem; background: #fdfaff; }
.organization-redbooth-project-group > summary { display: flex; min-height: 2.2rem; padding: .45rem .55rem; align-items: center; justify-content: space-between; gap: .5rem; cursor: pointer; font-size: .68rem; font-weight: 750; list-style-position: inside; }
.organization-redbooth-project-group > summary small { flex: 0 0 auto; color: #85758d; font-size: .58rem; font-weight: 600; }
.organization-redbooth-project-group > summary small.is-complete { color: #2f7250; font-weight: 800; }
.organization-redbooth-project-group > summary small.is-partial { color: #935b13; font-weight: 800; }
.organization-redbooth-project-group[open] > summary { border-bottom: 1px solid #eadcf1; background: #faf2fd; }
.organization-redbooth-project-body { display: grid; padding: .25rem .35rem .4rem; gap: .12rem; }
.organization-redbooth-project { border-bottom: 1px solid #eee1f4; color: #69307f; font-weight: 750; }
.organization-redbooth-task-list { padding-left: 1.45rem; }
.organization-redbooth-task-list span { color: #656071; }
.organization-redbooth-selected :is(span,button) { border-color: #d8bce5; background: #f7ecfb; color: #6d3584; }
.organization-redbooth-selected :is(span,button).is-project-complete { border-color: #72b28d; background: #edf9f1; color: #226442; }
.organization-redbooth-selected :is(span,button).is-task-list { border-style: dashed; }
.organization-ispadmin-picker { margin-top: .35rem; border-color: #e4c98f; }
.organization-ispadmin-picker summary { color: #805b18; }
.organization-ispadmin-selected :is(span,button) { border-color: #e6cc96; background: #fff7e5; color: #795716; }
.organization-google-drive-picker { margin-top: .35rem; border-color: #adc3ec; }
.organization-google-drive-picker summary { color: #285ea8; }
.organization-google-drive-branch { border-bottom: 1px solid #e1e8f3; }
.organization-google-drive-branch:last-child { border-bottom: 0; }
.organization-google-drive-branch > summary { display: flex; min-height: 2.15rem; padding: .08rem .15rem; align-items: center; justify-content: space-between; gap: .4rem; cursor: pointer; list-style-position: inside; }
.organization-google-drive-branch > summary > .organization-capsule-option { min-width: 0; flex: 1; }
.organization-google-drive-branch > summary > small { flex: 0 0 auto; padding-right: .3rem; color: #71809a; font-size: .58rem; }
.organization-google-drive-branch[open] > summary { background: #f2f6fd; }
.organization-google-drive-children { display: grid; padding: .12rem .15rem .3rem 1rem; gap: .08rem; border-top: 1px solid #e1e8f3; }
.organization-google-drive-children .organization-google-drive-children { margin-left: .45rem; }
.organization-google-drive-file { color: #526078; }
.organization-google-drive-selected > span { display: inline-flex; padding: 0; align-items: center; overflow: hidden; border-color: #b8caed; background: #edf4ff; color: #24599f; }
.organization-google-drive-selected > span > a { padding: .2rem .18rem .2rem .42rem; color: #24599f; font-size: .62rem; line-height: 1.2; text-decoration: none; }
.organization-google-drive-selected > span > button { min-height: 0; padding: .12rem .38rem; border: 0; background: transparent; color: #8e2d2d; font-size: .72rem; }
.organization-google-drive-selected > span > a:hover { text-decoration: underline; }
.organization-google-drive-empty { display: block; padding: .35rem .25rem; }
.organization-google-drive-add { display: grid; grid-template-columns: minmax(0,1fr); gap: .3rem; margin-top: .25rem; padding-top: .45rem; border-top: 1px solid #e0e7f3; }
.organization-google-drive-add input,.organization-google-drive-add button { min-width: 0; min-height: 2rem; padding: .35rem .45rem; border: 1px solid #c5d3eb; border-radius: .4rem; background: #fff; color: #344d77; font: inherit; font-size: .68rem; }
.organization-google-drive-add button { background: #edf4ff; cursor: pointer; font-weight: 750; }
.organization-google-drive-add button:hover,.organization-google-drive-add button:focus-visible { border-color: #6e94d4; background: #e2edff; }
.organization-google-connection { display: flex; margin: .65rem 0; padding: .65rem .75rem; align-items: center; justify-content: space-between; gap: .65rem; border: 1px solid #e0b76a; border-radius: .65rem; background: #fff8e7; color: #6d501b; font-size: .72rem; }
.organization-google-connection.connected { border-color: #78b98a; background: #edf8f0; color: #245f36; }
.organization-google-connection .button { flex: 0 0 auto; border-color: #6d91d7; background: #edf4ff; color: #24599f; text-decoration: none; }
.organization-capsule-copy { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: .3rem; margin-top: .3rem; }
.organization-capsule-copy select,.organization-capsule-copy button { min-width: 0; min-height: 2rem; padding: .35rem .45rem; border: 1px solid #cfd6e5; border-radius: .45rem; background: #fff; color: #405174; font: inherit; font-size: .68rem; }
.organization-capsule-copy button { padding-inline: .65rem; background: #edf3fd; cursor: pointer; font-weight: 750; }
.organization-capsule-copy button:hover:not(:disabled),.organization-capsule-copy button:focus-visible { border-color: #7890b8; background: #e2ebfa; }
.organization-capsule-copy button:disabled { cursor: default; opacity: .5; }
.organization-capsule-copy-status { grid-column: 1 / -1; }
.organization-warning { padding: .7rem .85rem; border: 1px solid #efd8a5; border-radius: .6rem; background: #fff8e8; color: #795a18; }
.organization-popup-heading { position: sticky; z-index: 5; top: 0; margin: 0 0 .75rem; padding: .15rem 3rem .7rem 0; border-bottom: 1px solid #e1e5ec; background: #fff; }
.organization-popup-heading h2 { margin: 0 0 .35rem; }
.organization-popup-heading .hint { margin: 0; }
.organization-google-accounts { display: inline-flex; margin-top: .6rem; border-color: #8aa9dc; background: #edf4ff; color: #24599f; text-decoration: none; }
.organization-popup-close { position: absolute; top: .05rem; right: .05rem; display: grid; width: 2.35rem; height: 2.35rem; min-height: 2.35rem; padding: 0; place-items: center; border: 1px solid #cfd6e2; border-radius: 50%; background: #fff; color: #34425d; font-size: 1.55rem; line-height: 1; cursor: pointer; }
.organization-popup-close:hover,.organization-popup-close:focus-visible { border-color: #7890b8; background: #eef3fb; color: #172b52; }
#viewer:has(#viewer-body[data-panel="organization"]) .organization-popup-close { display: none !important; }
.organization-access-legend { display: flex; margin: .7rem 0; flex-wrap: wrap; gap: .4rem; color: #536078; font-size: .65rem; }
.organization-access-legend span { padding: .25rem .48rem; border: 1px solid #ccd5e1; border-radius: 999px; background: #fff; }
.organization-access-legend .capsules { border-color: #69b88a; background: #f2fbf5; color: #17643a; }
.organization-access-legend .server { border-color: #6f98ca; background: #f3f7fd; color: #24558c; }
.organization-access-legend .redbooth { border-color: #ae79c7; background: #faf3fd; color: #69307f; }
.organization-access-legend .ispadmin { border-color: #d2a24b; background: #fff7e5; color: #795716; }
.organization-access-legend .google-drive { border-color: #6d91d7; background: #edf4ff; color: #24599f; }
.organization-access-legend .both { border-color: #579f9b; background: linear-gradient(135deg,#edf9f1,#edf4fc); color: #266769; }
.jarvis-gods-eye-dialog { width: calc(100vw - 1rem); height: calc(100dvh - 1rem); max-width: none; max-height: none; padding: 0; overflow: hidden; border: 1px solid #31cfc4; border-radius: 0; background: #010608; box-shadow: 0 0 2.5rem #1ee4d344; }
.jarvis-gods-eye-dialog::backdrop { background: #000e; }
.jarvis-gods-eye-dialog > .close { position: absolute; z-index: 10; top: .65rem; right: .65rem; width: 2.7rem; height: 2.7rem; border-color: #ff8645; border-radius: 0; background: #241008e8; color: #fff; box-shadow: 0 0 1rem #ff6f2f88; }
.jarvis-gods-eye-dialog iframe { display: block; width: 100%; height: 100%; border: 0; background: #010608; }
.jarvis-memory-dialog { position: relative; isolation: isolate; width: min(94vw, 1180px); height: min(88dvh, 820px); max-height: 88dvh; padding: 1rem; overflow: hidden; border: 1px solid #31cfc4; border-radius: 0; background: linear-gradient(145deg,#031719,#01090b); color: #cafff8; box-shadow: 0 0 2.5rem #1ee4d33d,inset 0 0 2rem #24d6c514; }
.jarvis-memory-dialog::backdrop { background: #000c; backdrop-filter: blur(5px); }
.jarvis-memory-dialog > .close { position: absolute; z-index: 100; right: .65rem; top: .55rem; display: grid; width: 2.6rem; height: 2.6rem; place-items: center; border: 1px solid #ff8645; border-radius: 0; background: #241008; color: #fff4ec; box-shadow: 0 0 .85rem #ff6f2f80; font-size: 1.8rem; line-height: 1; }
.jarvis-memory-dialog > .close:hover,.jarvis-memory-dialog > .close:focus-visible { border-color: #75fff3; background: #082827; color: #fff; box-shadow: 0 0 1rem #48f5e1a0; }
.jarvis-memory-dialog > header { width: calc(100% - 3.5rem); min-height: 3.1rem; padding: .2rem .6rem .8rem 0; border-bottom: 1px solid #20635f; background: #031719; }
.jarvis-memory-dialog > header small { color: #4fc9c0; font-size: .6rem; letter-spacing: .14em; }
.jarvis-memory-dialog > header h2 { margin: .25rem 0; color: #cafff8; font-size: 1.15rem; letter-spacing: .1em; }
.jarvis-memory-dialog > header p { margin: 0; color: #629c98; font-size: .72rem; }
.jarvis-memory-search { display: grid; width: calc(100% - 3.5rem); margin: .7rem 3.5rem .7rem 0; gap: .25rem; color: #5fc9c1; font-size: .62rem; letter-spacing: .08em; text-transform: uppercase; }
.jarvis-memory-search input { box-sizing: border-box; width: 100%; min-height: 2.5rem; padding: .55rem .7rem; border: 1px solid #236d68; border-radius: 0; outline: 0; background: #020d0f; color: #d8fffa; font: inherit; }
.jarvis-memory-search input:focus { border-color: #5de9de; box-shadow: 0 0 .7rem #37dace38; }
.jarvis-memory-layout { display: grid; height: calc(100% - 8.5rem); min-height: 0; grid-template-columns: minmax(15rem, 30%) minmax(0,1fr); border: 1px solid #1f625e; }
.jarvis-memory-list,.jarvis-memory-detail { min-height: 0; overflow-y: auto; overscroll-behavior: contain; scrollbar-color: #2b8a83 #031315; }
.jarvis-memory-list { display: flex; padding: .45rem; flex-direction: column; gap: .35rem; border-right: 1px solid #1f625e; background: #020d0f; }
.jarvis-memory-list > button { display: grid; width: 100%; padding: .55rem .65rem; gap: .28rem; border: 1px solid #174d4a; border-radius: 0; background: #041719; color: #adf8f0; text-align: left; cursor: pointer; }
.jarvis-memory-list > button:hover,.jarvis-memory-list > button.is-active { border-color: #44d8cd; background: #07302f; box-shadow: inset 3px 0 #55e8dd; }
.jarvis-memory-list strong { font-size: .7rem; line-height: 1.35; }
.jarvis-memory-list small { color: #568d89; font-size: .55rem; }
.jarvis-memory-detail { padding: .8rem; background: #031113; }
.jarvis-memory-detail > header { display: grid; margin-bottom: .8rem; padding-bottom: .65rem; grid-template-columns: minmax(0,1fr) auto; gap: .25rem .6rem; border-bottom: 1px solid #1c5d59; }
.jarvis-memory-detail > header h3 { margin: 0; color: #cafff8; font-size: .95rem; }
.jarvis-memory-detail > header small { color: #58918d; font-size: .58rem; }
.jarvis-memory-detail > header button { grid-column: 2; grid-row: 1 / 3; border-color: #2b8e87; border-radius: 0; background: #08302e; color: #adfff7; font-size: .62rem; }
.jarvis-memory-event { position: relative; margin: .55rem 0; padding: .65rem 3.7rem .65rem .7rem; border: 1px solid #1c615c; background: #04191a; color: #c8fff8; white-space: pre-wrap; overflow-wrap: anywhere; font-size: .72rem; line-height: 1.45; }
.jarvis-memory-event.user { border-color: #347d76; background: #082322; }
.jarvis-memory-event > small { display: block; margin-bottom: .35rem; color: #589b95; font-size: .55rem; }
.jarvis-memory-event > button { position: absolute; right: .4rem; top: .4rem; min-height: 1.55rem; padding: .2rem .4rem; border-color: #277c75; border-radius: 0; background: #041617; color: #79dcd3; font-size: .5rem; }
@media (max-width: 720px) {
  .jarvis-memory-dialog { width: calc(100vw - .5rem); height: calc(100dvh - .5rem); max-height: calc(100dvh - .5rem); padding: .65rem; }
  .jarvis-memory-layout { grid-template-columns: 1fr; grid-template-rows: minmax(9rem,32%) minmax(0,1fr); }
  .jarvis-memory-list { border-right: 0; border-bottom: 1px solid #1f625e; }
}
.voice-user-dialog { width: min(92vw, 620px); }
.voice-user-dialog h2 { margin-top: 0; }
.voice-user-field { display: grid; margin: 1rem 0; gap: .35rem; color: #34496e; font-size: .78rem; font-weight: 800; }
.voice-user-field select { width: 100%; min-height: 2.75rem; padding: .5rem .65rem; border: 1px solid #bfc9da; border-radius: .65rem; background: #fff; color: #202b40; font: inherit; }
.voice-user-profile { display: grid; margin: 0 0 1rem; padding: .85rem; gap: .7rem; border: 1px solid #ccd8ec; border-radius: .8rem; background: #f6f9ff; }
.voice-user-profile[hidden] { display: none; }
.voice-user-profile h3 { margin: 0; color: #263d67; font-size: 1rem; }
.voice-user-profile-group { display: grid; gap: .28rem; }
.voice-user-profile-group strong { color: #53627d; font-size: .7rem; text-transform: uppercase; letter-spacing: .04em; }
.voice-user-profile-chips { display: flex; flex-wrap: wrap; gap: .28rem; }
.voice-user-profile-chips span { padding: .22rem .45rem; border: 1px solid #c8d4e8; border-radius: 999px; background: #fff; color: #344b74; font-size: .68rem; }
.category-manager-form { display: flex; gap: .5rem; margin: 1rem 0; }
.category-manager-form input { min-width: 0; flex: 1; padding: .55rem .7rem; border: 1px solid #d8d8d8; border-radius: .55rem; font: inherit; }
.category-manager-list { display: grid; gap: .5rem; }
.category-manager-row { display: flex; gap: .5rem; align-items: center; padding: .6rem; border: 1px solid #e3e3e3; border-radius: .6rem; }
.category-manager-row strong { min-width: 0; flex: 1; overflow-wrap: anywhere; }
.bookmark-category { position: relative; grid-column: 2; min-width: 0; border: 1px solid #ddd; border-radius: .45rem; background: #fff; color: #555; font: inherit; font-size: .68rem; }
.bookmark-category summary { padding: .3rem .4rem; cursor: pointer; list-style-position: inside; }
.bookmark-category-options { display: grid; max-height: 10rem; padding: .25rem .35rem .4rem; overflow-y: auto; gap: .12rem; border-top: 1px solid #e5e5e5; }
.bookmark-category-options label { display: flex; align-items: center; gap: .35rem; padding: .22rem .15rem; cursor: pointer; }
.bookmark-category-options label:hover { background: #f4f4f4; }
.bookmark-category-options input { width: .9rem; height: .9rem; margin: 0; accent-color: #4d9a63; }
.rb-dashboard-list { display: grid; gap: .65rem; margin-top: 1rem; }
.rb-dashboard-task { display: grid; grid-template-columns: 2.25rem minmax(0,1fr) auto; gap: .45rem .7rem; padding: .8rem 1rem; border: 1px solid #e2e2e2; border-radius: .45rem; background: #fff; box-shadow: 0 2px 6px #0001; }
.rb-dashboard-task.unread { border-color: #f0d4d4; background: #fffafa; }
.rb-dashboard-task.featured { border-color: #e17171; background: #fff1f1; box-shadow: inset 3px 0 #d84545, 0 2px 6px #0001; }
.rb-dashboard-task time { grid-column: 3; grid-row: 1; color: #aaa3c4; font-size: .72rem; white-space: nowrap; }
.rb-dashboard-task.featured time, .rb-dashboard-task.featured .rb-project { color: #ba4a4a; }
.rb-actor { display: contents; }
.rb-actor > img, .rb-avatar-fallback { grid-column: 1; grid-row: 2; width: 2.25rem; height: 2.25rem; border-radius: 50%; object-fit: cover; }
.rb-avatar-fallback { display: grid; place-items: center; background: #d9d9df; color: #555; font-weight: 800; }
.rb-headline { grid-column: 2 / 4; grid-row: 2; align-self: center; line-height: 1.35; }
.rb-headline strong, .rb-headline b { font-weight: 750; }
.rb-headline span { color: #78748a; }
.rb-task-link { color: #162b66; font-weight: 750; text-decoration: none; }
.rb-task-link:hover { text-decoration: underline; }
.rb-update-content { display: grid; grid-column: 2 / 4; gap: .55rem; min-width: 0; }
.rb-comment { display: -webkit-box; margin: 0; overflow: hidden; line-height: 1.45; white-space: pre-wrap; overflow-wrap: anywhere; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.rb-change-row { display: flex; gap: .65rem; align-items: center; }
.rb-change-row > span { font-size: .82rem; }
.rb-assignments img { width: 1.8rem; height: 1.8rem; margin-right: -.35rem; border: 2px solid #fff; border-radius: 50%; object-fit: cover; }
.rb-project { display: flex; grid-column: 2 / 4; justify-self: end; align-items: center; gap: .55rem; color: #aaa3c4; font-size: .72rem; text-align: right; }
.rb-open-task { padding: .18rem .42rem; border: 1px solid #edcccc; border-radius: .4rem; background: #fff7f7; color: #a33737; font-weight: 700; text-decoration: none; white-space: nowrap; }
.rb-open-task:hover { background: #ffeded; }
.rb-dashboard-footer { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .45rem .75rem; margin-top: 1rem; padding-top: .85rem; align-items: center; border-top: 1px solid #e5e5e5; }
.rb-dashboard-footer small { grid-column: 1; color: #777; line-height: 1.35; }
.rb-dashboard-footer span { grid-column: 1; min-height: 1.1rem; color: #59606b; font-size: .75rem; }
.rb-dashboard-footer button { grid-column: 2; grid-row: 1 / 3; padding: .5rem .75rem; border-color: #dfcaca; background: #fff7f7; color: #8e3030; }
.rb-dashboard-footer button:hover:not(:disabled) { background: #ffeded; }
.bookmark-range { position: relative; display: grid; grid-template-columns: 1.7rem minmax(0, 1fr); gap: .25rem; margin: .55rem 0; padding: .6rem; border: 1px solid #dedede; border-radius: .55rem; background: #fafafa; font-size: .76rem; }
.bookmark-range[data-progress="1"] { border-color: #dedede; background: #fff; }
.bookmark-range[data-progress="2"] { border-color: #cfe2d3; background: #f2faf4; }
.bookmark-range[data-progress="3"] { border-color: #aed0b6; background: #e4f3e8; }
.bookmark-range[data-progress="4"] { border-color: #78b98a; background: #d3ead8; }
.bookmark-range.active { border: 2px solid #df9611; background: linear-gradient(100deg, #fff0c7 0, #fffaf0 72%) !important; box-shadow: inset 5px 0 #df9611, 0 0 0 3px #ffe8ab, 0 7px 18px #9a650f24; }
.bookmark-range.active .bookmark-range-title { color: #624000; font-weight: 850; }
.bookmark-range.active .bookmark-range-state-line > span:first-child { width: fit-content; padding: .16rem .48rem; border-radius: 999px; background: #df9611; color: #fff; font-weight: 850; letter-spacing: .025em; }
.bookmark-range.active.needs-close { border-color: #78b98a; background: #d3ead8 !important; box-shadow: inset 5px 0 #4d9f65,0 0 0 3px #bfe0c8,0 7px 18px #2e6f4024; }
.bookmark-range.active.needs-close .bookmark-range-title { color: #245c35; }
.bookmark-range.active.needs-close .bookmark-range-state-line > span:first-child { background: #c92f2f; }
.bookmark-range.closed { border-color: #c6c9cc; background: #ededed; color: #686868; opacity: .78; filter: grayscale(1); }
.bookmark-range.drag-ready,
.bookmark-range.dragging {
  z-index: 3; border-color: #2e9656; background: #edf9f1 !important;
  box-shadow: 0 0 0 4px #41a96630, 0 .75rem 1.7rem #174e2929;
}
.bookmark-range.drag-ready { transform: scale(1.008); }
.bookmark-range.dragging { opacity: .28; transform: scale(.985); cursor: grabbing; }
.bookmark-range.dragging * { cursor: grabbing !important; }
.bookmark-range-drag-ghost {
  position: fixed !important; z-index: 2147483646 !important; margin: 0 !important;
  pointer-events: none; opacity: .97; transform: scale(1.018) rotate(.35deg);
  border-color: #27884c !important; background: #edf9f1 !important;
  box-shadow: 0 0 0 4px #41a96638, 0 1rem 2.2rem #173f2852 !important;
  cursor: grabbing;
}
.bookmark-range-state-line { display: flex; grid-column: 2; align-items: center; justify-content: space-between; gap: .45rem; min-width: 0; }
.bookmark-range-state-line > span { min-width: 0; color: #777; font-size: .68rem; white-space: nowrap; }
.bookmark-range-state-line > span.closed-tag { width: fit-content; padding: .14rem .45rem; border-radius: 999px; background: #dedede; color: #555; font-weight: 750; }
.bookmark-range-state-line > span.needs-close-tag { width: fit-content; padding: .14rem .45rem; border-radius: 999px; background: #c92f2f; color: #fff; font-weight: 800; }
.bookmark-range-state-line > .discussion-unread-badge { flex: 0 0 auto; width: fit-content; min-height: 0; padding: .22rem .48rem; border: 0; border-radius: 999px; background: #d83232; color: #fff; cursor: pointer; font: inherit; font-weight: 850; box-shadow: 0 0 0 3px #d8323226; animation: discussion-new-pulse 1.8s ease-in-out infinite; }
.bookmark-range-state-line > .discussion-unread-badge:hover,.bookmark-range-state-line > .discussion-unread-badge:focus-visible { background: #b92323; }
@keyframes discussion-new-pulse { 50% { box-shadow: 0 0 0 6px #d832320d; transform: scale(1.035); } }
.bookmark-range-sharing { grid-column: 2; width: fit-content; max-width: 100%; padding: .18rem .48rem; border-radius: 999px; background: #e2f3e7; color: #23643a; font-size: .66rem; font-weight: 750; overflow-wrap: anywhere; }
.bookmark-range.has-shares { box-shadow: inset 3px 0 #55a36b; }
.bookmark-range-drag { position: absolute; left: .65rem; top: 50%; width: 1.5rem; height: 2.5rem; padding: 0; transform: translateY(-50%); border: 0; background: transparent; color: #737373; cursor: grab; font-size: 1.35rem; line-height: 1; touch-action: none; }
.bookmark-range-drag:active { cursor: grabbing; }
.bookmark-range-title { grid-column: 2; min-width: 0; padding: 0; overflow: visible; overflow-wrap: anywhere; border: 0; border-radius: 0; background: transparent; font-size: inherit; font-weight: 700; line-height: 1.3; text-align: left; white-space: normal; }
.bookmark-range-title:hover { background: transparent; text-decoration: underline; }
.discussion-progress { flex: 0 0 5.2rem; min-width: 0; }
.discussion-progress-selected { display: block; width: fit-content; max-width: 100%; margin: 0 auto .24rem; padding: .14rem .38rem; overflow: hidden; border-radius: 999px; background: #347e49; color: #fff; font-size: .52rem; line-height: 1; text-align: center; text-overflow: ellipsis; white-space: nowrap; }
.discussion-progress-track { display: grid; grid-template-columns: repeat(4, 1fr); gap: .12rem; }
.discussion-progress-step { min-width: 0; height: .8rem; padding: 0; border: 1px solid #cfd7d1; border-radius: .2rem; background: rgba(255,255,255,.78); color: #6c746e; font-size: .5rem; line-height: 1; cursor: pointer; }
.discussion-progress-step.filled:nth-child(1) { border-color: #cfd7d1; background: #fff; color: #6c746e; }
.discussion-progress-step.filled:nth-child(2) { border-color: #bcd9c3; background: #eaf6ed; color: #486852; }
.discussion-progress-step.filled:nth-child(3) { border-color: #8fc39d; background: #cfe8d5; color: #315d3d; }
.discussion-progress-step.filled:nth-child(4) { border-color: #50a66a; background: #65bd7d; color: #fff; }
.discussion-progress-step[aria-checked="true"] { outline: 2px solid #347e49; outline-offset: 1px; font-weight: 800; }
.discussion-progress-step:focus-visible { outline: 2px solid #236c39; outline-offset: 2px; }
.bookmark-range-actions { display: flex; grid-column: 2; flex-wrap: nowrap; gap: .18rem; min-width: 0; margin-top: .25rem; }
.bookmark-range-actions button { display: inline-flex; flex: 0 1 auto; min-width: 0; padding: .22rem .34rem; align-items: center; justify-content: center; font-size: .61rem; line-height: 1.15; text-align: center; white-space: nowrap; }
.bookmark-range-actions .danger-link { border-color: #e1b4b0; color: #a1261d; }
.bookmark-range-actions .discussion-close-required { border-color: #a91f1f; background: #c92f2f; color: #fff; font-weight: 850; box-shadow: 0 0 0 2px #c92f2f26; }
.bookmark-range-actions .discussion-close-required:hover,.bookmark-range-actions .discussion-close-required:focus-visible { border-color: #801414; background: #a91f1f; }
.hint { color: #777; font-size: .78rem; }
.transcript { min-height: calc(100vh - 12rem); padding: 3rem 0 5rem; overflow: visible; }
.event { position: relative; width: min(78%, 780px); margin: 0 0 2.6rem; padding: 0 2.5rem 0 0; font-size: 1rem; line-height: 1.55; white-space: pre-wrap; overflow-wrap: anywhere; }
.event:is(.commentary,.final,.spontaneous) { padding: .8rem 2.7rem .8rem 1rem; border: 1px solid rgba(0,0,0,.38); border-radius: 1rem; background: #fff; }
.event-copy { position: absolute; top: 0; right: 0; min-height: 1.65rem; padding: .2rem .48rem; border: 1px solid #cbd5ce; border-radius: .5rem; background: #fff; color: #526159; font: inherit; font-size: .62rem; font-weight: 750; line-height: 1; cursor: pointer; }
.event-delete { position: absolute; top: 0; right: 3.5rem; min-height: 1.65rem; padding: .2rem .48rem; border: 1px solid #e2b8b4; border-radius: .5rem; background: #fff; color: #9c2b23; font: inherit; font-size: .62rem; font-weight: 750; line-height: 1; cursor: pointer; }
.event.has-delete { padding-right: 6.7rem; }
.event:is(.commentary,.final,.spontaneous) .event-copy { top: .58rem; right: .58rem; }
.event.has-delete:is(.commentary,.final,.spontaneous) .event-delete { top: .58rem; right: 4.05rem; }
.event-copy:hover,.event-copy:focus-visible,.event-copy.is-copied { border-color: #4b9c68; background: #edf8f1; color: #176337; }
.event-delete:hover,.event-delete:focus-visible { border-color: #b43b31; background: #fff0ef; color: #7f1e17; }
.event.user .event-copy { top: .58rem; right: .58rem; border-color: #ffffff55; background: #ffffff18; color: #fff; }
.event.user.has-delete .event-delete { top: .58rem; right: 4.05rem; border-color: #ffffff55; background: #ffffff18; color: #fff; }
.event.user .event-copy:hover,.event.user .event-copy:focus-visible,.event.user .event-copy.is-copied { border-color: #fff; background: #ffffff2e; }
.event.user { width: fit-content; max-width: 78%; margin-left: auto; padding: .8rem 2.7rem .8rem 1.05rem; border-radius: 1.65rem; background: #000; color: #fff; }
.event.commentary { color: #555; }
.event.system { padding: .75rem 1rem; border-radius: .7rem; background: #fff4df; }
.event.diff { width: 100%; padding: .8rem; border-radius: .7rem; background: #f5f5f5; font: .82rem/1.45 ui-monospace, monospace; }
.event.files, .event.artifact { padding: .75rem 1rem; border: 1px solid #e5e5e5; border-radius: .7rem; }
.meta { display: block; margin-bottom: .35rem; color: #8a8a8a; font-size: .7rem; }
.event.user .meta { color: #bbb; }
.event > div:not(.meta) a:not(.artifact-open):not(.artifact-thumbnail) {
  padding: .08em .18em;
  border-radius: .25em;
  color: #1559a8;
  cursor: pointer;
  font-weight: 700;
  text-decoration: underline;
  text-decoration-thickness: .08em;
  text-underline-offset: .16em;
}
.event > div:not(.meta) a:not(.artifact-open):not(.artifact-thumbnail)::before {
  content: "🔗 ";
  text-decoration: none;
}
.event > div:not(.meta) a:not(.artifact-open):not(.artifact-thumbnail)::after { content: " ↗"; }
.event > div:not(.meta) a:not(.artifact-open):not(.artifact-thumbnail):hover {
  background: #eaf2fb;
  color: #a1261d;
}
.bookmark { position: absolute; right: .35rem; top: .2rem; padding: .2rem; border: 0; background: transparent; color: #aaa; font-size: 1rem; cursor: pointer; }
.bookmark.active { color: #e7a70c; }
.bookmark-row { display: block; width: 100%; margin: .25rem 0; padding: .45rem; border: 1px solid #e5e5e5; border-radius: .4rem; background: #fff; color: inherit; font-size: .75rem; text-align: left; cursor: pointer; }
.bookmark-row.selected { border-color: #111; background: #f2f2f2; }
.artifact-open { display: inline-block; width: auto; margin-top: .35rem; padding: .5rem .8rem; border: 1px solid #dedede; border-radius: 999px; background: #fff; }
.artifact-open:hover { background: #f5f5f5; }
.artifact-thumbnail { display: block; width: 150px; height: 100px; margin-top: .35rem; padding: 0; overflow: hidden; border-radius: .65rem; background: #f2f2f2; }
.artifact-thumbnail img { display: block; width: 100%; height: 100%; object-fit: cover; }
.artifact-thumbnail:hover { border-color: #999; background: #fff; }
.composer { position: fixed; z-index: 50; left: 50%; bottom: 1.1rem; width: min(calc(100% - 2rem), 1040px); padding: .6rem .65rem; transform: translateX(-50%); border: 1px solid #dedede; border-radius: 1.8rem; background: #fff; box-shadow: 0 10px 38px #00000018; }
.composer-mobile-toggle, .composer-mobile-user, .composer-mobile-elena, .composer-mobile-voice { display: none; }
.composer.is-file-dragover { border-color: #36a269; background: #effaf3; box-shadow: 0 0 0 4px #36a2692b, 0 10px 38px #00000018; }
.composer.is-file-dragover::after { content: 'Rilascia qui per allegare'; position: absolute; z-index: 8; inset: .35rem; display: grid; place-items: center; border: 2px dashed #36a269; border-radius: 1.45rem; background: #effaf3f2; color: #17663b; font-size: 1rem; font-weight: 800; pointer-events: none; }
.active-discussion { display: block; width: fit-content; max-width: calc(100% - .7rem); margin: 0 .35rem .15rem; padding: .3rem .65rem; overflow-wrap: anywhere; border-color: #d99b17; background: #fff8e8; color: #6d4700; font-size: .76rem; font-weight: 700; line-height: 1.3; white-space: normal; }
.active-discussion[hidden] { display: none; }
.discussion-routing { display: flex; margin: 0 .35rem .35rem; padding: .42rem .55rem; align-items: center; gap: .4rem; border: 1px solid #c9dccf; border-radius: .7rem; background: #f3faf5; color: #21492e; font-size: .75rem; }
.discussion-routing[hidden] { display: none; }
.discussion-routing > span { min-width: 8rem; flex: 1 1 auto; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.discussion-routing select { min-width: 10rem; max-width: 18rem; padding: .3rem .45rem; border: 1px solid #b7cabe; border-radius: .45rem; background: #fff; color: inherit; font: inherit; }
.discussion-routing button { padding: .3rem .55rem; font-size: inherit; }
.discussion-route-control { display: flex; margin-top: .45rem; align-items: center; flex-wrap: wrap; gap: .35rem; }
.discussion-route-control > button { padding: .2rem .45rem; border-color: #c7d4cb; background: #f7faf8; color: #356044; font-size: .62rem; }
.discussion-route-control select { max-width: min(100%,22rem); padding: .25rem .4rem; font-size: .7rem; }
.composer-input-row { position: relative; display: flex; gap: .4rem; align-items: center; }
.composer textarea { display: block; width: 100%; min-height: 5rem; max-height: 12rem; padding: .55rem .75rem; resize: vertical; border: 0; outline: 0; background: transparent; color: #202123; font: inherit; line-height: 1.45; }
.notice-indicator { display: inline-flex; min-height: 2.4rem; margin-right: .25rem; padding-block: .4rem; flex: 0 0 auto; align-items: center; justify-content: center; gap: .38rem; border-color: #d99b17; background: #fff4cf; color: #6d4700; font-size: .78rem; font-weight: 750; line-height: 1; }
.notice-indicator-icon { display: inline-grid; min-width: 1.35em; place-items: center; font-size: 1.35em; line-height: 1; }
.notice-indicator.has-read-receipt { border-color: #36a269; background: #eaf8f0; color: #17663b; }
.notice-indicator[hidden] { display: none; }
.notice-indicator-mobile { display: none; }
.notice-list { display: grid; gap: .75rem; padding-top: 1rem; }
.notice-card { padding: .85rem 1rem; border: 1px solid #e0a129; border-radius: .7rem; background: #fff6df; white-space: pre-wrap; }
.notice-card.read-receipt { border-color: #62b985; background: #effaf3; color: #155f37; }
.notice-card time { display: block; margin-bottom: .35rem; color: #80601f; font-size: .72rem; }
.notice-card.is-read { border-color: #ccd1d6; background: #f4f5f6; color: #666; }
.notice-read-toggle { margin-top: .65rem; font-size: .78rem; }
.notice-toolbar, .notice-card-actions { display: flex; gap: .5rem; align-items: center; flex-wrap: wrap; }
.notice-toolbar { margin: .6rem 0 1rem; }
.notice-sound-settings { display: flex; margin: 0 0 1rem; padding: .75rem; align-items: end; gap: .65rem; flex-wrap: wrap; border: 1px solid #d8e5dc; border-radius: .8rem; background: #f3faf5; }
.notice-sound-settings label { display: grid; flex: 1 1 13rem; gap: .35rem; color: #315d3e; font-size: .78rem; font-weight: 800; }
.notice-sound-settings select { width: 100%; min-height: 2.5rem; padding: .45rem .6rem; border: 1px solid #b9cfbf; border-radius: .65rem; background: #fff; color: #25372b; font: inherit; }
.notice-sound-settings button { min-height: 2.5rem; }
.notice-card-actions { margin-top: .65rem; }
.notice-card-actions .notice-read-toggle { margin-top: 0; }
.controls { display: flex; gap: .5rem; align-items: center; }
.composer > .controls { flex-wrap: wrap; }
.composer-actions { display: flex; gap: .5rem; align-items: center; justify-content: flex-end; margin-left: auto; }
.composer-actions button.primary { margin-left: 0; }
button, .button { border: 1px solid #dedede; border-radius: 999px; padding: .5rem .8rem; background: #fff; color: #202123; font: inherit; cursor: pointer; }
button:hover, .button:hover { background: #f5f5f5; }
button.primary { margin-left: auto; border-color: #000; background: #000; color: #fff; }
button:disabled { opacity: .45; cursor: default; }
.upload-button { display: inline-flex; gap: .35rem; align-items: center; }
.attachments { display: flex; gap: .4rem; flex-wrap: wrap; padding: 0 .35rem; }
.attachment { padding: .3rem .55rem; background: #f2f2f2; font-size: .78rem; }
.event-attachments { display: flex; margin-top: .55rem; flex-wrap: wrap; gap: .4rem; }
.event-attachment { display: inline-flex; max-width: 100%; padding: .38rem .58rem; align-items: center; gap: .35rem; border: 1px solid #b9cce8; border-radius: .55rem; background: #edf4fd; color: #244f83; font-size: .76rem; font-weight: 700; text-decoration: none; }
.event-attachment span:last-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.event-attachment:hover,.event-attachment:focus-visible { border-color: #688dbd; background: #e2edfa; text-decoration: underline; }
.notice { position: absolute; right: 1.1rem; bottom: calc(100% + .45rem); min-height: 1.1rem; color: #777; font-size: .76rem; }
.scroll-bottom { position: absolute; z-index: 2; left: calc(100% + .8rem); top: 50%; width: 2.4rem; height: 2.4rem; padding: 0; transform: translateY(-50%); border: 1px solid #d8d8d8; border-radius: 50%; background: #fff; box-shadow: 0 2px 8px #0001; font-size: 1.35rem; line-height: 1; }
.scroll-bottom:not([hidden]) { display: grid; place-items: center; }
.scroll-bottom[hidden] { display: none; }
.resource-dialog { width: min(92vw, 680px); padding: 1.15rem; }
.resource-dialog-heading { display: flex; padding-right: 2.8rem; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.resource-dialog-heading h2,.resource-dialog-heading p { margin: 0; }
.resource-dialog-heading p { margin-top: .25rem; color: #667269; font-size: .82rem; }
.resource-alert-history { margin-top: 1rem; padding-top: .85rem; border-top: 1px solid #e2e7e3; }
.resource-alert-history h3 { margin: 0 0 .65rem; font-size: .92rem; }
.resource-alert-history > div { display: grid; max-height: 17rem; gap: .55rem; overflow-y: auto; }
.resource-alert-history-item { padding: .65rem .75rem; border: 1px solid #dfe5e0; border-radius: .65rem; background: #fafcfb; white-space: pre-wrap; }
.resource-alert-history-item.is-unread { border-color: #df9f31; background: #fff8e8; box-shadow: inset 3px 0 #df9f31; }
.resource-alert-history-item time { display: block; margin-top: .35rem; color: #788078; font-size: .68rem; }
.resource-discussion-open { margin-top: .85rem; border-color: #7fae8e; background: #edf8f0; color: #195f34; font-weight: 750; }
.resource-checks { display: grid; gap: .65rem; margin-top: 1rem; }
.recovery-alert { position: static; display: flex; justify-content: space-between; gap: 1rem; align-items: center; margin: 0; padding: .8rem 1rem; border: 1px solid #e0a129; border-radius: .8rem; background: #fff6df; color: #5f3b00; }
.recovery-alert[hidden] { display: none; }
.recovery-alert span { margin-left: .35rem; }
.recovery-alert button { flex: 0 0 auto; border-color: #9a6200; }
.resource-all-clear { display: flex; padding: 1rem; align-items: center; gap: .8rem; border: 1px solid #9bcaab; border-radius: .8rem; background: #eef8f1; color: #205c34; }
.resource-all-clear[hidden] { display: none; }
.resource-all-clear > span { display: grid; width: 2rem; height: 2rem; flex: 0 0 auto; place-items: center; border-radius: 50%; background: #2b9a50; color: #fff; font-weight: 900; }
.resource-all-clear div { display: grid; gap: .18rem; }
.resource-all-clear small { color: #4f6f59; }
.manual-recover { padding: .32rem .65rem; color: #666; font-size: .78rem; }
.openai-billing-link { border-color: #96a7a0; color: #28483a; font-weight: 750; text-decoration: none; white-space: nowrap; }
.voice-tools { position: fixed; z-index: 26; right: max(1rem, calc(50vw - 550px)); bottom: 7rem; display: flex; gap: .5rem; align-items: flex-end; }
.voice-session { max-width: min(440px, calc(100vw - 2rem)); padding: 0; border: 0; background: transparent; }
.voice-session.is-active { padding: 1rem; border: 1px solid #ddd; border-radius: 1rem; background: #fff; box-shadow: 0 12px 38px #0002; }
.voice-session:has(#meeting-panel).is-active { position: fixed; z-index: 28; top: 50%; right: 1rem; bottom: auto; width: min(440px, calc(100vw - 2rem)); transform: translateY(-50%); }
.voice-presence { --voice-scale: .94; --voice-glow: 9px; position: absolute; z-index: 3; left: 50%; top: 0; display: grid; justify-items: center; transform: translate(-50%, calc(-100% - .25rem)); pointer-events: none; }
.voice-presence[hidden] { display: none; }
.voice-cloud { position: relative; display: grid; width: 7.2rem; height: 5.7rem; place-items: center; border-radius: 50%; background: radial-gradient(ellipse at 28% 54%, #eaf2ffb8 0 18%, transparent 50%), radial-gradient(ellipse at 72% 44%, #edf0ffad 0 20%, transparent 52%), radial-gradient(ellipse at 50% 50%, #f8fbff 0 24%, #f5f8ff94 47%, transparent 70%); filter: drop-shadow(0 .55rem 1rem #5b7fde1c); }
.voice-cloud::before, .voice-cloud::after { content: ''; position: absolute; width: 4.1rem; height: 3.1rem; border-radius: 50%; background: #dce9ff8c; filter: blur(13px); animation: voice-cloud-drift 4.8s ease-in-out infinite alternate; }
.voice-cloud::before { left: -.15rem; top: .75rem; }
.voice-cloud::after { right: -.1rem; bottom: .65rem; background: #e4dcff73; animation-delay: -2.3s; }
@property --voice-orb-deep { syntax: '<color>'; inherits: false; initial-value: #4e79e8; }
@property --voice-orb-mid { syntax: '<color>'; inherits: false; initial-value: #8eb6ff; }
@property --voice-orb-light { syntax: '<color>'; inherits: false; initial-value: #e4efff; }
.voice-orb { --voice-orb-deep: #4e79e8; --voice-orb-mid: #8eb6ff; --voice-orb-light: #e4efff; position: relative; z-index: 1; width: 4.35rem; height: 4.35rem; overflow: hidden; border-radius: 50%; transform: scale(var(--voice-scale)); background: radial-gradient(ellipse at 50% 53%, #fff 0 8%, #f8fbffcf 23%, transparent 48%), linear-gradient(165deg, var(--voice-orb-deep) 0%, var(--voice-orb-mid) 46%, var(--voice-orb-light) 100%); box-shadow: 0 0 0 var(--voice-glow) #718fff12, 0 .2rem 1.3rem #6283df52, inset 0 -.5rem 1rem #8b9fff4a; transition: transform 70ms linear, box-shadow .75s ease, filter .75s ease, opacity .2s ease, --voice-orb-deep .75s ease, --voice-orb-mid .75s ease, --voice-orb-light .75s ease; }
.voice-orb::before, .voice-orb::after { content: ''; position: absolute; z-index: 0; left: -3.5rem; border-radius: 999px; background: #fffffff2; pointer-events: none; }
.voice-orb::before { top: 1.15rem; width: 2.4rem; height: .72rem; box-shadow: .55rem -.34rem 0 -.03rem #fff, 1.16rem -.16rem 0 -.05rem #fffffff2, 3.5rem .76rem 0 -.04rem #ffffffd9, 4.05rem .45rem 0 -.09rem #ffffffe8; filter: blur(.7px); opacity: .9; animation: voice-cloud-inside 6.8s linear infinite; }
.voice-orb::after { bottom: .88rem; width: 1.9rem; height: .58rem; box-shadow: .46rem -.27rem 0 -.04rem #ffffffed, 2.9rem -.95rem 0 -.04rem #ffffffd9, 3.38rem -1.2rem 0 -.08rem #ffffffe8; filter: blur(1px); opacity: .72; animation: voice-cloud-inside 9.4s linear -3.2s infinite; }
.voice-presence-label { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.voice-presence[data-voice-state="user"] .voice-orb { --voice-orb-deep: #43b989; --voice-orb-mid: #83d8ae; --voice-orb-light: #e1f8ec; box-shadow: 0 0 0 var(--voice-glow) #43b98916, 0 .2rem 1.3rem #299b6652, inset 0 -.5rem 1rem #4fba814a; filter: saturate(1.08); }
.voice-presence[data-voice-state="assistant"] .voice-orb { --voice-orb-deep: #4e79e8; --voice-orb-mid: #8eb6ff; --voice-orb-light: #e4efff; box-shadow: 0 0 0 var(--voice-glow) #4e79e816, 0 .2rem 1.3rem #416fd052, inset 0 -.5rem 1rem #648ee84a; filter: saturate(1.08); }
.voice-presence[data-voice-state="working"] .voice-orb { animation: voice-orb-work 1.5s ease-in-out infinite alternate; }
.voice-presence[data-voice-state="muted"] .voice-cloud { filter: grayscale(.65); opacity: .62; }
.voice-presence[data-voice-state="muted"] .voice-orb { animation: none; }
@keyframes voice-cloud-drift { to { transform: translate(.55rem,-.22rem) scale(1.1); } }
@keyframes voice-cloud-inside { to { transform: translateX(8.5rem); } }
@keyframes voice-orb-work { from { filter: saturate(.9); } to { filter: saturate(1.18) brightness(1.04); } }
@media (prefers-reduced-motion: reduce) { .voice-cloud::before, .voice-cloud::after, .voice-orb { animation: none !important; transition: none !important; } }
.meeting-heading { display: flex; flex-wrap: wrap; gap: 1rem; justify-content: space-between; align-items: center; }
.voice-session.is-active .meeting-heading { cursor: grab; user-select: none; }
.voice-session.is-active .meeting-heading.popup-existing-drag-handle {
  position: relative; cursor: grab; touch-action: none;
}
.voice-session.is-active.is-dragging { z-index: 30; }
.voice-session.is-active.is-dragging .meeting-heading { cursor: grabbing !important; }
.meeting-heading small { font-weight: normal; }
#meeting-status, #live-status { font-size: .85rem; font-weight: 600; }
.voice-state-indicator { display: inline-flex; align-items: center; gap: .55rem; }
.voice-listening-wave { display: none; height: 1.15rem; align-items: center; gap: .16rem; color: #25a55f; }
.voice-listening-wave i { display: block; width: .16rem; height: 75%; border-radius: 999px; background: currentColor; animation: voice-wave 1.05s ease-in-out infinite; transform-origin: center; }
.voice-listening-wave i:nth-child(2) { animation-delay: -.84s; }
.voice-listening-wave i:nth-child(3) { animation-delay: -.63s; }
.voice-listening-wave i:nth-child(4) { animation-delay: -.42s; }
.voice-listening-wave i:nth-child(5) { animation-delay: -.21s; }
.voice-session[data-voice-state="listening"] .voice-listening-wave,
.voice-session[data-voice-state="user"] .voice-listening-wave { display: inline-flex; }
@keyframes voice-wave { 0%, 100% { transform: scaleY(.28); opacity: .55; } 50% { transform: scaleY(1); opacity: 1; } }
.live-transcript { display: grid; gap: .6rem; max-height: 14rem; margin: .8rem 0; overflow: auto; }
.live-transcript p { margin: 0; padding: .6rem; border-radius: .6rem; background: #f3f3f3; }
.live-transcript strong { display: block; margin-bottom: .25rem; color: #777; font-size: .75rem; }
.live-transcript span { white-space: pre-wrap; }
.voice-session audio { width: 100%; margin-top: .4rem; }
.voice-session audio::-webkit-media-controls-play-button { display: none !important; }
#live-stop, #meeting-stop { margin-left: auto; }
#meeting-panel[hidden], #meeting-start[hidden], #live-panel[hidden], #live-start[hidden] { display: none; }
.meeting-partial { min-height: 1.5rem; margin: .5rem 0; color: #666; font-size: .85rem; }
.resident-transcript { width: 100%; resize: vertical; border: 1px solid #ddd; border-radius: .6rem; padding: .6rem; font: inherit; }
.voice-controls { flex-wrap: wrap; }
.audio-output { display: none; }
dialog { width: min(92vw, 1100px); max-height: 92vh; border: 1px solid #ddd; border-radius: .8rem; background: #fff; color: inherit; }
dialog::backdrop { background: #1118; backdrop-filter: blur(2px); }
body:not(.native-android) dialog:has(#viewer-body[data-panel="organization"]) { width: min(98vw, 1800px); height: 94dvh; max-height: 94dvh; overflow: hidden; }
body:not(.native-android) #viewer-body[data-panel="organization"] { height: 100%; min-height: 0; overflow: auto; overscroll-behavior: contain; }
body:not(.native-android) #viewer-body[data-panel="organization"] .organization-grid { grid-template-columns: repeat(auto-fit,minmax(330px,1fr)); }
body:not(.native-android) #viewer-body[data-panel="organization"] .organization-google-drive-options { max-height: 32rem; }
dialog:has(#viewer-body[data-panel="message-companion"]) { width: min(92vw, 620px); }
dialog:has(#viewer-body[data-panel="messages-companion"]) { width: min(92vw, 760px); }
dialog img, dialog iframe { max-width: 100%; max-height: 82vh; }
.close { position: sticky; z-index: 4; top: 0; float: right; width: 2.35rem; height: 2.35rem; padding: 0; border-color: #d5d5d5; background: #fff; font-size: 1.65rem; line-height: 1; }
.bookmark-discussion-heading { position: sticky; z-index: 2; top: 0; min-height: 4.8rem; padding: .2rem 25rem 1rem 0; border-bottom: 1px solid #e5e5e5; background: #fff; }
.bookmark-discussion-heading h2 { margin: 0 0 .25rem; }
.bookmark-discussion-heading p { margin: 0 0 .65rem; color: #777; }
.bookmark-discussion-heading > .bookmark-discussion-actions { position: absolute; top: .15rem; right: 0; display: flex; max-width: 24rem; justify-content: flex-end; flex-wrap: wrap; gap: .5rem; }
.bookmark-discussion-actions { display: flex; gap: .5rem; }
.discussion-new-message { border-color: #74ae87; background: #edf8f0; color: #1d6537; font-weight: 700; }
.discussion-new-message:hover { border-color: #3f8f5b; background: #dff2e5; color: #144c29; }
.bookmark-discussion-tabs { display: none; }
.bookmark-discussion-columns { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); min-height: 0; overflow: hidden; border: 1px solid #e1e5e2; border-radius: .85rem; background: #fff; }
.bookmark-discussion-columns.is-shared-discussion .bookmark-discussion-zeno { background: #fff; }
.bookmark-discussion-column { min-width: 0; min-height: 0; padding: 1rem 1.15rem; overflow: auto; }
.bookmark-discussion-users { border-left: 1px solid #dfe8e2; background: #f8fbf9; }
.bookmark-discussion-column-title { position: sticky; z-index: 1; top: -1rem; margin: -1rem -1.15rem 1rem; padding: .9rem 1.15rem; border-bottom: 1px solid #e1e5e2; background: #fff; font-size: 1rem; }
.bookmark-discussion-users .bookmark-discussion-column-title,
.bookmark-discussion-users .discussion-thread > h3 { background: #f8fbf9; }
.bookmark-discussion-users .discussion-thread { margin: 0; padding: 0; border: 0; }
.bookmark-discussion-users .discussion-thread > h3 { position: sticky; z-index: 1; top: -1rem; margin: -1rem -1.15rem .2rem; padding: .9rem 1.15rem; border-bottom: 1px solid #dfe8e2; }
dialog:has(#viewer-body[data-panel="discussion"]) { width: min(96vw, 1500px); height: 90dvh; max-height: 90dvh; overflow: hidden; }
#viewer-body[data-panel="discussion"] { display: grid; height: 100%; min-height: 0; grid-template-rows: auto minmax(0, 1fr); }
.share-discussion-icon { display: inline-grid; min-width: 2rem; padding-inline: .4rem; place-items: center; }
.share-discussion-icon svg { width: 1rem; height: 1rem; overflow: visible; fill: #fff; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; }
.share-discussion-icon.is-shared { border-color: #087b39; background: #159447; color: #fff; box-shadow: 0 0 0 4px #18a95738, 0 3px 9px #087b3940; }
.share-discussion-icon.is-shared:hover { border-color: #05662f; background: #087b39; color: #fff; }
.bookmark-discussion-segment { margin: 1.5rem 0 2.5rem; }
.bookmark-discussion-segment > h3 { display: inline; margin-right: .6rem; font-size: 1rem; }
.bookmark-discussion-segment > small { color: #777; }
.bookmark-discussion-events { margin-top: 1.3rem; }
.discussion-thread { margin: 2rem 0 .5rem; padding-top: 1.25rem; border-top: 2px solid #dfe8e2; }
.discussion-thread-timeline { display: flex; margin: 1rem 0; flex-direction: column; gap: .65rem; }
.discussion-thread-message { position: relative; width: min(84%, 620px); padding: .75rem .9rem; border: 1px solid #d6ddd8; border-radius: .8rem; background: #f5f7f5; white-space: pre-wrap; overflow-wrap: anywhere; }
.discussion-thread-message.mine { align-self: flex-end; border-color: #a9d2b5; background: #eaf6ed; }
.discussion-thread-message.theirs { align-self: flex-start; }
.discussion-thread-message.is-deleted { border-style: dashed; background: #f4f4f4; color: #777; font-style: italic; }
.discussion-thread-message small { display: block; margin-top: .4rem; color: #717872; text-align: right; }
.discussion-thread-delete { margin-top: .35rem; padding: .15rem .25rem; border: 0; background: transparent; color: #a92f28; font-size: .65rem; text-decoration: underline; }
.discussion-thread-delete:hover { background: #fff0ef; }
.discussion-thread textarea { width: 100%; margin: .4rem 0 .6rem; resize: vertical; }
.discussion-thread-feedback { min-height: 1.2em; margin-top: .4rem; color: #a33; }
.discussion-share-user { display: block; width: 100%; min-height: 2.75rem; margin: .35rem 0 1rem; padding: .55rem .7rem; }
.discussion-share-user optgroup { color: #274d36; font-weight: 800; }
.discussion-share-user option { color: #27302b; font-weight: 500; }
#viewer-body[data-panel="share-discussion"] label { display: block; margin-top: .8rem; font-weight: 700; }
#viewer-body[data-panel="share-discussion"] textarea { display: block; width: 100%; margin-top: .35rem; resize: vertical; font-weight: 400; }
.bookmark-range.shared-sent { border: 3px solid #dc7a08 !important; background: #f2faf4; box-shadow: 0 0 0 1px #f0a3384a,0 5px 14px #9a580b26; }
.bookmark-range.shared-received { border: 4px solid #3278c7 !important; background: #eef6ff; box-shadow: 0 0 0 2px #65a4e653,0 5px 14px #245f9e2b; }
.bookmark-range.shared-highlight { background: #ddf5e5; }
.bookmark-range.shared-sent.shared-highlight { box-shadow: 0 0 0 3px #ef9c2e66,0 6px 16px #9a580b40; }
.bookmark-range.shared-received.shared-highlight { box-shadow: 0 0 0 3px #65a4e66b,0 6px 16px #245f9e40; }
.bookmark-range-shared-icon { display: grid; place-items: center; color: #2768ad; font-size: 1.2rem; font-weight: 800; }
.bookmark-range.shared-received .bookmark-range-sharing { background: #dbeeff; color: #205d9c; }
.bookmark-category.shared-label { color: #205d9c; }
@media (min-width: 1025px) {
  body:not(.native-android) .composer { width: min(calc(100% - 2rem), 780px); }
  body.user-enrico-wide:not(.native-android) main { width: 100%; max-width: none; }
  body.user-enrico-wide:not(.native-android).discussion-bookmarks main { width: 100%; max-width: none; }
  body.user-enrico-wide:not(.native-android) .event:not(.user) { width: min(92%, 1200px); }
  body:not(.native-android) #mygip-link {
    min-width: 6.4rem; min-height: 2.25rem; padding: .38rem .85rem;
  }
  body:not(.native-android) #mygip-link .mygip-logo {
    max-width: 5.2rem; transform: scale(1.08);
  }
  .composer .scroll-bottom {
    left: calc(100% + .8rem); right: auto; top: 50%; bottom: auto;
    transform: translateY(-50%);
  }
  body.discussion-bookmarks main { width: min(100%, 1480px); }
  body.discussion-bookmarks #bookmarks-toggle { display: none; }
  body.discussion-bookmarks .workspace { display: grid; grid-template-columns: 340px minmax(0, 1fr); gap: 1rem; }
  body.discussion-bookmarks .workspace > .transcript { grid-column: 2; }
  body.discussion-bookmarks .bookmarks-panel {
    display: flex; position: fixed; z-index: 18;
    left: max(1.5rem, calc((100vw - 1480px) / 2 + 1.5rem));
    top: calc(var(--top-shell-height, 7rem) + .5rem) !important;
    width: 340px; height: calc(100dvh - var(--top-shell-height, 7rem) - 1rem);
    max-height: calc(100dvh - var(--top-shell-height, 7rem) - 1rem);
    flex-direction: column; overflow: hidden; transform: none !important;
    align-self: start; box-shadow: none;
  }
  body.user-enrico-wide:not(.native-android).discussion-bookmarks .bookmarks-panel {
    left: .5rem;
  }
  body.discussion-bookmarks .bookmarks-panel #bookmark-ranges {
    min-height: 0; margin-right: -.35rem; padding-right: .35rem;
    flex: 1 1 auto; overflow-y: auto; overscroll-behavior: contain;
  }
}
@media (max-width: 1140px) {
  .composer { left: 50%; width: calc(100% - 2rem); }
}
@media (max-width: 1024px) {
  body { background: #f5f6f8; }
  button, .button, select, summary { -webkit-tap-highlight-color: transparent; }
  .bookmarks-backdrop { z-index: 59; }
  body.discussion-bookmarks main { width: 100%; }
  body.discussion-bookmarks #bookmarks-toggle { display: inline-flex; }
  body.discussion-bookmarks .workspace { display: block; }
  body.discussion-bookmarks .bookmarks-panel {
    display: none; position: fixed; z-index: 60;
    left: 50%; top: 50%; bottom: auto;
    width: min(1170px, calc(100vw - .25rem)); height: min(98dvh, 1170px); max-height: none;
    padding: 1rem; transform: translate(-50%, -50%); align-self: auto; border-radius: 1.35rem;
    box-shadow: 0 18px 60px #0004;
  }
  body.discussion-bookmarks .bookmarks-panel.is-open { display: block; }
  .bookmarks-close { display: inline-grid; place-items: center; }
  .bookmarks-heading { cursor: grab; touch-action: none; user-select: none; }
  .bookmarks-panel.is-dragging .bookmarks-heading { cursor: grabbing; }
  body.discussion-drawer-open .bookmarks-resize { position: fixed; z-index: 61; display: grid; width: 3rem; height: 3rem; padding: 0; place-items: center; border: 2px solid #8f969f; background: #fff; box-shadow: 0 4px 14px #0003; font-size: 1.35rem; touch-action: none; cursor: nwse-resize; }
  body.discussion-drawer-open .bookmarks-resize.is-resizing { background: #eef6ff; color: #174ea6; }
  body.discussion-drawer-open { overflow: hidden; }
  header { margin-inline: -.4rem; padding-inline: .65rem; border-bottom: 1px solid #e7e8eb; background: rgba(255,255,255,.92); }
  .transcript { padding: 2rem 0 6rem; }
  .event:not(.user):not(.system):not(.diff):not(.files):not(.artifact) { padding: .9rem 2.4rem .9rem 1rem; border: 1px solid #e8e9ec; border-radius: 1.2rem; background: #fff; box-shadow: 0 2px 10px #0000000a; }
  .composer { border-color: #d9dce1; background: rgba(255,255,255,.96); backdrop-filter: blur(16px); }
  .composer .voice-presence .voice-cloud { width: 16rem; height: 13.5rem; }
  .composer .voice-presence .voice-orb { width: 13rem; height: 13rem; }
  .composer > .controls { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
  .composer > .controls::-webkit-scrollbar { display: none; }
  .composer-actions { flex: 0 0 auto; margin-left: 0; flex-wrap: nowrap; }
  .voice-session:has(#meeting-panel).is-active,
  .voice-session:has(#live-panel).is-active { top: max(5rem, env(safe-area-inset-top)); right: 1rem; bottom: auto; transform: none; }
  #live-mute, #live-stop, #meeting-mute, #meeting-stop { min-height: 5.5rem; padding: 1.1rem 1.5rem; font-size: 1.35rem; font-weight: 750; }
  #live-stop, #meeting-stop { border-color: #d9a4a4; background: #fff4f4; color: #8b2525; }
  .voice-session .audio-output { width: 5.5rem; min-width: 5.5rem; min-height: 5.5rem; font-size: 2rem; }

  .composer:not(.is-expanded) {
    left: max(.55rem, env(safe-area-inset-left)); right: auto; width: calc(50vw - .825rem); min-width: 0;
    z-index: auto; height: 6rem; padding: .3rem; transform: none; border-radius: 1.5rem; backdrop-filter: none;
  }
  .composer:not(.is-expanded) > :not(.composer-mobile-toggle):not(.composer-mobile-user):not(.composer-mobile-elena):not(.composer-mobile-voice):not(.notice-indicator-mobile):not(.voice-presence):not(.scroll-bottom) { display: none !important; }
  .composer:not(.is-expanded) .composer-mobile-toggle {
    display: inline-flex; width: 100%; height: 100%; min-height: 0; padding: .7rem .75rem;
    align-items: center; justify-content: center; gap: .45rem; text-align: center;
    border-color: #cfd4dc; background: #fff; font-size: 1.08rem; font-weight: 750; line-height: 1.15;
  }
  .composer:not(.is-expanded) .composer-mobile-voice {
    position: fixed; right: max(.55rem, env(safe-area-inset-right)); bottom: max(.45rem, env(safe-area-inset-bottom));
    z-index: 51; display: inline-flex; width: calc(50vw - .825rem); height: 6rem; min-height: 6rem;
    padding: .7rem .75rem; align-items: center; justify-content: center; gap: .45rem; text-align: center;
    border-color: #8bbba0; background: #effaf3; color: #17663b; box-shadow: 0 8px 28px #0002;
    border-radius: 1.5rem; font-size: 1.08rem; font-weight: 750; line-height: 1.15;
  }
  .composer:not(.is-expanded) .scroll-bottom {
    position: fixed; z-index: 52;
    right: calc(25vw - 2.125rem); top: auto;
    bottom: max(10rem, calc(env(safe-area-inset-bottom) + 10rem));
    width: 4.25rem; height: 4.25rem; transform: none;
    border-width: 2px; box-shadow: 0 6px 18px #0003; font-size: 2.1rem;
  }
  .composer:not(.is-expanded) .voice-presence {
    position: fixed; z-index: 2147483647; left: 50%; top: auto; bottom: max(6.6rem, calc(env(safe-area-inset-bottom) + 6.6rem));
    transform: translateX(-50%);
  }
  .composer.is-expanded .composer-mobile-toggle {
    position: absolute; left: .45rem; top: -3.15rem; display: grid; width: 2.75rem; height: 2.75rem;
    padding: 0; place-items: center; border-color: #cfd4dc; background: #fff; box-shadow: 0 4px 14px #0002;
    font-size: 1.35rem; font-weight: 800;
  }
  .composer.is-expanded .composer-mobile-toggle span { display: none; }
  .composer.is-expanded .composer-mobile-user,
  .composer.is-expanded .composer-mobile-elena,
  .composer.is-expanded .composer-mobile-voice { display: none; }

}
@media (min-width: 761px) and (max-width: 1024px) {
  body { font-size: 19px; }
  main { padding: 0 1.25rem 8.5rem; }
  header { min-height: 4.5rem; padding-block: .75rem; flex-wrap: wrap; }
  .brand { font-size: 1.12rem; }
  .brand span { font-size: .96rem; }
  .header-state { flex: 1; flex-wrap: wrap; justify-content: flex-end; }
  .manual-recover { min-height: 2.75rem; font-size: .84rem; }
  .resource-management { min-height: 2.75rem; font-size: .84rem; }
  .status { min-height: 2.75rem; padding-block: .55rem; font-size: .82rem; }
  .work-picker { order: 3; width: min(100%, 32rem); flex-wrap: wrap; justify-content: flex-end; }
  .work-picker select,.work-progress { width: min(100%, 32rem); max-width: none; }
  .usage { order: 4; width: 100%; font-size: .72rem; text-align: right; }
  .bookmarks-panel h2 { font-size: 1.25rem; }
  .bookmarks-heading button { width: 2.75rem; height: 2.75rem; }
  .discussion-intro .hint { font-size: .9rem; line-height: 1.45; }
  #discussion-closed-toggle,
  .discussion-category-tools select,
  .discussion-category-tools button,
  .discussion-category-tools .button { min-height: 2.75rem; font-size: .82rem; }
  .bookmark-range { padding-block: .75rem; font-size: .9rem; }
  .bookmark-range-state-line > span { font-size: .75rem; }
  .bookmark-range-actions button { min-height: 2.5rem; font-size: .7rem; }
  .event { width: min(92%, 820px); font-size: 1.15rem; line-height: 1.58; }
  .event.commentary { font-size: 1.08rem; }
  .event.diff { width: 100%; font-size: .98rem; line-height: 1.55; }
  .meta { font-size: .8rem; }
  .composer { bottom: .8rem; width: calc(100% - 2rem); padding: .5rem .6rem; border-radius: 1.2rem; }
  .composer textarea { min-height: 2.55rem; padding: .5rem .65rem; font-size: 1rem; }
  .composer button, .composer .button { min-height: 2.4rem; padding-block: .4rem; font-size: .78rem; }
  .composer > .controls { gap: .3rem; }
  .composer-actions { display: flex; gap: .3rem; }
  .active-discussion { font-size: .82rem; }
  .scroll-bottom { left: auto; right: .25rem; top: -3rem; transform: none; }
  .voice-session:has(#meeting-panel).is-active { right: 1.25rem; width: min(520px, calc(100vw - 2.5rem)); font-size: 1rem; }
  .meeting-heading { font-size: 1.08rem; }
  #meeting-status, #live-status, .meeting-partial, .voice-session .hint { font-size: .9rem; }
  .live-transcript { font-size: 1rem; }
  dialog { font-size: 1rem; }
}
@media (max-width: 760px) {
  body { font-size: 17px; }
  main { padding: 0 max(.65rem, env(safe-area-inset-right)) 8.6rem max(.65rem, env(safe-area-inset-left)); }
  header { min-height: 4.35rem; padding: max(.7rem, env(safe-area-inset-top)) .1rem .65rem; align-items: center; gap: .55rem; }
  .brand { gap: .5rem; font-size: 1.05rem; }
  .brand span { padding-left: .5rem; font-size: .9rem; }
  .header-state { min-width: 0; flex: 1; flex-direction: row; flex-wrap: wrap; justify-content: flex-end; gap: .28rem; }
  .manual-recover { min-height: 2.75rem; padding: .45rem .7rem; font-size: .8rem; }
  .resource-management { min-height: 2.75rem; padding: .45rem .7rem; font-size: .8rem; }
  .header-state:has(#manual-recover-session:not([hidden])) {
    display: grid; grid-template-columns: auto auto; justify-content: end; align-items: stretch;
  }
  .header-state:has(#manual-recover-session:not([hidden])) #bookmarks-toggle,
  .header-state:has(#manual-recover-session:not([hidden])) #manual-recover-session {
    grid-row: 1; display: inline-flex; height: 2.75rem; min-height: 2.75rem; margin: 0;
    padding-block: 0; align-self: stretch; align-items: center; justify-content: center;
    line-height: 1; vertical-align: middle;
  }
  .header-state:has(#manual-recover-session:not([hidden])) #bookmarks-toggle { grid-column: 1; }
  .header-state:has(#manual-recover-session:not([hidden])) #manual-recover-session { grid-column: 2; }
  .header-state:has(#manual-recover-session:not([hidden])) .status {
    grid-column: 1 / -1; grid-row: 3; max-width: 100%; justify-self: end;
  }
  .header-state:has(#manual-recover-session:not([hidden])) .usage {
    grid-column: 1 / -1; grid-row: 4;
  }
  .work-picker { order: 2; width: 100%; flex: 0 0 100%; flex-wrap: wrap; }
  .work-picker select,.work-progress { width: 100%; max-width: none; }
  .header-state:has(#manual-recover-session:not([hidden])) .work-picker { grid-column: 1 / -1; grid-row: 2; }
  .status { max-width: 58%; padding: .46rem .65rem; overflow: hidden; font-size: .78rem; text-overflow: ellipsis; white-space: nowrap; }
  .status::before { width: .48rem; height: .48rem; margin-right: .32rem; }
  .usage { order: 3; width: 100%; overflow: hidden; font-size: .7rem; text-align: right; text-overflow: ellipsis; white-space: nowrap; }
  .recovery-alert { top: 4.8rem; padding: .8rem .9rem; align-items: flex-start; flex-direction: column; font-size: .9rem; }
  body.discussion-bookmarks .bookmarks-panel { width: calc(100vw - .25rem); height: calc(100dvh - .5rem); top: 50%; bottom: auto; transform: translate(-50%, -50%); }
  .bookmarks-heading { position: sticky; z-index: 2; top: -1rem; margin: -1rem -1rem .25rem; padding: 1rem; background: #fff; }
  .bookmarks-panel h2 { font-size: 1.22rem; }
  .bookmarks-heading button { width: 2.75rem; height: 2.75rem; font-size: 1.45rem; }
  .discussion-intro .hint { font-size: .88rem; line-height: 1.4; }
  #discussion-search { min-height: 2.75rem; font-size: .88rem; }
  #discussion-closed-toggle { min-height: 2.75rem; padding: .5rem .65rem; font-size: .78rem; }
  .discussion-category-tools { grid-template-columns: minmax(0, 1fr) minmax(0, .9fr); }
  #discussion-category-filter { grid-column: 1; grid-row: 2; }
  #discussion-progress-order { grid-column: 2; grid-row: 2; }
  .discussion-shared-filter { grid-column: 1 / -1; grid-row: 1; }
  .discussion-category-tools select,
  .discussion-category-tools button,
  .discussion-category-tools .button { min-height: 2.75rem; font-size: .82rem; }
  #redbooth-dashboard, #mygip-link, #genvoice-link, #famtree-link, #gmail-link, #google-calendar-link, #google-drive-link, #whatsapp-connect, #whatsapp-link,
  #messages-enrico, #messages-antonio { min-height: 3rem; font-size: .86rem; }
  .service-logo { width: 1.35rem; height: 1.35rem; }
  .mygip-logo { width: auto; max-width: 8rem; height: 2.15rem; }
  .bookmark-range { grid-template-columns: 2.35rem minmax(0, 1fr); padding: .75rem .65rem; border-radius: .75rem; font-size: .92rem; }
  .bookmark-range-state-line, .bookmark-range-title, .bookmark-range-sharing, .bookmark-range-actions { grid-column: 2; }
  .bookmark-range-state-line > span { font-size: .76rem; }
  .bookmark-range-title { font-size: .98rem; line-height: 1.4; }
  .bookmark-range-actions { gap: .28rem; margin-top: .4rem; flex-wrap: wrap; }
  .bookmark-range-actions button { min-height: 2.5rem; padding: .42rem .55rem; font-size: .72rem; }
  .bookmark-category { font-size: .78rem; }
  .bookmark-category summary { min-height: 2.5rem; padding: .55rem; }
  .transcript { min-height: calc(100dvh - 7rem); padding: 1rem .1rem 4rem; }
  .event { width: 96%; margin-bottom: 1.9rem; padding-right: 2rem; font-size: 1.08rem; line-height: 1.56; }
  .event.user { max-width: 92%; padding: .82rem 2.45rem .82rem 1rem; border-radius: 1.25rem; }
  .event.commentary { font-size: 1rem; line-height: 1.52; }
  .event.diff { font-size: .88rem; }
  .meta { margin-bottom: .42rem; font-size: .74rem; }
  .bookmark { right: .2rem; }
  .bookmark-range-drag { left: .3rem; width: 2.55rem; height: 3.4rem; font-size: 1.65rem; }
  .artifact-thumbnail { width: 125px; height: 84px; }
  .composer {
    bottom: max(.45rem, env(safe-area-inset-bottom)); width: calc(100% - 1rem);
    padding: .45rem .5rem; border-radius: 1.1rem; box-shadow: 0 8px 28px #0002;
  }
  .composer.is-file-dragover::after { font-size: 1.05rem; }
  .composer-input-row { gap: .3rem; }
  .composer textarea { min-width: 0; min-height: 2.45rem; padding: .48rem .55rem; font-size: 1rem; resize: none; }
  #message-enrico, #message-antonio { min-height: 2.35rem; padding: .4rem .55rem; font-size: .72rem; }
  #message-enrico .service-logo, #message-antonio .service-logo { width: 1.15rem; height: 1.15rem; }
  .composer > .controls { display: flex; gap: .28rem; flex-wrap: nowrap; overflow-x: auto; }
  .composer > .controls > button, .composer > .controls > .button { min-height: 2.35rem; padding: .38rem .55rem; flex: 0 0 auto; font-size: .74rem; }
  .composer-actions { display: flex; width: auto; margin: 0; gap: .28rem; flex: 0 0 auto; }
  .composer-actions button { min-width: 0; min-height: 2.35rem; padding: .38rem .55rem; overflow: visible; font-size: .72rem; white-space: nowrap; }
  .active-discussion { max-width: 100%; margin-inline: .15rem; padding: .42rem .7rem; font-size: .78rem; }
  .attachments { max-height: 4.5rem; padding: 0 .15rem; overflow-y: auto; }
  .upload-button span { display: none; }
  .notice { right: .65rem; bottom: calc(100% + .3rem); max-width: calc(100% - 1.3rem); padding: .2rem .4rem; border-radius: .35rem; background: #fff; font-size: .74rem; text-align: right; }
  .scroll-bottom { left: auto; right: 3.1rem; top: -2.65rem; width: 2.25rem; height: 2.25rem; transform: none; }
  .notice-indicator { position: absolute; right: .1rem; top: -2.65rem; max-width: 9rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .voice-tools { right: .5rem; top: max(4.8rem, env(safe-area-inset-top)); bottom: auto; max-width: calc(100vw - 1rem); flex-wrap: wrap; justify-content: flex-end; }
  .voice-session:has(#meeting-panel).is-active,
  .voice-session:has(#live-panel).is-active { top: max(4.8rem, env(safe-area-inset-top)); right: .5rem; bottom: auto; width: min(360px, calc(100vw - 1rem)); max-height: calc(100dvh - 5.5rem); padding: .8rem; overflow-y: auto; transform: none; }
  .voice-session.is-active .meeting-heading { cursor: default; }
  .meeting-heading { gap: .65rem; font-size: 1.05rem; }
  #meeting-status, #live-status { font-size: .92rem; }
  .voice-session .hint, .meeting-partial { font-size: .9rem; line-height: 1.45; }
  .live-transcript { max-height: 11rem; font-size: 1rem; }
  .live-transcript p { padding: .75rem; }
  .live-transcript strong { font-size: .8rem; }
  .voice-controls button { min-height: 2.75rem; font-size: .88rem; }
  dialog { width: calc(100vw - 1rem); max-height: calc(100dvh - 1rem); margin: auto; padding: 1rem; border-radius: 1.1rem; font-size: 1rem; }
  dialog:has(#viewer-body[data-panel="message-companion"]), dialog:has(#viewer-body[data-panel="messages-companion"]) { width: calc(100vw - 1rem); }
  .close { width: 2.75rem; height: 2.75rem; }
  .messages-enrico-card { width: 94%; padding: .85rem 1rem; font-size: .96rem; }
  .messages-enrico-heading { align-items: flex-start; }
  .messages-enrico-heading h2 { font-size: 1.3rem; }
  .messages-enrico-meta { font-size: .74rem; }
  #viewer-body[data-panel="discussion"] { grid-template-rows: auto auto minmax(0, 1fr); }
  .bookmark-discussion-heading { min-height: 0; padding-right: 2.8rem; }
  .bookmark-discussion-heading > .bookmark-discussion-actions {
    position: static; max-width: none; margin-top: .45rem; justify-content: flex-start;
  }
  .bookmark-discussion-actions { flex-wrap: wrap; }
  .bookmark-discussion-tabs {
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .35rem; margin: .45rem 0;
  }
  .bookmark-discussion-tabs button.is-active {
    border-color: #27854e; background: #dff3e6; color: #145b32; font-weight: 800;
  }
  .bookmark-discussion-columns { display: block; height: 100%; min-height: 0; }
  .bookmark-discussion-column { display: none; height: 100%; overflow-y: auto; }
  .bookmark-discussion-column.is-mobile-active { display: block; }
  .bookmark-discussion-users { border-left: 0; }
  .bookmark-discussion-column { padding: .7rem; }
  .bookmark-discussion-column-title,
  .bookmark-discussion-users .discussion-thread > h3 {
    top: -.7rem; margin: -.7rem -.7rem .7rem; padding: .65rem .7rem;
  }
}
@media (max-width: 390px) {
  #message-enrico, #message-antonio { padding-inline: .45rem; font-size: .72rem; }
  .status { max-width: 52%; }
  .composer-actions button { font-size: .74rem; }
}
@media (max-width: 1024px) {
  body.discussion-bookmarks .bookmarks-panel { font-size: 1.5rem; }
  body.discussion-bookmarks .bookmarks-panel h2 { font-size: 1.85rem; }
  body.discussion-bookmarks .bookmarks-panel .discussion-intro .hint { font-size: 1.32rem; line-height: 1.48; }
  body.discussion-bookmarks .bookmarks-panel #discussion-closed-toggle,
  body.discussion-bookmarks .bookmarks-panel .discussion-category-tools select,
  body.discussion-bookmarks .bookmarks-panel .discussion-category-tools button,
  body.discussion-bookmarks .bookmarks-panel .discussion-category-tools .button { min-height: 3.4rem; font-size: 1.2rem; }
  body.discussion-bookmarks .bookmarks-panel #redbooth-dashboard,
  body.discussion-bookmarks .bookmarks-panel #mygip-link,
  body.discussion-bookmarks .bookmarks-panel #genvoice-link,
  body.discussion-bookmarks .bookmarks-panel #gmail-link,
  body.discussion-bookmarks .bookmarks-panel #google-calendar-link,
  body.discussion-bookmarks .bookmarks-panel #google-drive-link,
  body.discussion-bookmarks .bookmarks-panel #whatsapp-connect,
  body.discussion-bookmarks .bookmarks-panel #whatsapp-link,
  body.discussion-bookmarks .bookmarks-panel #messages-enrico,
  body.discussion-bookmarks .bookmarks-panel #messages-antonio { min-height: 3.7rem; font-size: 1.25rem; }
  body.discussion-bookmarks .bookmarks-panel .bookmark-range { padding-block: 1rem; font-size: 1.38rem; }
  body.discussion-bookmarks .bookmarks-panel .bookmark-range-state-line > span { font-size: 1.12rem; }
  body.discussion-bookmarks .bookmarks-panel .bookmark-range-title { font-size: 1.47rem; line-height: 1.45; }
  body.discussion-bookmarks .bookmarks-panel .bookmark-range-actions button { min-height: 3.25rem; padding: .65rem .8rem; font-size: 1.08rem; }
  body.discussion-bookmarks .bookmarks-panel .bookmark-category { font-size: 1.17rem; }
  body.discussion-bookmarks .bookmarks-panel .bookmark-category summary { min-height: 3.25rem; padding: .75rem; }
}
@media (max-width: 1024px) {
  body { font-size: 31.5px; }
  main { padding-bottom: 11rem; }
  header { flex-wrap: wrap; align-items: stretch; }
  .brand { width: 100%; justify-content: center; }
  .header-state { width: 100%; flex: 0 0 100%; justify-content: center; }
  .brand { font-size: 1.97rem; }
  .brand span { font-size: 1.7rem; }
  .manual-recover { font-size: 1.5rem; }
  .status { font-size: 1.47rem; }
  .work-picker { width: min(100%, 34rem); }
  .work-picker select,.work-progress { width: 100%; height: 2.8rem; font-size: 1.12rem; }
  .work-progress-value { font-size: 1.05rem; }
  .usage { font-size: 1.32rem; }
  .event { font-size: 2.03rem; }
  .event.commentary { font-size: 1.88rem; }
  .event.diff { font-size: 1.65rem; }
  .meta { font-size: 1.4rem; }
  .composer textarea { font-size: 1.88rem; }
  .composer > .controls > button,
  .composer > .controls > .button,
  .composer-actions button { font-size: 1.4rem; }
  .composer:not(.is-expanded) .composer-mobile-toggle,
  .composer:not(.is-expanded) .composer-mobile-voice { font-size: 2.03rem; }
  .composer:not(.is-expanded) { height: 9rem; }
  .composer:not(.is-expanded) .composer-mobile-voice { height: 9rem; min-height: 9rem; }
  .composer:not(.is-expanded) .voice-presence {
    bottom: max(9.6rem, calc(env(safe-area-inset-bottom) + 9.6rem));
  }
  .active-discussion { font-size: 1.47rem; }
  .notice { font-size: 1.4rem; }
  .meeting-heading { font-size: 1.97rem; }
  #meeting-status, #live-status { font-size: 1.73rem; }
  .voice-session .hint, .meeting-partial { font-size: 1.7rem; }
  #live-mute, #live-stop, #meeting-mute, #meeting-stop { font-size: 2.03rem; }
  .live-transcript { font-size: 1.88rem; }
  .live-transcript strong { font-size: 1.5rem; }
  dialog { font-size: 1.88rem; }
  .bookmarks-heading .bookmarks-heading-actions button {
    width: 4.125rem; height: 4.125rem; min-height: 4.125rem;
    padding: 0; font-size: 2.18rem; line-height: 1;
  }
  .bookmarks-heading { grid-template-columns: minmax(0, 1fr) auto; }
  .bookmarks-heading h2 {
    min-width: 0; overflow: hidden; font-size: 2.35rem !important;
    text-overflow: ellipsis; white-space: nowrap;
  }
  .bookmarks-heading-actions { flex: 0 0 auto; }
  body.discussion-bookmarks .bookmarks-panel h2 { font-size: 3.47rem; }
  body.discussion-bookmarks .bookmarks-panel .discussion-intro {
    display: flex; flex-wrap: wrap; align-items: center;
  }
  body.discussion-bookmarks .bookmarks-panel .discussion-intro .hint {
    flex: 1 0 100%; width: 100%;
  }
  body.discussion-bookmarks .bookmarks-panel #discussion-closed-toggle {
    margin-left: auto;
  }
  body.discussion-bookmarks .bookmarks-panel .discussion-intro .hint { font-size: 2.48rem; }
  body.discussion-bookmarks .bookmarks-panel #discussion-closed-toggle,
  body.discussion-bookmarks .bookmarks-panel .discussion-category-tools select,
  body.discussion-bookmarks .bookmarks-panel .discussion-category-tools button,
  body.discussion-bookmarks .bookmarks-panel .discussion-category-tools .button { font-size: 2.25rem; }
  body.discussion-bookmarks .bookmarks-panel #redbooth-dashboard,
  body.discussion-bookmarks .bookmarks-panel #mygip-link,
  body.discussion-bookmarks .bookmarks-panel #genvoice-link,
  body.discussion-bookmarks .bookmarks-panel #gmail-link,
  body.discussion-bookmarks .bookmarks-panel #google-calendar-link,
  body.discussion-bookmarks .bookmarks-panel #google-drive-link,
  body.discussion-bookmarks .bookmarks-panel #whatsapp-connect,
  body.discussion-bookmarks .bookmarks-panel #whatsapp-link,
  body.discussion-bookmarks .bookmarks-panel #messages-enrico,
  body.discussion-bookmarks .bookmarks-panel #messages-antonio { font-size: 2.34rem; }
  body.discussion-bookmarks .bookmarks-panel .bookmark-range { font-size: 2.6rem; }
  body.discussion-bookmarks .bookmarks-panel .bookmark-range-state-line > span { font-size: 2.1rem; }
  body.discussion-bookmarks .bookmarks-panel .bookmark-range-title { font-size: 2.76rem; }
  body.discussion-bookmarks .bookmarks-panel .bookmark-range-actions button { font-size: 2.03rem; }
  body.discussion-bookmarks .bookmarks-panel .bookmark-category { font-size: 2.19rem; }
}
@media (max-width: 1024px) {
  body.landing-page:not(.native-android) { font-size: 16px; }
  body.native-android { font-size: 15.75px; }
  body.native-android .top-shell { position: sticky; top: 0; }
  body.native-android .services-main {
    display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .22rem; align-items: stretch; overflow: visible;
  }
  body.native-android .services-toolbar { gap: .2rem; padding-bottom: .38rem; }
  body.native-android .services-main > button,
  body.native-android .services-main > .button,
  body.native-android .service-stack > button,
  body.native-android .service-stack > .button,
  body.native-android .service-google-links > .button {
    position: relative; width: 100%; min-width: 0; min-height: 3.05rem;
    padding: .28rem .16rem; flex-direction: column; gap: .15rem;
    border-radius: .78rem; font-size: .52rem; line-height: 1.08; white-space: normal;
  }
  body.native-android .service-stack { width: 100%; min-width: 0; align-self: stretch; }
  body.native-android .service-stack-redbooth { grid-column: 1; grid-row: 1; }
  body.native-android #mygip-link { grid-column: 2; grid-row: 1; }
  body.native-android #genvoice-link { grid-column: 3; grid-row: 1; }
  body.native-android .service-stack-whatsapp { grid-column: 4; grid-row: 1; }
  body.native-android .service-stack-google,
  body.native-android .service-google-links { display: contents; }
  body.native-android #gmail-link { grid-column: 1; grid-row: 2; }
  body.native-android #google-calendar-link { grid-column: 2; grid-row: 2; }
  body.native-android #google-drive-link { grid-column: 3; grid-row: 2; }
  body.native-android #notices-history { grid-column: 1 / span 2; grid-row: 3; }
  body.native-android #messages-enrico,
  body.native-android #messages-antonio { grid-column: 4; grid-row: 2; }
  body.native-android #famtree-link { grid-column: 4; grid-row: 4; }
  body.native-android #organization-chart {
    grid-column: 3 / span 2; grid-row: 3; min-height: 1.75rem;
    flex-direction: row; border-radius: .65rem;
  }
  body.native-android #google-reconnect { grid-column: 1 / span 3; grid-row: 4; }
  body.native-android .service-connect {
    min-height: 1.15rem !important; padding: .14rem .2rem !important;
    flex-direction: row !important; border-radius: .5rem !important;
    font-size: .43rem !important;
  }
  body.native-android .services-main .service-logo { width: 1rem; height: 1rem; }
  body.native-android .services-main .mygip-logo { max-width: 3.2rem; height: 1.05rem; }
  body.native-android #redbooth-dashboard #redbooth-count,
  body.native-android #redbooth-dashboard #redbooth-new,
  body.native-android .services-main .google-new {
    position: absolute; top: .2rem; right: .2rem; min-width: .95rem; height: .95rem;
    margin: 0; padding: 0 .2rem; font-size: .48rem;
  }
  body.native-android .services-connections {
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); overflow: visible;
  }
  body.native-android .services-connections > .button {
    width: 100%; min-width: 0; min-height: 1.8rem; padding: .28rem .35rem;
    font-size: .58rem; line-height: 1.15; white-space: normal;
  }
  body.native-android.landing-page { min-height: 100dvh; background: #f5f6f8; }
  body.native-android .landing-main {
    width: 100%; min-height: auto; margin: 0 auto;
    padding: max(2.15rem, calc(env(safe-area-inset-top) + 1.4rem)) 1.25rem 1.25rem;
  }
  body.native-android .landing-main h1 {
    margin: .35rem 0 1.2rem; font-size: 1.9rem; line-height: 1.12;
  }
  body.native-android .landing-main p {
    margin: .85rem 0; font-size: 1rem; line-height: 1.5;
  }
  body.native-android .landing-main input,
  body.native-android .landing-main button {
    min-height: 2.75rem; font-size: 1rem;
  }
  body.native-android .landing-main input {
    width: 100%; max-width: 24rem; padding: .55rem .7rem;
  }
  body.native-android .composer:not(.is-expanded) {
    bottom: max(.85rem, calc(env(safe-area-inset-bottom) + .4rem));
    padding: 0; border: 0; background: transparent; box-shadow: none;
  }
  body.native-android .composer:not(.is-expanded) .composer-mobile-voice {
    bottom: max(.85rem, calc(env(safe-area-inset-bottom) + .4rem));
  }
  body.native-android .composer:not(.is-expanded) .composer-mobile-elena {
    position: fixed; z-index: 51;
    right: max(.55rem, env(safe-area-inset-right));
    bottom: max(5.7rem, calc(env(safe-area-inset-bottom) + 5.25rem));
    display: inline-flex; width: calc(50vw - .825rem); height: 4.5rem; min-height: 4.5rem;
    padding: .7rem .75rem; align-items: center; justify-content: center; gap: .45rem;
    border-color: #d3a1b3; border-radius: 1.5rem; background: #fff2f6; color: #7a2443;
    box-shadow: 0 8px 28px #0002; font-size: .9rem; font-weight: 750;
    line-height: 1.15; text-align: center; white-space: nowrap;
  }
  body.native-android .composer:not(.is-expanded) .composer-mobile-user {
    position: fixed; z-index: 51;
    left: max(.55rem, env(safe-area-inset-left)); right: auto;
    bottom: max(5.7rem, calc(env(safe-area-inset-bottom) + 5.25rem));
    display: inline-flex; width: calc(50vw - .825rem); height: 4.5rem; min-height: 4.5rem;
    padding: .7rem .75rem; align-items: center; justify-content: center; gap: .45rem;
    border-color: #94aad2; border-radius: 1.5rem; background: #eff4ff; color: #294d89;
    box-shadow: 0 8px 28px #0002; font-size: .9rem; font-weight: 750;
    line-height: 1.15; text-align: center; white-space: nowrap;
  }
  body.native-android .composer:not(.is-expanded) .composer-mobile-toggle {
    height: 4.5rem; min-height: 4.5rem; border-radius: 1.5rem;
    box-shadow: 0 8px 28px #0002; font-size: .9rem; white-space: nowrap;
  }
  body.native-android .composer:not(.is-expanded) .composer-mobile-toggle:has(+ .notice-indicator-mobile:not([hidden])) {
    padding-right: 5.75rem;
  }
  body.native-android .composer:not(.is-expanded) .notice-indicator-mobile:not([hidden]) {
    position: absolute; z-index: 53; top: 50%; right: .3rem; bottom: auto;
    display: inline-flex !important; width: 5.25rem; min-width: 5.25rem; max-width: 5.25rem;
    height: 3rem; min-height: 3rem; margin: 0; padding: .3rem .38rem;
    overflow: hidden; flex-direction: row; gap: .24rem;
    border-width: 1px; border-radius: 1.2rem; font-size: .62rem;
    line-height: 1; text-align: center; white-space: nowrap;
    transform: translateY(-50%);
  }
  body.native-android .composer:not(.is-expanded) .notice-indicator-mobile .notice-indicator-icon {
    min-width: 0; font-size: 1.08rem;
  }
  body.native-android .composer.is-expanded .notice-indicator-mobile { display: none !important; }
  body.native-android .composer.is-expanded #notice-indicator:not([hidden]) {
    position: static; display: inline-flex; max-width: 8rem; min-height: 2.35rem;
    margin: 0; padding: .38rem .65rem; align-self: center;
    overflow: hidden; gap: .3rem; flex: 0 0 auto;
    border-radius: 999px; font-size: .68rem; line-height: 1;
    text-overflow: ellipsis; white-space: nowrap;
  }
  body.native-android .composer.is-expanded #notice-indicator .notice-indicator-icon {
    min-width: 0; font-size: 1.2rem;
  }
  body.native-android .composer:not(.is-expanded) .composer-mobile-toggle span {
    min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  }
  body.native-android .composer.is-expanded {
    bottom: max(.45rem, env(safe-area-inset-bottom)); width: calc(100% - 1rem);
    padding: .45rem .5rem; border-radius: 1rem;
  }
  body.native-android.discussion-bookmarks .bookmarks-panel {
    top: 50%; width: calc(100vw - .75rem); height: 50dvh;
    max-width: calc(100vw - .5rem); max-height: calc(100dvh - .5rem);
    box-sizing: border-box; overscroll-behavior: contain;
    min-height: min(360px, calc(100dvh - .75rem));
    transform: translate(-50%, -50%);
    transition: border-color .16s ease, outline-color .16s ease, box-shadow .16s ease;
  }
  body.native-android.discussion-bookmarks .bookmarks-panel.is-dragging {
    border-color: #2d9255;
    outline: 3px solid #43ad6c80;
    outline-offset: 1px;
    box-shadow: 0 0 0 7px #43ad6c24, 0 20px 48px #0004;
  }
  body.native-android .brand { font-size: .985rem; }
  body.native-android .brand span { font-size: .85rem; }
  body.native-android .manual-recover {
    min-height: 2.65rem; padding: .48rem .78rem; border-radius: .8rem;
    font-size: .82rem; font-weight: 800; letter-spacing: -.01em;
    box-shadow: 0 3px 10px #173b2720;
  }
  body.native-android #bookmarks-toggle {
    border-color: #8fb6de; background: #edf5ff; color: #174f86;
  }
  body.native-android #bookmarks-toggle::before { content: '☰'; margin-right: .35rem; font-size: .9rem; }
  body.native-android #bookmarks-toggle[aria-expanded="true"] {
    border-color: #3577b8; background: #dcecff; box-shadow: 0 0 0 3px #3577b826;
  }
  body.native-android #manual-recover-session {
    border-color: #80bf94; background: #e8f6ec; color: #185f35;
  }
  body.native-android #manual-recover-session::before { content: '＋'; margin-right: .25rem; font-size: .95rem; }
  body.native-android #bookmarks-toggle:hover,
  body.native-android #manual-recover-session:hover { filter: brightness(.97); }
  body.native-android .header-state:has(#manual-recover-session:not([hidden])) .status { grid-row: 2; }
  body.native-android .header-state:has(#manual-recover-session:not([hidden])) .usage { grid-row: 3; }
  body.native-android .work-picker { display: none !important; }
  body.native-android .status { font-size: .735rem; }
  body.native-android .usage { font-size: .66rem; }
  body.native-android .event { font-size: 1.015rem; }
  body.native-android .event.commentary { font-size: .94rem; }
  body.native-android .event.diff { font-size: .825rem; }
  body.native-android .meta { font-size: .7rem; }
  body.native-android .composer textarea { font-size: .84rem; }
  body.native-android .composer > .controls > button,
  body.native-android .composer > .controls > .button,
  body.native-android .composer-actions button { font-size: .66rem; }
  body.native-android .composer:not(.is-expanded) { height: 4.5rem; }
  body.native-android .composer:not(.is-expanded) .composer-mobile-toggle,
  body.native-android .composer:not(.is-expanded) .composer-mobile-voice {
    height: 4.5rem; min-height: 4.5rem; font-size: .9rem; white-space: nowrap;
  }
  body.native-android .composer:not(.is-expanded) .composer-mobile-voice span {
    min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  }
  body.native-android .composer:not(.is-expanded) .voice-presence {
    bottom: max(5.2rem, calc(env(safe-area-inset-bottom) + 5.2rem));
  }
  body.native-android .composer .voice-presence .voice-cloud {
    width: 9.6rem; height: 8.1rem;
  }
  body.native-android .composer .voice-presence .voice-orb {
    width: 7.8rem; height: 7.8rem;
  }
  body.native-android .composer .scroll-bottom {
    z-index: 52; left: 50%; right: auto; transform: translateX(-50%);
    width: 2.125rem; height: 2.125rem; border-color: #8bbba0; background: #effaf3;
    color: #17663b; box-shadow: 0 3px 10px #0002; font-size: 1.15rem; font-weight: 800;
  }
  body.native-android .composer:not(.is-expanded) .scroll-bottom {
    position: fixed; top: auto;
    bottom: max(10.65rem, calc(env(safe-area-inset-bottom) + 10.65rem));
  }
  body.native-android .composer.is-expanded .scroll-bottom {
    position: absolute; top: -3.3rem; bottom: auto;
  }
  body.native-android .active-discussion { font-size: .735rem; }
  body.native-android .notice { font-size: .7rem; }
  body.native-android .meeting-heading { font-size: .985rem; }
  body.native-android .voice-session.is-active .meeting-heading {
    display: grid; grid-template-columns: minmax(0, 1fr) 10.5rem; flex-wrap: nowrap;
    min-height: 2.25rem; gap: .4rem; align-items: center;
    cursor: default !important; touch-action: auto;
  }
  body.native-android .native-adjustable-popup {
    box-sizing: border-box;
    transition: border-color .16s ease, box-shadow .16s ease;
  }
  body.native-android dialog.native-adjustable-popup,
  body.native-android .app-update-welcome.native-adjustable-popup { padding-top: 1.35rem; overflow: auto; }
  body.native-android .popup-drag-handle {
    position: absolute; z-index: 12; left: 50%; top: 0; width: 7rem; height: 2.15rem;
    display: grid; padding: 0; place-items: center; transform: translateX(-50%); border: 0; background: transparent;
    box-shadow: none; touch-action: none; cursor: grab;
  }
  body.native-android .popup-drag-handle::after {
    content: ''; display: block; width: 3.5rem; height: .42rem; margin: auto;
    border: 1px solid #718379; border-radius: 999px; background: #8da096;
    box-shadow: 0 1px 4px #0002;
  }
  body.native-android .popup-drag-handle:hover { background: transparent; }
  body.native-android .popup-resize-handle {
    position: absolute; z-index: 13; right: .18rem; bottom: .18rem;
    display: grid; width: 2.15rem; height: 2.15rem; padding: 0; place-items: center;
    border: 1px solid #9faaa3; border-radius: .65rem; background: #f4f7f5e8;
    color: #315d3e; box-shadow: 0 2px 8px #0002; font-size: 1rem;
    line-height: 1; touch-action: none; cursor: nwse-resize;
  }
  body.native-android .popup-resize-handle[hidden] { display: none !important; }
  body.native-android .popup-existing-drag-handle { touch-action: none; cursor: grab !important; }
  body.native-android .voice-session.is-active .meeting-heading.popup-existing-drag-handle {
    cursor: grab !important; touch-action: none;
  }
  body.native-android .native-adjustable-popup.is-dragging .popup-drag-handle,
  body.native-android .native-adjustable-popup.is-dragging .popup-existing-drag-handle { cursor: grabbing !important; }
  body.native-android .native-adjustable-popup.is-dragging {
    border-color: #2d9255 !important;
    outline: 3px solid #43ad6c80;
    outline-offset: 1px;
    box-shadow: 0 0 0 7px #43ad6c24, 0 20px 48px #0004 !important;
  }
  body.native-android .native-adjustable-popup.is-dragging .popup-drag-handle::after {
    border-color: #17663b; background: #2d9255;
    box-shadow: 0 0 0 4px #43ad6c35;
  }
  body.native-android .native-adjustable-popup.is-resizing { user-select: none; }
  body.native-android .voice-session.is-active { overflow: auto; }
  body.native-android .app-update-welcome.native-adjustable-popup::before { display: none; }
  body.native-android .voice-state-indicator {
    width: 10.5rem; min-width: 10.5rem; max-width: 10.5rem;
    justify-content: flex-end; gap: .35rem; overflow: hidden; white-space: nowrap;
  }
  body.native-android .voice-session[data-voice-state="assistant"] .voice-listening-wave,
  body.native-android .voice-session[data-voice-state="working"] .voice-listening-wave {
    display: inline-flex;
  }
  body.native-android #meeting-status,
  body.native-android #live-status {
    display: inline-block; width: 8.3rem; min-width: 0; overflow: hidden;
    font-size: .68rem; line-height: 1.15; text-align: right;
    text-overflow: ellipsis; white-space: nowrap;
  }
  body.native-android .voice-session .hint,
  body.native-android .meeting-partial { font-size: .85rem; }
  body.native-android #live-mute,
  body.native-android #live-stop,
  body.native-android #meeting-mute,
  body.native-android #meeting-stop { min-height: 2.75rem; padding: .55rem .75rem; font-size: 1.015rem; }
  body.native-android .voice-session .audio-output { display: none; }
  body.native-android .live-transcript {
    height: 8.5rem; min-height: 8.5rem; max-height: 8.5rem;
    overflow-y: auto; overscroll-behavior: contain; font-size: .94rem;
  }
  body.native-android .live-transcript strong { font-size: .75rem; }
  body.native-android dialog { font-size: .94rem; }
  body.native-android dialog.native-adjustable-popup > .close {
    width: 2.2rem; height: 2.2rem; min-height: 2.2rem; font-size: 1.32rem;
  }
  body.native-android dialog:has(#viewer-body[data-panel="organization"]) {
    padding-top: 2.35rem; overflow: hidden;
  }
  body.native-android dialog:has(#viewer-body[data-panel="organization"]) > .popup-drag-handle {
    top: .12rem; width: 9rem; height: 2.2rem; border-radius: .75rem;
    background: #edf5f0;
  }
  body.native-android dialog:has(#viewer-body[data-panel="organization"]) > .popup-drag-handle::after {
    width: 4.7rem; height: .5rem; border-color: #476c57; background: #5d806b;
    box-shadow: 0 1px 5px #0003;
  }
  body.native-android #viewer-body[data-panel="organization"] {
    height: 100%; min-height: 0; overflow-y: auto; overscroll-behavior: contain;
  }
  body.native-android #viewer-body[data-panel="organization"] .organization-popup-heading {
    top: 0; padding-top: .25rem;
  }
  body.native-android #viewer-body[data-panel="organization"] .organization-popup-close {
    width: 2.65rem; height: 2.65rem; min-height: 2.65rem; font-size: 1.75rem;
  }
  body.native-android dialog:has(#viewer-body[data-panel="discussion"]) {
    width: calc(100vw - .4rem); height: calc(100dvh - .4rem); max-height: calc(100dvh - .4rem);
    padding: 2.35rem .5rem .5rem; border-radius: .77rem;
  }
  body.native-android dialog:has(#viewer-body[data-panel="discussion"]) > .popup-drag-handle {
    top: .12rem; width: 9rem; height: 2.2rem; border-radius: .75rem;
    background: #edf5f0;
  }
  body.native-android dialog:has(#viewer-body[data-panel="discussion"]) > .popup-drag-handle::after {
    width: 4.7rem; height: .5rem; border-color: #476c57; background: #5d806b;
    box-shadow: 0 1px 5px #0003;
  }
  body.native-android #viewer-body[data-panel="discussion"] {
    font-size: .72rem; grid-template-rows: auto auto minmax(0, 1fr);
  }
  body.native-android #viewer-body[data-panel="discussion"] .bookmark-discussion-tabs {
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .3rem; margin: .35rem 0 .45rem;
  }
  body.native-android #viewer-body[data-panel="discussion"] .bookmark-discussion-tabs button {
    min-height: 2rem; padding: .35rem .45rem; border-color: #cbd5ce;
    border-radius: .65rem; background: #f5f7f5; color: #405047; font-size: .7rem;
  }
  body.native-android #viewer-body[data-panel="discussion"] .bookmark-discussion-tabs button.is-active {
    border-color: #27854e; background: #dff3e6; color: #145b32; font-weight: 800;
    box-shadow: inset 0 -2px #27854e;
  }
  body.native-android #viewer-body[data-panel="discussion"] .bookmark-discussion-columns {
    display: block; height: 100%; min-height: 0; overflow: hidden; border-radius: .65rem;
  }
  body.native-android #viewer-body[data-panel="discussion"] .bookmark-discussion-column {
    display: none; width: 100%; height: 100%; padding: .6rem; overflow-y: auto;
  }
  body.native-android #viewer-body[data-panel="discussion"] .bookmark-discussion-column.is-mobile-active { display: block; }
  body.native-android #viewer-body[data-panel="discussion"] .bookmark-discussion-users { border-left: 0; }
  body.native-android #viewer-body[data-panel="discussion"] .bookmark-discussion-heading h2 { font-size: 1.05rem; }
  body.native-android #viewer-body[data-panel="discussion"] .bookmark-discussion-heading p,
  body.native-android #viewer-body[data-panel="discussion"] .bookmark-discussion-segment > small,
  body.native-android #viewer-body[data-panel="discussion"] .discussion-thread-message small { font-size: .58rem; }
  body.native-android #viewer-body[data-panel="discussion"] .bookmark-discussion-segment > h3,
  body.native-android #viewer-body[data-panel="discussion"] .discussion-thread h3 { font-size: .7rem; }
  body.native-android #viewer-body[data-panel="discussion"] .event { font-size: .71rem; }
  body.native-android #viewer-body[data-panel="discussion"] .event.commentary { font-size: .66rem; }
  body.native-android #viewer-body[data-panel="discussion"] .event.diff { font-size: .58rem; }
  body.native-android #viewer-body[data-panel="discussion"] .meta { font-size: .49rem; }
  body.native-android #viewer-body[data-panel="discussion"] .discussion-thread-message,
  body.native-android #viewer-body[data-panel="discussion"] .discussion-thread textarea { font-size: .66rem; }
  body.native-android dialog:has(#viewer-body[data-panel="discussion"]) .close {
    width: 1.54rem; height: 1.54rem; min-height: 1.54rem; font-size: .92rem;
  }
  body.native-android #viewer-body[data-panel="discussion"] .bookmark-discussion-heading {
    min-height: 4.7rem; padding: .14rem 1.96rem .35rem 0;
  }
  body.native-android #viewer-body[data-panel="discussion"] .bookmark-discussion-heading > .bookmark-discussion-actions {
    position: static; max-width: none; margin-top: .35rem; justify-content: flex-start;
  }
  body.native-android #viewer-body[data-panel="discussion"] .bookmark-discussion-actions { gap: .35rem; }
  body.native-android #viewer-body[data-panel="discussion"] .bookmark-discussion-actions button {
    padding: .35rem .56rem; font-size: .66rem;
  }
  body.native-android #viewer-body[data-panel="discussion"] .bookmark-discussion-segment { margin: 1.05rem 0 1.75rem; }
  body.native-android #viewer-body[data-panel="discussion"] .bookmark-discussion-events { margin-top: .91rem; }
  body.native-android #viewer-body[data-panel="discussion"] .event { margin-bottom: 1.33rem; padding-right: 1.4rem; }
  body.native-android #viewer-body[data-panel="discussion"] .event.user {
    padding: .574rem 1.715rem .574rem .7rem; border-radius: .875rem;
  }
  body.native-android #viewer-body[data-panel="discussion"] .discussion-thread {
    margin: 1.4rem 0 .35rem; padding-top: .875rem;
  }
  body.native-android #viewer-body[data-panel="discussion"] .discussion-thread-timeline {
    margin: .7rem 0; gap: .455rem;
  }
  body.native-android #viewer-body[data-panel="discussion"] .discussion-thread-message {
    padding: .525rem .63rem; border-radius: .56rem;
  }
  body.native-android #viewer-body[data-panel="discussion"] .discussion-thread textarea {
    margin: .28rem 0 .42rem; padding: .35rem .56rem;
  }
  body.native-android .bookmarks-heading .bookmarks-heading-actions button {
    width: 2rem; height: 2rem; min-height: 2rem; padding: 0;
    font-size: 1.16rem; line-height: 1;
  }
  body.native-android .bookmarks-heading-actions { gap: .45rem; }
  body.native-android .bookmarks-heading h2 { font-size: 1.215rem !important; }
  body.native-android.discussion-bookmarks .bookmarks-panel { padding: .56rem; font-size: .525rem; }
  body.native-android.discussion-bookmarks .bookmarks-panel .bookmarks-heading {
    top: -.56rem; margin: -.56rem -.56rem .175rem; padding: 2.05rem .56rem .56rem;
  }
  body.native-android .bookmarks-panel-drag-handle {
    position: absolute; z-index: 4; left: 50%; top: .08rem;
    display: grid; width: 8rem !important; height: 1.85rem !important;
    min-height: 1.85rem !important; padding: 0 !important; place-items: center;
    transform: translateX(-50%); border: 0; background: transparent;
    box-shadow: none; touch-action: none; cursor: grab;
  }
  body.native-android .bookmarks-panel-drag-handle::after {
    content: ''; display: block; width: 4.25rem; height: .46rem;
    border: 1px solid #718379; border-radius: 999px; background: #8da096;
    box-shadow: 0 1px 4px #0002;
  }
  body.native-android .bookmarks-panel-drag-handle:hover { background: transparent; }
  body.native-android .bookmarks-panel.is-dragging .bookmarks-panel-drag-handle {
    cursor: grabbing;
  }
  body.native-android .bookmarks-panel.is-dragging .bookmarks-panel-drag-handle::after {
    border-color: #17663b; background: #2d9255;
    box-shadow: 0 0 0 4px #43ad6c35;
  }
  body.native-android.discussion-bookmarks .bookmarks-panel .discussion-intro .hint { font-size: .868rem; }
  body.native-android.discussion-bookmarks .bookmarks-panel #discussion-search {
    min-height: 1.925rem; padding: .385rem .49rem; font-size: .616rem;
  }
  body.native-android.discussion-bookmarks .bookmarks-panel #discussion-closed-toggle,
  body.native-android.discussion-bookmarks .bookmarks-panel .discussion-category-tools select,
  body.native-android.discussion-bookmarks .bookmarks-panel .discussion-category-tools button,
  body.native-android.discussion-bookmarks .bookmarks-panel .discussion-category-tools .button {
    min-height: 1.19rem; padding: .35rem .455rem; font-size: .788rem;
  }
  body.native-android.discussion-bookmarks .bookmarks-panel #redbooth-dashboard,
  body.native-android.discussion-bookmarks .bookmarks-panel #mygip-link,
  body.native-android.discussion-bookmarks .bookmarks-panel #genvoice-link,
  body.native-android.discussion-bookmarks .bookmarks-panel #gmail-link,
  body.native-android.discussion-bookmarks .bookmarks-panel #google-calendar-link,
  body.native-android.discussion-bookmarks .bookmarks-panel #google-drive-link,
  body.native-android.discussion-bookmarks .bookmarks-panel #whatsapp-connect,
  body.native-android.discussion-bookmarks .bookmarks-panel #whatsapp-link,
  body.native-android.discussion-bookmarks .bookmarks-panel #messages-enrico,
  body.native-android.discussion-bookmarks .bookmarks-panel #messages-antonio {
    min-height: 1.295rem; padding: .35rem .49rem; font-size: .819rem;
  }
  body.native-android.discussion-bookmarks .bookmarks-panel .service-logo { width: .945rem; height: .945rem; }
  body.native-android.discussion-bookmarks .bookmarks-panel .mygip-logo { max-width: 5.6rem; height: 1.505rem; }
  body.native-android.discussion-bookmarks .bookmarks-panel .bookmark-range {
    grid-template-columns: 1.645rem minmax(0, 1fr); gap: .175rem; margin: .385rem 0;
    padding: .525rem .455rem; border-radius: .525rem; font-size: .91rem;
  }
  body.native-android.discussion-bookmarks .bookmarks-panel .bookmark-range-state-line > span { font-size: .735rem; }
  body.native-android.discussion-bookmarks .bookmarks-panel .bookmark-range-sharing { font-size: .665rem; }
  body.native-android.discussion-bookmarks .bookmarks-panel .bookmark-range-title { font-size: .966rem; }
  body.native-android.discussion-bookmarks .bookmarks-panel .bookmark-range-actions {
    gap: .196rem; margin-top: .28rem;
  }
  body.native-android.discussion-bookmarks .bookmarks-panel .bookmark-range-actions button {
    min-height: 1.75rem; padding: .294rem .385rem; font-size: .71rem;
  }
  body.native-android.discussion-bookmarks .bookmarks-panel .bookmark-range-drag {
    left: .21rem; width: 1.785rem; height: 2.38rem; font-size: 1.155rem;
  }
  body.native-android.discussion-bookmarks .bookmarks-panel .bookmark-category { font-size: .766rem; }
  body.native-android.discussion-bookmarks .bookmarks-panel .bookmark-category summary {
    min-height: 1.75rem; padding: .385rem;
  }
}
