
.guide-trigger{flex:0 0 auto;display:flex;gap:7px;align-items:center;justify-content:center;min-width:43px;min-height:43px;border-radius:12px;border:1px solid rgba(255,255,255,.24);background:#263C60;color:#FFF;font-weight:900;font-size:12px;padding:8px 11px}
.guide-trigger>span:first-child{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#FFCA56;color:#0B1930;font-weight:900;font-size:15px}
.guide-trigger:hover,.guide-trigger:focus-visible{background:#385279;outline-color:#FFCA56}
.guide-dialog{position:fixed;inset:0;margin:auto;width:min(570px,calc(100% - 22px));max-height:min(88dvh,850px);padding:0;border:0;border-radius:22px;color:#132842;background:#FFF;box-shadow:0 28px 90px rgba(4,20,42,.4);overflow:auto;overscroll-behavior:contain}
.guide-dialog::backdrop{background:rgba(8,18,37,.70);backdrop-filter:blur(3px)}
.guide-inner{padding:24px 26px}
.guide-head{display:flex;align-items:start;justify-content:space-between;gap:15px}
.guide-eyebrow{font-size:10px;font-weight:950;color:#961738;letter-spacing:.12em}
.guide-head h2{margin:4px 0 0;font-size:clamp(23px,5vw,30px);letter-spacing:-.04em;color:#0B1930}
.guide-close{flex:0 0 auto;width:42px;height:42px;border:1px solid #DAE2EE;border-radius:12px;background:#F3F6FA;color:#122741;font-size:28px;line-height:1}
.guide-intro{font-size:13px;line-height:1.7;color:#576A81;margin:11px 0 16px}
.guide-steps{list-style:none;display:grid;gap:9px;padding:0;margin:0}
.guide-steps li{display:flex;gap:13px;align-items:start;background:#F5F8FC;border:1px solid #E4EAF3;border-radius:14px;padding:12px 14px}
.guide-step-no{flex:0 0 29px;height:29px;display:grid;place-items:center;border-radius:10px;background:#0B1930;color:#FFCA56;font-weight:950;font-size:14px}
.guide-steps strong{display:block;color:#0B1930;font-size:14px}
.guide-steps p{margin:4px 0 6px;color:#51657F;line-height:1.5;font-size:12px}
.guide-steps button{border:0;padding:5px 0;background:transparent;color:#9D1738;text-decoration:underline;text-underline-offset:3px;font-size:12px;font-weight:900}
.guide-steps button:hover{color:#5E122C}
.guide-foot{color:#66788F;font-size:11px;line-height:1.5;margin:13px 0}
.guide-done{display:block;width:100%;background:#0B1930;color:#FFF;min-height:46px}
.dashboard-empty .btn{margin:3px 6px}
.subject-create-panel{background:#FFF;border:1px solid #DCE4EF;border-radius:16px;padding:14px 18px}
.subject-create-panel>summary{cursor:pointer;font-size:14px;font-weight:850;color:#9D1738;padding:5px 0}
.subject-create-panel>form{margin-top:15px}
.subject-notes-title{padding-top:16px;font-size:14px;font-weight:900;color:#0B1930}
.subject-settings{border-top:1px solid #DFE6EF;margin-top:20px;padding-top:12px}
.subject-settings>summary{cursor:pointer;color:#65748A;font-size:12px;font-weight:800;padding:7px 0}
.subject-settings[open]>summary{color:#9A1839}
.goal-quick-form{display:flex;flex-wrap:wrap;gap:11px;align-items:end;margin-top:16px}
.goal-quick-form .field{flex:1 1 170px;max-width:260px}
.message:empty{display:none}
.message:not(:empty){position:fixed;left:50%;transform:translateX(-50%);bottom:24px;z-index:65;width:max-content;max-width:min(94vw,450px);padding:13px 17px!important;background:#0F3E38!important;color:#FFF!important;border:1px solid #82C9B4!important;border-radius:14px!important;box-shadow:0 16px 38px rgba(5,25,44,.22);font-weight:800;text-align:center;line-height:1.45;margin:0!important;min-height:0}
.message[data-type=error]:not(:empty){background:#761E2E!important;color:#FFF!important;border-color:#F4B8C5!important}
@media(max-width:760px){
 .guide-trigger{margin-left:auto;padding:8px;min-width:43px}
 .guide-word{display:none}
 .guide-inner{padding:18px 16px}
 .guide-dialog{max-height:91dvh;border-radius:18px}
 .message:not(:empty){bottom:calc(95px + env(safe-area-inset-bottom));font-size:12px}
 .goal-quick-form .field{max-width:none;flex:1 1 100%}
 .goal-quick-form .btn{width:100%}
 .subject-create-panel{padding:14px}
}
@media(max-width:380px){.brand-affiliation{display:none}.guide-trigger{margin-left:auto}}
@media(prefers-reduced-motion:reduce){.guide-dialog::backdrop{backdrop-filter:none}}


.connection-status{font-size:12px;font-weight:750;color:#0B1930;background:#FFF2CA;border:1px solid #F0D47A;border-radius:12px;padding:10px 13px;margin:6px 0 12px}
.connection-status[hidden],.update-banner[hidden],.install-native[hidden]{display:none!important}
.install-native{width:100%;background:#A01434;color:#FFF;margin:0 0 13px}
.install-steps{display:grid;gap:10px;margin:15px 0}
.install-steps p{background:#F5F8FC;border:1px solid #E0E8F1;border-radius:13px;color:#405673;padding:13px;margin:0;font-size:13px;line-height:1.6}
.install-steps strong{color:#0B1930}
.update-banner{position:fixed;left:50%;transform:translateX(-50%);bottom:20px;z-index:85;display:flex;align-items:center;justify-content:space-between;gap:14px;width:min(95vw,560px);padding:11px 13px;background:#0B1930;color:#FFF;border:1px solid #6B88B3;border-radius:13px;box-shadow:0 14px 40px #06162C44;font-size:12px;line-height:1.45}
.update-banner button{min-height:42px;background:#FFCA56;color:#0B1930;border:0;border-radius:9px;padding:9px 12px;font-weight:800;white-space:nowrap}
.install-action{display:inline-flex;align-items:center;gap:5px}
@media(max-width:760px){.update-banner{bottom:calc(92px + env(safe-area-inset-bottom));flex-direction:column;align-items:stretch}.update-banner button{width:100%}}
@media(display-mode:standalone){.install-action{display:none!important}}
