:root{color:#102033;background:#f5f8fb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#f5f8fb}button,input,select{font:inherit}.app-shell{width:min(100%,760px);min-height:100vh;margin:0 auto;padding:18px}.screen{display:grid;gap:16px;padding-bottom:96px}.screen>header{display:grid;gap:8px;padding-top:8px}h1,h2,h3,p{margin:0}h1{color:#083766;font-size:clamp(2rem,7vw,3rem);line-height:1.05;letter-spacing:0}h2{color:#102033;font-size:1.25rem}h3{color:#102033;font-size:1.1rem}p{color:#66758a;line-height:1.55}.welcome{min-height:calc(100vh - 36px);display:grid;align-content:center;gap:18px;text-align:center}.welcome img{width:min(220px,58vw);margin:0 auto}.actions{display:grid;gap:10px}.panel,.info-panel,.alert{border-radius:8px;padding:16px}.panel{display:grid;gap:14px;background:#fff;border:1px solid #d9e2ec}.info-panel{display:grid;gap:6px;background:#fff;border:1px solid #d9e2ec}.info-panel strong{color:#102033}.alert{margin-bottom:12px;font-weight:800}.alert.error{color:#8f2424;background:#fae8e8}.alert.success{color:#286d30;background:#edf8ef}.alert.info{color:#083766;background:#e8f4f4}.inline-confirmation{border-radius:8px;padding:12px;color:#286d30;background:#edf8ef;font-weight:800}.arrival-check{display:grid;gap:10px;border-radius:8px;padding:14px;background:#fff7e7;border:1px solid #f0d39c}.arrival-check strong{color:#102033}.form{gap:14px}.field{display:grid;gap:7px;text-align:left}.field span{color:#102033;font-size:.9rem;font-weight:800}.field input,.field select{min-height:52px;width:100%;border:1px solid #d9e2ec;border-radius:8px;background:#fff;color:#102033;padding:0 14px;outline:none}.field input:focus,.field select:focus{border-color:#139c96;box-shadow:0 0 0 3px #139c961f}.button{min-height:52px;width:100%;border:0;border-radius:8px;padding:0 18px;cursor:pointer;font-weight:900;transition:transform .12s ease,box-shadow .12s ease,filter .12s ease,background-color .12s ease;box-shadow:0 1px #10203314}.button:hover:not(:disabled){filter:brightness(.98);box-shadow:0 3px 10px #1020331a}.button:active:not(:disabled),.button.pressed:not(:disabled){transform:translateY(1px) scale(.99);box-shadow:inset 0 2px 4px #10203324}.button:focus-visible,.back-button:focus-visible,.top-nav button:focus-visible,.segmented-control button:focus-visible{outline:3px solid rgba(19,156,150,.28);outline-offset:2px}.button:disabled{cursor:not-allowed;opacity:.58}.button.primary{color:#fff;background:#083766}.button.secondary{color:#08756f;background:#e8f4f4}.button.ghost{color:#083766;background:transparent}.button.danger{color:#a02626;background:#fae8e8}.segmented-control{display:grid;grid-template-columns:1fr 1fr;gap:4px;border-radius:8px;padding:4px;background:#eef2f6}.segmented-control button{min-height:44px;border:0;border-radius:6px;color:#66758a;background:transparent;cursor:pointer;font-weight:900;transition:transform .12s ease,background-color .12s ease,color .12s ease}.segmented-control button:active{transform:translateY(1px) scale(.99)}.segmented-control button.active{color:#083766;background:#fff}.back-button{justify-self:start;min-height:40px;border:0;background:transparent;color:#083766;cursor:pointer;font-weight:900;padding:0;transition:transform .12s ease,color .12s ease}.back-button:active{transform:translateY(1px)}.top-nav{position:sticky;top:0;z-index:10;display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:8px;margin:-18px -18px 18px;background:#f5f8fbf0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid #d9e2ec}.top-nav button{position:relative;display:grid;place-items:center;min-height:44px;border:0;border-radius:8px;color:#66758a;background:transparent;cursor:pointer;font-weight:800;transition:transform .12s ease,background-color .12s ease,color .12s ease}.top-nav button:active{transform:translateY(1px) scale(.99)}.nav-badge{position:absolute;top:4px;right:4px;min-width:20px;height:20px;display:grid;place-items:center;border-radius:999px;padding:0 5px;color:#fff;background:#c93a3a;font-size:.75rem;line-height:1;font-weight:900}.top-nav button.active{color:#083766;background:#fff}.grid{display:grid;gap:12px}.action-list{margin-top:4px}.split,.circle-card,.member-row{display:grid;gap:12px;align-items:center}.highlight{background:#e8f4f4;border-color:#c7e7e5}.status-panel{background:#f7fbff;border-color:#cfe0ef}.safety-on{background:#edf8ef;border-color:#bfe4c5}.status-header,.safe-place-row,.location-row,.journey-row,.timeline-row,.notification-row{display:grid;gap:12px;align-items:center}.status-pill{justify-self:start;border-radius:999px;padding:6px 10px;color:#66758a;background:#eef2f6;font-size:.82rem;font-weight:900}.status-pill.on{color:#286d30;background:#d8f2de}.status-pill.overdue{color:#8a4b00;background:#fff0cf}.status-pill.danger{color:#9b1c1c;background:#fae8e8}.row-title{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.detail-list{display:grid;gap:6px}.detail-list strong,.safe-place-row strong,.location-row strong,.journey-row strong,.timeline-row strong,.notification-row strong{color:#102033}.safe-place-row,.location-row,.journey-row,.timeline-row,.notification-row,.visibility-row,.empty-note{border-top:1px solid #d9e2ec;padding-top:12px}.timeline-row.urgent{border-left:4px solid #c93a3a;padding-left:12px}.journey-row.overdue{border-left:4px solid #d88716;padding-left:12px}.journey-row.sos,.sos-panel{border-left:4px solid #c93a3a}.notification-row.unread{border-left:4px solid #d88716;padding-left:12px}.guardian-guidance{display:grid;gap:8px;margin-top:10px;border-radius:8px;padding:12px;background:#fff7e7;border:1px solid #f0d39c}.guardian-guidance ul{display:grid;gap:6px;margin:0;padding-left:20px}.guardian-guidance.danger{background:#fae8e8;border-color:#efb6b6}.empty-note{display:grid;gap:6px}.empty-note strong,.visibility-row strong{color:#102033}.member-row{grid-template-columns:44px 1fr;border-top:1px solid #d9e2ec;padding-top:12px}.member-row .button{grid-column:1 / -1}.avatar{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#083766;font-weight:900}.code{padding:10px;border-radius:8px;background:#fff7e8;color:#7f4b00;word-break:break-word;font-size:.9rem}@media(min-width:520px){.actions.inline{grid-template-columns:1fr 1fr}.member-row{grid-template-columns:44px 1fr auto}.member-row .button{grid-column:auto}.status-header,.safe-place-row{grid-template-columns:1fr auto}}@media(min-width:680px){.app-shell{padding:28px}.top-nav{margin:-28px -28px 22px}.grid{grid-template-columns:1fr 1fr}.split,.circle-card{grid-template-columns:1fr auto}}
