:root{--blue:#0a66c2;--blue-dark:#004182;--text:#1d2226;--muted:#5e6b75;--bg:#fff;--surface:#f3f6f8;--warning-bg:#fff4d6;--error-bg:#fde8e8;--danger:#c62828;--radius:14px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{min-height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:var(--bg);-webkit-text-size-adjust:100%;margin:0}button{font:inherit;border:2px solid var(--blue);background:var(--blue);color:#fff;cursor:pointer;border-radius:999px;min-height:44px;padding:0 18px}button.secondary,.language-switch button[aria-pressed=false]{color:var(--blue);background:0 0}button:disabled{opacity:.5}.banners{gap:8px;padding:12px 16px 0;display:grid}.banner{border-radius:var(--radius);margin:0;padding:10px 14px;font-size:.95rem;line-height:1.35}.banner-info{background:var(--surface)}.banner-warning{background:var(--warning-bg)}.banner-error{background:var(--error-bg);justify-content:space-between;align-items:center;gap:12px;display:flex}.banner-error p{margin:0}.banner-dismiss{flex-shrink:0}.start-screen,.offline-screen{text-align:center;flex-direction:column;align-items:center;gap:16px;padding:48px 24px;display:flex}.offline-screen{justify-content:center;min-height:100dvh;font-size:1.1rem}.butterfly,.offline-butterfly{margin:0;font-size:3.5rem}h1{color:var(--blue);margin:0;font-size:2rem}.subtitle{color:var(--muted);margin:0}.language-switch{align-items:center;gap:8px;display:flex}.language-label{color:var(--muted)}.version-label{min-height:44px;color:var(--muted);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:0 0;border:none;margin-top:32px;font-size:.85rem}.diagnostics{max-height:90dvh;padding:20px 20px calc(20px + env(safe-area-inset-bottom));border-radius:var(--radius) var(--radius) 0 0;background:var(--bg);text-align:left;position:fixed;inset:auto 0 0;overflow:auto;box-shadow:0 -8px 30px #00000026}.diagnostics h2{margin-top:0}.diagnostics dl{grid-template-columns:auto 1fr;gap:6px 16px;display:grid}.diagnostics dt{color:var(--muted)}.diagnostics dd{margin:0}.diagnostics-actions{gap:10px;margin-top:16px;display:grid}.choice-screen,.event-form-screen{flex-direction:column;gap:12px;padding:24px 16px 40px;display:flex}.choice-screen h1,.event-form-screen h1{margin-bottom:8px;font-size:1.6rem}.choice-section{gap:8px;display:grid}.choice-section h2{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:12px 0 0;font-size:.85rem;font-weight:600}.choice-actions{gap:8px;display:grid}.event-option{border-radius:var(--radius);width:100%;min-height:56px;color:var(--text);border-color:var(--surface);background:var(--surface);text-align:left;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 16px;display:flex}.event-option.continue{background:var(--blue);border-color:var(--blue);color:#fff}.event-option-name,.context-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-weight:600;overflow:hidden}.event-option-dates,.context-dates,.context-label{color:var(--muted);font-size:.9rem}.event-option.continue .event-option-dates{color:#ffffffd9}.event-form{flex-direction:column;gap:8px;display:flex}.event-form label{color:var(--muted);margin-top:8px;font-size:.9rem}.event-form input{min-height:44px;font:inherit;background:var(--bg);border:1px solid #c9d1d8;border-radius:10px;padding:8px 12px}.event-form button[type=submit]{margin-top:16px}.form-error{border-radius:var(--radius);background:var(--error-bg);margin:4px 0 0;padding:10px 14px}.add-by-name{width:100%;max-width:420px;min-height:56px;font-size:1.15rem;font-weight:600}.context-bar.read-only{cursor:default}.context-bar{border-radius:var(--radius);background:var(--surface);width:100%;min-height:56px;color:var(--text);text-align:left;border:none;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 16px;display:flex}.event-form textarea{min-height:calc(5.6em + 16px);font:inherit;resize:vertical;border:1px solid #c9d1d8;border-radius:10px;padding:8px 12px;font-size:16px;line-height:1.4}:is(.event-form,.person-detail) .switch{min-height:44px;color:var(--text);align-items:center;gap:12px;margin-top:8px;font-size:1rem;display:flex}:is(.event-form,.person-detail) .switch input{appearance:none;background:#c9d1d8;border:none;border-radius:999px;flex:0 0 51px;width:51px;height:31px;min-height:0;margin:0;padding:0;transition:background .15s;display:inline-block;position:relative}:is(.event-form,.person-detail) .switch input:after{content:"";background:#fff;border-radius:50%;width:27px;height:27px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000040}:is(.event-form,.person-detail) .switch input:checked{background:var(--blue)}:is(.event-form,.person-detail) .switch input:checked:after{transform:translate(20px)}.note-info{border-radius:var(--radius);background:var(--warning-bg);margin:0;padding:10px 14px}.button-link{border:2px solid var(--blue);background:var(--blue);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-height:48px;padding:0 18px;font-weight:600;text-decoration:none;display:flex}.button-link.secondary{color:var(--blue);background:0 0}.button-link[aria-disabled=true],a.event-option[aria-disabled=true]{opacity:.5}.search-link{margin-top:16px}a.event-option{border:2px solid var(--surface);text-decoration:none}.link-linked{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.9rem;overflow:hidden}.link-linked strong{color:var(--text)}.link-message{border-radius:var(--radius);background:var(--warning-bg);margin:0;padding:10px 14px}.link-message:empty{display:none}.merge-question{border-radius:var(--radius);background:var(--surface);gap:8px;padding:14px;display:grid}.merge-question p{margin:0 0 4px;font-weight:600}.start-actions{gap:12px;width:100%;max-width:420px;display:grid}.start-actions .add-by-name{max-width:none}.qr-video{aspect-ratio:1;border-radius:var(--radius);object-fit:cover;background:#000;width:100%;max-width:420px;margin:0 auto}.qr-hint,.qr-link{color:var(--muted);text-align:center;margin:0;font-size:.9rem}.qr-known{margin:0;font-size:1.1rem}.qr-message{border-radius:var(--radius);background:var(--warning-bg);margin:0;padding:10px 14px}.qr-message:empty{display:none}.qr-camera-error{gap:12px;display:grid}.qr-camera-error p{margin:0}.has-tab-bar{padding-bottom:calc(64px + env(safe-area-inset-bottom))}.tab-bar{z-index:10;padding:4px env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:var(--bg);border-top:1px solid #dfe4e8;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;inset:auto 0 0}.tab-bar button{min-height:56px;color:var(--muted);background:0 0;border:none;border-radius:0;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:4px 2px;font-size:.7rem;display:flex}.tab-bar button[aria-current=page]{color:var(--blue);font-weight:600}.diagnostics{z-index:20}.coming-soon{text-align:center;flex-direction:column;align-items:center;gap:16px;padding:48px 24px;display:flex}.contacts,.person-detail{flex-direction:column;gap:10px;padding:24px 16px;display:flex}.contacts h1{margin-bottom:4px;font-size:1.6rem}.contacts-label{color:var(--muted);font-size:.9rem}.contacts-view,.contacts-search{width:100%;min-height:44px;font:inherit;background:var(--bg);color:var(--text);border:1px solid #c9d1d8;border-radius:10px;padding:8px 12px;font-size:16px}.contacts-message{border-radius:var(--radius);background:var(--surface);margin:0;padding:10px 14px}.contacts-message:empty{display:none}.contacts-empty{color:var(--muted);text-align:center;justify-items:center;gap:12px;padding:32px 0;display:grid}.contacts-empty p{margin:0}.contact-rows{margin:0;padding:0;list-style:none}.contact-row{width:100%;min-height:56px;color:var(--text);text-align:left;background:0 0;border:none;border-bottom:1px solid #e6eaee;border-radius:0;justify-content:space-between;align-items:center;gap:12px;padding:10px 4px;display:flex}.contact-main,.contact-side{flex-direction:column;gap:2px;min-width:0;display:flex}.contact-side{flex-shrink:0;align-items:flex-end}.contact-name,.contact-company{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.contact-name{font-weight:600}.contact-company,.contact-date{color:var(--muted);font-size:.9rem}.status-chip{background:var(--surface);color:var(--muted);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:.75rem}.status-chip.connected{color:var(--blue-dark);background:#e3effb}.back-button{align-self:flex-start}.person-header h1{overflow-wrap:anywhere;font-size:1.6rem}.person-company{color:var(--muted);margin:2px 0 0;font-size:1.05rem}.person-hint{color:var(--muted);margin:0;font-size:.9rem}.timeline-title{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:16px 0 0;font-size:.85rem;font-weight:600}.timeline{border-left:2px solid #dfe4e8;gap:10px;margin:0;padding:0 0 0 14px;list-style:none;display:grid}.timeline-item{border-radius:var(--radius);background:var(--surface);gap:6px;padding:12px 14px;display:grid}.timeline-when{flex-wrap:wrap;gap:4px 10px;margin:0;display:flex}.timeline-date{font-weight:600}.timeline-event{color:var(--muted)}.timeline-note{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.timeline-note.empty{color:var(--muted);font-style:italic}.confirm-panel{border:2px solid var(--error-bg);border-radius:var(--radius);background:var(--bg);gap:8px;padding:14px;display:grid}.confirm-panel:focus{outline:none}.confirm-panel p{margin:0 0 4px;font-weight:600}.confirm-panel .confirm-detail{color:var(--muted);font-weight:400}button.danger{border-color:var(--danger);background:var(--danger)}button.text-button{color:var(--blue);background:0 0;border:none}button.text-button.danger{color:var(--danger);align-self:center;margin-top:16px}button.text-button.small{min-height:36px;color:var(--muted);justify-self:start;padding:0;font-size:.85rem}.actions{flex-direction:column;gap:12px;padding:24px 16px;display:flex}.actions h1{margin-bottom:4px;font-size:1.6rem}.actions-empty{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:48px 8px;display:flex}.actions-empty p{margin:0}.action-card{border-radius:var(--radius);background:var(--surface);gap:10px;padding:14px;display:grid}.action-heading{margin:0;font-size:1.1rem}.action-name{min-height:0;color:var(--text);text-align:left;background:0 0;border:none;border-radius:0;padding:0;font-weight:700}.action-company,.action-when{color:var(--muted);margin:2px 0 0;font-size:.9rem}.action-rows{gap:8px;margin:0;padding:0;list-style:none;display:grid}.action-row{border-top:1px solid #dfe4e8;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;padding-top:8px;display:flex}.action-label{font-weight:600}button.compact{min-height:40px;padding:0 14px;font-size:.9rem}.action-note,.action-paste{flex-basis:100%;gap:8px;display:grid}.action-note textarea{min-height:calc(4.2em + 16px);font:inherit;resize:vertical;border:1px solid #c9d1d8;border-radius:10px;padding:8px 12px;font-size:16px;line-height:1.4}.actions-message{border-radius:var(--radius);background:var(--surface);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 12px;margin:0;padding:6px 6px 6px 14px;display:flex}.action-row .text-button.small{margin-left:auto}.tab-bar button{position:relative}.tab-badge{background:var(--blue);color:#fff;text-align:center;border-radius:999px;min-width:18px;height:18px;padding:0 5px;font-size:.65rem;font-weight:700;line-height:18px;position:absolute;top:2px;left:calc(50% + 6px)}
