@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=IBM+Plex+Sans:wght@400;500;600;700&display=swap";:root{--ink: #16202d;--ground: #f4f6f8;--card: #ffffff;--accent: #a8232a;--accent-ink: #ffffff;--link: #1c5a82;--border: #d9dfe6;--border-strong: #c4cdd7;--muted: #55616f;--muted-soft: #9aa7b6;--muted-faint: #c7d0da;--warn-bg: #fbf0e0;--warn-border: #e8d4ae;--warn: #c98a1e;--warn-ink: #8a5300;--warn-ink-strong: #6b4200;--danger: #e8505b;--font: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "Cascadia Code", monospace;--tap: 44px;--input-h: 48px;--button-h: 52px;--nav-h: 56px;--radius: 4px;--radius-lg: 6px;--radius-pill: 3px;--ink-raised: #253040;--ink-border: #39465a;--divider-dark: #2b3646;--rest-bg: #fafbfc;--rest-ink: #8a94a0;--chevron: #9aa5b1;--gutter: 16px;--measure: 480px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--ground);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}.page{max-width:var(--measure);margin:0 auto;padding:24px var(--gutter) 40px}h1{font-size:1.5rem;font-weight:600;margin:0 0 8px}h2{font-size:1.125rem;font-weight:600;margin:24px 0 8px}p{margin:0 0 16px}a{color:var(--link)}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:20px var(--gutter)}.muted{color:var(--muted);font-size:.9375rem}.field{margin-bottom:16px}.field>label{display:block;font-size:.9375rem;font-weight:500;margin-bottom:6px}.field input,.field select{width:100%;height:var(--input-h);padding:0 12px;font:inherit;color:var(--ink);background:var(--card);border:1px solid var(--border-strong);border-radius:var(--radius)}.field input:focus-visible,.field select:focus-visible{outline:2px solid var(--link);outline-offset:1px}.field input[aria-invalid=true],.field select[aria-invalid=true]{border-color:var(--accent)}.field-error{margin:6px 0 0;font-size:.875rem;color:var(--accent)}.checkbox{display:flex;gap:12px;align-items:flex-start;min-height:var(--tap);padding:8px 0;cursor:pointer}.checkbox input{width:22px;height:22px;margin:2px 0 0;flex:0 0 auto;accent-color:var(--accent)}.checkbox span{font-size:.9375rem}.btn{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:var(--button-h);padding:0 20px;font:inherit;font-weight:600;border:1px solid transparent;border-radius:var(--radius);cursor:pointer}.btn-primary{background:var(--accent);color:var(--accent-ink)}.btn-primary:disabled{background:var(--muted-faint);color:var(--card);cursor:default}.btn-quiet{background:transparent;color:var(--link);border-color:var(--border-strong)}.btn-link{display:inline;width:auto;min-height:0;padding:0;font:inherit;color:var(--link);background:none;border:0;text-decoration:underline;cursor:pointer}.banner{border-radius:var(--radius);padding:12px 14px;margin-bottom:20px;font-size:.9375rem}.banner-warn{background:var(--warn-bg);border:1px solid var(--warn-border);color:var(--warn-ink-strong)}.banner-error{background:#fdeced;border:1px solid #f3c4c7;color:#7d1a1f}.banner-ok{background:#eef6f0;border:1px solid #c6e0cd;color:#1d5b2c}.stack-8>*+*{margin-top:8px}.stack-16>*+*{margin-top:16px}.centre{text-align:center}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.card+.card,.card+form.card,form.card+.card{margin-top:16px}.card>h2:first-child{margin-top:0}.plain-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}.plain-list>li{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:13px 14px;min-height:var(--tap)}.plain-list>li.today{border-left:4px solid var(--accent)}.plain-list>li.highlight{border-left:4px solid var(--link)}.rest{background:var(--rest-bg);border:1px dashed var(--border);border-radius:var(--radius);padding:13px 14px;color:var(--rest-ink);font-size:.8125rem}.pill{display:inline-block;background:var(--accent);color:var(--accent-ink);font-size:.625rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 7px;border-radius:var(--radius-pill);vertical-align:.1em}.pill-quiet{background:var(--muted)}.section-head{display:flex;align-items:center;gap:8px;margin:20px 0 7px;font-size:.8125rem;font-weight:600;color:var(--muted)}.section-head.now{color:var(--ink)}.figures{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.plain-list p:last-child{margin-bottom:0}.badge-card{width:320px;height:209px;max-width:100%;position:relative;overflow:hidden;border-radius:12px;border:2px solid #2f435a;background:#2f435a;color:#fff;font-family:"Titillium Web",var(--font)}.badge-card.lifeguard{background:#ce0021;border-color:#ce0021;color:#ce0021}.badge-card.steward{background:#000;border-color:#000;color:#000}.badge-card.leader{background:#466486;border-color:#466486}.badge-card.nurse{background:#fff;border-color:#ce0021;color:#ce0021}.badge-card .qualifica{display:block;width:100%;position:absolute;top:0;text-align:center;text-transform:uppercase;color:#fff;font-size:20px;line-height:40px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.badge-card.nurse .qualifica{color:#ce0021;border-bottom:2px solid #ce0021}.badge-card .foto{width:50%;height:168px;position:absolute;bottom:0;left:0;background-size:cover;background-position:center center;background-repeat:no-repeat;background-color:#dfe3e8;border-right:1px solid;border-top:1px solid}.badge-card .foto-assente{display:flex;align-items:center;justify-content:center;text-align:center;color:#4b4747;font-size:11px;padding:0 8px}.badge-card .dati{width:50%;height:168px;position:absolute;bottom:0;right:0;background:#ffffffeb;text-align:center;border-top:1px solid;color:#4b4747}.badge-card .dati .nome{display:block;font-size:19px;font-weight:600;line-height:1.1;padding:14px 6px 10px;color:#000}.badge-card .dati .riga{display:block;font-size:11px;line-height:1.3}.badge-card .dati .logo{width:100%;position:absolute;bottom:1px;left:0}.badge-provvisorio{outline:3px dashed var(--warn);outline-offset:3px}.app-header{background:var(--ink);color:var(--card);padding:14px var(--gutter);display:flex;align-items:center;gap:12px}.app-header-who{flex-grow:1;min-width:0;display:flex;flex-direction:column;gap:1px}.app-header-name{font-size:1rem;font-weight:600}.app-header-meta{font-family:var(--font-mono);font-size:.6875rem;color:var(--muted-soft)}.app-header-action{width:var(--tap);height:var(--tap);flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;background:var(--ink-raised);color:var(--card);border:1px solid var(--ink-border);border-radius:var(--radius);font:inherit;font-size:.8125rem;cursor:pointer}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:10;background:var(--card);border-top:1px solid var(--border-strong);display:flex;padding-bottom:max(6px,env(safe-area-inset-bottom))}.tabbar a{flex-grow:1;flex-basis:0;min-height:var(--nav-h);display:flex;align-items:center;justify-content:center;padding:0 2px;font-size:.625rem;line-height:1.2;text-align:center;text-decoration:none;color:var(--muted)}.tabbar a[aria-current=page]{color:var(--accent);font-weight:600}.has-tabbar .page{padding-bottom:calc(var(--nav-h) + 40px)}.hero{background:var(--ink);color:var(--card);border-radius:var(--radius-lg);padding:18px;margin-bottom:22px;display:flex;flex-direction:column;gap:12px}.hero-label{margin:0;font-size:.6875rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-soft)}.hero-answer{font-family:var(--font-mono);font-size:2rem;font-weight:700;line-height:1}.hero-note{color:var(--muted-faint);font-size:.875rem}.hero hr{width:100%;height:0;margin:0;border:0;border-top:1px solid var(--divider-dark)}.hero .btn{background:var(--card);color:var(--ink);min-height:46px}.plain-list>li:has(>.row-link){padding:0}.row-link{display:flex;align-items:center;gap:13px;min-height:var(--tap);padding:13px 14px;color:var(--ink);text-decoration:none}.row-link>span{flex-grow:1;min-width:0;font-size:.9375rem;font-weight:500}.row-link:hover>span{text-decoration:underline}.chevron{flex-shrink:0;color:var(--chevron)}.card+.plain-list,.card+h2+.plain-list{margin-top:16px}
