:root{color:#17211b;background:#f4f7f3;font-family:Inter,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}.appShell{grid-template-columns:220px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#eef6ef;background:#1d3a28;flex-direction:column;gap:18px;padding:28px 18px;display:flex}.sidebar .eyebrow{color:#9cc9a6}.brand{font-size:1.15rem}.sidebar nav{flex-direction:column;gap:6px;display:flex}.navLink{color:#eef6ef;border-radius:8px;padding:10px 12px;font-weight:650;text-decoration:none}.navLink:hover,.navLink.active{background:#2f6b45}.sidebarFooter{margin-top:auto}.sidebarFooter button{width:100%}main{width:100%;max-width:1440px;margin:auto;padding:36px 28px}header,.articleTitle,.device{justify-content:space-between;align-items:center;gap:12px;display:flex}header{margin-bottom:14px}.headerActions,.rowActions{flex-wrap:wrap;gap:8px;display:flex}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:#54835d;margin:0;font-size:.75rem}h1{margin:4px 0;font-size:2rem}h2{margin:0 0 16px;font-size:1.1rem}h3{color:#526159;margin:22px 0 9px;font-size:.88rem}button{color:#fff;cursor:pointer;background:#2f6b45;border:0;border-radius:8px;padding:9px 12px;font-weight:650}button:disabled{opacity:.5;cursor:not-allowed}.scopeLabel{color:#bfe0c5;font-size:.8rem}.platformTabs{flex-wrap:wrap;gap:8px;margin:20px 0;display:flex}.adminRow{border-bottom:1px solid #e8ede8;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;display:flex}.adminRow strong,.adminRow small{overflow-wrap:anywhere;display:block}.adminRow small{color:#65736a;margin-top:4px}.adminLink{color:#23452e;background:#e7eee8;border-radius:8px;padding:9px 12px;font-weight:650;text-decoration:none;display:inline-block}.roleRow{align-items:end;gap:8px;display:flex}.roleRow select{flex:1;min-width:0}.policyList{margin-top:12px}.secondary{color:#23452e;background:#e7eee8}.danger{background:#a9453a}.authNote,.notice,.error{border-radius:8px;margin:10px 0;padding:10px 12px}.authNote{color:#294d83;background:#e7edf8}.notice{color:#1c6133;background:#dcefe0}.error{color:#8c2d24;background:#ffe4e0}.bootError{margin:0 28px}.metrics{gap:16px;margin:20px 0;display:flex}.metric{background:#fff;border-radius:14px;min-width:180px;padding:18px;box-shadow:0 2px 12px #263f2c12}.metric span,.metric strong,.alert span,.alert small,.resident small,.device strong,.device small,.audit strong,.audit small,.policies small,.catalogPersona small{display:block}.metric strong{margin-top:5px;font-size:2rem}.alertMetric strong,.alert.open strong{color:#b0392f}.grid{gap:20px;display:grid}.topGrid{grid-template-columns:1.1fr .8fr 1.1fr}.twoCol{grid-template-columns:1fr 1fr}.grid article{background:#fff;border-radius:14px;min-width:0;padding:20px;box-shadow:0 2px 12px #263f2c12}.alert{border-bottom:1px solid #e8ede8;justify-content:space-between;gap:10px;padding:12px 0;display:flex}.alert.acknowledged strong{color:#986800}.alert small,.resident small,.memory small,.device small,.audit small,.catalogPersona small,.activityRow small{color:#65736a;margin-top:4px}a.resident,button.resident{color:#17211b;text-align:left;background:#f1f6f1;width:100%;margin:0 0 8px;text-decoration:none;display:block}.resident.selected{background:#cfe7d4}.resident span{display:block}.device{border-bottom:1px solid #e8ede8;flex-wrap:wrap;align-items:flex-start;padding:12px 0}.device select{max-width:190px}.profileForm,.personaForm{gap:9px;display:grid}.personaFields{border:0;gap:9px;min-width:0;margin:0;padding:0;display:grid}.profileForm{background:#f6f8f6;border-radius:9px;grid-template-columns:repeat(2,minmax(0,1fr));padding:12px}.profileForm h3,.profileForm button{grid-column:1/-1;margin:0}.profileForm button{justify-self:start}label{color:#526159;font-size:.78rem;font-weight:650}input,textarea,select{color:#17211b;width:100%;font:inherit;background:#fff;border:1px solid #cbd7cd;border-radius:7px;margin-top:4px;padding:8px;display:block}textarea{resize:vertical;min-height:64px}.engagement{grid-template-columns:1fr 1fr;gap:8px;display:grid}.engagement span{background:#f1f6f1;border-radius:8px;padding:9px;font-size:.75rem}.engagement strong{font-size:1.25rem;display:block}.consents,.personas,.policies{flex-wrap:wrap;gap:7px;margin-bottom:18px;display:flex}.consents span,.personas span,.policies span{border-radius:9px;padding:6px 8px;font-size:.76rem}.consents button,.personas button,.policies button{margin-left:5px;padding:3px 6px;font-size:.7rem}.personas span{color:#294d83;background:#e7edf8}.granted{color:#1c6133;background:#dcefe0}.denied{color:#92362e;background:#f9dedb}.policies span{background:#f0f2f0;min-width:180px}.policies .activePolicy{background:#dcefe0}.memory,.activityRow{background:#f6f8f6;border-radius:8px;margin:10px 0;padding:12px}.memory p{margin:6px 0}.activityRow{justify-content:space-between;align-items:center;gap:12px;display:flex}.activityRow small{display:block}.score{color:#2f6b45;font-weight:700}.memoryActions,.assignment{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.memoryActions button{padding:6px 9px;font-size:.75rem}.assignment select,.assignment input{flex:1;min-width:130px}.checkbox{white-space:nowrap;align-items:center;gap:4px;display:flex}.checkbox input{width:auto;margin:0}.audit>div,.catalogPersona{border-bottom:1px solid #e8ede8;padding:10px 0}.catalogPersona{align-items:flex-start;gap:14px;display:flex}.catalogPersona>div{min-width:0}.personaPortrait{object-fit:cover;border-radius:50%;flex:0 0 72px;width:72px;height:72px}.personaPortraitFallback{color:#315d3d;background:#dce8dd;justify-content:center;align-items:center;font-size:2rem;font-weight:700;display:flex}.portraitEditor{margin:12px 0}.portraitEditor summary{cursor:pointer;font-weight:650}.portraitPresets{flex-wrap:wrap;gap:10px;margin:12px 0;display:flex}.portraitPreset{color:#23452e;background:#f1f5f1;border:2px solid #0000;justify-items:center;gap:5px;width:104px;padding:6px;display:grid}.portraitPreset.selected{border-color:#2f6b45}.portraitPreset img{object-fit:cover;border-radius:50%;width:84px;height:84px}.portraitPreset span{text-align:center;font-size:.72rem}.portraitUpload{gap:6px;margin:12px 0;display:grid}.registrationCode{letter-spacing:.18em;white-space:nowrap;font-size:1.45rem}.chatSummaries .personaPortrait{flex-basis:48px;width:48px;height:48px}.catalogPersona p{margin:5px 0;font-size:.8rem}.styleTags{border:0;gap:8px;margin:0;padding:0;display:grid}.styleTags legend{color:#526159;font-size:.78rem;font-weight:650}.styleTags label{grid-template-columns:auto 1fr;align-items:start;gap:2px 8px;display:grid}.styleTags input{margin-top:4px}.styleTags small{color:#65736a;grid-column:2;font-weight:450}.link{color:#2f6b45;background:0 0;margin-top:12px;padding:0}.textLink{color:#2f6b45;font-weight:650;text-decoration:none}.empty{color:#65736a}.metaLine{color:#526159;margin:0}.observationList{color:#23452e;margin:0;padding-left:18px}.definitionList{gap:10px;display:grid}.definitionList div{border-bottom:1px solid #e8ede8;justify-content:space-between;gap:12px;padding-bottom:8px;display:flex}.definitionList dt{color:#526159;font-weight:650}.definitionList dd{margin:0}.loginPage{place-items:center;min-height:100vh;padding:24px;display:grid}.loginCard{background:#fff;border-radius:16px;width:100%;max-width:460px;padding:36px;box-shadow:0 8px 32px #263f2c18}.loginCard button{width:100%;margin-top:16px;padding:14px;font-size:1rem}.pairingNote strong{letter-spacing:.08em;font-size:1.2rem}@media (width<=1050px){.appShell{grid-template-columns:1fr}.sidebar{flex-flow:wrap;align-items:center}.sidebar nav{flex-flow:wrap}.sidebarFooter{margin-top:0}.topGrid,.twoCol{grid-template-columns:1fr 1fr}}@media (width<=680px){main{padding:24px 16px}header{flex-direction:column;align-items:flex-start}.topGrid,.twoCol{grid-template-columns:1fr}.metrics{flex-wrap:wrap}.profileForm{grid-template-columns:1fr}.profileForm h3,.profileForm button{grid-column:auto}.device{align-items:stretch}.adminRow,.roleRow{flex-direction:column;align-items:stretch}}
