:root{--syn-sidebar:264px;--syn-bg:#f6f7fb;--syn-panel:#fff;--syn-text:#171a22;--syn-muted:#6d7380;--syn-border:#e5e7ee;--syn-primary:#6d4aff;--syn-danger:#c73838;--syn-shadow:0 14px 36px rgba(31,35,48,.10)}
html[data-theme="dark"],body.theme-dark{--syn-bg:#0f1117;--syn-panel:#171a22;--syn-text:#f4f5f8;--syn-muted:#a9afbb;--syn-border:#2b303b;--syn-shadow:0 18px 42px rgba(0,0,0,.32)}
@media(prefers-color-scheme:dark){html[data-theme="system"]{--syn-bg:#0f1117;--syn-panel:#171a22;--syn-text:#f4f5f8;--syn-muted:#a9afbb;--syn-border:#2b303b;--syn-shadow:0 18px 42px rgba(0,0,0,.32)}}
body.syn-authenticated{background:var(--syn-bg);color:var(--syn-text)}
.skip-link{position:fixed;left:12px;top:-60px;z-index:9999;background:var(--syn-panel);padding:10px 14px;border-radius:10px}.skip-link:focus{top:12px}
.syn-icon{width:20px;height:20px;display:inline-block;fill:currentColor;vertical-align:middle;flex:0 0 auto}
.syn-shell{min-height:100vh;display:grid;grid-template-columns:var(--syn-sidebar) minmax(0,1fr)}
.syn-sidebar{position:sticky;top:0;height:100vh;background:var(--syn-panel);border-right:1px solid var(--syn-border);display:flex;flex-direction:column;z-index:40;transition:width .2s ease,transform .2s ease;overflow:hidden}
.syn-sidebar-head{height:70px;display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--syn-border)}
.syn-brand img{height:38px;max-width:180px;object-fit:contain}.syn-icon-btn{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;border:1px solid var(--syn-border);border-radius:12px;background:var(--syn-panel);color:var(--syn-text);text-decoration:none;cursor:pointer;position:relative}.syn-icon-btn:focus-visible,.syn-nav-link:focus-visible,.syn-nav-group-toggle:focus-visible,.syn-command-trigger:focus-visible{outline:3px solid rgba(109,74,255,.35);outline-offset:2px}
.syn-nav{padding:14px 10px;overflow:auto;flex:1}.syn-nav-link,.syn-nav-group-toggle{width:100%;display:flex;align-items:center;gap:11px;min-height:44px;padding:10px 12px;border-radius:12px;border:0;background:transparent;color:var(--syn-text);text-decoration:none;font:inherit;text-align:left;cursor:pointer}.syn-nav-link:hover,.syn-nav-group-toggle:hover,.syn-nav-link.active{background:rgba(109,74,255,.10);color:var(--syn-primary)}.syn-nav-group-toggle .chev{margin-left:auto}.syn-nav-sub{display:none;padding:2px 0 8px 42px}.syn-nav-group.open>.syn-nav-sub{display:grid}.syn-nav-sub a{padding:8px 10px;border-radius:9px;color:var(--syn-muted);text-decoration:none}.syn-nav-sub a:hover{background:rgba(109,74,255,.08);color:var(--syn-primary)}.nav-badge{display:inline-flex;min-width:20px;height:20px;padding:0 6px;align-items:center;justify-content:center;border-radius:99px;background:var(--syn-primary);color:#fff;font-size:.72rem;margin-left:5px}
.syn-sidebar-foot{padding:12px;border-top:1px solid var(--syn-border);display:grid;gap:8px}.syn-session-mini{display:flex;justify-content:space-between;font-size:.78rem;color:var(--syn-muted);padding:0 8px}.syn-button-link{appearance:none}.syn-user-card{display:flex;gap:10px;align-items:center;text-decoration:none;color:var(--syn-text);padding:8px;border-radius:12px}.syn-user-card:hover{background:rgba(109,74,255,.08)}.syn-user-card img,.syn-avatar-fallback{width:38px;height:38px;border-radius:50%;object-fit:cover;display:grid;place-items:center;background:var(--syn-primary);color:#fff}.syn-user-card span span{display:block}.syn-user-card small{display:block;color:var(--syn-muted)}
.syn-workspace{min-width:0}.syn-topbar{height:70px;position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--syn-panel) 94%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid var(--syn-border);display:flex;align-items:center;padding:0 20px;gap:14px}.syn-mobile-menu{display:none}.syn-command-trigger{max-width:560px;flex:1;display:flex;align-items:center;gap:10px;height:44px;padding:0 13px;border:1px solid var(--syn-border);border-radius:12px;background:var(--syn-bg);color:var(--syn-muted);cursor:pointer}.syn-command-trigger span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.syn-command-trigger kbd{margin-left:auto}.syn-top-actions{margin-left:auto;display:flex;gap:8px}.syn-dot{position:absolute;top:-5px;right:-5px;min-width:20px;height:20px;border-radius:99px;background:#e04444;color:#fff;display:grid;place-items:center;font-size:.68rem;padding:0 4px}
.syn-authenticated .page{width:min(1480px,calc(100% - 32px));margin:24px auto 40px}.syn-footer{margin-left:var(--syn-sidebar)}body.sidebar-collapsed{--syn-sidebar:76px}body.sidebar-collapsed .syn-brand img{width:40px;object-position:left}body.sidebar-collapsed .syn-nav-link span,body.sidebar-collapsed .syn-nav-group-toggle span:not(.chev),body.sidebar-collapsed .syn-nav-sub,body.sidebar-collapsed .syn-user-card>span:last-child,body.sidebar-collapsed .syn-session-mini{display:none}body.sidebar-collapsed .syn-nav-link,body.sidebar-collapsed .syn-nav-group-toggle{justify-content:center}
.syn-flash[hidden]{display:none}.syn-modal[hidden],.syn-command[hidden]{display:none}.syn-modal,.syn-command{position:fixed;inset:0;z-index:1000}.syn-modal-backdrop,.syn-command-backdrop{position:absolute;inset:0;background:rgba(12,14,20,.62)}.syn-modal-card{position:relative;width:min(520px,calc(100% - 28px));margin:14vh auto;background:var(--syn-panel);color:var(--syn-text);padding:24px;border-radius:18px;box-shadow:var(--syn-shadow)}.syn-modal-x{position:absolute;right:14px;top:12px;border:0;background:transparent;color:inherit;font-size:1.7rem;cursor:pointer}.syn-command-panel{position:relative;width:min(720px,calc(100% - 28px));margin:10vh auto;background:var(--syn-panel);border:1px solid var(--syn-border);border-radius:18px;box-shadow:var(--syn-shadow);overflow:hidden}.syn-command-search{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--syn-border)}.syn-command-search input{border:0!important;outline:0!important;background:transparent!important;color:var(--syn-text)!important;flex:1;font-size:1rem}.syn-command-results{display:grid;padding:10px}.syn-command-results a,.syn-command-results button{border:0;background:transparent;color:var(--syn-text);padding:12px;border-radius:10px;text-align:left;text-decoration:none;font:inherit;cursor:pointer}.syn-command-results a:hover,.syn-command-results button:hover{background:rgba(109,74,255,.09)}
.syn-table-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0 0 10px}.syn-table-toolbar .grow{flex:1;min-width:180px}.syn-table-toolbar button,.syn-table-toolbar select,.syn-table-toolbar input{min-height:40px}.syn-table-export{display:flex;gap:6px;flex-wrap:wrap}.syn-pager{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 2px;color:var(--syn-muted)}
.syn-empty{padding:32px;text-align:center;color:var(--syn-muted);border:1px dashed var(--syn-border);border-radius:14px}.syn-skeleton{background:linear-gradient(90deg,var(--syn-border),var(--syn-panel),var(--syn-border));background-size:200% 100%;animation:synSkeleton 1.2s infinite;border-radius:8px}@keyframes synSkeleton{to{background-position:-200% 0}}
@media(max-width:920px){.syn-shell{display:block}.syn-sidebar{position:fixed;left:0;transform:translateX(-105%);width:min(310px,88vw);box-shadow:var(--syn-shadow)}body.nav-open .syn-sidebar{transform:translateX(0)}.syn-mobile-menu{display:inline-flex}.syn-collapse{display:none}.syn-authenticated .page{width:min(100% - 20px,900px);margin:16px auto 28px}.syn-footer{margin-left:0}.syn-command-trigger span{display:none}}
@media(max-width:640px){.syn-topbar{padding:0 10px}.syn-top-actions{gap:5px}.syn-icon-btn{min-width:40px}.syn-command-trigger{max-width:52px;flex:0 0 52px}.syn-command-trigger kbd{display:none}.syn-authenticated .table-wrap{overflow:visible}.syn-authenticated table.data-table thead{display:none}.syn-authenticated table.data-table,table.data-table tbody,table.data-table tr,table.data-table td{display:block;width:100%}.syn-authenticated table.data-table tr{margin:0 0 12px;padding:8px;border:1px solid var(--syn-border);border-radius:14px;background:var(--syn-panel)}.syn-authenticated table.data-table td{display:grid;grid-template-columns:minmax(95px,35%) 1fr;gap:8px;border:0!important;padding:7px!important}.syn-authenticated table.data-table td:before{content:attr(data-label);font-weight:700;color:var(--syn-muted)}.syn-table-toolbar{align-items:stretch}.syn-table-toolbar>*{width:100%}.syn-table-export{display:grid;grid-template-columns:repeat(3,1fr)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.chat-layout{display:grid;grid-template-columns:minmax(240px,320px) minmax(0,1fr);gap:16px}.chat-list{max-height:72vh;overflow:auto}.chat-conversation{display:grid;gap:3px;padding:11px;border-radius:11px;text-decoration:none;color:var(--syn-text)}.chat-conversation:hover,.chat-conversation.active{background:rgba(109,74,255,.1)}.chat-conversation small{color:var(--syn-muted)}.chat-panel{display:flex;flex-direction:column;min-height:62vh}.chat-messages{flex:1;overflow:auto;display:flex;flex-direction:column;gap:10px;padding:10px 0}.chat-bubble{align-self:flex-start;max-width:min(78%,680px);padding:10px 12px;border-radius:14px;background:var(--syn-bg);border:1px solid var(--syn-border)}.chat-bubble.mine{align-self:flex-end;background:rgba(109,74,255,.12)}.chat-bubble small{display:block;color:var(--syn-muted);margin-bottom:4px}.form-inline{display:flex;gap:6px;align-items:center}.form-inline input{max-width:150px}.badge-success{background:#e6f7ee!important;color:#176c3b!important}.badge-warning{background:#fff3d6!important;color:#795600!important}.badge-danger{background:#fde8e8!important;color:#9a2626!important}.progress{height:10px;border-radius:99px;background:var(--syn-border);overflow:hidden;margin:0 0 18px}.progress>div{height:100%;background:var(--syn-primary)}
@media(max-width:760px){.chat-layout{grid-template-columns:1fr}.chat-list{max-height:none}.chat-bubble{max-width:92%}}


/* === Minha Família 2.1.1 UX hardening · 2026-08-21 === */
@media(min-width:921px){
  .syn-shell{display:block;min-height:100dvh}
  .syn-sidebar{position:fixed!important;inset:0 auto 0 0!important;width:var(--syn-sidebar)!important;height:100dvh!important;min-height:100dvh!important}
  .syn-workspace{margin-left:var(--syn-sidebar);min-height:100dvh;display:flex;flex-direction:column;transition:margin-left .2s ease}
  .syn-authenticated .page{flex:1;width:min(1480px,calc(100% - 40px));margin:28px auto 42px}
  .syn-footer-auth{margin-left:0!important;width:auto;flex:0 0 auto}
}
.syn-sidebar{box-shadow:8px 0 28px rgba(31,35,48,.035)}
.syn-sidebar-foot{background:var(--syn-panel);padding-bottom:max(14px,env(safe-area-inset-bottom))}
.syn-nav{scrollbar-width:thin;overscroll-behavior:contain}
.syn-lock-screen{min-height:100dvh;background:var(--syn-bg);color:var(--syn-text)}
.syn-lock-bar{justify-content:space-between;border-bottom:1px solid var(--syn-border);background:var(--syn-panel)}
.syn-lock-bar-label{color:var(--syn-muted);font-size:.9rem;font-weight:800}
.syn-lock-screen .page{width:min(560px,calc(100% - 28px));min-height:calc(100dvh - 150px);display:grid;place-items:center;margin:0 auto;padding:24px 0}
.syn-lock-screen .auth-wrap{width:100%;min-height:0!important;padding:0!important}
.syn-lock-screen .auth-card{width:100%;max-width:520px;margin:auto}
.syn-lock-screen .syn-footer{margin:0 auto!important}
.eyebrow{display:inline-flex;margin-bottom:6px;color:var(--syn-primary);font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.form-page-grid{display:grid;grid-template-columns:minmax(0,760px) minmax(260px,360px);gap:20px;align-items:start}
.form-page-card{padding:26px}.form-help-card{position:sticky;top:92px;padding:24px}.form-help-card h2{margin-top:0}.clean-list{display:grid;gap:10px;padding:0;list-style:none}.clean-list li{padding:11px 12px;border:1px solid var(--syn-border);border-radius:12px;background:var(--syn-bg)}
.security-step{display:grid;gap:12px;padding:16px;border:1px solid var(--syn-border);border-radius:16px;background:var(--syn-bg)}.security-step h3,.security-step p{margin:0}.access-actions{display:grid;grid-template-columns:1fr 1fr}.detail-list{display:grid;gap:0;margin:0}.detail-list>div{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--syn-border)}.detail-list>div:last-child{border-bottom:0}.detail-list dt{color:var(--syn-muted)}.detail-list dd{margin:0;font-weight:800}.list-card{padding:20px}
.messages-shell{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:20px;align-items:stretch;min-height:calc(100dvh - 190px)}
.messages-list-card,.messages-panel{padding:0!important;overflow:hidden;min-height:680px}.messages-list-head{padding:20px 20px 14px;border-bottom:1px solid var(--syn-border)}.messages-list-head>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.messages-list-head>div span{display:grid;place-items:center;min-width:28px;height:28px;padding:0 8px;border-radius:999px;background:rgba(109,74,255,.1);color:var(--syn-primary);font-weight:900}.messages-list-head p{margin:6px 0 0}.messages-list-scroll{padding:10px;max-height:calc(100dvh - 270px);overflow:auto}.chat-conversation{display:grid!important;grid-template-columns:42px minmax(0,1fr) 18px!important;align-items:center;gap:11px!important;padding:12px!important;margin-bottom:4px}.chat-avatar{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,#efeaff,#ddd2ff);color:#5b35ee;font-weight:950}.chat-conversation-copy{display:grid;gap:4px;min-width:0}.chat-conversation-copy strong,.chat-conversation-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-arrow{color:var(--syn-muted);font-size:1.45rem}.chat-panel-head{padding:20px 22px;border-bottom:1px solid var(--syn-border);display:flex;align-items:center;justify-content:space-between;gap:16px}.chat-panel-head h2,.chat-panel-head p{margin:0}.chat-panel-head p{margin-top:4px}.messages-panel{display:flex!important;flex-direction:column}.chat-messages{padding:22px!important;gap:12px!important;max-height:calc(100dvh - 390px);min-height:420px;overflow:auto!important;background:color-mix(in srgb,var(--syn-bg) 72%,var(--syn-panel))}.chat-bubble{padding:12px 14px!important;border-radius:16px!important;box-shadow:0 5px 16px rgba(31,35,48,.04)}.chat-bubble.mine{border-color:rgba(109,74,255,.22)!important;background:rgba(109,74,255,.11)!important}.chat-attachment{display:inline-flex;margin-top:8px;font-weight:800}.chat-compose{margin-top:auto;padding:16px 20px 20px;border-top:1px solid var(--syn-border);background:var(--syn-panel)}.chat-compose textarea{width:100%;resize:vertical;min-height:82px}.chat-compose-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}.chat-file-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--syn-border);border-radius:12px;cursor:pointer;font-weight:800}.chat-file-btn input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.messages-empty-state{margin:auto;text-align:center;max-width:430px;padding:44px 26px}.messages-empty-icon{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 16px;border-radius:20px;background:rgba(109,74,255,.1);font-size:1.8rem}.messages-empty-state h2{margin-bottom:6px}.messages-empty-state .btn{margin-top:12px}
.ai-page-head{align-items:center}.ai-runtime-pill{display:grid;grid-template-columns:10px auto;column-gap:9px;align-items:center;min-width:220px;padding:11px 14px;border:1px solid var(--syn-border);border-radius:16px;background:var(--syn-panel)}.ai-runtime-pill>span{grid-row:1/3;width:10px;height:10px;border-radius:50%;background:#d58a1f;box-shadow:0 0 0 5px rgba(213,138,31,.12)}.ai-runtime-pill.is-ready>span{background:#29a66a;box-shadow:0 0 0 5px rgba(41,166,106,.12)}.ai-runtime-pill strong{line-height:1.1}.ai-runtime-pill small{color:var(--syn-muted);margin-top:3px}.ai-workbench{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:20px;align-items:stretch}.ai-prompt-card,.ai-answer-card{min-height:560px;padding:24px}.ai-answer-card{display:flex;flex-direction:column}.ai-suggestions{display:flex;flex-wrap:wrap;gap:8px}.ai-suggestions button{border:1px solid var(--syn-border);background:var(--syn-bg);color:var(--syn-text);border-radius:999px;padding:8px 11px;cursor:pointer;font-weight:800}.ai-suggestions button:hover{border-color:var(--syn-primary);color:var(--syn-primary)}.ai-empty{margin:auto;text-align:center;color:var(--syn-muted)}.ai-empty>span{display:block;font-size:2.2rem;margin-bottom:8px}.ai-empty strong{display:block;color:var(--syn-text);font-size:1.15rem}.ai-answer-content{line-height:1.75;white-space:normal;padding:4px 0}.ai-config-note{margin-top:16px}
.auth-secondary-actions{display:flex;justify-content:flex-start;margin-top:14px;padding-top:14px;border-top:1px solid var(--syn-border)}.auth-secondary-actions .link{font-weight:850}
@media(max-width:1050px){.form-page-grid,.ai-workbench{grid-template-columns:1fr}.form-help-card{position:static}.messages-shell{grid-template-columns:300px minmax(0,1fr)}}
@media(max-width:760px){.messages-shell{grid-template-columns:1fr;min-height:0}.messages-list-card,.messages-panel{min-height:0}.messages-list-scroll{max-height:330px}.chat-messages{max-height:56vh;min-height:340px}.chat-compose-actions{display:grid}.chat-compose-actions .btn,.chat-file-btn{width:100%;justify-content:center}.access-actions{grid-template-columns:1fr}.ai-prompt-card,.ai-answer-card{min-height:0}.ai-runtime-pill{width:100%}.syn-lock-bar-label{display:none}}

.family-list-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.family-list-card{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px;border:1px solid var(--syn-border);border-radius:18px;background:var(--syn-panel);color:var(--syn-text);text-decoration:none;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.family-list-card:hover{transform:translateY(-2px);border-color:rgba(109,74,255,.35);box-shadow:var(--syn-shadow)}.family-list-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:rgba(109,74,255,.1);font-size:1.35rem}.family-list-card strong{display:block}.family-list-card small{display:block;color:var(--syn-muted);margin-top:4px}@media(max-width:760px){.family-list-grid{grid-template-columns:1fr}.family-list-card{grid-template-columns:48px minmax(0,1fr)}.family-list-card>.badge{grid-column:2;justify-self:start}}
