:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;color:#19283b;background:#eaf0f6;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}a{color:#15518c}.app{max-width:580px;margin:0 auto;min-height:100dvh;min-height:100svh;display:flex;flex-direction:column;background:#fff;box-shadow:0 0 20px #0d284714}.header{background:#193f69;color:#fff;flex:none;padding:12px 16px}.brand{display:flex;align-items:center;gap:11px}.brand-icon{height:44px;width:44px;object-fit:cover;border-radius:11px}.brand-copy{flex:1;min-width:0}.brand-title{font-size:21px;line-height:1.2;font-weight:800}.brand-subtitle{font-size:11px;opacity:.85;margin-top:3px}.header-right{display:flex;align-items:center;gap:6px}.version{font-size:10px;background:#ffffff28;border-radius:6px;padding:5px}.connection-mark{width:8px;height:8px;border-radius:50%;background:#a8b4c0}.connection-mark.ok{background:#58da9b}.connection-mark.error{background:#ffb55a}.main{min-height:0;flex:1;display:flex;flex-direction:column}.nav{height:64px;flex:none;display:flex;align-items:stretch;border-top:1px solid #e3e8ef;background:#fff;padding-bottom:env(safe-area-inset-bottom)}.nav button{background:#fff;border:0;flex:1;color:#395774;font-size:11px;font-weight:650;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px}.nav button span{font-size:21px;line-height:1}.nav button.selected{color:#0f4f8c;background:#eef5ff}.hidden{display:none!important}.initial{padding:30px;text-align:center;color:#64748b}.content{padding:20px 16px;overflow:auto;flex:1}.signin{max-width:380px;margin:20px auto;width:100%}.signin h1{font-size:23px;margin:0 0 7px}.muted{color:#64748b;font-size:12px;line-height:1.5}.signin .muted{margin-bottom:20px}.field{display:flex;flex-direction:column;gap:6px;margin:12px 0}.field label{font-size:13px;font-weight:700;color:#34506b}.field input,.field select{width:100%;border:1px solid #ced9e5;background:#fff;color:#19283b;border-radius:10px;font-size:15px;padding:12px;outline:none}.field input:focus,.field select:focus,.compose textarea:focus{border-color:#376fad;box-shadow:0 0 0 3px #376fad1e}.primary{border:none;background:#193f69;color:#fff;font-weight:750;border-radius:10px;padding:12px 16px}.secondary{border:1px solid #c3d4e6;background:#fff;color:#194c80;font-weight:650;border-radius:10px;padding:10px 13px}.text-button{border:0;background:transparent;color:#20578b;font-size:13px;text-align:left;padding:9px 0}.full{width:100%}.small{font-size:12px}.alert{padding:12px 13px;border-radius:10px;font-size:12px;line-height:1.5;margin:12px 0}.alert.warn{background:#fff5dc;color:#805911}.alert.error{background:#ffebe8;color:#9b332a}.alert.info{background:#edf5ff;color:#244f7a}.alert.success{background:#e8f8ef;color:#206544}.section-head{padding:14px 16px 9px;display:flex;align-items:center;justify-content:space-between;gap:8px}.section-head h2{margin:0;font-size:20px}.section-sub{padding:0 16px 12px}.row-person{width:100%;background:#fff;border:0;border-bottom:1px solid #e9eef3;padding:13px 16px;display:flex;align-items:center;gap:12px;text-align:left;color:inherit}.row-person:focus-visible{outline:2px solid #376fad}.avatar{height:44px;width:44px;border-radius:13px;background:#deebfb;color:#164d86;display:grid;place-items:center;font-weight:800;flex:none}.row-detail{min-width:0;flex:1}.row-detail strong{font-size:14px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-detail small{font-size:11px;color:#7a8798;display:block;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag{background:#eff4fa;border-radius:9px;color:#46617c;font-size:10px;padding:5px 8px;white-space:nowrap}.list-body{overflow:auto;flex:1}.list-empty{padding:35px 22px;text-align:center;color:#617287;font-size:13px;line-height:1.6}.chat-top{flex:none;border-bottom:1px solid #e4eaf0;display:flex;gap:10px;padding:12px 14px;align-items:center}.back{border:none;background:transparent;font-size:30px;color:#264c72;line-height:1;padding:2px 7px}.chat-top .row-detail strong{font-size:15px}.messages{background:#f3f6fa;min-height:0;flex:1;overflow:auto;padding:16px 12px;display:flex;gap:9px;flex-direction:column}.bubble{align-self:flex-start;max-width:88%;background:#fff;border:1px solid #e8eef5;padding:10px 12px;border-radius:13px;font-size:14px;line-height:1.45;overflow-wrap:anywhere;white-space:pre-wrap}.bubble.me{align-self:flex-end;background:#deebff;border-color:#cee0fa}.bubble .meta{font-size:10px;color:#5d7389;font-weight:700;margin-bottom:5px}.bubble .stamp{text-align:right;font-size:10px;color:#8190a1;margin-top:7px}.composer{display:flex;align-items:end;gap:8px;padding:11px;background:#fff;border-top:1px solid #e2e9ef;flex:none;padding-bottom:max(11px,env(safe-area-inset-bottom))}.composer textarea{resize:none;max-height:110px;min-height:42px;flex:1;min-width:0;border:1px solid #d0dbe7;border-radius:11px;padding:11px;font-size:14px;outline:none}.composer button{height:42px}.intro{padding:14px 15px;background:#f5f8fd;color:#4e6680;font-size:12px;line-height:1.45}.form-area{padding:0 16px 20px;overflow:auto;flex:1}.checks{display:flex;gap:8px;flex-direction:column}.checkline{padding:10px;border:1px solid #e1e8ef;border-radius:10px;display:flex;align-items:center;gap:10px;font-size:13px}.checkline input{width:18px;height:18px}.settings-cards{display:flex;flex-direction:column;gap:12px}.setting-card{border:1px solid #e0e7ee;border-radius:12px;padding:15px}.setting-card h3{font-size:14px;margin:0 0 8px}.btn-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.chip{font-size:11px;color:#50708d;background:#edf4fc;padding:5px 9px;border-radius:8px}.spacer{flex:1}.spinner{display:inline-block;height:13px;width:13px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .6s linear infinite;vertical-align:middle}@keyframes spin{to{transform:rotate(360deg)}}.footer-hint{padding:9px 15px;font-size:11px;color:#73849a;background:#fbfcfe;border-top:1px solid #e6edf5}@media(min-width:600px){.app{min-height:100vh}.content{padding-top:26px}}@media(prefers-reduced-motion:reduce){.spinner{animation:none}}
