:root{color-scheme:light;--ink:#173f45;--teal:#087579;--sea:#e7f3ef;--paper:#f4f8f5;--line:#cce0d9;--muted:#64838a;--red:#923c35;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-size:16px;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{min-height:46px;border:1px solid var(--line);border-radius:12px;padding:11px 15px;background:var(--sea);color:var(--ink);font-weight:600;cursor:pointer}button:active{background:#d1e9e2}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #42aaad;outline-offset:3px}button:disabled{opacity:.45;cursor:default}.primary{background:var(--teal);color:white;border-color:var(--teal)}.quiet{background:transparent}.danger{color:var(--red);background:#fff3ee;border-color:#e7c8c1}.banner{position:relative;overflow:hidden;isolation:isolate;background:#087579 url('./lagoon.svg') center/cover;min-height:135px;text-align:center;color:white;padding:32px 18px 24px;padding-top:max(32px,env(safe-area-inset-top));}.brand{font-size:27px;font-weight:800;letter-spacing:3px}.tagline{font-size:13px;letter-spacing:1px;margin-top:8px;opacity:.88}main{max-width:920px;margin:auto;padding:25px 18px 18px}.eyebrow{letter-spacing:2px;font-size:10px;font-weight:800;color:var(--teal);margin:0 0 7px}h1{font-size:29px;letter-spacing:-.8px;line-height:1.15;margin:0}h2{font-size:19px;margin:12px 0}p{line-height:1.55}.intro,.muted{color:var(--muted)}.intro{font-size:14px;max-width:630px}.heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.actions{display:flex;gap:9px;flex-wrap:wrap;margin:19px 0}.actions>button{flex:1;white-space:normal}.status:empty{display:none}.status{padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#e9f3ed;line-height:1.5;margin:15px 0;font-size:14px}.status.error{color:var(--red);background:#fff3ee}.empty{border:1px dashed #a9cfc2;border-radius:22px;text-align:center;padding:35px 23px;background:#edf5ef;margin:25px 0}.empty p{font-size:14px;color:var(--muted);max-width:410px;margin:10px auto}.islands{font-size:72px;line-height:1;color:#42a89e}.trip-list{display:grid;gap:14px}.trip-card{background:white;border:1px solid var(--line);border-radius:17px;padding:18px 19px;box-shadow:0 4px 16px #214a4710}.trip-card h2{margin:0 0 7px;font-size:21px;overflow-wrap:anywhere}.trip-card p{font-size:13px;color:var(--muted);margin:6px 0}.trip-card .actions{margin-bottom:0}.pill{display:inline-block;font-size:11px;border:1px solid var(--line);border-radius:20px;padding:3px 8px;color:var(--teal);background:var(--sea)}.library-footer{display:flex;justify-content:space-between;margin-top:25px}.app-footer{max-width:920px;margin:10px auto;padding:16px 20px max(20px,env(safe-area-inset-bottom));display:flex;gap:10px;flex-wrap:wrap;justify-content:space-between;font-size:11px;color:var(--muted);border-top:1px solid var(--line)}#offline-ready{font-size:12px}select,input:not([type=checkbox]){background:white;border:1px solid var(--line);border-radius:10px;min-height:46px;padding:11px;color:var(--ink);width:100%;max-width:100%;font-size:16px}.filter-label{display:block;font-size:12px;font-weight:700;margin:22px 0 6px}#day-filter{margin-bottom:10px}.day-title{font-size:16px;margin:27px 0 12px;padding-bottom:7px;border-bottom:1px solid var(--line);text-transform:capitalize}.entry{display:grid;grid-template-columns:62px 1fr;gap:12px;margin:13px 0;border:1px solid var(--line);border-radius:14px;background:white;padding:13px}.entry-time{font-size:14px;font-weight:750;color:var(--teal);padding-top:2px}.entry h3{font-size:16px;margin:2px 0 5px;overflow-wrap:anywhere}.entry p{font-size:13px;color:var(--muted);margin:4px 0;overflow-wrap:anywhere}.entry .kind{font-size:10px;letter-spacing:.7px;text-transform:uppercase;color:var(--teal);font-weight:750}.entry button{font-size:13px;margin-top:8px;min-height:42px}.phone-link{color:var(--teal)}dialog{border:1px solid var(--line);border-radius:18px;padding:22px;background:var(--paper);color:var(--ink);width:min(530px,calc(100% - 24px));max-height:calc(100dvh - 28px);overflow:auto}dialog::backdrop{background:#102e35b3}dialog form{margin:0}dialog label{display:block;font-size:14px;margin:12px 0 6px}.modal-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px;justify-content:flex-end}.modal-actions button{flex:1}.small{font-size:13px;color:var(--muted)}.check-line{display:flex!important;gap:10px;align-items:flex-start}.check-line input{margin-top:5px;width:18px;height:18px;flex-shrink:0}.modal-card{background:white;padding:12px;border:1px solid var(--line);border-radius:11px;margin:10px 0}.modal-card h3{margin:0 0 5px;overflow-wrap:anywhere}.modal-card p{margin:5px 0;font-size:13px}#document-modal{width:min(1050px,calc(100% - 12px));padding:13px;max-height:calc(100dvh - 14px)}.document-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.document-header h2{font-size:15px;overflow-wrap:anywhere;margin:0}.document-tools{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:12px 0}.document-tools button{padding:7px 12px;min-height:40px}#page-label{font-size:12px}#document-body{overflow:auto;max-height:70dvh;background:#dce8e3;overscroll-behavior:contain}#document-body canvas{display:block;margin:0 auto;max-width:none}#document-body img{display:block;max-width:100%;height:auto;margin:auto}#document-body pre{white-space:pre-wrap;word-break:break-word;font-family:inherit;background:white;padding:15px;font-size:13px}#document-status{font-size:13px;color:var(--muted);padding-top:10px}.camera{width:100%;max-height:50dvh;background:#173f45;border-radius:12px}.camera-note{font-size:13px;color:var(--muted)}a{color:var(--teal)}[hidden]{display:none!important}@media(min-width:700px){main{padding:35px 28px}.banner{min-height:165px;padding-top:46px}.trip-list{grid-template-columns:1fr 1fr}.intro{font-size:16px}h1{font-size:36px}.actions>button{flex:0 1 auto}.entry{grid-template-columns:80px 1fr}.entry h3{font-size:18px}}@media(max-width:360px){main{padding:20px 12px}.brand{font-size:23px}h1{font-size:25px}button{padding:10px}.entry{grid-template-columns:48px 1fr;gap:8px}}
