:root { --ink:#073b4c; --deep:#022b3a; --sand:#d8f4f1; --sun:#0ea5b3; --water:#82e4df; --paper:#f6fffe; --line:rgba(7,59,76,.16); }
* { box-sizing:border-box; }
[hidden] { display:none !important; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:"DM Sans", sans-serif; }
a { color:inherit; }
.site-header { min-height:86px; padding:18px clamp(22px,5vw,72px); display:flex; align-items:center; justify-content:space-between; background:var(--paper); position:relative; z-index:5; }
.brand { display:inline-flex; gap:10px; align-items:center; color:var(--ink); text-decoration:none; font-size:.75rem; line-height:1.08; letter-spacing:.06em; text-transform:uppercase; font-weight:700; }
.brand-mark { width:32px; height:32px; display:grid; place-items:center; border-radius:50%; background:var(--sun); color:white; font-family:"Fraunces", serif; font-size:1.25rem; text-transform:none; }
.site-nav { display:flex; gap:clamp(18px,3vw,44px); align-items:center; font-size:.86rem; font-weight:700; }
.site-nav a { text-decoration:none; border-bottom:1px solid transparent; padding:.35rem 0; }.site-nav a:hover { border-color:var(--sun); }
.menu-toggle { display:none; border:0; background:none; font:inherit; color:var(--ink); font-weight:700; }
.hero { min-height:calc(100vh - 86px); padding:clamp(54px,9vw,126px) clamp(22px,8vw,128px) clamp(46px,6vw,96px); display:grid; grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr); align-items:center; gap:4vw; background:var(--paper); overflow:hidden; }
.eyebrow { margin:0 0 16px; font:500 .72rem/1.2 "DM Mono", monospace; letter-spacing:.1em; text-transform:uppercase; color:var(--sun); }.hero h1,.section h2,.area-hero h1,.legal-main h1 { margin:0; font:600 clamp(3.7rem,7.4vw,7.5rem)/.9 "Fraunces", serif; letter-spacing:-.06em; }.hero h1 em,.area-hero h1 em,.legal-main h1 em { color:var(--sun); font-style:italic; }.hero-text { max-width:560px; margin:30px 0; font-size:clamp(1.04rem,1.5vw,1.28rem); line-height:1.65; }
.hero-actions { display:flex; gap:12px; flex-wrap:wrap; }.button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:0 22px; border:1px solid transparent; border-radius:999px; text-decoration:none; font:700 .84rem "DM Sans", sans-serif; cursor:pointer; transition:transform .18s ease, background .18s ease; }.button:hover { transform:translateY(-2px); }.button-primary { background:var(--ink); color:white; }.button-ghost { background:transparent; color:var(--ink); border-color:var(--ink); }.button-light { background:var(--paper); color:var(--ink); }
.hero-visual { min-height:510px; position:relative; overflow:hidden; border-radius:49% 51% 45% 55% / 40% 48% 52% 60%; background:radial-gradient(circle at 76% 18%,rgba(231,255,248,.88) 0 9%,transparent 10%),linear-gradient(145deg,#d8fffa 0%,#75d9d6 44%,#08758b 100%); box-shadow:inset -18px -22px 80px rgba(2,78,100,.18); }.hero-visual:after { content:""; position:absolute; inset:64% -10% -16%; background:rgba(239,255,253,.72); border-radius:51% 49% 0 0 / 22% 35% 0 0; transform:rotate(-8deg); }.sun { position:absolute; width:100px; height:100px; border-radius:50%; right:15%; top:16%; background:#dffaf0; box-shadow:0 0 0 13px rgba(212,255,243,.24); }.island { position:absolute; z-index:2; padding:8px 11px; border-radius:999px; background:var(--paper); box-shadow:0 5px 20px rgba(2,57,72,.14); font:500 .72rem "DM Mono", monospace; }.island:before { content:""; display:inline-block; width:7px; height:7px; margin-right:7px; border-radius:50%; background:var(--sun); }.island-levanzo { top:29%; left:13%; }.island-marettimo { top:45%; left:39%; }.island-favignana { left:58%; top:64%; }.island-marsala { right:11%; bottom:16%; }.route-line { position:absolute; width:100%; height:100%; z-index:1; }.route-line path { fill:none; stroke:rgba(255,255,255,.9); stroke-width:2; stroke-dasharray:6 9; }.map-note { position:absolute; z-index:3; right:24px; bottom:24px; width:215px; margin:0; font-size:.75rem; line-height:1.5; color:rgba(7,59,76,.7); }
.departure-strip { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; padding:28px clamp(22px,8vw,128px); background:var(--ink); color:white; }.departure-strip div { border-left:1px solid rgba(255,255,255,.25); padding-left:16px; }.departure-strip span { display:block; margin-bottom:6px; color:var(--water); font:.63rem "DM Mono", monospace; text-transform:uppercase; letter-spacing:.08em; }.departure-strip strong { font-size:.92rem; line-height:1.35; }
.section { padding:clamp(72px,10vw,150px) clamp(22px,8vw,128px); }.section-heading { max-width:720px; }.section h2 { font-size:clamp(3rem,6vw,6.4rem); }.passage-section { display:grid; grid-template-columns:.8fr 1.2fr; gap:10vw; background:#d8f4f1; }.passage-intro { padding-top:30px; }.passage-intro > p { max-width:570px; font-size:1.22rem; line-height:1.6; }.safety-note { margin:30px 0 48px; display:flex; gap:10px; font-size:.86rem; line-height:1.5; }.safety-note span { color:var(--sun); font-size:1.3rem; }.days { margin:0; padding:0; list-style:none; border-top:1px solid var(--line); }.days li { display:grid; grid-template-columns:70px 1fr; gap:18px; padding:27px 0; border-bottom:1px solid var(--line); }.day-number { color:var(--sun); font:500 1rem "DM Mono", monospace; }.day-label { margin:0 0 5px; font:.67rem "DM Mono", monospace; color:rgba(7,59,76,.68); text-transform:uppercase; }.days h3 { margin:0; font:600 clamp(1.65rem,3vw,2.45rem)/1 "Fraunces", serif; letter-spacing:-.04em; }.days p:last-child { margin:11px 0 0; max-width:600px; line-height:1.55; }
.islands-section { background:var(--paper); }.narrow-heading { max-width:900px; margin-bottom:55px; }.island-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }.island-card { min-height:510px; position:relative; overflow:hidden; border-radius:18px; background:var(--deep); color:white; }.island-card:after { content:""; position:absolute; z-index:1; inset:30% 0 0; background:linear-gradient(transparent,rgba(2,43,58,.94)); }.island-card img { width:100%; height:100%; position:absolute; object-fit:cover; object-position:center; filter:saturate(1.08) contrast(1.03); }.island-card-content { position:absolute; z-index:2; bottom:0; padding:26px; }.island-card-content .eyebrow { color:#97f4ec; }.island-card h3 { margin:0; font:600 2.2rem/.95 "Fraunces", serif; letter-spacing:-.05em; }.island-card p:last-child { margin:14px 0 0; line-height:1.48; font-size:.9rem; }.photo-credit { margin:18px 0 0; font-size:.66rem; color:rgba(7,59,76,.62); }
.fleet-section { display:grid; grid-template-columns:1fr 1fr; gap:12vw; background:#b8f2ed; color:#063644; }.fleet-section .eyebrow { color:#087b8a; }.fleet-copy { padding-top:20px; }.fleet-copy > p { margin:0 0 32px; font-size:1.2rem; line-height:1.55; }.feature-list { list-style:none; padding:0; margin:0 0 36px; }.feature-list li { display:grid; grid-template-columns:40px 1fr; gap:10px; padding:12px 0; border-top:1px solid rgba(6,54,68,.22); font-weight:700; }.feature-list span { font:500 .72rem "DM Mono", monospace; color:#087b8a; }.callout { text-align:center; padding-top:110px; padding-bottom:110px; background:var(--deep); color:white; }.callout h2 { margin-bottom:35px; }.callout .eyebrow { color:#91eee7; }.site-footer { padding:40px clamp(22px,8vw,128px); display:flex; align-items:flex-start; justify-content:space-between; gap:30px; background:#011f2b; color:white; }.site-footer .brand { color:white; }.site-footer p { margin:14px 0 0; font-size:.79rem; color:rgba(255,255,255,.62); }.site-footer div:last-child { display:grid; gap:12px; text-align:right; font-size:.82rem; }.site-footer a { text-decoration:none; }
.film-section { background:#c7f4f0; }.film-heading { display:grid; grid-template-columns:1.2fr .8fr; gap:9vw; align-items:end; margin-bottom:48px; }.film-heading h2 { font-size:clamp(3.1rem,6vw,6.1rem); }.film-heading h2 em { color:var(--sun); font-style:italic; }.film-heading > p:last-child { margin:0 0 8px; font-size:1.08rem; line-height:1.55; }.film-grid { display:grid; grid-template-columns:1.05fr .8fr .8fr; gap:14px; }.film-card { min-height:430px; display:flex; flex-direction:column; justify-content:space-between; padding:22px; overflow:hidden; position:relative; border-radius:14px; color:white; background:var(--deep); }.film-card:before { content:""; position:absolute; inset:0; opacity:.85; }.film-card:after { content:""; position:absolute; inset:38% 0 0; background:linear-gradient(transparent,rgba(2,43,58,.92)); }.film-dawn:before { background:radial-gradient(circle at 70% 22%,#e1fff4 0 9%,transparent 10%),linear-gradient(155deg,#0c9baa 0%,#52d4d1 38%,#286f82 74%,#062d3c 100%); }.film-sea:before { background:radial-gradient(ellipse at 35% 25%,#e7fffa 0 4%,transparent 5%),repeating-linear-gradient(168deg,rgba(255,255,255,.16) 0 2px,transparent 3px 15px),linear-gradient(155deg,#90f0e7 0%,#1591a6 52%,#063c50 100%); }.film-night:before { background:radial-gradient(circle at 70% 20%,#b9fff0 0 2%,transparent 3%),radial-gradient(circle at 43% 42%,#43d7d0 0 1%,transparent 2%),linear-gradient(155deg,#0b3850 0%,#255d76 48%,#061923 100%); }.film-card > * { position:relative; z-index:1; }.film-duration { align-self:flex-end; padding:6px 8px; border:1px solid rgba(255,255,255,.55); border-radius:999px; font:.67rem "DM Mono", monospace; }.film-card .eyebrow { color:#a7fff2; }.film-card h3 { margin:0; font:600 clamp(1.8rem,3vw,2.7rem)/.95 "Fraunces", serif; letter-spacing:-.05em; }.film-card p:last-child { margin:10px 0 0; line-height:1.5; font-size:.87rem; }.text-link { display:inline-flex; margin-top:25px; gap:12px; font-weight:700; text-decoration:none; border-bottom:1px solid var(--ink); padding-bottom:5px; }.text-link span { color:var(--sun); }
.area-page { background:#d8f4f1; }.area-main { max-width:1220px; margin:0 auto; padding:0 28px; }.area-hero { padding:90px 0 70px; max-width:870px; }.area-hero h1,.legal-main h1 { font-size:clamp(3.4rem,8vw,7rem); }.area-hero > p:last-child { max-width:660px; margin:26px 0 0; font-size:1.1rem; line-height:1.6; }.access-cards { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }.access-cards article { padding:34px; min-height:295px; display:flex; flex-direction:column; align-items:flex-start; border-radius:18px; background:var(--paper); }.access-cards h2,.legal-grid h2 { margin:0; font:600 2.3rem/.96 "Fraunces", serif; letter-spacing:-.05em; }.access-cards p:not(.eyebrow) { max-width:440px; line-height:1.55; }.access-cards .button { margin-top:auto; }.registration-preview { padding-left:0; padding-right:0; }.steps-grid { display:grid; grid-template-columns:repeat(3,1fr); margin-top:45px; }.steps-grid div { padding:25px; border-top:1px solid var(--line); border-right:1px solid var(--line); }.steps-grid div:first-child { padding-left:0; }.steps-grid div:last-child { border-right:0; }.steps-grid span { color:var(--sun); font:500 1rem "DM Mono", monospace; }.steps-grid h3 { margin:20px 0 9px; font:600 1.65rem "Fraunces", serif; }.steps-grid p { margin:0; line-height:1.5; font-size:.9rem; }.contribution-note { margin:0 -28px; padding-left:28px; padding-right:28px; background:var(--ink); color:white; }.contribution-note h2 { font-size:clamp(2.7rem,5vw,5rem); }.contribution-note p:last-child { max-width:700px; font-size:1.1rem; line-height:1.6; }.setup-dialog { width:min(540px,calc(100% - 36px)); border:0; border-radius:18px; padding:36px; color:var(--ink); background:var(--paper); box-shadow:0 20px 80px rgba(0,0,0,.25); }.setup-dialog::backdrop { background:rgba(2,43,58,.68); }.setup-dialog h2 { margin:0; font:600 2.3rem/.95 "Fraunces", serif; }.setup-dialog p:not(.eyebrow) { line-height:1.6; }.dialog-close { float:right; border:0; padding:0; background:none; color:var(--ink); font-size:2rem; cursor:pointer; }.legal-main { max-width:1000px; margin:0 auto; padding:90px 28px 115px; }.legal-lead { max-width:700px; margin:28px 0 62px; font-size:1.15rem; line-height:1.6; }.legal-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }.legal-grid article { padding:27px; background:var(--paper); border-radius:14px; }.legal-grid h2 { font-size:1.7rem; }.legal-grid p { line-height:1.55; font-size:.9rem; }
@media (max-width:800px) { .site-header { min-height:72px; padding:14px 22px; }.menu-toggle { display:block; }.site-nav { display:none; position:absolute; top:72px; left:0; right:0; padding:20px 22px 24px; background:var(--paper); flex-direction:column; align-items:flex-start; gap:15px; box-shadow:0 12px 20px rgba(17,45,56,.1); }.site-nav.open,.site-nav.always-visible { display:flex; }.site-nav.always-visible { position:static; padding:0; flex-direction:row; background:transparent; box-shadow:none; }.hero { min-height:auto; grid-template-columns:1fr; padding:64px 22px 38px; }.hero-visual { min-height:390px; }.departure-strip { grid-template-columns:repeat(2,1fr); padding:25px 22px; }.passage-section,.fleet-section,.film-heading { grid-template-columns:1fr; gap:35px; }.film-heading > p:last-child { margin:0; }.film-grid { grid-template-columns:1fr; }.film-card { min-height:320px; }.island-grid { grid-template-columns:1fr; }.island-card { min-height:380px; }.steps-grid { grid-template-columns:1fr; }.steps-grid div,.steps-grid div:first-child { padding:20px 0; border-right:0; }.access-cards,.legal-grid { grid-template-columns:1fr; }.area-hero { padding:62px 0 45px; }.site-footer { padding:34px 22px; }.site-footer div:last-child { text-align:left; }.section { padding:78px 22px; } }
@media (max-width:430px) { .hero h1,.area-hero h1,.legal-main h1 { font-size:3.35rem; }.hero-visual { min-height:330px; }.island { font-size:.62rem; }.island-marsala { right:5%; }.departure-strip { grid-template-columns:1fr; }.departure-strip div { padding:10px 0 10px 14px; }.days li { grid-template-columns:48px 1fr; }.access-cards article { padding:27px; }.area-main { padding:0 20px; }.contribution-note { margin:0 -20px; padding-left:20px; padding-right:20px; } }

/* Area skipper: i dati sono visualizzati solo dopo la sessione Firebase. */
.access-cards-single { grid-template-columns:minmax(0,720px); }
.access-cards-single p:not(.eyebrow) { max-width:620px; }
.form-message { min-height:1.4em; margin:16px 0 0; color:#416b6d; font-size:.88rem; line-height:1.45; }
.form-message.is-error { color:#a53d2c; }
.account-heading,.dashboard-heading { width:100%; display:flex; justify-content:space-between; gap:20px; align-items:flex-start; }
.text-button { padding:0; border:0; background:none; color:var(--ink); font:700 .85rem "DM Sans",sans-serif; text-decoration:underline; cursor:pointer; }
.account-status { color:#416b6d; }
.uid-details { width:100%; margin-top:auto; padding-top:18px; border-top:1px solid var(--line); font-size:.8rem; }
.uid-details summary { cursor:pointer; font-weight:700; }
.uid-details code { display:block; overflow-wrap:anywhere; margin:11px 0; padding:10px; background:#e8eee9; }
.uid-details p { margin:0; font-size:.8rem; }
.private-form { max-width:900px; margin-top:42px; padding:28px; border-radius:18px; background:var(--paper); }
.form-grid,.dashboard-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.private-form label,.compact-form label { display:grid; gap:8px; font-size:.78rem; font-weight:700; }
.private-form > label { margin-top:18px; }
.private-form input,.private-form textarea,.compact-form input,.compact-form textarea,.compact-form select { width:100%; border:1px solid rgba(17,45,56,.25); border-radius:8px; padding:11px 12px; color:var(--ink); background:white; font:400 1rem "DM Sans",sans-serif; }
.private-form textarea,.compact-form textarea { min-height:88px; resize:vertical; }
.form-actions { display:flex; align-items:center; gap:18px; margin-top:20px; }
.form-actions .form-message { margin:0; }
.dashboard { padding-left:0; padding-right:0; }
.dashboard-heading { align-items:end; margin-bottom:36px; }
.dashboard-heading h2 { margin:0; font:600 clamp(2.8rem,5vw,5.4rem)/.93 "Fraunces",serif; letter-spacing:-.06em; }
.dashboard-heading p:last-child { margin:12px 0 0; }
.dashboard-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:10px; }
.dashboard-panel { padding:28px; border-radius:18px; background:var(--paper); }
.dashboard-panel h3 { margin:0 0 18px; font:600 2rem/.95 "Fraunces",serif; letter-spacing:-.05em; }
.dashboard-panel h4 { margin:26px 0 12px; font:600 1.42rem/.98 "Fraunces",serif; letter-spacing:-.035em; }
.panel-lead { margin:0 0 18px; line-height:1.5; font-size:.9rem; }
.field-hint { color:rgba(7,59,76,.68); font-size:.72rem; font-weight:400; line-height:1.35; }
.capacity-status { margin:-18px 0 22px; color:#416b6d; font-size:.86rem; line-height:1.45; }
.payment-workflow { max-width:700px; margin:24px 0 0; padding-left:22px; line-height:1.7; }
.payment-workflow li::marker { color:#82e4df; font-weight:700; }
.photo-credit a { color:inherit; text-decoration:underline; text-decoration-color:var(--sun); text-underline-offset:3px; }
.compact-form { display:grid; gap:14px; }
.compact-form .button { margin-top:3px; }
.invite-panel { margin-top:28px; padding:22px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.invite-panel h4 { margin:0 0 10px; font:600 1.45rem "Fraunces",serif; letter-spacing:-.03em; }
.manual-entry { margin:18px 0 0; padding:13px 0 0; border-top:1px solid var(--line); }
.manual-entry summary { cursor:pointer; color:rgba(17,45,56,.7); font:500 .76rem "DM Mono",monospace; letter-spacing:.03em; text-transform:uppercase; }
.manual-entry[open] summary { margin-bottom:15px; color:var(--ink); }
.manual-entry .panel-lead { margin-bottom:16px; }
.consent-field { grid-template-columns:20px 1fr; align-items:start; line-height:1.45; font-size:.82rem !important; }
.consent-field input { width:16px; min-height:16px; margin:1px 0 0; }
.charter-export { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-top:28px; padding:18px 0; border-top:1px solid var(--line); }
.charter-export .eyebrow { margin-bottom:7px; }
.charter-export .panel-lead { margin:0; }
.charter-export .button:disabled { cursor:not-allowed; opacity:.45; transform:none; }
.member-list,.payment-list,.invite-list { display:grid; gap:10px; margin-top:24px; }
.profile-summary dl { display:grid; gap:11px; margin:0 0 22px; }
.profile-summary div { display:grid; gap:2px; padding-bottom:10px; border-bottom:1px solid var(--line); }
.profile-summary dt { color:rgba(17,45,56,.62); font:500 .68rem "DM Mono",monospace; letter-spacing:.04em; text-transform:uppercase; }
.profile-summary dd { margin:0; line-height:1.4; }
.member-row,.payment-row,.invite-row { display:flex; justify-content:space-between; gap:16px; padding:13px 0; border-top:1px solid var(--line); font-size:.84rem; }
.member-row strong,.payment-row strong,.invite-row strong { display:block; }
.member-row span,.payment-row span,.invite-row span { display:block; margin-top:3px; color:rgba(17,45,56,.7); }
.member-row > span,.payment-status { text-align:right; white-space:nowrap; }
.payment-status { color:#416b6d !important; font-weight:700; }
.payment-action { display:grid; justify-items:end; gap:7px; }
.payment-action .text-button { font-size:.76rem; }
.empty-state { margin:0; padding:15px 0; border-top:1px solid var(--line); color:rgba(17,45,56,.7); font-size:.85rem; }
.board-panel { grid-column:1 / -1; }
.board-status { margin:20px 0 0; color:#416b6d; font-size:.85rem; line-height:1.45; }
.board-divider { height:1px; margin:28px 0; background:var(--line); }
.announcement-list { display:grid; gap:12px; margin-top:22px; }
.announcement-row { padding:15px 0; border-top:1px solid var(--line); }
.announcement-row:first-child { border-top:0; padding-top:0; }
.announcement-row strong,.announcement-row span { display:block; }
.announcement-row span { margin-top:5px; color:rgba(17,45,56,.72); font-size:.86rem; line-height:1.5; white-space:pre-line; }
.announcement-meta { display:flex !important; gap:8px; align-items:center; margin-top:9px !important; color:#416b6d !important; font:.69rem "DM Mono",monospace !important; text-transform:uppercase; letter-spacing:.04em; }
.announcement-important { color:#a53d2c !important; font-weight:700; }
.announcement-flag { margin-top:26px; }
.schedule-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.schedule-list div { padding:13px; border-radius:10px; background:#e8eee9; }
.schedule-list span { display:block; margin-bottom:5px; color:#416b6d; font:.64rem "DM Mono",monospace; text-transform:uppercase; letter-spacing:.07em; }
.schedule-list strong { font-size:.88rem; line-height:1.35; }
.rules-text { margin:0; white-space:pre-line; line-height:1.6; }
.rules-acceptance { margin-top:20px; padding:17px; border-radius:12px; background:#e8eee9; }
.rules-acceptance .panel-lead { margin-bottom:12px; }
.crew-area-list { display:grid; gap:10px; margin-top:24px; }
.passage-plan-main { padding-bottom:90px; }
.passage-status { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-bottom:18px; }
.passage-status div { padding:18px; border-radius:14px; background:var(--ink); color:white; }
.passage-status span { display:block; margin-bottom:7px; color:#9fc8c5; font:.64rem "DM Mono",monospace; letter-spacing:.08em; text-transform:uppercase; }
.passage-status strong { font:600 1.05rem/1.25 "Fraunces",serif; }
.passage-introduction,.passage-safety { margin:18px 0; padding:30px; border-radius:18px; background:var(--paper); }
.passage-introduction > p:first-child { max-width:760px; margin:0; font:500 1.35rem/1.45 "Fraunces",serif; }
.passage-updated,.passage-source { margin:18px 0 0; font-size:.87rem; line-height:1.5; color:rgba(17,45,56,.72); }
.passage-day-list { display:grid; gap:18px; }
.passage-day-card { padding:30px; border-radius:18px; background:var(--paper); }
.passage-day-heading { display:flex; justify-content:space-between; gap:22px; align-items:start; border-bottom:1px solid var(--line); }
.passage-day-heading .eyebrow { margin-top:7px; }
.passage-day-heading h2,.passage-safety h2 { margin:0 0 20px; font:600 clamp(2rem,4vw,3.7rem)/.92 "Fraunces",serif; letter-spacing:-.05em; }
.passage-day-card > p { max-width:820px; line-height:1.55; }
.passage-alternative { padding:14px; border-radius:10px; background:#e8eee9; font-size:.9rem; }
.passage-data-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:24px 0 0; }
.passage-data-grid div { padding:13px; border:1px solid var(--line); border-radius:10px; }
.passage-data-grid dt { margin-bottom:6px; color:#416b6d; font:.63rem "DM Mono",monospace; letter-spacing:.06em; text-transform:uppercase; }
.passage-data-grid dd { margin:0; font-size:.88rem; line-height:1.4; }
.passage-safety { margin-top:36px; background:#b8f2ed; color:#063644; }
.passage-safety p { max-width:780px; line-height:1.6; }
@media (max-width:800px) { .passage-status,.passage-data-grid { grid-template-columns:1fr; }.passage-day-heading { display:grid; gap:0; }.passage-day-card,.passage-introduction,.passage-safety { padding:24px; } }
@media (max-width:800px) { .form-grid,.dashboard-grid,.schedule-list { grid-template-columns:1fr; }.dashboard-heading { display:grid; align-items:start; }.dashboard-actions { justify-content:start; }.form-actions { display:grid; align-items:start; }.form-actions .form-message { margin:0; } }
@media (max-width:800px) { .charter-export { display:grid; align-items:start; } }
