@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,600;9..144,700&display=swap");:root{--navy:#062746;--blue:#0a4f88;--blue-soft:#e8f2fa;--yellow:#ffcb21;--yellow-deep:#e9ac00;--cream:#f7f8f8;--surface:#ffffff;--line:#d6e0e6;--ink:#1c2935;--muted:#607181;--danger:#aa2424;--shadow:0 18px 45px rgba(6,39,70,0.12)}*{box-sizing:border-box}html{min-height:100%;background:var(--cream)}body{min-height:100vh;margin:0;color:var(--ink);background:radial-gradient(circle at 88% 5%,rgba(255,203,33,.22),transparent 24rem),linear-gradient(180deg,#f9fcff 0,var(--cream) 42rem);font-family:DM Sans,Arial,sans-serif}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}h1,h2,p{margin-top:0}h1,h2{color:var(--navy);font-family:Fraunces,Georgia,serif}h1{margin-bottom:0;font-size:clamp(1.65rem,3vw,2.1rem);line-height:1.05}h2{margin-bottom:.65rem;font-size:1.45rem;line-height:1.15}.auth-page{display:grid;min-height:100vh;place-items:center;padding:1.5rem}.auth-card{width:min(100%,29rem);padding:clamp(1.75rem,5vw,3rem);border:1px solid rgba(214,224,230,.92);border-radius:1.4rem;background:rgba(255,255,255,.94);box-shadow:var(--shadow)}.brand-lockup{display:flex;align-items:center;gap:.85rem}.brand-mark{display:grid;width:3rem;height:3rem;flex:0 0 auto;place-items:center;border:2px solid var(--navy);border-radius:50%;color:var(--navy);background:var(--yellow);box-shadow:inset 0 0 0 3px rgba(255,255,255,.6);font-family:Fraunces,Georgia,serif;font-size:1.55rem;font-weight:700}.eyebrow,.message-role,.sidebar-label{margin-bottom:.2rem;color:var(--blue);font-size:.73rem;font-weight:700;letter-spacing:.095em;text-transform:uppercase}.auth-copy{margin:1.75rem 0 1.25rem;color:var(--muted);font-size:1rem;line-height:1.6}.auth-note{margin:1.25rem 0 0;color:var(--muted);font-size:.84rem;line-height:1.5}.login-form,.sync-form{display:grid;grid-gap:.6rem;gap:.6rem}.login-form label,.sync-form label{color:var(--navy);font-size:.9rem;font-weight:700}.chat-composer textarea,.login-form input,.sync-form input{width:100%;border:1px solid #b8c8d4;border-radius:.8rem;outline:none;background:#fff;color:var(--ink);transition:border-color .15s ease,box-shadow .15s ease}.login-form input,.sync-form input{min-height:2.85rem;padding:.7rem .85rem}.chat-composer textarea:focus,.login-form input:focus,.sync-form input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(10,79,136,.15)}.form-error{margin:.15rem 0 0;color:var(--danger);font-size:.88rem;line-height:1.45}.primary-button{min-height:2.85rem;padding:.72rem 1.05rem;border:1px solid #cf9800;border-radius:.76rem;color:#142435;background:var(--yellow);font-weight:700;transition:background .15s ease,transform .15s ease}.primary-button:hover:not(:disabled){background:#ffd33d;transform:translateY(-1px)}.admin-page,.chat-page{width:min(100% - 2rem,82rem);margin:0 auto;padding:1.25rem 0 2rem}.admin-page{width:min(100% - 2rem,58rem)}.app-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.35rem}.text-button,.text-link{padding:.45rem .2rem;border:0;color:var(--blue);background:transparent;font-weight:700}.text-link{text-decoration:none}.text-button:hover,.text-link:hover{color:var(--navy);text-decoration:underline}.chat-layout{display:grid;grid-template-columns:minmax(16rem,.65fr) minmax(0,1.75fr);overflow:hidden;border:1px solid var(--line);border-radius:1.3rem;background:var(--surface);box-shadow:var(--shadow)}.chat-sidebar{padding:clamp(1.3rem,3vw,2.1rem);border-right:1px solid var(--line);background:linear-gradient(165deg,rgba(232,242,250,.95),rgba(255,255,255,.95))}.chat-sidebar>p{color:var(--muted);line-height:1.6}.escalation-card{margin-top:1.4rem;padding:1rem;border:1px solid #d7e5ef;border-radius:.9rem;background:rgba(255,255,255,.78);color:var(--muted);font-size:.88rem;line-height:1.5}.escalation-card strong{display:block;margin-bottom:.45rem;color:var(--navy)}.escalation-card ul{display:grid;grid-gap:.38rem;gap:.38rem;margin:0;padding-left:1.1rem}.management-link{display:inline-block;margin-top:1.1rem;color:var(--blue);font-size:.86rem;font-weight:700;line-height:1.35;text-decoration:none}.management-link:hover{color:var(--navy);text-decoration:underline}.chat-panel{display:grid;min-height:min(73vh,49rem);grid-template-rows:1fr auto}.chat-messages{display:grid;align-content:start;grid-gap:1rem;gap:1rem;overflow-y:auto;padding:clamp(1.1rem,3vw,2rem);background:linear-gradient(180deg,#fff,#fbfdff)}.message{width:min(100%,49rem);padding:1rem 1.05rem;border-radius:1rem}.message-assistant{border:1px solid #d7e5ef;border-top-left-radius:.25rem;background:var(--blue-soft)}.message-user{justify-self:end;border:1px solid #e9d98e;border-top-right-radius:.25rem;background:#fff9de}.message-role{margin-bottom:.45rem}.message-text{color:#293a48;line-height:1.55}.message-text p{margin-bottom:.65rem}.message-text p:last-child{margin-bottom:0}.message-sources{margin-top:.85rem;padding-top:.75rem;border-top:1px solid rgba(10,79,136,.15);color:var(--muted);font-size:.8rem}.message-sources span{color:var(--blue);font-weight:700}.message-sources ul{display:flex;flex-wrap:wrap;gap:.4rem .9rem;margin:.45rem 0 0;padding-left:1.15rem}.typing-indicator{margin-bottom:0;color:var(--muted);font-style:italic}.chat-composer{padding:1rem;border-top:1px solid var(--line);background:#fff}.chat-composer textarea{min-height:5.5rem;resize:vertical;padding:.8rem .9rem;line-height:1.45}.composer-footer{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-top:.7rem}.composer-footer p{margin-bottom:0;color:var(--muted);font-size:.78rem;line-height:1.35}.admin-card{padding:clamp(1.4rem,4vw,2.4rem);border:1px solid var(--line);border-radius:1.2rem;background:rgba(255,255,255,.96);box-shadow:var(--shadow)}.admin-card>p:not(.sidebar-label){max-width:44rem;margin-bottom:1.45rem;color:var(--muted);line-height:1.6}.sync-note{margin:.15rem 0 .35rem;color:var(--muted);font-size:.86rem;line-height:1.5}.sync-form .primary-button{justify-self:start;margin-top:.25rem}.sync-result{margin-top:1rem;padding:1rem;border:1px solid #d7e5ef;border-radius:.9rem;background:var(--blue-soft)}.sync-result>strong,.sync-skipped strong{color:var(--navy)}.sync-result dl{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:.7rem;gap:.7rem;margin:.85rem 0 0}.sync-result dl div{padding:.65rem;border-radius:.7rem;background:rgba(255,255,255,.78)}.sync-result dt{color:var(--muted);font-size:.72rem;font-weight:700;line-height:1.25;text-transform:uppercase}.sync-result dd{margin:.2rem 0 0;color:var(--navy);font-size:1.15rem;font-weight:700}.sync-skipped{margin-top:.9rem;padding-top:.85rem;border-top:1px solid rgba(10,79,136,.16);color:var(--muted);font-size:.85rem;line-height:1.45}.sync-skipped ul{display:grid;grid-gap:.4rem;gap:.4rem;margin:.55rem 0 0;padding-left:1.15rem}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}@media (max-width:760px){.admin-page,.chat-page{width:min(100% - 1rem,44rem);padding-top:.5rem}.chat-layout{grid-template-columns:1fr}.chat-sidebar{display:none}.chat-panel{min-height:calc(100vh - 7rem)}.sync-result dl{grid-template-columns:repeat(2,minmax(0,1fr))}}.employee-app{width:min(100% - 2rem,86rem);margin:0 auto;padding:1rem 0 5rem}.app-header-sticky{position:-webkit-sticky;position:sticky;top:0;z-index:20;margin-bottom:1rem;padding:.75rem 0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.app-shell{display:grid;grid-template-columns:14rem minmax(0,1fr);grid-gap:1rem;gap:1rem;align-items:start}.app-nav{position:-webkit-sticky;position:sticky;top:5.5rem;display:grid;grid-gap:.55rem;gap:.55rem;padding:.75rem;border:1px solid var(--line);border-radius:1.15rem;background:rgba(255,255,255,.94);box-shadow:var(--shadow)}.mobile-bottom-nav button,.nav-item{border:1px solid transparent;color:var(--navy);background:transparent;font-weight:800;text-align:left}.nav-item{min-height:2.85rem;padding:.72rem .85rem;border-radius:.8rem}.nav-item-active,.nav-item:hover{border-color:#d7e5ef;background:var(--blue-soft)}.dashboard-view,.tools-view{display:grid;grid-gap:1rem;gap:1rem}.hero-card,.tool-card,.tool-selector-card{padding:clamp(1.15rem,3vw,1.75rem);border:1px solid var(--line);border-radius:1.2rem;background:rgba(255,255,255,.96);box-shadow:var(--shadow)}.hero-card p:not(.sidebar-label),.tool-note,.tool-selector-card>div>p:not(.sidebar-label){margin-bottom:0;color:var(--muted);line-height:1.55}.action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1rem;gap:1rem}.action-card{display:grid;grid-gap:.45rem;gap:.45rem;min-height:10rem;padding:1.15rem;border:1px solid var(--line);border-radius:1.05rem;color:var(--ink);background:rgba(255,255,255,.96);text-align:left;box-shadow:0 12px 30px rgba(6,39,70,.08)}.action-card-primary{background:linear-gradient(145deg,var(--yellow),#fff3ba 62%,#fff);border-color:#cf9800}.action-card span{color:var(--blue);font-size:.77rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.action-card strong{color:var(--navy);font-size:1.16rem;line-height:1.25}.action-card small{color:var(--muted);font-size:.9rem;line-height:1.45}.tool-form{display:grid;grid-gap:.85rem;gap:.85rem}.tool-form label{display:grid;grid-gap:.38rem;gap:.38rem;color:var(--navy);font-size:.9rem;font-weight:800}.tool-form input,.tool-form select,.tool-form textarea{width:100%;border:1px solid #b8c8d4;border-radius:.8rem;outline:none;background:#fff;color:var(--ink)}.tool-form input,.tool-form select{min-height:2.85rem;padding:.7rem .85rem}.tool-form textarea{padding:.8rem .9rem;line-height:1.45;resize:vertical}.tool-form input:focus,.tool-form select:focus,.tool-form textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(10,79,136,.15)}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.85rem;gap:.85rem}.app-chat-panel{overflow:hidden;border:1px solid var(--line);border-radius:1.2rem;background:var(--surface);box-shadow:var(--shadow)}.calc-result{display:grid;grid-gap:.2rem;gap:.2rem;padding:1rem;border:1px solid #d7e5ef;border-radius:.95rem;background:var(--blue-soft)}.calc-result strong{color:var(--navy);font-size:1.45rem}.calc-result span{color:var(--muted);line-height:1.4}.mobile-bottom-nav{display:none}.app-management-link{margin-top:1rem}.external-guidance-label{margin:-.15rem 0 .65rem;color:var(--blue);font-size:.82rem;font-weight:800}.lighthouse-mark{overflow:hidden;border:0;border-radius:.8rem;background:transparent;box-shadow:0 7px 18px rgba(6,39,70,.18)}.lighthouse-mark img{display:block;width:100%;height:100%;object-fit:cover}.tool-selector-card{display:grid;grid-gap:1rem;gap:1rem}.tool-selector{display:flex;flex-wrap:wrap;gap:.6rem}.tool-selector-button{min-height:2.7rem;padding:.62rem .82rem;border:1px solid #b8c8d4;border-radius:.75rem;color:var(--navy);background:#fff;font-size:.86rem;font-weight:800}.tool-selector-button:hover{border-color:#78a5c6;background:#f2f8fc}.tool-selector-active{border-color:#cf9800;background:var(--yellow);box-shadow:inset 0 0 0 1px rgba(170,117,0,.12)}.metrics-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.65rem;gap:.65rem}.metrics-grid div{display:grid;grid-gap:.22rem;gap:.22rem;padding:.8rem;border:1px solid #d7e5ef;border-radius:.85rem;background:#f7fbff}.metrics-grid span{color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.metrics-grid strong{color:var(--navy);font-size:1.1rem}.analyzer-flags,.approach-result,.capacitor-result{padding:1rem;border:1px solid #d7e5ef;border-radius:.95rem;background:var(--blue-soft)}.analyzer-flags strong,.approach-result strong,.capacitor-result strong{color:var(--navy)}.analyzer-flags ul{display:grid;grid-gap:.5rem;gap:.5rem;margin:.7rem 0 0;padding-left:1.1rem;color:#334957;font-size:.9rem;line-height:1.45}.approach-result{display:grid;grid-gap:.75rem;gap:.75rem;margin-top:1rem}.approach-result dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.55rem;gap:.55rem;margin:0}.approach-result dl div{padding:.65rem;border-radius:.7rem;background:rgba(255,255,255,.75)}.approach-result dt{color:var(--muted);font-size:.69rem;font-weight:800;line-height:1.25;text-transform:uppercase}.approach-result dd{margin:.2rem 0 0;color:var(--navy);font-size:1.05rem;font-weight:800}.approach-result p,.capacitor-result p{margin:0;color:#334957;line-height:1.5}.approach-near-target{border-color:#b9dcc8;background:#effaf2}.approach-needs-check{border-color:#ecd37c;background:#fff9df}.secondary-button{min-height:2.6rem;padding:.65rem .85rem;border:1px solid #78a5c6;border-radius:.75rem;color:var(--navy);background:white;font-weight:800}.secondary-button:hover:not(:disabled){background:#f2f8fc}.tool-error{margin:0;color:#a12f27;font-size:.88rem;font-weight:700}.capacitor-result{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.7rem;gap:.7rem;margin-top:1rem}.capacitor-result>div{display:grid;grid-gap:.25rem;gap:.25rem;padding:.75rem;border-radius:.75rem;background:rgba(255,255,255,.74)}.capacitor-result span{color:var(--muted);font-size:.71rem;font-weight:800;letter-spacing:.035em;text-transform:uppercase}.capacitor-result strong{font-size:1.08rem;line-height:1.25}.capacitor-result p{grid-column:1/-1}.capacitor-pass{border-color:#b9dcc8;background:#effaf2}.capacitor-fail{border-color:#edb2a8;background:#fff2ef}@media(max-width:900px){.employee-app{width:min(100% - 1rem,48rem);padding-top:.45rem}.app-shell{grid-template-columns:1fr}.app-nav{display:none}.action-grid,.field-grid{grid-template-columns:1fr}.action-card{min-height:8.4rem}.tool-selector{flex-wrap:nowrap;overflow-x:auto;padding-bottom:.2rem;scroll-snap-type:x proximity}.tool-selector-button{flex:0 0 auto;scroll-snap-align:start}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.approach-result dl,.capacitor-result{grid-template-columns:1fr}.mobile-bottom-nav{position:fixed;right:.5rem;bottom:.5rem;left:.5rem;z-index:40;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:.25rem;gap:.25rem;padding:.45rem;border:1px solid rgba(214,224,230,.94);border-radius:1.05rem;background:rgba(255,255,255,.96);box-shadow:0 10px 30px rgba(6,39,70,.22)}.mobile-bottom-nav button{min-height:2.75rem;padding:.35rem .25rem;border-radius:.7rem;font-size:.75rem;text-align:center}.mobile-bottom-nav .bottom-nav-active{border-color:#cf9800;background:var(--yellow)}.app-header-sticky{padding-top:.45rem}.app-header-sticky h1{font-size:1.45rem}.brand-mark{width:2.55rem;height:2.55rem;font-size:1.3rem}}.install-page{width:min(100% - 2rem,72rem);min-height:100vh;margin:0 auto;padding:1rem 0 3rem}.install-card,.install-note{padding:clamp(1.15rem,3vw,1.6rem);border:1px solid var(--line);border-radius:1.15rem;background:rgba(255,255,255,.96);box-shadow:var(--shadow)}.install-card>p:not(.sidebar-label),.install-note p{margin-bottom:0;color:var(--muted);line-height:1.6}.install-card ol{display:grid;grid-gap:.6rem;gap:.6rem;margin:1rem 0 0;padding-left:1.35rem;color:#2f4351;line-height:1.55}.install-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:1rem;gap:1rem;margin-top:1rem}.install-note{margin-top:1rem;border-color:#d8c169;background:#fff9df}.install-note strong{color:var(--navy)}.install-prompt-banner{position:fixed;z-index:60;right:1rem;bottom:1rem;width:min(31rem,calc(100% - 2rem));display:grid;grid-gap:.85rem;gap:.85rem;padding:1.1rem 1.15rem;border:1px solid #c5d5df;border-radius:1.05rem;background:#fff;box-shadow:0 18px 48px rgba(6,39,70,.25)}.install-prompt-copy h2{margin:.2rem 0 .45rem;color:var(--navy);font-size:1.22rem}.install-prompt-copy p:not(.sidebar-label){margin:0;color:var(--muted);line-height:1.5}.install-prompt-actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.install-prompt-actions .primary-button,.install-prompt-actions .secondary-button{min-height:2.6rem;text-decoration:none}.install-help-button{display:inline-flex;align-items:center;justify-content:center}.install-dismiss-button{padding:.45rem .25rem;border:0;color:var(--muted);background:transparent;font-weight:700;text-decoration:underline}.install-prompt-message{margin:0;color:var(--blue);font-size:.88rem;font-weight:700}@media(max-width:760px){.install-page{width:min(100% - 1rem,44rem);padding-top:.6rem}.install-grid{grid-template-columns:1fr}.install-page .app-header{margin-bottom:1rem}.install-prompt-banner{right:.5rem;bottom:5.4rem;width:calc(100% - 1rem);padding:1rem}.install-prompt-actions{align-items:stretch;display:grid;grid-template-columns:1fr 1fr}.install-prompt-actions .primary-button,.install-prompt-actions .secondary-button{width:100%}.install-dismiss-button{grid-column:1/-1;justify-self:center}}