:root{--phalanx-css-ok:1;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#1e1e1e;--color-bg-deep:#111;--color-bg-raised:#1a1a1a;--color-surface:#2a2a2a;--color-text:#fff;--color-text-secondary:#ffffffb3;--color-text-muted:#ffffff8a;--color-text-faint:#ffffff61;--color-text-disabled:#ffffff3d;--color-border:#ffffff1f;--color-primary:#4caf50;--color-primary-soft:#4caf5026;--color-on-primary:#fff;--color-success:#4caf50;--color-danger:#f44336;--color-pending:#9e9e9e;--color-info:#448aff;--color-cui:#502b85;--color-warning:#ff9800;--color-qual-expert:#ffc107;--color-qual-sharpshooter:#29b6f6;--color-qual-marksman:#4caf50;--color-qual-unqualified:#f44336;--color-qual-pending:#9e9e9e;--font-family:"Roboto", system-ui, -apple-system, "Segoe UI", sans-serif;--font-size-base:16px;--font-size-sm:13px;--font-size-xs:11px;--radius:10px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--motion-fast:.12s;--motion-quick:.2s;--motion-base:.3s;--motion-sheet:.44s;--motion-confirm:.44s;--ease-standard:cubic-bezier(.32, .72, 0, 1);--ease-out:cubic-bezier(.2, .8, .2, 1);--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-spring:cubic-bezier(.34, 1.4, .64, 1)}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg:#f0f2f5;--color-bg-deep:#e0e3e8;--color-bg-raised:#e8eaf0;--color-surface:#fff;--color-text:#000000de;--color-text-secondary:#0009;--color-text-muted:#00000073;--color-text-faint:#00000052;--color-text-disabled:#0000003d;--color-border:#0000001a;--color-primary:#388e3c;--color-primary-soft:#388e3c1a;--color-on-primary:#fff;--color-success:#388e3c;--color-danger:#d32f2f;--color-pending:#757575;--color-info:#1565c0;--color-warning:#e65100;--color-qual-expert:#f9a825;--color-qual-sharpshooter:#0277bd;--color-qual-marksman:#388e3c;--color-qual-unqualified:#d32f2f;--color-qual-pending:#757575}html,body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-family);font-size:var(--font-size-base);margin:0}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,select,input{font-family:inherit}input,select,textarea{font-size:max(16px,1em)}a,button,[role=button],input,select,textarea,label{touch-action:manipulation}html,body,#root{height:100%}@keyframes px-fade-in{0%{opacity:0}}@keyframes px-fade-out{to{opacity:0}}@keyframes px-pop-in{0%{opacity:0;transform:scale(.86)}}@keyframes px-pop-out{to{opacity:0;transform:scale(.92)}}@keyframes px-rise-in{0%{opacity:0;transform:translateY(12px)scale(.98)}}@keyframes px-rise-out{to{opacity:0;transform:translateY(8px)scale(.98)}}@keyframes px-sheet-in{0%{transform:translateY(100%)}}@keyframes px-sheet-out{to{transform:translateY(100%)}}@keyframes px-toast-in{0%{opacity:0;transform:translate(-50%,-14px)scale(.94)}}@keyframes px-toast-out{to{opacity:0;transform:translate(-50%,-8px)scale(.98)}}@keyframes px-toast-in-r{0%{opacity:0;transform:translateY(14px)scale(.94)}}@keyframes px-toast-out-r{to{opacity:0;transform:translateY(8px)scale(.98)}}@keyframes px-push-in{0%{transform:translate(28px)}}@keyframes px-badge-in{0%{transform:scale(0)}70%{transform:scale(1.2)}}@keyframes px-bell-ring{0%,to{transform:rotate(0)}20%{transform:rotate(14deg)}40%{transform:rotate(-12deg)}60%{transform:rotate(8deg)}80%{transform:rotate(-4deg)}}.btn,.fab,.fab-option,.export-btn,.app-menu__item,.bottom-tab-bar__item,.top-nav__settings-btn,.top-nav__bell,.header-action-btn,.summary-stat,.status-menu-btn,.theme-toggle__btn,.export-format-btn,.settings-row--action,.detail-header__back,.form-header__cancel,.form-header__save,.share-results__format,.share-results__group,.pwa-toast__action,.approvals-toast__action,.notif-row,.type-chooser-option,.list-filter-bar__btn,.sort-menu__item,.undo-bar__btn,.settings-header__close,.app-dialog__show-btn,.place-field__kind,.maps-app-btn,.soldier-row__roster-action,.soldier-row__delete-action{transition:transform var(--motion-fast) var(--ease-out), opacity var(--motion-fast) linear, background-color var(--motion-fast) linear, color var(--motion-fast) linear, border-color var(--motion-fast) linear}.btn:active:not(:disabled),.fab:active:not(:disabled),.fab-option:active:not(:disabled),.export-btn:active:not(:disabled),.app-menu__item:active,.bottom-tab-bar__item:active,.top-nav__settings-btn:active,.top-nav__bell:active,.header-action-btn:active,.summary-stat:active,.status-menu-btn:active:not(:disabled),.theme-toggle__btn:active,.export-format-btn:active,.settings-row--action:active,.detail-header__back:active,.form-header__cancel:active,.form-header__save:active:not(:disabled),.share-results__format:active:not(:disabled),.share-results__group:active,.pwa-toast__action:active,.approvals-toast__action:active,.notif-row:active,.type-chooser-option:active,.list-filter-bar__btn:active,.sort-menu__item:active,.undo-bar__btn:active,.settings-header__close:active,.app-dialog__show-btn:active,.place-field__kind:active,.maps-app-btn:active:not(:disabled),.soldier-row__roster-action:active,.soldier-row__delete-action:active{transform:scale(.96)}@media (prefers-reduced-motion:reduce){:root{--motion-fast:.01ms;--motion-quick:.01ms;--motion-base:.01ms;--motion-sheet:.01ms;--motion-confirm:.01ms}*,:before,:after{transition-duration:.01ms!important}}.cui-banner{text-align:center;background:var(--color-cui);color:#fff;letter-spacing:.18em;-webkit-user-select:none;user-select:none;z-index:100;flex:none;font-size:11px;font-weight:700;line-height:18px}.app{flex-direction:column;height:100%;display:flex;overflow:hidden}.top-nav{height:56px;padding:0 var(--space-4);background-color:var(--color-bg-deep);border-bottom:1px solid var(--color-border);z-index:20;flex-shrink:0;align-items:center;display:flex;position:sticky;top:0}.top-nav__title{letter-spacing:.3em;color:var(--color-primary);flex:1;font-size:1.1rem;font-weight:800}.top-nav__settings-btn{color:var(--color-text-secondary);cursor:pointer;padding:var(--space-1);border-radius:var(--radius);background:0 0;border:none;justify-content:center;align-items:center;min-width:44px;min-height:44px;display:flex;position:relative}.top-nav__settings-btn:active{background:var(--color-primary-soft);color:var(--color-primary)}.app-status{font-size:var(--font-size-xs);letter-spacing:.02em;color:var(--color-text-muted);white-space:nowrap;align-items:center;gap:6px;min-width:0;font-weight:600;display:inline-flex}.app-status__dot{background:var(--color-success);border-radius:50%;flex-shrink:0;width:7px;height:7px}.app-status--offline .app-status__dot{background:var(--color-warning)}.app-status--offline{color:var(--color-warning)}.app-status--busy .app-status__dot{background:var(--color-info);animation:1.1s ease-in-out infinite app-status-pulse}.app-status--busy{color:var(--color-text-secondary)}.app-status--error .app-status__dot{background:var(--color-danger)}.app-status--error{color:var(--color-danger)}@keyframes app-status-pulse{0%,to{opacity:.35}50%{opacity:1}}.app-status--pill{border:1px solid var(--color-border);margin-right:var(--space-1);border-radius:999px;max-width:46vw;padding:5px 10px}.app-status--pill .app-status__label{text-overflow:ellipsis;overflow:hidden}.app-status--line{padding:var(--space-3) var(--space-4) var(--space-2)}.app-menu-backdrop{z-index:300;animation:px-fade-in var(--motion-base) var(--ease-out);background:#0009;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.app-menu-backdrop--leaving{animation:px-fade-out var(--motion-quick) var(--ease-in) forwards;pointer-events:none}.app-menu{background:var(--color-surface);width:100%;max-width:520px;padding:var(--space-2) var(--space-2) calc(var(--space-3) + env(safe-area-inset-bottom,0px));animation:px-sheet-in var(--motion-sheet) var(--ease-standard);transition:transform var(--motion-base) var(--ease-standard);border-radius:16px 16px 0 0;flex-direction:column;display:flex}.app-menu--leaving{animation:px-sheet-out var(--motion-quick) var(--ease-in) forwards}.app-menu--dragging{transition:none}.app-menu__grabber{background:var(--color-border);width:36px;height:4px;margin:2px auto var(--space-2);border-radius:2px}.app-menu__handle{padding:var(--space-1) 0 var(--space-2);margin:calc(-1 * var(--space-2)) calc(-1 * var(--space-2)) 0;touch-action:none;cursor:grab}.app-menu__item{align-items:center;gap:var(--space-3);width:100%;min-height:60px;padding:var(--space-2) var(--space-3);border-radius:var(--radius);color:var(--color-text);font-family:var(--font-family);text-align:left;cursor:pointer;background:0 0;border:none;display:flex}.app-menu__item:active{background:var(--color-primary-soft)}.app-menu__icon{background:var(--color-bg);width:40px;height:40px;color:var(--color-text-secondary);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.app-menu__text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.app-menu__label{align-items:center;gap:var(--space-2);font-size:var(--font-size-base);font-weight:600;display:flex}.app-menu__desc{font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:1.3}.app-menu__badge{background:var(--color-danger);color:#fff;min-width:20px;height:20px;font-size:var(--font-size-xs);border-radius:10px;justify-content:center;align-items:center;padding:0 6px;font-weight:700;display:inline-flex}.app-menu__chevron{color:var(--color-text-faint);flex-shrink:0;font-size:1.4rem;line-height:1}.app-menu__about{margin:var(--space-2) var(--space-3) 0;padding-top:var(--space-3);border-top:1px solid var(--color-border);font-size:var(--font-size-xs);color:var(--color-text-muted);line-height:1.45}.top-nav__bell{color:var(--color-text-secondary);cursor:pointer;padding:var(--space-1);border-radius:var(--radius);background:0 0;border:none;justify-content:center;align-items:center;min-width:44px;min-height:44px;display:flex;position:relative}.top-nav__bell:active{background:var(--color-primary-soft);color:var(--color-primary)}.top-nav__bell[aria-expanded=true]{color:var(--color-primary)}.top-nav__bell-badge{background:var(--color-danger);color:#fff;border:2px solid var(--color-bg-deep);min-width:18px;height:18px;animation:px-badge-in var(--motion-confirm) var(--ease-spring);border-radius:9px;justify-content:center;align-items:center;padding:0 5px;font-size:11px;font-weight:700;line-height:1;display:inline-flex;position:absolute;top:3px;right:1px}.notif-bell--ring svg{animation:px-bell-ring .8s var(--ease-out);transform-origin:50% 12%}.notif-sheet{min-height:40dvh}.notif-sheet__clear{color:var(--color-text-secondary);white-space:nowrap;flex-shrink:0;width:auto;min-width:64px;font-weight:600}.notif-sheet__body{padding:0}.notif-empty{padding:48px var(--space-4);text-align:center;color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}.notif-row-line{background:var(--color-bg);border-bottom:1px solid var(--color-border);align-items:stretch;display:flex}.notif-row{align-items:flex-start;gap:var(--space-3);min-width:0;padding:var(--space-3) 0 var(--space-3) var(--space-4);text-align:left;min-height:64px;color:var(--color-text);font-family:var(--font-family);cursor:pointer;background:0 0;border:none;flex:1;display:flex}.notif-row__icon{background:var(--color-primary-soft);width:36px;height:36px;color:var(--color-primary);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.notif-row__icon--approvals{color:var(--color-warning);background:#ff980024}.notif-row__icon--update{color:var(--color-info);background:#448aff24}.notif-row__icon--shared-event{background:var(--color-primary-soft);color:var(--color-primary)}.notif-row__icon--locked-events{color:var(--color-text-secondary);background:#9e9e9e29}.notif-row__icon--duplicates{color:var(--color-danger);background:#f443361f}.notif-row__icon--expiring-quals{color:var(--color-warning);background:#ff980024}.notif-row__icon--expired-quals{color:var(--color-danger);background:#f443361f}.notif-row__icon--upcoming-detail{color:#8d6e63;background:#8d6e6329}.notif-row__text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.notif-row__title{font-size:var(--font-size-base);font-weight:600;line-height:1.3}.notif-row-line--unseen{background:var(--color-surface)}.notif-row-line--unseen .notif-row__title{font-weight:700}.notif-row__dot{background:var(--color-danger);vertical-align:middle;border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.notif-row__body{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.35}.notif-row__meta{gap:var(--space-2);font-size:var(--font-size-xs);color:var(--color-text-muted);align-items:center;margin-top:2px;display:flex}.notif-row__action{color:var(--color-primary);font-weight:600}.notif-row__dismiss{width:44px;min-height:44px;margin-right:var(--space-1);color:var(--color-text-faint);font-family:var(--font-family);cursor:pointer;border-radius:var(--radius);background:0 0;border:none;flex-shrink:0;align-self:center;font-size:14px}.notif-row__dismiss:active{background:var(--color-primary-soft);color:var(--color-text)}.note-stamp{font-size:var(--font-size-xs);color:var(--color-text-faint);white-space:nowrap;margin-left:6px;font-weight:400;display:inline-block}.note-stamp:before{content:"· "}.note-stamp-hint{color:var(--color-text-faint)}.header-action-btn{color:var(--color-text-secondary);cursor:pointer;padding:var(--space-1);border-radius:var(--radius);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;min-width:44px;min-height:44px;display:flex}.header-action-btn:active{background:var(--color-primary-soft);color:var(--color-primary)}.header-action-btn--active{color:var(--color-primary)}.header-action-btn--active:hover,.header-action-btn--active:focus{background:var(--color-primary-soft)}.search-wrap{flex:1;min-width:0;position:relative}.search-wrap input{box-sizing:border-box;width:100%;padding-right:32px}.search-wrap input[type=search]::-webkit-search-cancel-button{display:none}.search-clear-btn{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-size:13px;line-height:1;display:flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.search-clear-btn:active{background:#80808033}.undo-bar{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--color-surface);border-bottom:1px solid var(--color-border);animation:undo-slide-in var(--motion-quick) var(--ease-out);flex-shrink:0;display:flex}@keyframes undo-slide-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.undo-bar__label{font-size:var(--font-size-sm);color:var(--color-text-secondary);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.undo-bar__btn{color:var(--color-primary);font-size:var(--font-size-sm);font-weight:700;font-family:var(--font-family);cursor:pointer;padding:var(--space-1) var(--space-2);border-radius:var(--radius);background:0 0;border:none;flex-shrink:0;min-height:36px}.undo-bar__btn:active{background:var(--color-primary-soft)}.undo-bar__count{color:var(--color-text-muted);font-weight:400}.undo-bar__dismiss{color:var(--color-text-muted);font-size:var(--font-size-sm);cursor:pointer;padding:var(--space-1);border-radius:var(--radius);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;min-width:32px;min-height:32px;display:flex}.app-main{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.app-content{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.tab-pane{display:none}.tab-pane--active{flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.tab-pane--active:after{content:"";height:calc(56px + env(safe-area-inset-bottom,0px));flex-shrink:0;display:block}.bottom-tab-bar{background:var(--color-bg-deep);border-top:1px solid var(--color-border);z-index:90;padding-bottom:env(safe-area-inset-bottom,0px);align-items:stretch;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-tab-bar__item{cursor:pointer;min-height:56px;color:var(--color-text-muted);font-family:var(--font-family);font-size:var(--font-size-xs);letter-spacing:.05em;text-transform:uppercase;background:0 0;border:none;border-top:2px solid #0000;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:0;font-weight:600;transition:color .15s;display:flex}.bottom-tab-bar__item:active{opacity:.7}.bottom-tab-bar__item--active{color:var(--color-primary);border-top-color:var(--color-primary)}.bottom-tab-bar__icon{fill:currentColor;flex-shrink:0;width:24px;height:24px}.bottom-tab-bar__spacer,.bottom-tab-bar__secondary{display:none}.bottom-tab-bar__badge{background:var(--color-danger);color:#fff;min-width:20px;height:20px;font-size:var(--font-size-xs);letter-spacing:0;border-radius:10px;justify-content:center;align-items:center;margin-left:auto;padding:0 6px;font-weight:700;display:inline-flex}@media (width>=900px){.app{flex-direction:row;height:100vh;overflow:hidden}.app-main{height:100vh;overflow:hidden}.app-content{flex:1;padding-bottom:0;overflow:hidden}.tab-pane--active{overflow-y:auto}.tab-pane--active:after{display:none}.bottom-tab-bar{border-top:none;border-right:1px solid var(--color-border);flex-direction:column;flex-shrink:0;justify-content:flex-start;align-items:stretch;width:200px;height:100vh;padding-bottom:0;position:sticky;inset:0 auto auto;overflow-y:auto}.bottom-tab-bar:before{content:"PHALANX";height:56px;padding:0 var(--space-4);letter-spacing:.3em;color:var(--color-primary);border-bottom:1px solid var(--color-border);flex-shrink:0;align-items:center;font-size:.95rem;font-weight:800;display:flex}.bottom-tab-bar__item{justify-content:flex-start;align-items:center;gap:var(--space-3);min-height:52px;padding:0 var(--space-4);font-size:var(--font-size-sm);text-align:left;border-top:none;border-left:3px solid #0000;flex-direction:row;flex:none}.bottom-tab-bar__item--active{border-left-color:var(--color-primary);background:var(--color-primary-soft);border-top-color:#0000}.bottom-tab-bar__item:active{opacity:1;background:#ffffff0d}.bottom-tab-bar__icon{flex-shrink:0;width:20px;height:20px}.top-nav{display:none}.bottom-tab-bar__spacer{flex:auto;display:block}.bottom-tab-bar__secondary{border-top:1px solid var(--color-border);padding:var(--space-2) 0 var(--space-1);flex-direction:column;flex-shrink:0;display:flex}.bottom-tab-bar__item--secondary{min-height:44px;font-size:var(--font-size-sm);letter-spacing:.01em;text-transform:none;color:var(--color-text-secondary);border-left-color:#0000;font-weight:600}.bottom-tab-bar__item--secondary:disabled{opacity:.5;cursor:default}.bottom-tab-bar__item--secondary .bottom-tab-bar__icon{opacity:.8;width:18px;height:18px}.fab-container{bottom:var(--space-4)}}.app-dialog-backdrop{z-index:400;padding:var(--space-4);animation:px-fade-in var(--motion-base) var(--ease-out);background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.app-dialog-backdrop--leaving{animation:px-fade-out var(--motion-quick) var(--ease-in) forwards;pointer-events:none}.app-dialog{background:var(--color-surface);border-radius:var(--radius);padding:var(--space-4);gap:var(--space-3);width:100%;max-width:380px;animation:px-pop-in var(--motion-base) var(--ease-spring);flex-direction:column;display:flex}.app-dialog--leaving{animation:px-pop-out var(--motion-fast) var(--ease-in) forwards}.app-dialog__title{font-size:var(--font-size-base);color:var(--color-text);margin:0;font-weight:700}.app-dialog__body{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0;line-height:1.5}.app-dialog__actions{justify-content:center;gap:var(--space-2);flex-flow:wrap;display:flex}.app-dialog__actions>.btn{flex:auto}.app-dialog__input{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);font-size:var(--font-size-base);font-family:var(--font-family);padding:var(--space-2) var(--space-3);box-sizing:border-box;width:100%}.app-dialog__input:focus{outline:2px solid var(--color-primary);outline-offset:1px;border-color:var(--color-primary)}.app-dialog__confirm-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-2);display:block}.app-dialog__confirm-input{box-sizing:border-box;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);width:100%;color:var(--color-text);font-size:var(--font-size-base);font-family:var(--font-family);padding:var(--space-2) var(--space-3);margin-bottom:var(--space-4);letter-spacing:.06em}.app-dialog__confirm-input:focus{outline:2px solid var(--color-danger);outline-offset:1px;border-color:var(--color-danger)}.app-dialog__input::placeholder{color:var(--color-text-faint)}.export-dialog-backdrop{z-index:300;padding:var(--space-4);animation:px-fade-in var(--motion-base) var(--ease-out);background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.export-dialog{background:var(--color-surface);border-radius:var(--radius);padding:var(--space-4);gap:var(--space-3);width:100%;max-width:380px;animation:px-pop-in var(--motion-base) var(--ease-spring);flex-direction:column;display:flex}.export-dialog__title{font-size:var(--font-size-base);color:var(--color-danger);margin:0;font-weight:700}.export-dialog__title--neutral{color:var(--color-text)}.export-dialog__body{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0;line-height:1.5}.export-dialog__backup-btn{font-size:var(--font-size-sm);align-self:flex-start}.export-dialog__confirm-label{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.export-dialog__confirm-input{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);font-size:var(--font-size-base);font-family:var(--font-family);padding:var(--space-2) var(--space-3);box-sizing:border-box;width:100%}.export-dialog__confirm-input::placeholder{color:var(--color-text-faint)}.export-dialog__confirm-input:focus{outline:2px solid var(--color-danger);outline-offset:1px;border-color:var(--color-danger)}.export-dialog__actions{gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end;display:flex}.export-dialog__actions>.btn{flex:auto}.app-dialog__input-row{gap:var(--space-2);align-items:center;display:flex}.app-dialog__input-row .app-dialog__input{flex:1}.app-dialog__show-btn{border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text-secondary);cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;min-width:44px;height:44px;display:flex}.app-dialog__error{font-size:var(--font-size-sm);color:var(--color-danger);margin:0}.nudge-banner{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);background:var(--color-bg-raised);border-bottom:1px solid var(--color-border);flex-shrink:0;display:flex}.nudge-banner__msg{font-size:var(--font-size-sm);color:var(--color-text-secondary);flex:1}.nudge-banner__action{font-size:var(--font-size-sm);padding:var(--space-1) var(--space-3);white-space:nowrap;flex-shrink:0;min-height:32px}.nudge-banner__dismiss{color:var(--color-text-muted);font-family:var(--font-family);cursor:pointer;padding:var(--space-1);border-radius:var(--radius);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;min-width:28px;min-height:28px;font-size:14px;line-height:1;display:flex}.nudge-banner__dismiss:active{background:var(--color-primary-soft)}.pwa-toast{bottom:calc(56px + env(safe-area-inset-bottom,0px) + var(--space-4));background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-3) var(--space-4);align-items:center;gap:var(--space-3);z-index:500;white-space:nowrap;animation:px-toast-in var(--motion-confirm) var(--ease-spring);display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #0006}.pwa-toast--leaving{animation:px-toast-out var(--motion-quick) var(--ease-in) forwards;pointer-events:none}.pwa-toast__msg{font-size:var(--font-size-sm);color:var(--color-text)}.pwa-toast__action{background:var(--color-primary);color:var(--color-on-primary);padding:var(--space-1) var(--space-3);font-size:var(--font-size-sm);font-family:var(--font-family);cursor:pointer;border:none;border-radius:6px;min-height:32px;font-weight:600}.pwa-toast__action:active{opacity:.85}.pwa-toast__dismiss{color:var(--color-text-muted);font-family:var(--font-family);cursor:pointer;padding:var(--space-1);border-radius:var(--radius);background:0 0;border:none;justify-content:center;align-items:center;min-width:28px;min-height:28px;font-size:14px;line-height:1;display:flex}.pwa-toast__dismiss:active{background:var(--color-primary-soft)}@media (width>=900px){.pwa-toast{bottom:var(--space-4);left:auto;right:var(--space-4);animation-name:px-toast-in-r;transform:none}.pwa-toast--leaving{animation-name:px-toast-out-r}}.app-toast{bottom:calc(56px + env(safe-area-inset-bottom,0px) + var(--space-4));background:var(--color-surface);border:1px solid var(--color-border);border-left:3px solid var(--color-success);border-radius:var(--radius);max-width:calc(100vw - 32px);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-4);align-items:center;gap:var(--space-3);z-index:500;color:var(--color-success);animation:px-toast-in var(--motion-confirm) var(--ease-spring);display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #0006}.app-toast--leaving{animation:px-toast-out var(--motion-quick) var(--ease-in) forwards;pointer-events:none}.app-toast__msg{font-size:var(--font-size-sm);color:var(--color-text)}.app-toast__dismiss{color:var(--color-text-muted);font-family:var(--font-family);cursor:pointer;border-radius:var(--radius);background:0 0;border:none;justify-content:center;align-items:center;min-width:32px;min-height:32px;font-size:14px;display:flex}@media (width>=900px){.app-toast{bottom:var(--space-4);left:auto;right:var(--space-4);animation-name:px-toast-in-r;transform:none}.app-toast--leaving{animation-name:px-toast-out-r}}.approvals-toast{bottom:calc(56px + env(safe-area-inset-bottom,0px) + var(--space-4) + 56px);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-3) var(--space-4);align-items:center;gap:var(--space-3);z-index:500;white-space:nowrap;animation:px-toast-in var(--motion-confirm) var(--ease-spring);display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #0006}.approvals-toast--leaving{animation:px-toast-out var(--motion-quick) var(--ease-in) forwards;pointer-events:none}.approvals-toast__msg{font-size:var(--font-size-sm);color:var(--color-text)}.approvals-toast__action{background:var(--color-primary);color:var(--color-on-primary);padding:var(--space-1) var(--space-3);font-size:var(--font-size-sm);font-family:var(--font-family);cursor:pointer;border:none;border-radius:6px;min-height:32px;font-weight:600}.approvals-toast__action:active{opacity:.85}.approvals-toast__dismiss{color:var(--color-text-muted);font-family:var(--font-family);cursor:pointer;padding:var(--space-1);border-radius:var(--radius);background:0 0;border:none;justify-content:center;align-items:center;min-width:28px;min-height:28px;font-size:14px;line-height:1;display:flex}.approvals-toast__dismiss:active{background:var(--color-primary-soft)}@media (width>=900px){.approvals-toast{bottom:calc(var(--space-4) + 56px);left:auto;right:var(--space-4);animation-name:px-toast-in-r;transform:none}.approvals-toast--leaving{animation-name:px-toast-out-r}}.rank-filter-btn{position:relative}.rank-filter-btn--active{color:var(--color-primary);border-color:var(--color-primary)}.rank-filter-btn__dot{background:var(--color-primary);border:2px solid var(--color-bg);border-radius:50%;width:8px;height:8px;position:absolute;top:4px;right:4px}.rank-filter-menu{transform-origin:100% 0;min-width:236px;max-width:calc(100vw - 24px);animation:px-pop-in var(--motion-quick) var(--ease-out)}.sort-menu.rank-filter-menu{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;max-height:min(70vh,100dvh - 140px);overflow-y:auto}.rank-filter-label{letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);border-top:1px solid var(--color-border);padding:8px 16px 4px;font-size:.6875rem;font-weight:700}.rank-filter-empty{font-size:var(--font-size-sm);color:var(--color-text-muted);padding:4px 16px 10px;font-style:italic}.rank-filter-clear{color:var(--color-text-secondary);font-weight:700}.rank-filter-clear:disabled{color:var(--color-text-muted);opacity:.55;cursor:default}.rank-filter-dir{gap:5px;padding:6px 12px 8px;display:flex}.rank-filter-dir__btn{border:1px solid var(--color-border);border-radius:var(--radius);min-height:38px;color:var(--color-text-secondary);font-family:var(--font-family);cursor:pointer;white-space:nowrap;background:0 0;flex:1;padding:9px 6px;font-size:.8125rem;font-weight:600}.rank-filter-dir__btn--active{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.rank-filter-select-wrap{padding:0 12px 14px}.rank-filter-select{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);width:100%;min-height:44px;color:var(--color-text);font-family:var(--font-family);font-size:var(--font-size-base);cursor:pointer;padding:11px 12px}.rank-filter-flags{flex-wrap:wrap;gap:5px;padding:6px 12px 8px;display:flex}.rank-filter-flag{border:1px solid var(--color-border);color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:600;font-family:var(--font-family);cursor:pointer;background:0 0;border-radius:14px;min-height:30px;padding:5px 10px}.rank-filter-flag:active{opacity:.75}.rank-filter-flag--active{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary)}.rank-filter-text::placeholder{color:var(--color-text-faint)}@media (pointer:coarse),(width<=599px){html .btn,html .btn--ghost,html .btn--sm,html .icon-btn,html .sort-menu-btn,html .sort-icon-btn,html .view-mode-btn,html .view-toggle__btn,html .status-menu-btn,html .roster-only-toggle,html .sh-add-btn,html .sh-group-header,html .actlog-filter__btn,html .actlog-integrity__btn,html .export-btn,html .export-format-btn,html .theme-toggle__btn,html .form-role-pill,html .acct-period-tab,html .segmented-control__btn,html .event-list-section-header--toggle,html .la-card__toggle-btn,html .lane-card__edit-btn,html .lane-card__advance-btn,html .import-result__dismiss,html .widget-grip-handle,html .widget-remove-btn,html .header-action-btn,html .form-header__cancel,html .form-header__save,html .detail-header__back,html .export-header__jump,html .export-group-bar--toggle,html .pwa-toast__dismiss,html .approvals-toast__dismiss,html .undo-bar__dismiss,html .roster-search-input{min-height:44px}html .pwa-toast__dismiss,html .approvals-toast__dismiss,html .undo-bar__dismiss,html .icon-btn,html .sort-menu-btn,html .sort-icon-btn,html .view-mode-btn,html .lane-card__edit-btn,html .import-result__dismiss,html .widget-remove-btn,html .widget-grip-handle,html .auth-show-btn,html .settings-passphrase-toggle,html .settings-passphrase-clear,html .app-dialog__show-btn{min-width:44px}html .list-filter-bar__search,html .sh-info-input,html .actlog-search__input,html .export-select,html .dashboard-scope-select,html .form-input,html .settings-name-input,html .ammo-calc__input,html .ammo-stat-input,html .rank-filter-dir__btn,html .rank-filter-flag,html .picker-unit-select-btn,html .follow-pick-btn,html .app-dialog__input,html .export-dialog__confirm-input,html .app-dialog__confirm-input,html .auth-show-btn,html .settings-passphrase-toggle,html .settings-passphrase-clear,html .app-dialog__show-btn{min-height:44px}html .ammo-drag-handle{justify-content:center;align-items:center;min-width:44px;min-height:44px;display:inline-flex}html .search-clear-btn{width:40px;height:40px;right:2px}html .roster-only-toggle,html .status-menu-btn{align-items:center;padding-top:0;padding-bottom:0;display:inline-flex}html .roster-only-toggle{min-height:36px;position:relative}html .roster-only-toggle:after{content:"";position:absolute;inset:-4px -2px}}.trash-retention-note{margin:0 var(--space-4) var(--space-2);font-size:var(--font-size-xs);color:var(--color-text-muted)}.roster-screen{background:var(--color-bg-deep);flex-direction:column;flex:1 0 auto;display:flex}.roster-bottom-spacer{height:calc(56px + env(safe-area-inset-bottom,0px) + 88px);flex-shrink:0}@media (width>=900px){.roster-bottom-spacer{height:var(--space-4)}}.roster-header{align-items:center;gap:var(--space-2);padding:0 var(--space-4);background-color:var(--color-surface);border-bottom:1px solid var(--color-border);z-index:10;flex-wrap:wrap;flex-shrink:0;min-height:52px;display:flex;position:sticky;top:0}.roster-header>.btn{flex-shrink:0}.roster-export-bar{gap:var(--space-2);padding:var(--space-1) var(--space-4);background-color:var(--color-surface);border-bottom:1px solid var(--color-border);flex-shrink:0;display:flex}.roster-title{font-size:var(--font-size-sm);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted);flex:1;margin:0;font-weight:700}.roster-controls{gap:var(--space-1);flex:0 0 100%;order:10;display:flex}.btn{min-height:44px;padding:0 var(--space-4);border-radius:var(--radius);cursor:pointer;letter-spacing:.03em;white-space:nowrap;font-size:.95rem;font-weight:700;font-family:var(--font-family);border:none;justify-content:center;align-items:center;transition:opacity .1s;display:inline-flex}.btn:active{opacity:.75}.btn--primary{background-color:var(--color-primary);color:var(--color-on-primary)}.btn--ghost{color:var(--color-text-secondary);font-size:var(--font-size-sm);min-height:36px;padding:0 var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius);background:0 0;font-weight:600}.btn--ghost:active{background:var(--color-surface)}.btn--sm{min-height:36px;padding:0 var(--space-3);font-size:var(--font-size-sm)}.btn--large{min-height:56px;padding:0 36px;font-size:1rem}.btn--danger{background-color:var(--color-danger);color:var(--color-on-primary)}.btn--warning{color:var(--color-warning);background-color:#ff98001f;border:1px solid #ff980059}.btn--danger-ghost{color:var(--color-danger);font-size:var(--font-size-sm);min-height:36px;padding:0 var(--space-3);border:1px solid var(--color-danger);border-radius:var(--radius);background:0 0;font-weight:600}.btn--danger-ghost:active{background:var(--color-surface)}.form-header__roster{color:var(--color-primary);font-size:var(--font-size-sm);cursor:pointer;min-height:44px;padding:0 var(--space-2);font-weight:700;font-family:var(--font-family);white-space:nowrap;text-align:right;background:0 0;border:none;flex-shrink:0}.form-header__roster--remove{color:var(--color-warning)}.form-header__action-group{align-items:center;gap:var(--space-1);flex-shrink:0;display:flex}.form-header__roster:active{opacity:.6}.form-header--balanced .form-header__cancel{text-align:left;flex:0 0 88px;width:88px}.form-header--balanced .form-header__roster{white-space:normal;text-align:center;flex:0 0 88px;width:88px;margin-left:0;line-height:1.15}.form-header--balanced .form-header__title{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.sh-roster-tag{margin-left:var(--space-2);font-size:var(--font-size-xs);color:var(--color-warning);opacity:.85;white-space:nowrap;font-style:italic;font-weight:600}.icon-btn{cursor:pointer;border-radius:var(--radius);min-width:44px;min-height:44px;color:var(--color-text-muted);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;font-size:.95rem;display:flex}.icon-btn:active{background:var(--color-surface);color:var(--color-text)}.icon-btn--danger:active{color:var(--color-danger)}.import-result{margin:var(--space-3) var(--space-4) 0;border-radius:var(--radius);font-size:var(--font-size-sm)}.import-result--loading{padding:var(--space-3) var(--space-4);background:var(--color-surface);color:var(--color-text-muted);border-radius:var(--radius)}.import-result--error{align-items:flex-start;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-danger);border-radius:var(--radius);color:var(--color-danger);line-height:1.5;display:flex}.import-result--success{background:var(--color-primary-soft);border:1px solid var(--color-primary);border-radius:var(--radius)}.import-result__header{padding:var(--space-3) var(--space-4) var(--space-2);color:var(--color-primary);justify-content:space-between;align-items:center;font-weight:700;display:flex}.import-result__body{padding:0 var(--space-4) var(--space-3);color:var(--color-text-secondary);gap:var(--space-1);flex-direction:column;line-height:1.5;display:flex}.import-result__text{flex:1;line-height:1.5}.import-result__dismiss{cursor:pointer;color:inherit;opacity:.6;border-radius:var(--radius);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;min-width:28px;min-height:28px;margin:-2px -4px 0 0;padding:0;font-size:1rem;display:flex}.import-result__dismiss:active{opacity:1}.import-result__flags{margin-top:var(--space-2);color:var(--color-warning)}.import-result__flag-header{margin-bottom:var(--space-1);font-weight:700}.import-result__flag{padding-left:var(--space-3)}.import-result__no-flags{color:var(--color-text-muted);margin-top:var(--space-1)}.roster-empty{justify-content:center;align-items:center;gap:var(--space-3);padding:64px var(--space-4);text-align:center;flex-direction:column;flex:1;display:flex}.roster-empty__message{color:var(--color-text);font-size:1.15rem;font-weight:600}.roster-empty__hint{color:var(--color-text-muted);font-size:var(--font-size-sm);max-width:280px;margin-bottom:var(--space-2);line-height:1.6}.roster-loading{padding:64px var(--space-4);text-align:center;color:var(--color-text-muted);font-size:var(--font-size-sm)}.unit-tree{gap:var(--space-3);padding:var(--space-3) var(--space-4);flex-direction:column;display:flex}.unit-tree__meta{justify-content:space-between;align-items:center;gap:var(--space-3);margin:calc(-1 * var(--space-3)) calc(-1 * var(--space-4)) 0;padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);color:var(--color-text-muted);font-size:var(--font-size-xs);letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid var(--color-border);z-index:8;background:var(--color-bg);font-weight:700;display:flex;position:sticky;top:107px}.unit-tree__collapse-controls{gap:var(--space-1);flex-shrink:0;display:flex}@media (width<=599px){.unit-tree__meta{position:static}.roster-count__scope{display:none}html .roster-only-toggle{padding-left:var(--space-2);padding-right:var(--space-2)}}.unit-tree>.unit-block{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden}.unit-tree>.unit-block>.unit-row:last-child{border-bottom:none}.unit-row{border-bottom:1px solid var(--color-border);align-items:stretch;display:flex}.unit-toggle{align-items:center;gap:var(--space-2);cursor:pointer;text-align:left;padding:0 var(--space-2) 0 var(--space-4);color:var(--color-text);background:0 0;border:none;flex:1;min-width:0;min-height:52px;display:flex}.unit-chevron{font-size:var(--font-size-xs);color:var(--color-text-muted);flex-shrink:0;width:12px}.unit-name{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:4em;font-weight:600;line-height:1.3;overflow:hidden}.unit-name__short{display:none}.unit-sync-badge{text-overflow:ellipsis;min-width:0;font-size:var(--font-size-xs);color:#9c27b0;white-space:nowrap;background:#9c27b01f;border:1px solid #9c27b059;border-radius:999px;flex-shrink:1;align-items:center;gap:4px;padding:2px 8px;font-weight:600;display:inline-flex;overflow:hidden}.unit-sync-badge svg{flex-shrink:0}.unit-count{font-size:var(--font-size-sm);color:var(--color-text-muted);background:var(--color-surface);text-align:center;border-radius:100px;flex-shrink:0;min-width:28px;padding:1px 8px;font-weight:700}.unit-actions{padding-right:var(--space-1);flex-shrink:0;align-items:center;display:flex}.unit-block--depth-0>.unit-row{background-color:#0000}.unit-block--depth-0>.unit-row>.unit-toggle{min-height:60px}.unit-block--depth-0>.unit-row>.unit-toggle .unit-name{letter-spacing:.02em;font-size:1rem;font-weight:800}.unit-block--depth-1>.unit-row{background-color:var(--color-surface)}.unit-block--depth-1>.unit-row>.unit-toggle{min-height:52px;padding-left:24px}.unit-block--depth-1>.unit-row>.unit-toggle .unit-name{font-size:.97rem;font-weight:700}.unit-block--depth-2>.unit-row{background-color:var(--color-bg)}.unit-block--depth-2>.unit-row>.unit-toggle{min-height:48px;padding-left:36px}.unit-block--depth-2>.unit-row>.unit-toggle .unit-name{font-size:.93rem;font-weight:600}.unit-block--depth-3>.unit-row{background-color:var(--color-bg)}.unit-block--depth-3>.unit-row>.unit-toggle{min-height:46px;color:var(--color-text-secondary);padding-left:48px}.unit-block--depth-3>.unit-row>.unit-toggle .unit-name{font-size:.9rem}.unit-block--depth-4>.unit-row{background-color:var(--color-bg)}.unit-block--depth-4>.unit-row>.unit-toggle{min-height:44px;color:var(--color-text-secondary);padding-left:60px}.unit-block--depth-4>.unit-row>.unit-toggle .unit-name{font-size:.88rem}.unit-block--depth-5>.unit-row{background-color:var(--color-bg)}.unit-block--depth-5>.unit-row>.unit-toggle{min-height:42px;color:var(--color-text-secondary);padding-left:72px}.unit-block--depth-5>.unit-row>.unit-toggle .unit-name{font-size:.86rem}.soldier-row-wrap{flex-shrink:0;position:relative;overflow:hidden}.soldier-row__delete-action{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:72px;padding:0 8px 0 0;display:flex;position:absolute;top:0;bottom:0;right:0}.soldier-row__roster-action{cursor:pointer;background:0 0;border:none;justify-content:flex-end;align-items:center;width:88px;padding:0;display:flex;position:absolute;top:0;bottom:0;right:72px}.soldier-row__roster-pill{width:80px;min-height:46px;padding:var(--space-1) var(--space-2);background:var(--color-warning);color:var(--color-on-primary);font-size:var(--font-size-xs);text-align:center;border-radius:10px;justify-content:center;align-items:center;font-weight:600;line-height:1.2;display:flex}.soldier-row__roster-pill--add{background:var(--color-primary)}.soldier-row__hover-delete{display:none}@media (hover:hover){.soldier-row__hover-delete{color:var(--color-text-faint);cursor:pointer;border-radius:var(--radius);opacity:0;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;min-width:32px;min-height:32px;padding:4px;transition:opacity .15s,color .15s;display:flex}.soldier-row-wrap:hover .soldier-row__hover-delete{opacity:1}.soldier-row__hover-delete:hover{color:var(--color-danger);background:#f4433614}}.soldier-row__delete-icon{background:var(--color-danger);color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;display:flex}.unit-block--depth-0>.unit-body>.soldier-row-wrap>.soldier-row{padding-left:28px}.unit-block--depth-1>.unit-body>.soldier-row-wrap>.soldier-row{padding-left:40px}.unit-block--depth-2>.unit-body>.soldier-row-wrap>.soldier-row{padding-left:52px}.unit-block--depth-3>.unit-body>.soldier-row-wrap>.soldier-row{padding-left:64px}.unit-block--depth-4>.unit-body>.soldier-row-wrap>.soldier-row{padding-left:76px}.unit-block--depth-5>.unit-body>.soldier-row-wrap>.soldier-row{padding-left:88px}.soldier-row{align-items:center;gap:var(--space-3);min-height:52px;padding:var(--space-2) var(--space-1) var(--space-2) var(--space-4);border-bottom:1px solid var(--color-border);background-color:var(--color-bg);display:flex}.soldier-rank{font-size:var(--font-size-xs);color:var(--color-primary);letter-spacing:.05em;flex-shrink:0;width:36px;font-weight:800}.soldier-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.soldier-name-line{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.soldier-name{color:var(--color-text);font-size:.97rem;line-height:1.3}.soldier-tag{font-size:var(--font-size-xs);color:var(--color-text-muted);background:var(--color-surface);border:1px solid var(--color-border);white-space:nowrap;border-radius:4px;padding:1px 6px;font-weight:700}.soldier-offroster-tag{font-size:var(--font-size-xs);color:var(--color-warning);background:var(--color-surface);border:1px solid var(--color-warning);white-space:nowrap;border-radius:4px;padding:1px 6px;font-weight:700}.soldier-notes{font-size:var(--font-size-xs);color:var(--color-text-muted);white-space:normal;overflow-wrap:anywhere;line-height:1.3}.soldier-notes__note{color:var(--color-warning);font-style:italic}@media (width<=599px){.soldier-notes{display:block}.soldier-notes__sep{display:none}.soldier-notes__position,.soldier-notes__note{display:block}.soldier-notes__note{margin-top:1px}}.soldier-actions{flex-shrink:0;align-items:center;display:flex}.roster-filter-bar{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--color-border);background:var(--color-bg);z-index:9;display:flex;position:sticky;top:51px}.roster-filter-bar:has(.sort-menu){z-index:99}.roster-search-input{background:var(--color-surface);min-width:0;color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius);padding:0 var(--space-3);font-size:var(--font-size-sm);font-family:var(--font-family);flex:1;height:40px}.roster-search-input:focus{outline:2px solid var(--color-primary);outline-offset:1px;border-color:var(--color-primary)}.view-mode-toggle{flex-shrink:0;align-items:center;gap:2px;display:flex}.view-mode-btn{border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;width:40px;height:40px;color:var(--color-text-muted);background:0 0;flex-shrink:0;justify-content:center;align-items:center;display:flex}.view-mode-btn--active{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.view-mode-btn:active{opacity:.75}.sort-icon-btn{border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;width:40px;height:40px;color:var(--color-text-secondary);font-family:var(--font-family);background:0 0;flex-shrink:0;justify-content:center;align-items:center;display:flex}.sort-icon-btn:active{background:var(--color-surface)}.sort-menu{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);z-index:99;min-width:140px;position:absolute;top:calc(100% + 4px);right:0;overflow:hidden;box-shadow:0 4px 16px #0006}.sort-menu-item{width:100%;min-height:48px;padding:0 var(--space-4);border:none;border-bottom:1px solid var(--color-border);color:var(--color-text);font-size:var(--font-size-sm);font-weight:600;font-family:var(--font-family);cursor:pointer;text-align:left;background:0 0;justify-content:space-between;align-items:center;display:flex}.sort-menu-item:active{background:var(--color-bg)}.sort-menu-item--active{color:var(--color-primary)}.sort-menu-item__check{color:var(--color-primary);font-weight:700}.flat-list{gap:var(--space-2);padding:var(--space-3) var(--space-4);flex-direction:column;display:flex}.flat-list__header{justify-content:space-between;align-items:center;gap:var(--space-3);margin:calc(-1 * var(--space-3)) calc(-1 * var(--space-4)) 0;padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);border-bottom:1px solid var(--color-border);z-index:8;background:var(--color-bg);display:flex;position:sticky;top:107px}.flat-list>.soldier-row-wrap{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius)}.flat-list>.soldier-row-wrap .soldier-row{border-bottom:none}.flat-list__count{color:var(--color-text-muted);font-size:var(--font-size-xs);letter-spacing:.08em;text-transform:uppercase;font-weight:700}.flat-list__empty{padding:var(--space-6) var(--space-4);text-align:center;color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.6}.flat-list .soldier-row{padding-left:var(--space-4)}.soldier-row--selectable{cursor:pointer}.soldier-row--selectable:active{opacity:.75}.soldier-row--selected{background:var(--color-primary-soft)}.soldier-checkbox{width:22px;height:22px;accent-color:var(--color-primary);cursor:pointer;flex-shrink:0}.soldier-unit-path{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:1px;line-height:1.4;display:block}.bulk-action-bar{bottom:calc(56px + env(safe-area-inset-bottom,0px));justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface);border-top:2px solid var(--color-primary);z-index:60;display:flex;position:fixed;left:0;right:0}.bulk-action-bar__count{font-size:var(--font-size-sm);color:var(--color-text);font-weight:700}.soldier-row--tappable{cursor:pointer}.soldier-row--tappable:active{background:var(--color-surface)}.sh-soldier-meta{padding:var(--space-2) var(--space-4);background:var(--color-surface);border-bottom:1px solid var(--color-border)}.sh-soldier-meta__unit{font-size:var(--font-size-xs);color:var(--color-text-muted)}.sh-section-label{padding:var(--space-2) var(--space-4) var(--space-1);font-size:var(--font-size-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);border-bottom:1px solid var(--color-border);background:var(--color-bg);font-weight:700}.sh-item{gap:var(--space-1);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);flex-direction:column;display:flex}.sh-item__top{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.sh-item__name{color:var(--color-text);flex:1;min-width:0;font-size:.97rem;font-weight:700}.sh-item__meta{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.sh-item__date{font-size:var(--font-size-xs);color:var(--color-text-muted)}.sh-item__type{font-size:var(--font-size-xs);color:var(--color-text-muted);background:var(--color-surface);border:1px solid var(--color-border);white-space:nowrap;border-radius:4px;padding:1px 6px;font-weight:700}.sh-item__notes{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-top:2px;line-height:1.5}.sh-item--tappable{border:none;border-bottom:1px solid var(--color-border);width:100%;padding:var(--space-3) var(--space-4);text-align:left;cursor:pointer;gap:var(--space-1);color:inherit;font-family:inherit;font-size:inherit;background:0 0;flex-direction:column;transition:background .15s;display:flex}.sh-item--tappable:hover,.sh-item--tappable:focus{background:#ffffff0f;outline:none}.sh-item__arrow{color:var(--color-text-muted);margin-left:var(--space-2);flex-shrink:0;font-size:1.1rem}.sh-group-header{align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-4);background:var(--color-surface);border:none;border-bottom:1px solid var(--color-border);font-family:inherit;font-size:var(--font-size-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-secondary);text-align:left;cursor:pointer;font-weight:700;display:flex}.sh-group-header__label{flex:1;min-width:0}.sh-group-count{font-size:var(--font-size-xs);letter-spacing:normal;text-transform:none;color:var(--color-text-muted);flex-shrink:0;font-weight:600}.sh-group-chevron{color:var(--color-text-muted);flex-shrink:0;transition:transform .15s}.sh-group-chevron--open{transform:rotate(90deg)}.sh-notes-field{gap:var(--space-1);padding:var(--space-2) var(--space-4) var(--space-3);border-bottom:1px solid var(--color-border);flex-direction:column;display:flex}.sh-notes-field textarea{resize:vertical}.roster-filter-badge{font-size:var(--font-size-xs);color:var(--color-primary);font-weight:600}.roster-only-toggle{margin-left:var(--space-2);vertical-align:middle}.roster-only-toggle--on{color:var(--color-primary);border-color:var(--color-primary);background:var(--color-primary-soft)}.roster-only-toggle:active{opacity:.7}.sh-empty{padding:48px var(--space-4);text-align:center;color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.6}.sh-outcome-badge{font-size:var(--font-size-xs);white-space:nowrap;border:1px solid #0000;border-radius:100px;flex-shrink:0;padding:2px 9px;font-weight:700;display:inline-block}.sh-outcome-badge--pass{color:var(--color-success);border-color:var(--color-success);background:#4caf5026}.sh-outcome-badge--fail{color:var(--color-danger);border-color:var(--color-danger);background:#f4433626}.sh-outcome-badge--pending{color:var(--color-pending);border-color:var(--color-border);background:0 0}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width>=900px){.roster-header{top:0}}.sh-section-label{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4) var(--space-1);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-secondary);font-size:.7rem;font-weight:600;display:flex}.sh-si-count{letter-spacing:.06em;color:var(--color-warning);background:#ffc10726;border:1px solid #ffc10766;border-radius:4px;padding:1px 5px;font-size:.65rem;font-weight:700}.sh-equipment-list{padding:0 0 var(--space-2);flex-direction:column;display:flex}.sh-equipment-row{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);text-align:left;width:100%;color:var(--color-text);box-sizing:border-box;background:0 0;min-height:44px;font-size:.9rem;display:flex}.sh-equipment-row--tappable{cursor:pointer;transition:background .15s}.sh-equipment-row--tappable:hover,.sh-equipment-row--tappable:focus-visible{background:var(--color-surface-raised);outline:none}.sh-equipment-row__name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:500;overflow:hidden}.sh-equipment-si{letter-spacing:.06em;color:var(--color-warning);background:#ffc10726;border:1px solid #ffc10766;border-radius:4px;flex-shrink:0;padding:1px 5px;font-size:.65rem;font-weight:700}.sh-equipment-row__sn{font-size:.75rem;font-family:var(--font-mono,monospace);color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;max-width:120px;overflow:hidden}.sh-equipment-status{letter-spacing:.06em;border-radius:4px;flex-shrink:0;padding:2px 6px;font-size:.7rem;font-weight:700}.sh-equipment-status--operational{color:var(--color-success);background:#4caf5026;border:1px solid #4caf5066}.sh-equipment-status--deadline{color:var(--color-danger);background:#f4433626;border:1px solid #f4433666}.sh-equipment-status--awaitingParts,.sh-equipment-status--inRepair{color:var(--color-warning);background:#ffc10726;border:1px solid #ffc10766}.sh-add-btn{border:1px solid var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary);font-size:var(--font-size-xs);letter-spacing:.04em;cursor:pointer;text-transform:none;border-radius:12px;margin-left:auto;padding:2px 10px;font-weight:700}.sh-add-btn:active{opacity:.75}.sh-info-list{flex-direction:column;display:flex}.sh-info-row{align-items:center;gap:var(--space-3);min-height:44px;padding:var(--space-1) var(--space-4);border-bottom:1px solid var(--color-border);display:flex}.sh-info-label{font-size:var(--font-size-sm);color:var(--color-text-muted);flex:0 0 64px}.sh-info-input{min-width:0;color:var(--color-text);font-size:var(--font-size-base);font-family:var(--font-family);padding:var(--space-2) 0;background:0 0;border:none;outline:none;flex:1}.sh-info-input::placeholder{color:var(--color-text-faint)}.sh-info-input:focus{box-shadow:0 1px 0 var(--color-primary)}.sh-info-value{min-width:0;color:var(--color-text);font-size:var(--font-size-base);padding:var(--space-2) 0;white-space:normal;overflow-wrap:anywhere;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:thin;flex:1;line-height:1.3}.sh-info-role{border:1px solid var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary);font-size:var(--font-size-xs);border-radius:10px;flex-shrink:0;padding:1px 8px;font-weight:700}.sh-info-action{border:1px solid var(--color-border);width:32px;height:32px;color:var(--color-primary);background:var(--color-surface);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.sh-info-action:active{opacity:.75}.sh-qual-list{flex-direction:column;display:flex}.sh-qual-row{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);border:none;border-bottom:1px solid var(--color-border);color:var(--color-text);font-family:var(--font-family);text-align:left;cursor:pointer;background:0 0;min-height:56px;display:flex}.sh-qual-row:active{background:var(--color-surface)}.sh-qual-chip{text-align:center;letter-spacing:.05em;border-radius:8px;flex-shrink:0;width:44px;padding:4px 0;font-size:.65rem;font-weight:700}.sh-qual-chip--weapon{color:var(--color-qual-expert);background:#ffc10726}.sh-qual-chip--driver{color:var(--color-info);background:#448aff26}.sh-qual-chip--medical{color:var(--color-danger);background:#f4433626}.sh-qual-chip--range{color:var(--color-success);background:#4caf5026}.sh-qual-chip--fitness{color:var(--color-warning);background:#ff980026}.sh-qual-chip--other{color:var(--color-text-secondary);background:#9e9e9e26}.sh-qual-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.sh-qual-title-line{align-items:center;gap:2px var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.sh-qual-title{font-size:var(--font-size-base);overflow-wrap:anywhere;font-weight:500;line-height:1.25}.sh-qual-derived-tag{color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:8px;flex-shrink:0;padding:0 6px;font-size:.65rem;font-weight:600}.sh-qual-level{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.sh-qual-meta{font-size:var(--font-size-xs);color:var(--color-text-muted);line-height:1.3}.sh-qual-currency{letter-spacing:.04em;text-transform:uppercase;border:1px solid;border-radius:4px;flex-shrink:0;padding:2px 6px;font-size:.65rem;font-weight:700}.sh-qual-currency--current{color:var(--color-success);border-color:var(--color-success);background:#4caf5026}.sh-qual-currency--soon{color:var(--color-warning);border-color:var(--color-warning);background:#ff980026}.sh-qual-currency--expired{color:var(--color-danger);border-color:var(--color-danger);background:#f4433626}.qual-sheet-soldier{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.qual-sheet-category{font-size:var(--font-size-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);margin:0;font-weight:700}.qual-vehicle-row{align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.qual-vehicle-row .form-input{flex:1;min-width:0}.qual-vehicle-trailer{align-items:center;gap:var(--space-1);font-size:var(--font-size-sm);color:var(--color-text-secondary);white-space:nowrap;cursor:pointer;display:flex}.qual-vehicle-remove{width:32px;height:32px;color:var(--color-text-muted);font-size:var(--font-size-base);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0}.qual-vehicle-remove:active{background:var(--color-surface)}.qual-whtr-chip{font-size:var(--font-size-sm);border-radius:var(--radius);padding:var(--space-1) var(--space-3);border:1px solid;align-self:flex-start;margin:0;font-weight:600}.qual-whtr-chip--pass{color:var(--color-success);border-color:var(--color-success);background:#4caf5026}.qual-whtr-chip--fail{color:var(--color-danger);border-color:var(--color-danger);background:#f4433626}.qual-delete-btn{width:100%}.sh-body{background:var(--color-bg-deep);padding:var(--space-3) var(--space-4);gap:var(--space-3);flex-direction:column;display:flex}.sh-widget{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);flex-shrink:0;overflow:hidden}.sh-widget>.sh-section-label:first-child{padding-top:var(--space-3)}.sh-widget .sh-empty{padding:var(--space-4)}.deleted-soldier-card{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.deleted-soldier-card__info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.deleted-soldier-card__name{color:var(--color-text);overflow-wrap:anywhere;font-size:.97rem;font-weight:700}.deleted-soldier-card__meta{font-size:var(--font-size-xs);color:var(--color-text-muted)}.deleted-soldier-card__actions{gap:var(--space-2);flex-shrink:0;display:flex}.roster-trash-empty__hint{padding:0 var(--space-4) var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}.sh-drop-btn-wrap{padding:var(--space-4);border-top:1px solid var(--color-border);margin-top:var(--space-3)}.unit-readonly-chip{margin-left:var(--space-2);font-size:var(--font-size-xs);color:var(--color-text-muted);white-space:nowrap;flex-shrink:0;align-items:center;font-weight:500;display:inline-flex}.unit-row .unit-readonly-chip{margin-left:0}.roster-readonly-banner{align-items:baseline;gap:var(--space-2);margin:0 var(--space-4) var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:1.4;display:flex}.roster-readonly-banner__chip{white-space:nowrap;flex-shrink:0;font-weight:600}.sh-readonly-note{margin:0 var(--space-4) var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:1.4}.sh-info-input[readonly]{color:var(--color-text-secondary);cursor:default}.dup-intro{margin:0 0 var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.45}.dup-status{margin:0 0 var(--space-3);color:var(--color-success)}.dup-empty{margin:var(--space-4) 0;text-align:center;color:var(--color-text-muted);font-size:var(--font-size-sm)}.dup-pair{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);margin-bottom:var(--space-3);animation:px-rise-in var(--motion-quick) var(--ease-out);overflow:hidden}.dup-pair__head{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);font-size:var(--font-size-xs);display:flex}.dup-pair__badge{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:2px 8px;font-weight:700}.dup-pair__badge--likely{color:var(--color-danger);background:#f443361f}.dup-pair__badge--possible{color:var(--color-warning);background:#ff980024}.dup-pair__unit-note{color:var(--color-text-muted)}.dup-pair__sides{grid-template-columns:1fr 1fr;display:grid}.dup-side{padding:var(--space-3);flex-direction:column;gap:3px;min-width:0;display:flex}.dup-side+.dup-side{border-left:1px solid var(--color-border)}.dup-side__name{overflow-wrap:anywhere;font-weight:700}.dup-side__unit,.dup-side__detail{font-size:var(--font-size-sm);color:var(--color-text-secondary);overflow-wrap:anywhere}.dup-side__meta{font-size:var(--font-size-xs);color:var(--color-text-muted)}.dup-side__keep{margin-top:var(--space-2);align-self:flex-start}.dup-pair__foot{padding:var(--space-2) var(--space-3);border-top:1px solid var(--color-border);justify-content:flex-end;display:flex}@media (width<=359px){.dup-pair__sides{grid-template-columns:1fr}.dup-side+.dup-side{border-left:none;border-top:1px solid var(--color-border)}}.away-chip{max-width:100%;margin-left:var(--space-1);padding:1px var(--space-2);font-size:var(--font-size-xs);color:var(--color-text-secondary);background:var(--color-surface);border:1px solid var(--color-border);white-space:normal;overflow-wrap:anywhere;text-align:left;vertical-align:middle;border-radius:999px;align-items:center;font-style:italic;font-weight:500;line-height:1.4;display:inline-flex}.sh-drop-btn-wrap--two{gap:var(--space-2);flex-wrap:wrap;display:flex}.sh-drop-btn-wrap--two .qual-delete-btn{flex:180px}.sh-away-editor{margin-top:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface)}.sh-away-editor .form-input{margin-top:var(--space-2)}.sh-away-presets{grid-template-columns:repeat(3,minmax(0,1fr))}@keyframes sheet-enter{0%{opacity:0;transform:translateY(40px)scale(.98)}}@keyframes sheet-exit{to{opacity:0;transform:translateY(40px)scale(.98)}}@keyframes overlay-enter{0%{background:0 0}}@keyframes overlay-exit{to{background:0 0}}.form-overlay{z-index:200;animation:overlay-enter var(--motion-base) var(--ease-out);background:#0000008c;flex-direction:column;justify-content:flex-end;display:flex;position:fixed;inset:0}.form-overlay--exiting{animation:overlay-exit var(--motion-quick) var(--ease-in) forwards;pointer-events:none}.form-sheet{background:var(--color-bg);border-radius:var(--radius) var(--radius) 0 0;min-height:50dvh;max-height:92vh;animation:sheet-enter var(--motion-sheet) var(--ease-standard);transition:transform var(--motion-base) var(--ease-standard);flex-direction:column;display:flex;overflow:hidden}.form-sheet--exiting{animation:sheet-exit var(--motion-quick) var(--ease-in) forwards}.form-sheet--dragging{transition:none;animation:none}.form-header{touch-action:none;padding:0 var(--space-2) 0 var(--space-4);border-bottom:1px solid var(--color-border);background:var(--color-surface);align-items:center;gap:var(--space-2);flex-shrink:0;height:52px;display:flex}.form-header__title{color:var(--color-text);text-align:center;flex:1;margin:0;font-size:.97rem;font-weight:700}.form-header__cancel{color:var(--color-text-secondary);font-size:var(--font-size-sm);cursor:pointer;min-height:44px;padding:0 var(--space-2);font-weight:600;font-family:var(--font-family);background:0 0;border:none;flex-shrink:0;width:64px}.form-header__spacer{flex-shrink:0;width:64px}.form-header__save{color:var(--color-primary);font-size:var(--font-size-sm);cursor:pointer;min-height:44px;padding:0 var(--space-2);font-weight:700;font-family:var(--font-family);text-align:right;background:0 0;border:none;flex-shrink:0;width:64px}.form-header__save:disabled{color:var(--color-text-muted);cursor:not-allowed}.form-sheet:has(.form-footer .btn--primary) .form-header__save{visibility:hidden;pointer-events:none}.form-body{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:var(--space-4);padding-bottom:max(var(--space-4), env(safe-area-inset-bottom,0px));gap:var(--space-3);flex-direction:column;flex:1;display:flex;overflow-y:auto}.form-footer{padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border);background:var(--color-bg);padding-bottom:max(var(--space-3), env(safe-area-inset-bottom,0px));flex-shrink:0}.form-footer .btn{width:100%}.form-field{gap:var(--space-1);flex-direction:column;display:flex}.form-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:600}.form-required{color:var(--color-danger);margin-left:2px}.form-optional{color:var(--color-text-muted);margin-left:2px;font-weight:400}.form-hint{font-size:var(--font-size-xs);color:var(--color-text-muted);line-height:1.4}.form-preview{font-size:var(--font-size-sm);color:var(--color-primary);padding:var(--space-2) var(--space-3);background:var(--color-primary-soft);border-radius:var(--radius);font-weight:700}.form-suggestion-btn{align-items:center;gap:var(--space-1);margin-top:var(--space-2);min-height:52px;padding:var(--space-2) var(--space-3);background:var(--color-primary-soft);border:1px solid var(--color-primary);border-radius:var(--radius);color:var(--color-primary);font-size:var(--font-size-base);cursor:pointer;font-weight:700;font-family:var(--font-family);text-align:left;display:inline-flex}.form-suggestion-btn:active{opacity:.75}.form-input,.form-select,.form-textarea{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius);padding:0 var(--space-3);font-size:.97rem;font-family:var(--font-family);box-sizing:border-box;width:100%;min-width:0;max-width:100%;min-height:48px;display:block}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:2px solid var(--color-primary);outline-offset:2px;border-color:var(--color-primary)}.form-textarea{padding-top:var(--space-3);padding-bottom:var(--space-3);resize:vertical;min-height:88px;line-height:1.5}.form-select{appearance:auto;cursor:pointer}.form-select--compact{flex-shrink:0;width:auto}.form-input[type=date],.form-input[type=time],.form-input--time{appearance:none;box-sizing:border-box;width:100%;min-width:0;padding-top:13px;padding-bottom:13px;line-height:1.2}.form-inline{gap:var(--space-2);align-items:center;display:flex}.form-inline .form-input{flex:1;min-width:0}.form-row{gap:var(--space-3);align-items:flex-start;display:flex}.form-field--half,.form-field--third{flex:1;min-width:0}.threshold-label--expert{color:var(--color-qual-expert)}.threshold-label--sharpshooter{color:var(--color-qual-sharpshooter)}.threshold-label--marksman{color:var(--color-qual-marksman)}.form-toggle-row{justify-content:space-between;align-items:center;gap:var(--space-2);cursor:pointer;min-height:32px;display:flex}.form-toggle{width:20px;height:20px;accent-color:var(--color-primary);cursor:pointer;flex-shrink:0}.thresholds-group{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface)}.form-error{background:var(--color-surface);border:1px solid var(--color-danger);border-radius:var(--radius);padding:var(--space-3);color:var(--color-danger);font-size:var(--font-size-sm);line-height:1.5}.confirm-overlay{z-index:300;animation:px-fade-in var(--motion-base) var(--ease-out);background:#000000a6;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.confirm-overlay--leaving{animation:px-fade-out var(--motion-quick) var(--ease-in) forwards;pointer-events:none}.confirm-dialog{background:var(--color-surface);gap:var(--space-3);width:100%;max-width:340px;animation:px-pop-in var(--motion-base) var(--ease-spring);border-radius:20px;flex-direction:column;padding:24px;display:flex}.confirm-dialog--leaving{animation:px-pop-out var(--motion-fast) var(--ease-in) forwards}.confirm-dialog__title{color:var(--color-text);margin:0;font-size:1.05rem;font-weight:700}.confirm-dialog__message{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0;line-height:1.6}.confirm-dialog__actions{gap:var(--space-2);margin-top:var(--space-1);flex-wrap:wrap;justify-content:flex-end;display:flex}.fab-container{bottom:calc(56px + env(safe-area-inset-bottom,0px) + 16px);right:var(--space-4);z-index:50;align-items:flex-end;gap:var(--space-2);flex-direction:column;display:flex;position:fixed}.fab{background:var(--color-primary);width:56px;height:56px;color:var(--color-on-primary);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.6rem;line-height:1;display:flex;box-shadow:0 4px 16px #00000073}.fab:active{opacity:.8;transform:scale(.92)}.fab-menu{align-items:flex-end;gap:var(--space-2);flex-direction:column;display:flex}.fab-option{align-items:center;gap:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:0 var(--space-3);cursor:pointer;color:var(--color-text);font-size:var(--font-size-sm);font-weight:700;font-family:var(--font-family);white-space:nowrap;min-height:44px;animation:px-rise-in var(--motion-quick) var(--ease-out);display:flex;box-shadow:0 2px 8px #00000059}.fab-option:active{background:var(--color-bg-raised)}.form-input-prefixed{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);align-items:stretch;min-height:48px;display:flex;overflow:hidden}.form-input-prefixed:focus-within{outline:2px solid var(--color-primary);outline-offset:2px;border-color:var(--color-primary)}.form-input-prefix{padding:0 var(--space-3);letter-spacing:.04em;color:var(--color-primary);background:var(--color-primary-soft);border-right:1px solid var(--color-border);white-space:nowrap;flex-shrink:0;align-items:center;font-size:.97rem;font-weight:800;display:flex}.form-input-core{min-width:0;color:var(--color-text);font-family:var(--font-family);padding:0 var(--space-3);background:0 0;border:none;outline:none;flex:1;min-height:48px;font-size:.97rem}.form-input-core::placeholder{color:var(--color-text-faint)}@media (width>=600px){.form-overlay{justify-content:center;align-items:center}.form-sheet{border-radius:var(--radius);width:100%;max-width:540px;min-height:0;max-height:85vh}}.form-overlay--compact{justify-content:flex-start;align-items:center;padding:max(80px,12vh) 16px 0}.form-overlay--compact>.form-sheet{border-radius:var(--radius);width:100%;max-width:480px;min-height:0;max-height:70vh}.form-role-pills{gap:var(--space-2);flex-wrap:wrap;display:flex}.form-role-pill{border:1.5px solid var(--color-border);color:var(--color-text-secondary);font-size:var(--font-size-sm);letter-spacing:.04em;cursor:pointer;background:0 0;border-radius:20px;min-height:36px;padding:6px 14px;font-weight:600;transition:border-color .15s,background .15s,color .15s}.form-role-pill:active{opacity:.75}.form-role-pill--on{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary)}.events-list-col{flex-direction:column;display:flex}.events-tab-pane--list .events-list-col{flex:1 0 auto}.events-screen{background:var(--color-bg-deep);flex-direction:column;flex:1;display:flex}.events-bottom-spacer{height:calc(56px + env(safe-area-inset-bottom,0px) + 88px);flex-shrink:0}@media (width>=900px){.events-bottom-spacer{height:var(--space-4)}}.events-header{align-items:center;gap:var(--space-2);padding:0 var(--space-4);background-color:var(--color-surface);border-bottom:1px solid var(--color-border);z-index:10;flex-shrink:0;min-height:52px;display:flex;position:sticky;top:0}.events-title{font-size:var(--font-size-sm);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted);flex:1;margin:0;font-weight:700}.event-list{gap:var(--space-3);padding:var(--space-3) var(--space-4);flex-direction:column;display:flex}.events-screen>.list-filter-bar{z-index:9;flex-shrink:0;position:sticky;top:51px}.events-screen>.list-filter-bar:has(.sort-menu){z-index:99}.event-list__meta{justify-content:space-between;align-items:center;gap:var(--space-3);margin:calc(-1 * var(--space-3)) calc(-1 * var(--space-4)) 0;padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);border-bottom:1px solid var(--color-border);color:var(--color-text-muted);font-size:var(--font-size-xs);letter-spacing:.08em;text-transform:uppercase;z-index:8;background:var(--color-bg);flex-shrink:0;font-weight:700;display:flex;position:sticky;top:107px}.event-list__collapse-controls{gap:var(--space-2);flex-shrink:0;display:flex}@media (width<=599px){.event-list__meta{position:static}}.event-month-widget{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden}.event-month-widget>.event-list-section-header{padding:var(--space-3) var(--space-4);border-top:none;width:100%;margin-top:0}.event-month-widget .event-list-section-header__count{background:var(--color-surface)}.event-month-widget__body{gap:var(--space-3);padding:0 var(--space-3) var(--space-3);flex-direction:column;display:flex}.event-list-section-header{align-items:center;gap:var(--space-2);font-size:var(--font-size-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);padding:var(--space-2) 0 0;border-top:1px solid var(--color-border);margin-top:var(--space-1);font-weight:700;display:flex}.event-list-section-header__count{background:var(--color-bg-deep);font-size:var(--font-size-xs);color:var(--color-text-muted);border-radius:99px;padding:1px 7px;font-weight:600;line-height:1.6}.event-list-section-header--toggle{appearance:none;border:none;border-top:1px solid var(--color-border);cursor:pointer;text-align:left;background:0 0;width:100%;font-family:inherit}.event-list-section-header__chevron{color:var(--color-text-faint);align-items:center;transition:transform .15s;display:inline-flex}.event-list-section-header--expanded .event-list-section-header__chevron{transform:rotate(90deg)}.event-list-section-header--month{color:var(--color-text);font-size:var(--font-size-sm)}.event-list-section-header--current{color:var(--color-primary)}.event-list-section-header--current .event-list-section-header__count{background:var(--color-primary-soft);color:var(--color-primary)}.event-card-row{border-radius:var(--radius);position:relative;overflow:hidden}.event-card__delete-action{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:80px;padding:0 12px 0 0;display:flex;position:absolute;top:0;bottom:0;right:0}.event-card__delete-action:before{content:"";display:none}.event-card__delete-icon{background:var(--color-danger);color:#fff;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.event-card{z-index:1;background:var(--color-surface);border-radius:var(--radius);padding:var(--space-4);border:1px solid var(--color-border);cursor:pointer;gap:var(--space-2);flex-direction:column;display:flex;position:relative}.event-card:active{border-color:var(--color-primary)}.event-card__top{align-items:flex-start;gap:var(--space-2);display:flex}.event-card__icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;margin-top:-4px;display:flex}.event-card__name{color:var(--color-text);flex:1;margin:0;font-size:1rem;font-weight:700;line-height:1.3}.event-card__hover-delete{display:none}@media (hover:hover){.event-card__hover-delete{color:var(--color-text-faint);cursor:pointer;border-radius:var(--radius);opacity:0;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;min-width:32px;min-height:32px;padding:4px;transition:opacity .15s,color .15s;display:flex}.event-card-row:hover .event-card__hover-delete{opacity:1}.event-card__hover-delete:hover{color:var(--color-danger);background:#f4433614}}.event-card__meta{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}.event-card__pills{gap:var(--space-1);margin-top:var(--space-1);flex-wrap:wrap;display:flex}.pill{font-size:var(--font-size-xs);border:1px solid #0000;border-radius:12px;align-items:center;padding:2px 8px;font-weight:700;display:inline-flex}.pill--total{color:var(--color-info);background:#448aff1f;border-color:#448aff59}.pill--pass{color:var(--color-success);background:#4caf501f;border-color:#4caf5059}.pill--fail{color:var(--color-danger);background:#f443361f;border-color:#f4433659}.pill--pending{color:var(--color-pending);background:#9e9e9e1f;border-color:#9e9e9e59}.status-badge{font-size:var(--font-size-xs);border-radius:4px;flex-shrink:0;padding:2px 8px;font-weight:700}.status-badge--planning{color:var(--color-info);background:#448aff26}.status-badge--active{color:var(--color-success);background:#4caf5026}.status-badge--complete{color:var(--color-pending);background:#9e9e9e26}.events-empty{justify-content:center;align-items:center;gap:var(--space-3);padding:64px var(--space-4);text-align:center;flex-direction:column;flex:1;display:flex}.events-empty__message{color:var(--color-text);font-size:1.15rem;font-weight:600}.events-empty__hint{color:var(--color-text-muted);font-size:var(--font-size-sm);max-width:280px;margin-bottom:var(--space-2);line-height:1.6}.events-loading{padding:64px var(--space-4);text-align:center;color:var(--color-text-muted);font-size:var(--font-size-sm)}.detail-screen{min-height:100%;padding-bottom:calc(56px + env(safe-area-inset-bottom,0px) + 88px);flex-direction:column;display:flex}.detail-sticky-top{z-index:10;flex-shrink:0;position:sticky;top:0}@media (width<=599px){.detail-sticky-top{position:static}.detail-sticky-top .view-toggle{z-index:10;position:sticky;top:0}}.detail-header{gap:var(--space-1);padding:var(--space-3) var(--space-4) var(--space-2);background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-direction:column;display:flex}.detail-header__nav{align-items:center;gap:var(--space-2);flex-wrap:wrap;min-height:32px;display:flex}.detail-header__back{color:var(--color-text-secondary);font-size:var(--font-size-sm);cursor:pointer;font-weight:600;font-family:var(--font-family);align-items:center;gap:var(--space-1);background:0 0;border:none;min-width:36px;min-height:36px;padding:0;display:flex}.detail-header__back:active{opacity:.7}.detail-header__name{min-width:0;color:var(--color-text);white-space:normal;overflow-wrap:anywhere;flex:1;margin:0;font-size:1rem;font-weight:800;line-height:1.25}@media (width<=599px){.detail-header__name{flex:100%;order:1}}.detail-header__actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-left:auto;display:flex}.detail-header__row2{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.detail-header__meta{font-size:var(--font-size-sm);color:var(--color-text-muted);flex:1}.summary-bar{background:var(--color-bg-raised);border-bottom:1px solid var(--color-border);padding:var(--space-3);align-items:stretch;gap:var(--space-2);scrollbar-width:none;flex-wrap:nowrap;flex-shrink:0;display:flex;overflow-x:auto}.summary-bar::-webkit-scrollbar{display:none}.summary-stat{flex:1 0 var(--summary-tile-min,96px);min-width:var(--summary-tile-min,96px);padding:var(--space-3) var(--space-2);border-radius:var(--radius);font-family:var(--font-family);cursor:pointer;background:0 0;border:1.5px solid #0000;flex-direction:column;justify-content:center;align-items:center;gap:3px;transition:background 80ms;display:flex}.summary-stat--total{border-color:#448aff66}.summary-stat--pass{border-color:#4caf5066}.summary-stat--fail{border-color:#f4433666}.summary-stat--pending{border-color:#9e9e9e4d}.summary-stat__value{font-size:1.5rem;font-weight:800;line-height:1}.summary-stat__label{font-size:var(--font-size-xs);letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-muted);white-space:nowrap;font-weight:700}.summary-stat--total .summary-stat__value{color:var(--color-info)}.summary-stat--pass .summary-stat__value{color:var(--color-success)}.summary-stat--fail .summary-stat__value{color:var(--color-danger)}.summary-stat--pending .summary-stat__value{color:var(--color-pending)}.add-participants-bar{gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);background:var(--color-bg);display:flex}.add-participants-bar .btn{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.participant-list{flex-direction:column;display:flex}.participant-list__controls{justify-content:space-between;align-items:center;gap:var(--space-1) var(--space-2);padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--color-border);background:var(--color-surface);flex-wrap:wrap;min-height:44px;display:flex}.participant-list__count{font-size:var(--font-size-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);font-weight:700}.participant-row{align-items:center;gap:var(--space-3);min-height:56px;padding:var(--space-2) var(--space-4) var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);background:var(--color-bg);cursor:pointer;display:flex}.participant-row--selected{background:var(--color-primary-soft)}.participant-row:active{opacity:.8}.participant-row__hover-delete{display:none}@media (hover:hover){.participant-row__hover-delete{color:var(--color-text-faint);cursor:pointer;border-radius:var(--radius);opacity:0;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;min-width:32px;min-height:32px;padding:4px;transition:opacity .15s,color .15s,background .15s;display:flex}.participant-row-slide:hover .participant-row__hover-delete{opacity:1}.participant-row__hover-delete:hover{color:var(--color-danger);background:#f4433614}}.participant-checkbox{width:22px;height:22px;accent-color:var(--color-primary);cursor:pointer;flex-shrink:0}.participant-avatar{width:36px;height:36px;font-size:var(--font-size-xs);letter-spacing:.02em;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:800;display:flex}.participant-avatar--pass{color:var(--color-success);background:#4caf5026}.participant-avatar--fail{color:var(--color-danger);background:#f4433626}.participant-avatar--pending{color:var(--color-pending);background:#9e9e9e1f}.participant-main{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.participant-name{color:var(--color-text);overflow-wrap:anywhere;font-size:.97rem;font-weight:600}.participant-offroster{font-size:var(--font-size-xs);color:var(--color-warning);opacity:.85;white-space:nowrap;font-style:italic;font-weight:600}.participant-sub{font-size:var(--font-size-xs);color:var(--color-text-muted);overflow-wrap:anywhere}.outcome-badge{font-size:var(--font-size-xs);letter-spacing:.06em;cursor:pointer;text-align:center;min-width:56px;font-weight:800;font-family:var(--font-family);background:0 0;border:1px solid #0000;border-radius:4px;flex-shrink:0;padding:4px 10px}.outcome-badge--pass{color:var(--color-success);border-color:var(--color-success);background:#4caf5026}.outcome-badge--fail{color:var(--color-danger);border-color:var(--color-danger);background:#f4433626}.outcome-badge--pending{color:var(--color-pending);border-color:var(--color-border);background:0 0}.outcome-badge:active{opacity:.75}.outcome-badge{pointer-events:none}.event-bulk-bar{bottom:calc(56px + env(safe-area-inset-bottom,0px));align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--color-surface);border-top:2px solid var(--color-primary);z-index:60;flex-wrap:wrap;display:flex;position:fixed;left:0;right:0}@media (width>=900px){.event-bulk-bar{bottom:0;left:200px}}@media (width>=1200px){.event-bulk-bar{left:640px}}.event-bulk-bar__count{font-size:var(--font-size-sm);color:var(--color-text);white-space:nowrap;flex:1;font-weight:700}.event-bulk-bar__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.picker-overlay{z-index:200;animation:px-fade-in var(--motion-base) var(--ease-out);background:#0000008c;flex-direction:column;justify-content:flex-end;display:flex;position:fixed;inset:0}.picker-overlay--leaving{animation:px-fade-out var(--motion-quick) var(--ease-in) forwards;pointer-events:none}.picker-sheet{background:var(--color-bg);border-radius:var(--radius) var(--radius) 0 0;height:90vh;max-height:90vh;animation:px-sheet-in var(--motion-sheet) var(--ease-standard);transition:transform var(--motion-base) var(--ease-standard);flex-direction:column;display:flex;overflow:hidden}.picker-sheet--leaving{animation:px-sheet-out var(--motion-quick) var(--ease-in) forwards}.picker-sheet--dragging{transition:none;animation:none}@media (width>=600px){.picker-overlay{justify-content:center;align-items:center}.picker-sheet{border-radius:var(--radius);width:100%;max-width:540px;height:auto;max-height:85vh;animation-name:px-pop-in;animation-duration:var(--motion-base)}.picker-sheet--leaving{animation-name:px-pop-out}}.picker-sheet .unit-tree__meta,.picker-sheet .flat-list__header{position:static}.picker-unit-row{align-items:center;gap:var(--space-2);padding:0 var(--space-4);border-bottom:1px solid var(--color-border);background:var(--color-surface);min-height:48px;display:flex}.picker-unit-toggle{align-items:center;gap:var(--space-2);color:var(--color-text);font-size:.93rem;font-weight:700;font-family:var(--font-family);cursor:pointer;text-align:left;background:0 0;border:none;flex:1;min-height:48px;padding:0;display:flex}.picker-unit-chevron{font-size:var(--font-size-xs);color:var(--color-text-muted);flex-shrink:0;width:12px}.picker-unit-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.picker-unit-count{font-size:var(--font-size-xs);color:var(--color-text-muted);font-weight:700}.picker-unit-select-btn{border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-primary);font-size:var(--font-size-xs);font-weight:700;font-family:var(--font-family);cursor:pointer;white-space:nowrap;background:0 0;flex-shrink:0;padding:4px 8px}.picker-unit-select-btn:active{opacity:.7}.picker-soldier-row{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4) var(--space-2) 40px;border-bottom:1px solid var(--color-border);background:var(--color-bg);cursor:pointer;min-height:52px;display:flex}.picker-soldier-row--disabled{opacity:.38;cursor:not-allowed}.picker-soldier-row--selected{background:var(--color-primary-soft)}.picker-soldier-rank{font-size:var(--font-size-xs);color:var(--color-primary);flex-shrink:0;width:32px;font-weight:800}.picker-soldier-name{color:var(--color-text);flex:1;font-size:.93rem;font-weight:600}.picker-already-added{font-size:var(--font-size-xs);color:var(--color-text-muted);font-style:italic}.summary-stat:active{opacity:.75}.summary-stat--total.summary-stat--active{border-color:var(--color-info);background:#448aff1f}.summary-stat--pass.summary-stat--active{border-color:var(--color-success);background:#4caf501f}.summary-stat--fail.summary-stat--active{border-color:var(--color-danger);background:#f443361f}.summary-stat--pending.summary-stat--active{border-color:var(--color-pending);background:#9e9e9e1f}.list-filter-bar{gap:var(--space-2);padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--color-border);background:var(--color-bg);align-items:center;display:flex}.list-filter-bar__search{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);min-width:0;color:var(--color-text);font-family:var(--font-family);font-size:var(--font-size-sm);padding:0 var(--space-3);flex:1;height:40px}.list-filter-bar__search:focus{outline:2px solid var(--color-primary);outline-offset:1px;border-color:var(--color-primary)}.list-filter-bar__search::placeholder{color:var(--color-text-muted)}.sort-menu-container{flex-shrink:0;position:relative}.sort-menu-btn{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);width:40px;height:40px;color:var(--color-text-muted);cursor:pointer;justify-content:center;align-items:center;transition:border-color 80ms,color 80ms;display:flex}.sort-menu-btn svg{fill:currentColor;width:20px;height:20px}.sort-menu-btn--open,.sort-menu-btn:active{border-color:var(--color-primary);color:var(--color-primary)}.sort-menu-btn--filtered{position:relative}.events-date-filter{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4) var(--space-3);border-bottom:1px solid var(--color-border);background:var(--color-bg);flex-wrap:wrap;display:flex}.events-date-filter__mode{flex-shrink:0}.events-date-filter__mode .theme-toggle__btn{min-width:64px;min-height:34px;font-weight:600}.events-date-filter__fields{align-items:center;gap:var(--space-2);min-width:0;display:flex}.sort-menu-btn__dot{background:var(--color-primary);border:2px solid var(--color-bg);border-radius:50%;width:8px;height:8px;position:absolute;top:4px;right:4px}.sort-menu-section-label{letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);padding:8px 16px 4px;font-size:.6875rem;font-weight:700}.sort-menu-section-label:not(:first-child){border-top:1px solid var(--color-border);margin-top:4px}.sort-menu-backdrop{z-index:98;position:fixed;inset:0}.sort-menu{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);z-index:99;transform-origin:100% 0;min-width:148px;animation:px-pop-in var(--motion-quick) var(--ease-out);position:absolute;top:calc(100% + 4px);right:0;overflow:hidden;box-shadow:0 6px 20px #00000059}.sort-menu--scroll{max-height:70vh;overflow-y:auto}.sort-menu-item{border:none;border-bottom:1px solid var(--color-border);width:100%;color:var(--color-text);font-family:var(--font-family);font-size:var(--font-size-sm);cursor:pointer;text-align:left;background:0 0;justify-content:space-between;align-items:center;padding:13px 16px;font-weight:500;display:flex}.sort-menu-item:last-child{border-bottom:none}.sort-menu-item:active{opacity:.7}.sort-menu-item--active{color:var(--color-primary);font-weight:700}.sort-menu-item__check{opacity:.9;font-size:.75rem}.status-menu-btn{border-radius:var(--radius);font-size:var(--font-size-xs);font-weight:700;font-family:var(--font-family);cursor:pointer;white-space:nowrap;border:none;flex-shrink:0;align-items:center;gap:3px;padding:3px 8px;display:inline-flex}.status-menu-btn:active{opacity:.75}.status-menu-btn__caret{opacity:.7;margin-top:1px;font-size:.6rem}.status-picker-list{padding:var(--space-2) 0;padding-bottom:max(var(--space-2), env(safe-area-inset-bottom,0px));flex-direction:column;display:flex}.status-picker-item{align-items:center;gap:var(--space-3);min-height:60px;padding:var(--space-3) var(--space-4);border:none;border-bottom:1px solid var(--color-border);color:var(--color-text);font-family:var(--font-family);cursor:pointer;text-align:left;background:0 0;font-size:1rem;display:flex}.status-picker-item:last-child{border-bottom:none}.status-picker-item:active,.status-picker-item--selected{background:var(--color-surface)}.status-picker-item__check{color:var(--color-primary);margin-left:auto;font-size:1rem;font-weight:700}.filter-clear-btn{margin-left:var(--space-2);border:1px solid var(--color-border);color:var(--color-text-muted);font-size:var(--font-size-xs);font-family:var(--font-family);cursor:pointer;background:0 0;border-radius:12px;padding:2px 8px;font-weight:700}.filter-clear-btn:active{opacity:.7}.participant-notes-dot{color:var(--color-primary);margin-left:2px;font-weight:900}.score-sheet-overlay{z-index:200;animation:px-fade-in var(--motion-base) var(--ease-out);background:#000000c7;flex-direction:column;justify-content:flex-end;align-items:center;display:flex;position:fixed;inset:0}.score-sheet-overlay--leaving{animation:px-fade-out var(--motion-quick) var(--ease-in) forwards;pointer-events:none}.score-sheet{background:var(--color-bg);border-radius:var(--radius) var(--radius) 0 0;padding-bottom:env(safe-area-inset-bottom,0px);width:100%;max-width:520px;animation:px-sheet-in var(--motion-sheet) var(--ease-standard);transition:transform var(--motion-base) var(--ease-standard);flex-direction:column;display:flex;overflow:hidden}.score-sheet--leaving{animation:px-sheet-out var(--motion-quick) var(--ease-in) forwards}.score-sheet--dragging{transition:none;animation:none}.score-sheet__header{touch-action:none;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);background:var(--color-surface);min-height:56px;display:flex}.score-sheet__title{text-align:center;flex-direction:column;flex:1;align-items:center;gap:2px;min-width:0;display:flex;overflow:hidden}.score-sheet__name{color:var(--color-text);overflow-wrap:anywhere;font-size:1rem;font-weight:700}.score-sheet__unit{font-size:var(--font-size-xs);color:var(--color-text-muted);overflow-wrap:anywhere}.score-sheet__buttons{gap:var(--space-3);padding:var(--space-4);background:var(--color-bg);display:flex}.score-sheet__outcome-btn{padding:20px var(--space-3);border-radius:var(--radius);letter-spacing:.12em;font-size:1.25rem;font-weight:800;font-family:var(--font-family);cursor:pointer;border:2px solid #0000;flex:1}.score-sheet__outcome-btn--pass{color:#4caf5073;background:#4caf500f;border-color:#4caf5040}.score-sheet__outcome-btn--pass.score-sheet__outcome-btn--active{border-color:var(--color-success);color:var(--color-success);background:#4caf502e}.score-sheet__outcome-btn--fail{color:#f4433673;background:#f443360f;border-color:#f4433640}.score-sheet__outcome-btn--fail.score-sheet__outcome-btn--active{border-color:var(--color-danger);color:var(--color-danger);background:#f443362e}.score-sheet__outcome-btn:active{opacity:.75}.score-sheet__notes-section{gap:var(--space-2);padding:0 var(--space-4) var(--space-3);background:var(--color-bg);flex-direction:column;display:flex}.score-sheet__notes{resize:none}.score-sheet__body{-webkit-overflow-scrolling:touch;min-height:0;padding:var(--space-4);padding-bottom:var(--space-4);gap:var(--space-3);flex-direction:column;flex:1;display:flex;overflow-y:auto}.score-sheet__footer{gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border);background:var(--color-surface);display:flex}@media (width>=600px){.score-sheet-overlay{justify-content:center}.score-sheet{border-radius:var(--radius);max-height:85vh}}.participant-avatar--expert{color:var(--color-qual-expert);background:#ffc10726}.participant-avatar--sharpshooter{color:var(--color-qual-sharpshooter);background:#29b6f626}.participant-avatar--marksman,.participant-avatar--qualified{color:var(--color-qual-marksman);background:#4caf5026}.participant-avatar--unqualified{color:var(--color-qual-unqualified);background:#f4433626}.qual-badge{font-size:var(--font-size-xs);letter-spacing:.05em;text-align:center;border:1px solid #0000;border-radius:4px;flex-shrink:0;min-width:52px;padding:3px 7px;font-weight:800}.qual-badge--expert{color:var(--color-qual-expert);border-color:var(--color-qual-expert);background:#ffc1071f}.qual-badge--sharpshooter{color:var(--color-qual-sharpshooter);border-color:var(--color-qual-sharpshooter);background:#29b6f61f}.qual-badge--marksman,.qual-badge--qualified{color:var(--color-qual-marksman);border-color:var(--color-qual-marksman);background:#4caf501f}.qual-badge--unqualified{color:var(--color-qual-unqualified);border-color:var(--color-qual-unqualified);background:#f443361f}.qual-badge--pending{color:var(--color-qual-pending);border-color:var(--color-border);background:0 0}.wq-score-col{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:3px;display:flex}.wq-score-value{color:var(--color-text);font-size:1rem;font-weight:800;line-height:1}.wq-score-max{font-size:var(--font-size-xs);color:var(--color-text-muted);font-weight:400}.wq-score-type-line{font-size:var(--font-size-sm);color:var(--color-text);justify-content:flex-end;align-items:baseline;gap:8px;font-weight:800;line-height:1.1;display:flex}.wq-score-type-label{font-size:var(--font-size-sm);color:var(--color-text-muted);text-align:right;text-overflow:ellipsis;white-space:nowrap;max-width:96px;font-weight:400;overflow:hidden}.summary-stat--expert{border-color:#ffc10766}.summary-stat--sharpshooter{border-color:#29b6f666}.summary-stat--marksman,.summary-stat--qualified{border-color:#4caf5066}.summary-stat--unqualified{border-color:#f4433666}.summary-stat--expert .summary-stat__value{color:var(--color-qual-expert)}.summary-stat--sharpshooter .summary-stat__value{color:var(--color-qual-sharpshooter)}.summary-stat--marksman .summary-stat__value,.summary-stat--qualified .summary-stat__value{color:var(--color-qual-marksman)}.summary-stat--unqualified .summary-stat__value{color:var(--color-qual-unqualified)}.summary-stat--expert.summary-stat--active{border-color:var(--color-qual-expert);background:#ffc1071a}.summary-stat--sharpshooter.summary-stat--active{border-color:var(--color-qual-sharpshooter);background:#29b6f61a}.summary-stat--marksman.summary-stat--active,.summary-stat--qualified.summary-stat--active{border-color:var(--color-qual-marksman);background:#4caf501a}.summary-stat--unqualified.summary-stat--active{border-color:var(--color-qual-unqualified);background:#f443361a}.qual-preview{padding:var(--space-3) var(--space-4);border-radius:var(--radius);border:2px solid #0000;justify-content:space-between;align-items:center;display:flex}.qual-preview--expert{border-color:var(--color-qual-expert);background:#ffc10714}.qual-preview--sharpshooter{border-color:var(--color-qual-sharpshooter);background:#29b6f614}.qual-preview--marksman,.qual-preview--qualified{border-color:var(--color-qual-marksman);background:#4caf5014}.qual-preview--unqualified{border-color:var(--color-qual-unqualified);background:#f4433614}.qual-preview__level{letter-spacing:.06em;font-size:1rem;font-weight:800}.qual-preview--expert .qual-preview__level{color:var(--color-qual-expert)}.qual-preview--sharpshooter .qual-preview__level{color:var(--color-qual-sharpshooter)}.qual-preview--marksman .qual-preview__level,.qual-preview--qualified .qual-preview__level{color:var(--color-qual-marksman)}.qual-preview--unqualified .qual-preview__level{color:var(--color-qual-unqualified)}.qual-preview__expires{font-size:var(--font-size-sm);color:var(--color-text-muted)}.type-chooser-section-label{font-size:var(--font-size-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);margin-top:var(--space-2);font-weight:700}.type-chooser-section-label:first-child{margin-top:0}.type-chooser-option{align-items:center;gap:var(--space-3);padding:var(--space-4);border:1.5px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);cursor:pointer;text-align:left;font-family:var(--font-family);width:100%;transition:border-color .1s,background .1s;display:flex}.type-chooser-option:active{border-color:var(--color-primary);background:var(--color-primary-soft)}@media (hover:hover){.type-chooser-option:hover{border-color:var(--color-primary)}}.type-chooser-option--disabled{opacity:.4;cursor:not-allowed}.type-chooser-option--disabled:active{border-color:var(--color-border);background:var(--color-surface)}.type-chooser-option__icon{width:48px;height:48px;color:var(--color-text-secondary);background:#9e9e9e1f;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.type-chooser-option__icon--qual{color:var(--color-qual-marksman);background:#4caf501f}.type-chooser-option__icon--nav{color:var(--color-info);background:#448aff1f}.type-chooser-option__text{flex-direction:column;flex:1;gap:3px;display:flex;overflow:hidden}.type-chooser-option__title{color:var(--color-text);align-items:center;gap:var(--space-2);flex-wrap:wrap;font-size:1rem;font-weight:700;display:flex}.type-chooser-option__desc{font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:1.4}.type-chooser-option__coming-soon{font-size:var(--font-size-xs);color:var(--color-pending);letter-spacing:.03em;background:#9e9e9e26;border-radius:10px;padding:2px 7px;font-weight:700}.type-chooser-option__chevron{color:var(--color-text-muted);flex-shrink:0;font-size:1.4rem;line-height:1}.segmented-control{border:1.5px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);display:flex;overflow:hidden}.segmented-control__btn{padding:10px var(--space-2);border:none;border-right:1.5px solid var(--color-border);color:var(--color-text-secondary);font-family:var(--font-family);font-size:var(--font-size-sm);cursor:pointer;background:0 0;flex:1;font-weight:700;transition:background 80ms,color 80ms}.segmented-control__btn:last-child{border-right:none}.segmented-control__btn:active{opacity:.7}.segmented-control__btn--active{background:var(--color-primary);color:var(--color-on-primary);border-right-color:var(--color-primary)}.segmented-control__btn--add{color:var(--color-primary);border-right:none;flex:0 0 44px;font-size:1.2rem;font-weight:400}.segmented-control__btn--add.segmented-control__btn--active{background:var(--color-primary);color:var(--color-on-primary)}.view-toggle{background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-shrink:0;display:flex}.view-toggle__btn{padding:var(--space-3) var(--space-4);color:var(--color-text-muted);font-family:var(--font-family);font-size:var(--font-size-sm);cursor:pointer;letter-spacing:.04em;background:0 0;border:none;border-bottom:2.5px solid #0000;flex:1;font-weight:700;transition:color .1s,border-color .1s}.view-toggle__btn--active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.view-toggle__btn:active{opacity:.75}.range-board{flex-direction:column;flex:1;display:flex}.range-board__toolbar{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-wrap:wrap;min-height:52px;display:flex}.range-board__hint{font-size:var(--font-size-sm);color:var(--color-text-muted);flex:1;line-height:1.4}.range-board-viewport{-webkit-overflow-scrolling:touch;scrollbar-width:none;scroll-margin-top:180px;overflow-x:auto}.range-board-viewport::-webkit-scrollbar{display:none}.range-board-canvas{width:max-content;min-width:100%;padding-bottom:var(--space-4);flex-direction:column;display:flex}.iteration-row{flex-direction:column;display:flex}.iteration-row__header{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4) var(--space-2);display:flex}.iteration-row__label{font-size:var(--font-size-xs);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;flex-shrink:0;font-weight:800}.iteration-row__label--shooting{color:var(--color-success)}.iteration-row__label--ondeck{color:var(--color-pending)}.iteration-row__divider{background:var(--color-border);flex:1;height:1px}.iteration-row__lanes{gap:var(--space-2);padding:0 var(--space-4) var(--space-3);display:flex}.iteration-row__lanes .lane-card{flex-shrink:0;width:108px;min-height:96px}.lane-grid{gap:var(--space-3);padding:var(--space-3) var(--space-4);grid-template-columns:repeat(2,1fr);display:grid}@media (width>=480px){.lane-grid{grid-template-columns:repeat(3,1fr)}}@media (width>=720px){.lane-grid{grid-template-columns:repeat(4,1fr)}}.lane-card{padding:28px var(--space-2) var(--space-3);border-radius:var(--radius);border:2px solid var(--color-border);background:var(--color-surface);cursor:default;text-align:center;-webkit-tap-highlight-color:transparent;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:100px;scroll-margin-top:260px;display:flex;position:relative}.lane-card[role=button]{cursor:pointer}.lane-card[role=button]:active{opacity:.75}.lane-card--shooting{border-color:var(--color-success);background:#4caf500f}.lane-card--ondeck{border-color:var(--color-border)}.lane-card--done{border-color:var(--color-border);opacity:.6}.lane-card--closed{opacity:.55;background:#f443360d;border-color:#f4433659}.lane-card--empty{border-color:var(--color-border);border-style:dashed}.lane-card__num{top:var(--space-2);left:var(--space-2);font-size:var(--font-size-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);font-weight:700;line-height:1;position:absolute}.lane-card__rank{font-size:var(--font-size-xs);color:var(--color-primary);font-weight:800}.lane-card__name{color:var(--color-text);text-align:center;overflow-wrap:anywhere;max-width:100%;padding:0 var(--space-1);font-size:.93rem;font-weight:700}.lane-card__status-badge{font-size:var(--font-size-xs);letter-spacing:.05em;border:1px solid #0000;border-radius:4px;margin-top:2px;padding:2px 7px;font-weight:800}.lane-card__status-badge--shooting{color:var(--color-success);border-color:var(--color-success);background:#4caf5026}.lane-card__status-badge--ondeck{color:var(--color-pending);border-color:var(--color-border);background:#9e9e9e1f}.lane-card__status-badge--done{color:var(--color-text-muted);border-color:var(--color-border);background:0 0}.lane-card__label{font-size:var(--font-size-sm);font-weight:700}.lane-card__label--closed{color:var(--color-danger);letter-spacing:.06em;font-size:var(--font-size-xs)}.lane-card__label--empty{color:var(--color-text-faint);font-size:1.4rem;font-weight:300}.lane-card__edit-btn{color:var(--color-text-faint);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;min-width:28px;min-height:28px;padding:4px;font-size:.9rem;line-height:1;display:flex;position:absolute;top:4px;right:4px}.lane-card__edit-btn:active{opacity:.6}@media (hover:hover){.lane-card__edit-btn{opacity:0;transition:opacity .12s}.lane-card:hover .lane-card__edit-btn{opacity:1}}.lane-card__advance-btn{border:1px solid var(--color-success);color:var(--color-success);font-family:var(--font-family);font-size:var(--font-size-xs);letter-spacing:.04em;cursor:pointer;background:#4caf5026;border-radius:4px;margin-top:6px;padding:4px 10px;font-weight:800}.lane-card__advance-btn:active{opacity:.7}.lane-card__notes{font-size:var(--font-size-xs);color:var(--color-text-muted);text-align:center;overflow-wrap:anywhere;max-width:100%;padding:0 var(--space-1);margin-top:1px}.lane-assign-badge{min-width:32px;font-size:var(--font-size-xs);letter-spacing:.04em;color:var(--color-text-muted);border:1px solid var(--color-border);text-align:center;background:0 0;border-radius:4px;flex-shrink:0;padding:3px 6px;font-weight:800}.lane-assign-badge--assigned{color:var(--color-info);background:#448aff1a;border-color:#448aff59}.participant-notes{font-size:var(--font-size-xs);color:var(--color-text-muted);overflow-wrap:anywhere;font-style:italic}.lane-analysis{border-bottom:1px solid var(--color-border)}.lane-analysis__topbar{align-items:center;gap:var(--space-2) var(--space-4);padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--color-border);font-size:var(--font-size-xs);color:var(--color-text-muted);background:#ffffff08;flex-wrap:wrap;display:flex}.lane-analysis__avg{color:var(--color-text-primary);font-size:var(--font-size-sm)}.lane-analysis__legend{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.la-leg-item{white-space:nowrap;align-items:center;gap:4px;display:flex}.la-leg-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.la-leg-dot--good{background:#4caf50}.la-leg-dot--check{background:#ffc107}.la-leg-dot--defect{background:#f44336}.lane-analysis__cards{gap:var(--space-2);padding:var(--space-3) var(--space-4);display:flex}.la-card{border:2px solid var(--color-border);width:108px;padding:var(--space-2) var(--space-2) var(--space-2);text-align:center;background:var(--color-bg-raised);border-radius:8px;flex-direction:column;flex-shrink:0;align-items:center;gap:1px;display:flex}.la-card--good{border-color:#4caf50}.la-card--check{border-color:#ffc107}.la-card--defect{border-color:#f44336}.la-card--empty{border-color:var(--color-border);opacity:.6}.la-card--closed{border-color:var(--color-border);opacity:.4}.la-card__header{letter-spacing:.1em;font-size:9px;font-weight:700}.la-card--good .la-card__header{color:#4caf50}.la-card--check .la-card__header{color:#ffc107}.la-card--defect .la-card__header{color:#f44336}.la-card--empty .la-card__header,.la-card--closed .la-card__header{color:var(--color-text-muted)}.la-card__num{margin:2px 0 4px;font-size:1.75rem;font-weight:800;line-height:1}.la-card--good .la-card__num{color:#4caf50}.la-card--check .la-card__num{color:#ffc107}.la-card--defect .la-card__num{color:#f44336}.la-card--empty .la-card__num,.la-card--closed .la-card__num{color:var(--color-text-muted)}.la-card__score{font-size:var(--font-size-lg);color:var(--color-text-primary);font-weight:700;line-height:1.1}.la-card__pct{font-size:var(--font-size-base);color:var(--color-text-primary);font-weight:700;line-height:1.1}.la-card__sublabel{letter-spacing:.05em;color:var(--color-text-muted);text-transform:lowercase;margin-bottom:2px;font-size:9px}.la-card__badge{letter-spacing:.07em;text-transform:uppercase;border-radius:4px;margin-top:4px;padding:2px 6px;font-size:9px;font-weight:800}.la-card__badge--good{color:#4caf50;background:#4caf502e}.la-card__badge--check{color:#ffc107;background:#ffc1072e}.la-card__badge--defect{color:#f44336;background:#f443362e}.la-card__count{color:var(--color-text-muted);white-space:nowrap;margin-top:3px;font-size:9px}.la-card__empty-label{font-size:var(--font-size-xs);color:var(--color-text-muted);padding:var(--space-2) 0;text-align:center}.la-card--tappable{cursor:pointer}.la-card--tappable:hover,.la-card--tappable:focus-visible{filter:brightness(1.15);outline:none}.lane-history__order{font-size:var(--font-size-xs);color:var(--color-text-muted);text-align:center;flex-shrink:0;width:24px}.ammo-panel{padding:var(--space-3) var(--space-4);gap:var(--space-3);padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom,0px));flex-direction:column;display:flex}.ammo-panel__header{justify-content:space-between;align-items:center;min-height:40px;display:flex}.ammo-panel__title{font-size:var(--font-size-sm);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);margin:0;font-weight:700}.ammo-empty{text-align:center;padding:40px var(--space-4);color:var(--color-text-muted);font-size:var(--font-size-sm);align-items:center;gap:var(--space-3);flex-direction:column;display:flex}.ammo-calc{border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-3) var(--space-4);background:#ffffff0a}.ammo-calc--in-header{background:var(--color-surface);padding:var(--space-2) var(--space-4);border-top:none;border-left:none;border-right:none;border-radius:0}.ammo-calc__stat-row{justify-content:center;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.ammo-calc__stat{flex-direction:column;align-items:center;gap:3px;min-width:64px;display:flex}.ammo-calc__value{color:var(--color-text);font-size:1.6rem;font-weight:800;line-height:1}.ammo-calc__value--result{color:var(--color-primary)}.ammo-calc__label{font-size:var(--font-size-xs);color:var(--color-text-muted);text-align:center;white-space:nowrap}.ammo-calc__input{text-align:center;border:1px solid var(--color-border);width:72px;color:var(--color-text);background:#ffffff14;border-radius:4px;padding:2px 4px;font-size:1.4rem;font-weight:800;line-height:1.2}.ammo-calc__input:focus{border-color:var(--color-primary);outline:none}.ammo-calc__op{color:var(--color-text-muted);padding-top:12px;font-size:1.2rem;font-weight:400}.ammo-lot-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-3) var(--space-3);gap:var(--space-3);flex-direction:column;scroll-margin-top:320px;display:flex}.ammo-lot-header{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.ammo-drag-handle{padding:0 var(--space-2);cursor:grab;color:var(--color-text-muted);touch-action:none;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.ammo-drag-handle:active{cursor:grabbing}.ammo-section-label{font-size:var(--font-size-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted);padding:var(--space-1) 0;border-top:1px solid var(--color-border);margin-top:var(--space-1);font-weight:700}.ammo-lot-identity{align-items:center;gap:var(--space-2);display:flex}.ammo-lot-dodic-block{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.ammo-lot-dodic{letter-spacing:.08em;color:var(--color-text);font-size:1.15rem;font-weight:800}.ammo-lot-nomenclature{font-size:var(--font-size-xs);color:var(--color-text-secondary);letter-spacing:0;font-weight:400}.checklist-check-btn{border:2px solid var(--color-border);border-radius:var(--radius);color:#0000;cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.checklist-check-btn--done{border-color:var(--color-success);color:var(--color-success);background:#4caf5026}.checklist-check-btn:active{opacity:.75}.dodic-suggest-row{gap:var(--space-2);margin-top:var(--space-2);padding-bottom:var(--space-1);-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;display:flex;overflow-x:auto}.dodic-suggest-btn{min-height:52px;padding:var(--space-2) var(--space-3);background:var(--color-primary-soft);border:1px solid var(--color-primary);border-radius:var(--radius);cursor:pointer;font-family:var(--font-family);text-align:left;flex-direction:column;flex-shrink:0;align-items:flex-start;gap:2px;display:flex}.dodic-suggest-btn:active{opacity:.75}.dodic-suggest-btn__code{font-size:var(--font-size-base);letter-spacing:.08em;color:var(--color-primary);font-weight:800}.dodic-suggest-btn__nom{font-size:var(--font-size-xs);color:var(--color-text-secondary);white-space:nowrap}.ammo-status-badge{font-size:var(--font-size-xs);letter-spacing:.06em;text-transform:uppercase;border-radius:4px;padding:2px 6px;font-weight:700}.ammo-status-badge--active{color:var(--color-primary);background:#4caf5026}.ammo-status-badge--paused{color:var(--color-text-muted);background:#ffffff12}.ammo-lot-actions{gap:var(--space-2);margin-left:auto;display:flex}.ammo-lot-stats{gap:var(--space-2);border-top:1px solid var(--color-border);padding-top:var(--space-3);grid-template-columns:repeat(3,1fr);display:grid}.ammo-stat{flex-direction:column;align-items:center;gap:3px;display:flex}.ammo-stat__value{color:var(--color-text);font-size:1.4rem;font-weight:800;line-height:1}.ammo-stat__label{font-size:var(--font-size-xs);color:var(--color-text-muted);text-align:center;line-height:1.2}.ammo-stat-input{text-align:center;border:1px solid var(--color-border);width:100%;color:var(--color-text);background:#ffffff0f;border-radius:4px;padding:2px 4px;font-size:1.4rem;font-weight:800;line-height:1.2}.ammo-stat-input:focus{border-color:var(--color-primary);background:#ffffff1a;outline:none}.ammo-stat-input:disabled{opacity:.5;cursor:default}.ammo-actual-row{border-top:1px solid var(--color-border);padding-top:var(--space-3);gap:var(--space-2);flex-direction:column;display:flex}.ammo-actual-label{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.ammo-actual-input-row{gap:var(--space-2);align-items:center;display:flex}.ammo-actual-input{text-align:center;flex:1;font-size:1.4rem!important}.events-detail-panel{flex-direction:column;flex:1;min-width:0;display:flex}.events-detail-empty{flex:1;justify-content:center;align-items:center;display:flex}.events-detail-empty__hint{font-size:var(--font-size-sm);color:var(--color-text-faint);letter-spacing:.03em}@media (width<=1199px){.events-tab-pane--list .events-detail-panel,.events-tab-pane--detail .events-screen,.events-tab-pane--detail .events-header{display:none}.events-tab-pane--detail .events-detail-panel{animation:px-push-in var(--motion-quick) var(--ease-out)}}.events-tab-pane--detail .fab-container{display:none}.scroll-top-fab{bottom:calc(56px + env(safe-area-inset-bottom,0px) + 16px);right:var(--space-4);z-index:50;background:var(--color-surface);width:52px;height:52px;color:var(--color-text-secondary);border:1px solid var(--color-border);font-family:var(--font-family);cursor:pointer;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:0;font-size:.6875rem;font-weight:700;line-height:1;animation:.15s scroll-top-fab-in;display:inline-flex;position:fixed;box-shadow:0 4px 16px #00000059}.scroll-top-fab svg{opacity:.85;flex-shrink:0;display:block}.scroll-top-fab:hover{border-color:var(--color-border-strong,var(--color-primary));color:var(--color-text)}.scroll-top-fab:active{opacity:.8;transform:scale(.97)}@keyframes scroll-top-fab-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (width>=1200px){.events-tab-pane.tab-pane--active{flex-direction:row;position:relative;overflow:hidden}.events-tab-pane .events-list-col{border-right:1px solid var(--color-border);flex:none;width:440px;overflow:hidden}.events-tab-pane .fab-container{left:calc(440px - 56px - var(--space-4));right:auto;bottom:var(--space-4);position:absolute}.events-tab-pane--detail .fab-container{display:flex}.events-screen{flex:1;overflow-y:auto}.events-screen>.list-filter-bar{top:0}.event-list__meta{top:57px}.events-detail-panel{overflow-y:auto}.detail-header__back{display:none}}@media (width>=900px){.roster-screen{padding-bottom:var(--space-4)}.events-header,.detail-sticky-top{top:0}.detail-screen{min-height:0;padding-bottom:var(--space-6)}}.landnav-group{margin-bottom:var(--space-2)}.landnav-group__header{padding:var(--space-2) var(--space-4);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);background:#ffffff0a;justify-content:space-between;align-items:center;display:flex}.landnav-group__label{font-size:var(--font-size-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);font-weight:600}.landnav-group__count{font-size:var(--font-size-xs);color:var(--color-text-muted)}.landnav-card-badge{font-size:var(--font-size-xs);color:var(--color-primary);white-space:nowrap;text-overflow:ellipsis;background:#4caf5026;border:1px solid #4caf504d;border-radius:4px;flex-shrink:0;max-width:7rem;padding:2px 6px;font-weight:600;overflow:hidden}.la-card__toggle-btn{margin-top:var(--space-2);letter-spacing:.04em;cursor:pointer;width:100%;font-size:10px;font-weight:600;font-family:var(--font-family);background:0 0;border:1px solid;border-radius:4px;padding:3px 0}.la-card__toggle-btn--close{color:var(--color-danger)}.la-card__toggle-btn--open{color:var(--color-primary)}.ln-tracking-view{padding-bottom:var(--space-6,24px)}.ln-tracking-header{align-items:center;gap:var(--space-4);background:var(--color-bg-raised);border-bottom:1px solid var(--color-border);padding:var(--space-4);display:flex}.ln-tracking-stat{flex-direction:column;align-items:center;min-width:64px;display:flex}.ln-tracking-stat--btn{cursor:pointer;font-family:var(--font-family);border-radius:var(--radius);padding:var(--space-2) var(--space-3);margin:calc(var(--space-2) * -1) calc(var(--space-3) * -1);background:0 0;border:none;transition:background .1s}.ln-tracking-stat--btn:disabled{cursor:default}.ln-tracking-stat--btn.ln-tracking-stat--active:active{background:#ffffff12}@media (hover:hover){.ln-tracking-stat--btn.ln-tracking-stat--active:hover{background:#ffffff12}}.ln-tracking-stat--deadline{align-items:flex-end;margin-left:auto}.ln-tracking-stat__value{color:var(--color-text);font-size:28px;font-weight:800;line-height:1}.ln-tracking-stat__label{font-size:var(--font-size-sm);color:var(--color-text-muted);white-space:nowrap;margin-top:3px}.ln-out-list-row{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);min-height:60px;display:flex}.ln-out-list-row--btn{border:none;border-bottom:1px solid var(--color-border);width:100%;font-family:var(--font-family);cursor:pointer;text-align:left;background:0 0}.ln-out-list-row--btn:active{background:#ffffff0d}@media (hover:hover){.ln-out-list-row--btn:hover{background:#ffffff0a}}.ln-out-list-row__name{min-width:0;color:var(--color-text);flex-direction:column;flex:1;gap:2px;font-size:.97rem;font-weight:600;display:flex}.ln-out-list-row__unit{font-size:var(--font-size-xs);color:var(--color-text-muted);font-weight:400}.ln-out-list-row__times{align-items:center;gap:var(--space-3);flex-shrink:0;display:flex}.ln-out-list-row__time-item{flex-direction:column;align-items:flex-end;gap:1px;display:flex}.ln-out-list-row__time-label{font-size:var(--font-size-xs);color:var(--color-text-muted);white-space:nowrap}.ln-out-list-row__time-val{color:var(--color-text);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.93rem;font-weight:700}.ln-out-list-row__chevron{width:18px;height:18px;color:var(--color-text-muted);flex-shrink:0}.ln-tracking-cards{gap:var(--space-3);padding:var(--space-3) var(--space-3);flex-direction:column;display:flex}@media (width>=400px){.ln-tracking-cards{padding:var(--space-3) var(--space-4)}}.ln-tracking-card{background:var(--color-surface);border-radius:var(--radius);border:1px solid var(--color-border);overflow:hidden}.ln-tracking-card--overdue{background:#f4433608;border-color:#f4433673}.ln-tracking-card__header{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);background:#ffffff0a;display:flex}.ln-tracking-card__header-left{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.ln-tracking-card__header-right{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.ln-tracking-card__label{color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;font-size:1.05rem;font-weight:700;overflow:hidden}.ln-tracking-card__count{font-size:var(--font-size-sm);color:var(--color-text-muted)}.ln-status-chip{font-size:var(--font-size-sm);letter-spacing:.05em;text-transform:uppercase;border-radius:12px;flex-shrink:0;padding:4px 10px;font-weight:700}.ln-status-chip--staged{color:var(--color-pending);background:#9e9e9e26}.ln-status-chip--out{color:var(--color-info);background:#448aff26}.ln-status-chip--returned{color:var(--color-success);background:#4caf5026}.ln-status-chip--overdue{color:var(--color-danger);background:#f443362e}.ln-tracking-card__time-row{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);min-height:48px;display:flex}.ln-tracking-card__time-row--capped{background:#ff98000f}.ln-tracking-card__time-left{align-items:center;gap:var(--space-2);flex-shrink:1;min-width:0;display:flex}.ln-tracking-card__time-label{color:var(--color-text-muted);white-space:nowrap;font-size:.97rem}.ln-tracking-card__time-val{color:var(--color-text);font-variant-numeric:tabular-nums;white-space:nowrap;letter-spacing:.02em;text-align:center;border-radius:4px;flex-shrink:0;min-width:4.5rem;padding:2px 8px;font-size:1.05rem;font-weight:700}.ln-tracking-card__time-val--editable{box-shadow:inset 0 0 0 1px var(--color-border);background:#ffffff0f}.ln-tracking-card__time-val--empty{color:var(--color-text-muted)}.ln-tracking-card__cap-badge{font-size:var(--font-size-xs);color:var(--color-warning);white-space:nowrap;background:#ff98001f;border-radius:4px;flex-shrink:0;padding:2px 6px;font-weight:700}.ln-tracking-card__edit-hint{font-size:var(--font-size-xs);color:var(--color-primary);opacity:.85;white-space:nowrap;flex-shrink:0;font-weight:700}.ln-tracking-card__time-row--tappable:active{background:#ffffff0f}@media (hover:hover){.ln-tracking-card__time-row--tappable:hover{cursor:pointer;background:#ffffff0d}}.ln-tracking-card__score-row{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);min-height:52px;font-size:.93rem;display:flex}.ln-tracking-card__actions{gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.ln-tracking-card__members{flex-direction:column;display:flex}.ln-tracking-member{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);min-height:52px;display:flex}.ln-tracking-member:last-child{border-bottom:none}.ln-tracking-member__name{color:var(--color-text);overflow-wrap:anywhere;flex:1;min-width:0;font-size:.97rem}.ln-tracking-member__points{border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;font-size:1rem;font-weight:700;font-family:var(--font-family);text-align:center;font-variant-numeric:tabular-nums;background:#ffffff0f;border-radius:6px;flex-shrink:0;align-items:baseline;gap:2px;min-width:56px;padding:6px 12px;display:flex}.ln-tracking-member__points:hover:not(:disabled){border-color:var(--color-primary);background:#ffffff1a}.ln-tracking-member__points:active:not(:disabled){opacity:.75}.ln-tracking-member__points:disabled{cursor:default;opacity:.6}.ln-tracking-member__pts-denom{font-size:var(--font-size-sm);color:var(--color-text-muted);font-weight:400}.custom-fields-list{gap:var(--space-2);flex-direction:column;display:flex}.custom-field-row{align-items:center;gap:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-2) var(--space-3);min-height:52px;display:flex}.custom-field-row__info{flex:1;min-width:0}.custom-field-row__label{color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:600;overflow:hidden}.custom-field-row__meta{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:2px}.custom-field-row__type-badge{font-size:var(--font-size-xs);color:var(--color-primary);background:var(--color-primary-soft);border-radius:4px;flex-shrink:0;padding:2px 7px;font-weight:700}.custom-field-row__delete,.custom-field-row__edit{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;padding:0;display:flex}.custom-field-row__delete:hover{color:var(--color-danger);background:#f443361f}.custom-field-row__edit:hover{color:var(--color-primary);background:#448aff1f}.custom-field-type-picker{transition:max-height .42s cubic-bezier(.34,1.3,.64,1),opacity .32s;overflow:hidden}.custom-field-type-picker--closed{opacity:0;pointer-events:none;max-height:0}.custom-field-type-picker--open{opacity:1;max-height:1400px}.custom-field-type-grid{gap:var(--space-2);padding:var(--space-2) 0 var(--space-3);grid-template-columns:1fr 1fr;display:grid}.custom-field-type-btn{padding:var(--space-2) var(--space-3);background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius);cursor:pointer;text-align:left;flex-direction:column;align-items:flex-start;gap:3px;min-height:60px;transition:border-color .15s,background .15s;display:flex}.custom-field-type-btn:active{background:var(--color-bg-raised)}.custom-field-type-btn--selected{border-color:var(--color-primary);background:var(--color-primary-soft)}.custom-field-type-btn__name{font-size:var(--font-size-sm);color:var(--color-text);font-weight:700}.custom-field-type-btn--selected .custom-field-type-btn__name{color:var(--color-primary)}.custom-field-type-btn__desc{color:var(--color-text-muted);font-size:.72rem;line-height:1.3}.custom-field-editor{background:var(--color-surface);border:1px solid var(--color-primary);border-radius:var(--radius);padding:var(--space-3);gap:var(--space-3);flex-direction:column;transition:max-height .22s,opacity .18s;display:flex;overflow:hidden}.custom-field-editor--hidden{opacity:0;max-height:0;padding:0 var(--space-3);pointer-events:none;border-color:#0000}.custom-field-editor--visible{opacity:1;max-height:1400px}.custom-field-editor__actions{gap:var(--space-2);justify-content:flex-end;display:flex}.custom-add-field-btn{justify-content:center;align-items:center;gap:var(--space-2);border:1.5px dashed var(--color-border);border-radius:var(--radius);width:100%;min-height:44px;color:var(--color-primary);font-size:var(--font-size-sm);cursor:pointer;font-weight:700;font-family:var(--font-family);background:0 0;transition:border-color .15s,background .15s;display:flex}.custom-add-field-btn:hover{border-color:var(--color-primary);background:var(--color-primary-soft)}.custom-add-field-btn:active{opacity:.8}.template-list{gap:var(--space-2);flex-direction:column;display:flex}.template-row{align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;min-height:56px;transition:border-color .15s;display:flex}.template-row:hover{border-color:var(--color-primary)}.template-row:active{opacity:.8}.template-row__info{flex:1;min-width:0}.template-row__name{color:var(--color-text);font-size:.95rem;font-weight:700}.template-row__meta{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:2px}.template-row__actions{gap:var(--space-1);flex-shrink:0;display:flex}.template-row__btn{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;padding:0;display:flex}.template-row__btn:hover{background:var(--color-bg-raised);color:var(--color-text)}.template-row__btn--danger:hover{color:var(--color-danger);background:#f443361f}.custom-entry-field{gap:var(--space-2);padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);flex-direction:column;display:flex}.custom-entry-field__label{color:var(--color-text);font-size:.95rem;font-weight:700}.custom-entry-field__meta{font-size:var(--font-size-xs);color:var(--color-text-muted)}.pf-toggle{border-radius:var(--radius);border:1px solid var(--color-border);display:flex;overflow:hidden}.pf-toggle__btn{background:var(--color-bg);min-height:48px;color:var(--color-text-muted);cursor:pointer;font-size:.95rem;font-weight:700;font-family:var(--font-family);border:none;flex:1;transition:background .15s,color .15s}.pf-toggle__btn+.pf-toggle__btn{border-left:1px solid var(--color-border)}.pf-toggle__btn--pass-active{color:var(--color-success);background:#4caf502e}.pf-toggle__btn--fail-active{color:var(--color-danger);background:#f443362e}.custom-entry-outcome{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius);min-height:48px;font-size:.95rem;font-weight:700;display:flex}.custom-entry-outcome--pass{color:var(--color-success);background:#4caf5024}.custom-entry-outcome--fail{color:var(--color-danger);background:#f4433624}.custom-entry-outcome--pending{color:var(--color-text-muted);background:#9e9e9e24}.deleted-event-card{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.deleted-event-card__info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.deleted-event-card__name{color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;font-size:.97rem;font-weight:700;overflow:hidden}.deleted-event-card__meta{font-size:var(--font-size-xs);color:var(--color-text-muted)}.deleted-event-card__actions{gap:var(--space-2);flex-shrink:0;display:flex}.aft-event-inputs{gap:var(--space-2);margin-top:var(--space-1);flex-direction:column;display:flex}.aft-event-row{align-items:center;gap:var(--space-2);grid-template-columns:2.5rem 1fr 3rem 2.5rem;display:grid}.aft-event-row__label{font-size:var(--font-size-sm);color:var(--color-text-muted);letter-spacing:.04em;font-weight:700}.aft-event-row__input{text-align:center}.aft-input--fail{border-color:var(--color-danger)!important}.aft-event-row__unit{font-size:var(--font-size-xs);color:var(--color-text-muted)}.aft-event-row__pts{font-size:var(--font-size-sm);text-align:right;font-weight:700}.aft-pts--pass{color:var(--color-success)}.aft-pts--fail{color:var(--color-danger)}.aft-pts--empty{color:var(--color-text-muted)}.aft-preview{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-3);gap:var(--space-2);flex-direction:column;display:flex}.aft-preview__row{align-items:center;gap:var(--space-2);display:flex}.aft-preview__row--total{font-weight:700}.aft-preview__total{color:var(--color-text);flex:1;font-size:1.1rem;font-weight:800}.aft-preview__exempt{font-size:var(--font-size-xs);color:var(--color-qual-expert);padding:var(--space-1) var(--space-2);text-align:center;background:#ffab001f;border-radius:4px;font-weight:600}.aft-preview__failures{gap:var(--space-1);flex-wrap:wrap;display:flex}.aft-fail-chip{font-size:var(--font-size-xs);color:var(--color-danger);padding:2px var(--space-2);background:#f443361f;border-radius:4px;font-weight:600}.aft-time-pair{align-items:center;gap:2px;display:flex}.aft-time-input{text-align:center;min-width:0;padding-left:var(--space-1);padding-right:var(--space-1);flex:1}.aft-time-colon{color:var(--color-text-muted);flex-shrink:0;padding:0 1px;font-weight:700}.scorer-btn{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius);min-height:34px;padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);color:var(--color-text);cursor:pointer;flex-shrink:0;font-weight:600}.scorer-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.scorer-roster-list{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg-surface);max-height:240px;overflow-y:auto}.scorer-roster-row{align-items:center;gap:var(--space-2);padding:12px var(--space-3);border:none;border-bottom:1px solid var(--color-border);cursor:pointer;width:100%;color:var(--color-text);text-align:left;background:0 0;display:flex}.scorer-roster-row:last-child{border-bottom:none}.scorer-roster-row:hover{background:var(--color-bg-elevated)}.scorer-roster-row--selected{background:var(--color-primary-soft);color:var(--color-primary)}.scorer-roster-row--selected .scorer-roster-row__rank{color:var(--color-primary)}.scorer-roster-row__check{color:var(--color-primary);margin-left:auto;font-weight:700}.scorer-roster-row__rank{font-size:var(--font-size-xs);color:var(--color-text-muted);min-width:2.5rem;font-weight:700}.scorer-roster-row__name{font-size:var(--font-size-sm)}.sync-badge{font-size:var(--font-size-xs);color:#9c27b0;white-space:nowrap;background:#9c27b01f;border:1px solid #9c27b059;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-weight:600;display:inline-flex}.event-card .sync-badge{align-self:flex-start}.sync-badge__icon{flex-shrink:0}.sync-badge__icon-inline{margin-right:2px}.sync-readonly-chip{font-size:var(--font-size-xs);color:var(--color-text-muted);white-space:nowrap;align-items:center;margin-left:6px;font-weight:500;display:inline-flex}.sync-readonly-chip:before{content:"·";margin-right:6px}.event-card .sync-readonly-chip{align-self:flex-start;margin-left:0}.event-card .sync-readonly-chip:before{content:none}.share-sheet__current-list{border:1px solid var(--color-border);border-radius:var(--radius);flex-direction:column;display:flex;overflow:hidden}.share-sheet__current-row{align-items:center;gap:var(--space-2);min-height:48px;padding:var(--space-2) var(--space-3);display:flex}.share-sheet__current-row+.share-sheet__current-row{border-top:1px solid var(--color-border)}.share-sheet__current-name{overflow-wrap:anywhere;flex:1;min-width:0}.share-sheet__current-can{font-size:var(--font-size-xs);color:var(--color-text-muted);display:block}.share-sheet__current-actions{gap:var(--space-2);margin-top:var(--space-2);display:flex}.share-sheet__current-actions>.btn{flex:1}.share-sheet__stop-btn{color:var(--color-danger);border-color:var(--color-danger)}.share-sheet__member{gap:var(--space-1);padding:var(--space-1) 0;flex-direction:column;display:flex}.share-sheet__member+.share-sheet__member{border-top:1px solid var(--color-border)}.share-sheet__member-can{align-self:stretch}.share-sheet__member-can>.theme-toggle__btn{min-width:0;min-height:34px;font-size:var(--font-size-xs);flex:1}.share-sheet__scope-list{margin-top:var(--space-1)}.share-sheet__member-list{gap:var(--space-1);flex-direction:column;display:flex}.share-sheet__code-result{gap:var(--space-3);text-align:center;padding:var(--space-4) 0;flex-direction:column;align-items:center;display:flex}.share-sheet__code-box{letter-spacing:.15em;padding:var(--space-3) var(--space-5);border-radius:var(--radius);background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);font-family:monospace;font-size:1.5rem;font-weight:700}.locked-event-card{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.locked-event-card__info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.locked-event-card__name{color:var(--color-text);font-size:.97rem;font-weight:700}.locked-event-card__meta{font-size:var(--font-size-xs);color:var(--color-text-muted)}.acct-seg{gap:var(--space-2);display:flex}.acct-seg__btn{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);min-height:44px;color:var(--color-text);font-family:var(--font-family);cursor:pointer;flex:1;font-size:1.1rem;font-weight:800;transition:background 80ms,border-color 80ms}.acct-seg__btn--active{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary)}.acct-uta-config{gap:var(--space-2);flex-direction:column;display:flex}.acct-uta-config__row{align-items:center;gap:var(--space-3);display:flex}.acct-uta-config__day{color:var(--color-text);flex:1;font-weight:600}.acct-uta-config__input{text-align:center;flex-shrink:0;width:96px}.acct-uta-pay{margin-top:var(--space-2)}.acct-uta-pay__label{font-size:var(--font-size-xs);letter-spacing:.03em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:4px;font-weight:700;display:block}.acct-row-note{font-size:var(--font-size-xs);color:var(--color-warning);overflow-wrap:anywhere;margin-top:2px;font-style:italic}.acct-code-select{width:100%}.acct-apply-all{margin-top:var(--space-1)}.acct-preview-chips{gap:var(--space-1);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.acct-preview-chip{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);font-size:var(--font-size-xs);white-space:nowrap;border-radius:999px;padding:3px 8px;font-weight:600}.summary-stat--late{border-color:#ff980073}.summary-stat--late .summary-stat__value{color:var(--color-warning)}.summary-stat--late.summary-stat--active{border-color:var(--color-warning);background:#ff98001f}.summary-stat--unaccounted{border-width:2px;border-color:#9e9e9e73}.summary-stat--unaccounted .summary-stat__value{color:var(--color-pending)}.summary-stat--unaccounted.summary-stat--active{border-color:var(--color-text);background:#9e9e9e24}.summary-bar--acct{--summary-tile-min:116px}.acct-period-tabs{gap:var(--space-1);padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--color-border);background:var(--color-bg);display:flex;overflow-x:auto}.acct-period-tab{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);background:var(--color-surface);min-height:40px;color:var(--color-text-muted);font-family:var(--font-family);font-weight:700;font-size:var(--font-size-sm);cursor:pointer;white-space:nowrap;border-radius:999px;flex:none}.acct-period-tab--active{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary)}.participant-avatar--acct-present{color:var(--color-success);background:#4caf5026}.participant-avatar--acct-late{color:var(--color-warning);background:#ff980026}.participant-avatar--acct-absent{color:var(--color-danger);background:#f4433626}.participant-avatar--acct-unmarked{color:var(--color-pending);border:1px dashed var(--color-border);background:#9e9e9e1f}.acct-participant-main{text-align:left;font-family:var(--font-family);cursor:pointer;background:0 0;border:none;padding:0}.acct-participant-main:disabled{cursor:default}.acct-code-tag{background:var(--color-primary-soft);color:var(--color-primary);font-size:var(--font-size-xs);letter-spacing:.03em;border-radius:4px;align-self:flex-start;margin-top:2px;padding:1px 6px;font-weight:800}.acct-code-tag--bad{color:var(--color-warning);background:#ff980026}.acct-tri{flex-shrink:0;gap:4px;display:flex}.acct-tri__btn{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);min-width:46px;min-height:44px;color:var(--color-text-muted);font-family:var(--font-family);font-weight:800;font-size:var(--font-size-xs);letter-spacing:.03em;cursor:pointer;padding:0 8px;transition:background 80ms,border-color 80ms,color 80ms}.acct-tri--sheet{width:100%}.acct-tri--sheet .acct-tri__btn{flex:1}.acct-tri__btn--present.acct-tri__btn--active{border-color:var(--color-success);color:var(--color-success);background:#4caf502e}.acct-tri__btn--late.acct-tri__btn--active{border-color:var(--color-warning);color:var(--color-warning);background:#ff98002e}.acct-tri__btn--absent.acct-tri__btn--active{border-color:var(--color-danger);color:var(--color-danger);background:#f443362e}.acct-bulk-btn--present{color:var(--color-success);border:1px solid var(--color-success);background:#4caf502e}.acct-bulk-btn--late{color:var(--color-warning);border:1px solid var(--color-warning);background:#ff98002e}.acct-bulk-btn--absent{color:var(--color-danger);border:1px solid var(--color-danger);background:#f443362e}.acct-entry-away{margin:0 0 var(--space-2)}.acct-entry-status{margin:0 0 var(--space-3);color:var(--color-text-muted);font-size:var(--font-size-sm)}.acct-code-grid{gap:var(--space-2);flex-wrap:wrap;display:flex}.acct-code-chip{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);font-family:var(--font-family);cursor:pointer;flex-direction:column;align-items:flex-start;gap:1px;max-width:100%;padding:6px 10px;display:flex}.acct-code-chip--active{border-color:var(--color-primary);background:var(--color-primary-soft)}.acct-code-chip__code{font-weight:800;font-size:var(--font-size-sm)}.acct-code-chip__label{font-size:var(--font-size-xs);color:var(--color-text-muted)}.acct-entry-warning{margin:var(--space-2) 0 0;color:var(--color-warning);font-size:var(--font-size-sm)}.event-table-row__type--accountability{color:#5c6bc0;background:#5c6bc026}.detail-info-card{gap:var(--space-1);padding:var(--space-2) var(--space-4);background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-direction:column;display:flex}.detail-info-card__row{align-items:baseline;gap:var(--space-3);display:flex}.detail-info-card__label{font-size:var(--font-size-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);flex:0 0 88px;font-weight:700}.detail-info-card__value{min-width:0;font-size:var(--font-size-sm);color:var(--color-text);flex:1}.detail-info-card__desc{margin:var(--space-1) 0 0;font-size:var(--font-size-sm);color:var(--color-text-secondary);white-space:pre-wrap;line-height:1.45}.acct-row-note--detail{color:var(--color-info)}.acct-tri__btn--completed.acct-tri__btn--active{border-color:var(--color-info);color:var(--color-info);background:#448aff2e}.participant-avatar--completed{color:var(--color-info);background:#448aff2e}.detail-screen--embedded{padding-bottom:var(--space-4)}@media (width>=1200px){.event-card--open{border-color:var(--color-primary);box-shadow:inset 3px 0 0 var(--color-primary)}}.share-results__lead{font-size:var(--font-size-base);color:var(--color-text);margin:0;line-height:1.4}.share-results__count{color:var(--color-text-muted)}.share-results__section{gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);flex-direction:column;display:flex}.share-results__label{font-size:var(--font-size-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);margin:0;font-weight:700}.share-results__formats{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.share-results__format{min-height:60px;padding:var(--space-2) var(--space-3);background:var(--color-bg);border:1.5px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);font-family:var(--font-family);text-align:left;cursor:pointer;flex-direction:column;align-items:flex-start;gap:2px;display:flex}.share-results__format--active{border-color:var(--color-primary);background:var(--color-primary-soft)}.share-results__format:disabled{opacity:.45;cursor:not-allowed}.share-results__format-name{font-size:var(--font-size-base);font-weight:600}.share-results__format-desc{font-size:var(--font-size-xs);color:var(--color-text-muted);line-height:1.3}.share-results__toggle{margin:0}.share-results__note{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0;line-height:1.4}.share-results__note--blocked{color:var(--color-warning)}.share-results__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.share-results__actions .btn{flex:auto}.share-results__done{font-size:var(--font-size-sm);color:var(--color-success);margin:0}.share-results__group{align-items:center;gap:var(--space-3);width:100%;min-height:56px;padding:var(--space-2) 0;color:var(--color-text);font-family:var(--font-family);text-align:left;cursor:pointer;background:0 0;border:none;display:flex}.share-results__group-text{flex-direction:column;flex:1;gap:2px;display:flex}.share-results__group-name{font-size:var(--font-size-base);font-weight:600}.share-results__group-desc{font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:1.3}.share-results__chevron{color:var(--color-text-faint);font-size:1.4rem}.share-sheet__nogroups{gap:var(--space-2);flex-direction:column;display:flex}.share-sheet__nogroups-text{margin:0;line-height:1.45}.place-field{gap:var(--space-2);margin-top:var(--space-2);flex-direction:column;display:flex}.place-field__kinds{gap:var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg-raised);padding:2px;display:flex}.place-field__kind{min-height:36px;color:var(--color-text-secondary);font-family:var(--font-family);font-size:var(--font-size-sm);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1 1 0;font-weight:600}.place-field__kind--active{background:var(--color-primary);color:var(--color-on-primary)}.place-field__hint--warn{color:var(--color-warning)}.place-field__pin-row{gap:var(--space-2);align-items:center;display:flex}.place-field__pin-row .form-input{flex:1;min-width:0}.place-chip{border:1px solid var(--color-border);background:var(--color-surface);max-width:100%;min-height:28px;color:var(--color-info);font-family:var(--font-family);font-size:var(--font-size-sm);cursor:pointer;transition:transform var(--motion-fast) var(--ease-out), background-color var(--motion-fast) linear;border-radius:999px;align-items:center;gap:4px;padding:2px 8px 2px 6px;font-weight:600;display:inline-flex}.place-chip:active{background:var(--color-primary-soft);transform:scale(.96)}.place-chip__text{text-align:left;flex-direction:column;min-width:0;display:flex}.place-chip__line{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.place-chip__caret{color:var(--color-text-faint);font-size:11px}.place-chip--lines{border-radius:var(--radius);align-items:flex-start;padding:6px 10px 6px 8px;line-height:1.3}.place-chip--lines svg{margin-top:2px}.place-chip--lines .place-chip__caret{align-self:center}.place-field__address{resize:vertical;white-space:pre-line;min-height:64px}.maps-sheet__place{margin:0 0 var(--space-3);flex-direction:column;gap:2px;display:flex}.maps-sheet__summary{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.maps-sheet__apps{border:1px solid var(--color-border);border-radius:var(--radius);flex-direction:column;display:flex;overflow:hidden}.maps-app-btn{column-gap:var(--space-2);width:100%;min-height:56px;padding:var(--space-2) var(--space-3);background:var(--color-surface);border:none;border-bottom:1px solid var(--color-border);color:var(--color-text);font-family:var(--font-family);text-align:left;cursor:pointer;grid-template-columns:1fr auto;grid-template-areas:"name chevron""desc chevron";align-items:center;row-gap:2px;display:grid}.maps-app-btn:last-child{border-bottom:none}.maps-app-btn:disabled{opacity:.6;cursor:default}.maps-app-btn__name{grid-area:name;font-weight:700}.maps-app-btn__desc{font-size:var(--font-size-xs);color:var(--color-text-muted);grid-area:desc}.maps-app-btn__chevron{color:var(--color-text-faint);grid-area:chevron;font-size:1.3rem}.maps-sheet__copy{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.maps-sheet__status{margin:var(--space-3) 0 0}.detail-header__place{margin-top:var(--space-2);display:flex}.detail-header__place .place-chip{max-width:100%}.share-results__format:nth-child(3){grid-column:1/-1}.share-results__sub{margin-top:var(--space-2)}.share-results__sub .theme-toggle__btn{min-width:72px}.participant-flags{align-self:flex-start;gap:var(--space-1);min-width:0;max-width:100%;margin:var(--space-1) 0 2px;flex-wrap:wrap;display:flex}.participant-flag{max-width:100%;padding:2px var(--space-2);font-size:var(--font-size-xs);white-space:normal;overflow-wrap:anywhere;text-align:left;color:var(--color-text-secondary);background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;align-items:center;font-weight:500;line-height:1.4;display:inline-flex}.participant-flag--absent{color:var(--color-danger);background:#f443361a;border-color:#f4433659}.participant-flag--late{color:var(--color-warning);background:#ff98001f;border-color:#ff980066}.participant-flag--away{color:var(--color-text-secondary);background:var(--color-surface);border-color:var(--color-border);font-style:italic}.add-chooser__item{text-align:left;flex-direction:column;align-items:flex-start;gap:2px;display:flex}.add-chooser__name{font-weight:600}.add-chooser__desc{font-size:var(--font-size-sm);color:var(--color-text-secondary);white-space:normal}.add-chooser__actions{gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.qr-share__body{text-align:center;align-items:center}.qr-share__code{justify-content:center;display:flex}.qr-share__code canvas{max-width:100%;height:auto;display:block}.qr-share__count{margin:var(--space-2) 0 0;font-weight:600}.qr-share__controls{justify-content:center;gap:var(--space-2);margin:var(--space-2) 0;display:flex}.follow-tree{border:1px solid var(--color-border);border-radius:var(--radius);-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:0 auto;min-height:8rem;overflow:hidden auto}.follow-pick-btn{border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text-secondary);font-family:var(--font-family);font-size:var(--font-size-xs);padding:var(--space-1) var(--space-2);white-space:nowrap;cursor:pointer;background:0 0;min-height:32px;font-weight:600}.follow-pick-btn--chosen{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}.follow-soldier-row{cursor:default}.follow-soldier-row--off{opacity:.55}.follow-off-tag{font-size:var(--font-size-xs);color:var(--color-text-muted);font-style:italic}.copy-event__item{gap:var(--space-3)}.copy-event__icon{color:var(--color-text-secondary);flex-shrink:0;display:inline-flex}.copy-event__text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.copy-event__name{overflow-wrap:anywhere;font-weight:600}.copy-event__desc{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.copy-event__chevron{color:var(--color-text-muted);font-size:1.25rem}.copy-event__summary{justify-content:space-between;gap:var(--space-2);margin:var(--space-2) 0;font-size:var(--font-size-sm);color:var(--color-text-secondary);flex-wrap:wrap;display:flex}.copy-event__list{border:1px solid var(--color-border);border-radius:var(--radius);-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:0 auto;min-height:8rem;overflow:hidden auto}.copy-event__empty{padding:var(--space-3);margin:0}.copy-event__actions{margin-top:var(--space-3);justify-content:flex-end}.export-screen{background:var(--color-bg-deep);padding:var(--space-3) var(--space-4);gap:var(--space-3);flex-direction:column;flex:1 0 auto;display:flex}.export-bottom-spacer{height:calc(56px + env(safe-area-inset-bottom,0px) + var(--space-4));flex-shrink:0}@media (width>=900px){.export-bottom-spacer{height:var(--space-4)}}.export-header{align-items:center;gap:var(--space-2);padding:0 var(--space-4);background-color:var(--color-surface);border-bottom:1px solid var(--color-border);z-index:10;flex-shrink:0;min-height:52px;display:flex;position:sticky;top:0}@media (width>=900px){.export-header{top:0}}.export-header .export-title{flex:1}.export-header__jumps{flex-shrink:0;gap:2px;display:flex}.export-header__jump{border-radius:var(--radius);color:var(--color-text-secondary);font-family:var(--font-family);font-size:var(--font-size-sm);padding:0 var(--space-2);cursor:pointer;background:0 0;border:none;min-height:40px;font-weight:600}.export-header__jump:hover,.export-header__jump:active{background:var(--color-primary-soft);color:var(--color-primary)}.export-group-bar[id]{scroll-margin-top:52px}.export-title{font-size:var(--font-size-sm);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted);margin:0;font-weight:700}.export-format-bar{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--color-border);flex-shrink:0;display:flex}.export-format-bar__label{font-size:var(--font-size-sm);color:var(--color-text-secondary);flex-shrink:0;font-weight:600}.export-format-toggle{border:1px solid var(--color-border);border-radius:var(--radius);flex-shrink:0;display:flex;overflow:hidden}.export-format-btn{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-family:var(--font-family);padding:6px var(--space-3);cursor:pointer;background:0 0;border:none;min-width:54px;min-height:34px;font-weight:600;transition:background .12s,color .12s}.export-format-btn+.export-format-btn{border-left:1px solid var(--color-border)}.export-format-btn--active{background:var(--color-primary);color:#fff}.export-format-bar__hint{font-size:var(--font-size-xs);color:var(--color-text-muted);flex:1}.export-group{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);margin-bottom:0;overflow:hidden}.export-group-bar{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:var(--font-size-xs);letter-spacing:.1em;text-transform:uppercase;border-left:3px solid;font-weight:700;display:flex}.export-group-bar--import{color:var(--color-info);background:#448aff12}.export-group-bar--export{color:var(--color-primary);background:#4caf500f}.export-section{margin-bottom:var(--space-3)}.export-section__title{margin:0 0 var(--space-1);padding:var(--space-2) var(--space-4) 0;font-size:var(--font-size-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);font-weight:600}.export-card{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border);min-height:60px;display:flex}.export-card:last-child{border-bottom:1px solid var(--color-border)}.export-section--danger{background:var(--color-bg);border-radius:var(--radius);border:1px solid #f4433659;margin-bottom:0;overflow:hidden}.export-section--danger>.export-section__title{color:var(--color-danger)}.export-card--danger{cursor:pointer}.export-card--danger:active{background:#f443360f}.export-card__info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.export-card__name{font-size:var(--font-size-base);color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.export-card__name--danger{color:var(--color-danger)}.export-card__desc{font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:1.4}.export-picker-card{padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);gap:var(--space-2);flex-direction:column;display:flex}.export-picker-label{font-size:var(--font-size-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);font-weight:600}.export-select{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);font-size:var(--font-size-base);font-family:var(--font-family);padding:var(--space-2) var(--space-3);appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23888' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;width:100%;padding-right:36px}.export-select:focus{outline:2px solid var(--color-primary);outline-offset:1px}.export-select:disabled{opacity:.5;cursor:not-allowed}.export-sync-desc{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0;line-height:1.5}.export-sync-note{font-size:var(--font-size-sm);color:var(--color-text-tertiary,var(--color-text-secondary));margin:8px 0 0;font-style:italic;line-height:1.5}.export-btns{gap:var(--space-1);flex-direction:column;flex-shrink:0;display:flex}.export-btns--inline{flex-flow:wrap}.export-btn{background:var(--color-primary-soft);color:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius);font-size:var(--font-size-sm);font-family:var(--font-family);padding:var(--space-1) var(--space-3);cursor:pointer;white-space:nowrap;min-width:72px;min-height:34px;font-weight:600;transition:opacity .15s}.export-btn--secondary{color:var(--color-text-secondary);border-color:var(--color-border);background:0 0}.export-btn--danger{color:var(--color-danger);min-width:36px;padding:var(--space-1);background:#f443361a;border-color:#f4433666}.export-btn:disabled{opacity:.4;cursor:not-allowed}.export-btn:not(:disabled):active{opacity:.7}.export-encrypt-row{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--color-border);cursor:pointer;-webkit-user-select:none;user-select:none;min-height:44px;display:flex}.export-encrypt-row:active{background:var(--color-primary-soft)}.export-encrypt-input{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.export-encrypt-track{background:var(--color-border);border-radius:11px;flex-shrink:0;width:40px;height:22px;transition:background .2s;position:relative}.export-encrypt-track:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000040}.export-encrypt-input:checked+.export-encrypt-track{background:var(--color-primary)}.export-encrypt-input:checked+.export-encrypt-track:after{transform:translate(18px)}.export-encrypt-hint{font-size:var(--font-size-sm);color:var(--color-text-secondary);flex:1}.export-phrase-input-row{gap:var(--space-2);align-items:center;display:flex}.export-phrase-input-row .export-dialog__confirm-input{flex:1}.export-phrase-input-row .export-dialog__confirm-input:focus{outline-color:var(--color-primary);border-color:var(--color-primary)}.export-phrase-show-btn{border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text-secondary);cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;min-width:40px;height:40px;display:flex}.export-phrase-error{font-size:var(--font-size-sm);color:var(--color-danger);margin:0}.export-phrase-save-row{font-size:var(--font-size-sm);color:var(--color-text-secondary);cursor:pointer;align-items:center;gap:8px;margin-top:12px;display:flex}.export-phrase-save-row input{width:18px;height:18px;accent-color:var(--color-primary);cursor:pointer;flex-shrink:0}.btn--primary{background:var(--color-primary);color:var(--color-on-primary);opacity:1;border:none;transition:opacity .15s}.btn--primary:disabled{opacity:.4;cursor:not-allowed}.btn--primary:not(:disabled):active{opacity:.85}.master-picker-row{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);cursor:pointer;min-height:44px;display:flex}.master-picker-row:not(:last-child){border-bottom:1px solid var(--color-border)}.master-picker-row--all{background:var(--color-surface);font-weight:600}.master-picker-checkbox{width:18px;height:18px;accent-color:var(--color-primary);cursor:pointer;flex-shrink:0}.master-picker-name{font-size:var(--font-size-sm);color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.master-picker-date,.master-picker-count{font-size:var(--font-size-xs);color:var(--color-text-muted);flex-shrink:0}.master-picker-divider{background:var(--color-border);height:1px;margin:0}.picker-list-body{padding:0;padding-bottom:max(32px, calc(env(safe-area-inset-bottom,0px) + var(--space-4)))}.roster-picker-row{align-items:center;gap:var(--space-2);min-height:44px;padding-right:var(--space-4);border-bottom:1px solid var(--color-border);cursor:pointer;display:flex}.roster-picker-row:not([role=button]){cursor:default}.roster-picker-expand{width:24px;height:24px;color:var(--color-text-muted);flex-shrink:0;justify-content:center;align-items:center;font-size:10px;display:flex}.roster-picker-expand-spacer{flex-shrink:0;width:24px}.export-group-bar--activity{color:var(--color-warning);background:#ff980012}.export-group-bar--toggle{width:100%;font-family:var(--font-family);font-size:var(--font-size-xs);text-align:left;cursor:pointer;border:none;border-left:3px solid}.export-group-bar__chevron{align-items:center;margin-left:auto;transition:transform .15s;display:flex}.export-group-bar--open .export-group-bar__chevron{transform:rotate(90deg)}.actlog-blurb{margin:0 0 var(--space-3);padding:0 var(--space-4);font-size:var(--font-size-xs);color:var(--color-text-muted);line-height:1.5}.actlog-controls{gap:var(--space-2);padding:0 var(--space-4);flex-direction:column;display:flex}.actlog-search{align-items:center;gap:var(--space-2);padding:0 var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text-muted);display:flex}.actlog-search:focus-within{border-color:var(--color-primary)}.actlog-search__input{min-width:0;padding:var(--space-2) 0;color:var(--color-text);font-family:var(--font-family);font-size:var(--font-size-sm);background:0 0;border:none;flex:1}.actlog-search__input:focus{outline:none}.actlog-search__input::-webkit-search-cancel-button{display:none}.actlog-search__clear{padding:var(--space-1);color:var(--color-text-muted);font-size:var(--font-size-sm);cursor:pointer;background:0 0;border:none;flex:none;line-height:1}.actlog-filter{background:var(--color-bg-raised);border-radius:var(--radius);gap:2px;padding:2px;display:flex}.actlog-filter__btn{padding:var(--space-2) var(--space-2);border-radius:calc(var(--radius) - 3px);color:var(--color-text-muted);font-family:var(--font-family);font-size:var(--font-size-xs);cursor:pointer;background:0 0;border:none;flex:1;font-weight:600}.actlog-filter__btn--active{background:var(--color-surface);color:var(--color-text)}.actlog-summary{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4) var(--space-2);display:flex}.actlog-summary__count{font-size:var(--font-size-xs);color:var(--color-text-muted)}.actlog-empty{padding:var(--space-4);font-size:var(--font-size-sm);color:var(--color-text-muted);text-align:center;margin:0}.actlog-list{--actlog-card-height:79px;max-height:calc(var(--actlog-card-height) * 5);overscroll-behavior:contain;flex-direction:column;display:flex;overflow-y:auto}.actlog-day__heading{z-index:1;padding:var(--space-2) var(--space-4);background:var(--color-bg-raised);font-size:var(--font-size-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);font-weight:700;position:sticky;top:0}.actlog-integrity{align-items:center;gap:var(--space-2);padding:0 var(--space-4) var(--space-2);flex-wrap:wrap;display:flex}.actlog-integrity__btn{padding:var(--space-1) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text-secondary);font-family:var(--font-family);font-size:var(--font-size-xs);cursor:pointer;flex:none}.actlog-integrity__btn:disabled{color:var(--color-text-disabled);cursor:default}.actlog-integrity__result{font-size:var(--font-size-xs);color:var(--color-text-muted);overflow-wrap:anywhere}.actlog-integrity__result--broken{color:var(--color-danger);font-weight:600}.actlog-card{margin:var(--space-2) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden}.actlog-card__head{align-items:center;gap:var(--space-1) var(--space-2);width:100%;padding:var(--space-3) var(--space-4);appearance:none;color:var(--color-text);font-family:inherit;font-size:var(--font-size-sm);text-align:left;cursor:pointer;background:0 0;border:none;flex-wrap:wrap;display:flex}.actlog-card__head--static{padding-left:calc(var(--space-4) + 16px + var(--space-2));cursor:default}.actlog-card__chevron{color:var(--color-text-faint);align-items:center;transition:transform .15s;display:inline-flex}.actlog-card--expanded .actlog-card__chevron{transform:rotate(90deg)}.actlog-card__type{font-size:var(--font-size-xs);color:var(--color-text-faint)}.actlog-card__subject{overflow-wrap:anywhere;font-weight:600}.actlog-card__context{font-size:var(--font-size-xs);color:var(--color-text-muted);overflow-wrap:anywhere}.actlog-card__count{background:var(--color-bg-deep);font-size:var(--font-size-xs);color:var(--color-text-muted);border-radius:99px;margin-left:auto;padding:1px 7px;font-weight:600;line-height:1.6}.actlog-card__meta{font-size:var(--font-size-xs);color:var(--color-text-muted);flex-basis:100%}.actlog-card__head>.actlog-changes{flex-basis:100%}.actlog-card__head:not(.actlog-card__head--static)>.actlog-card__meta,.actlog-card__head:not(.actlog-card__head--static)>.actlog-changes{padding-left:calc(16px + var(--space-2))}.actlog-card__body{padding:0 var(--space-3) var(--space-2)}.actlog-child{gap:var(--space-3);padding:var(--space-2);border-left:2px solid var(--color-border);display:flex}.actlog-child__time{width:58px;font-size:var(--font-size-xs);font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--color-text-faint);flex:none;padding-top:1px}.actlog-child__body{flex:1;min-width:0}.actlog-child__head{align-items:baseline;gap:var(--space-1) var(--space-2);flex-wrap:wrap;display:flex}.actlog-child__subject{font-size:var(--font-size-sm);overflow-wrap:anywhere}.actlog-action{padding:1px var(--space-1);background:var(--color-primary-soft);color:var(--color-primary);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.04em;border-radius:3px;font-weight:700}.actlog-action--delete,.actlog-action--purge{color:var(--color-danger);background:#f4433626}.actlog-action--update{color:var(--color-info);background:#448aff26}.actlog-changes{margin-top:var(--space-1);flex-direction:column;display:flex}.actlog-change{align-items:baseline;gap:var(--space-1) var(--space-2);font-size:var(--font-size-xs);color:var(--color-text-secondary);flex-wrap:wrap;line-height:1.6;display:flex}.actlog-change__label{color:var(--color-text-muted)}.actlog-change__from{color:var(--color-text-faint);overflow-wrap:anywhere;text-decoration:line-through}.actlog-change__arrow{color:var(--color-text-faint)}.actlog-change__to{color:var(--color-text);overflow-wrap:anywhere}.actlog-more{width:calc(100% - var(--space-4) * 2);margin:var(--space-3) var(--space-4);padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text-secondary);font-family:var(--font-family);font-size:var(--font-size-sm);cursor:pointer}@media (prefers-reduced-motion:reduce){.actlog-card__chevron{transition:none}}.export-sor-note{margin:var(--space-2) 0 0;font-size:var(--font-size-sm);color:var(--color-warning);line-height:1.4}.participant-row-wrap{position:relative;overflow:hidden}.participant-row__delete-action{width:var(--participant-delete-width,72px);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0 10px 0 0;display:flex;position:absolute;top:0;bottom:0;right:0}.participant-row__delete-icon{background:var(--color-danger);color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.participant-row-slide{background:var(--color-bg)}.settings-overlay{z-index:200;padding:var(--space-4);animation:px-fade-in var(--motion-base) var(--ease-out);background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.settings-overlay--leaving{animation:px-fade-out var(--motion-quick) var(--ease-in) forwards;pointer-events:none}@media (width<=599px){.settings-overlay{align-items:flex-end;padding:0}.settings-sheet{max-width:none;max-height:92dvh;animation:px-sheet-in var(--motion-sheet) var(--ease-standard);border-radius:16px 16px 0 0}.settings-sheet--leaving{animation:px-sheet-out var(--motion-quick) var(--ease-in) forwards}.settings-sheet:before{content:"";background:var(--color-border);width:36px;height:4px;margin:var(--space-2) auto 0;border-radius:2px;flex-shrink:0;display:block}.settings-header{touch-action:none}.settings-row:has(.settings-passphrase-group){flex-wrap:wrap}.settings-passphrase-group{flex:100%;min-width:0}.settings-passphrase-group .settings-name-input{flex:1;width:auto;min-width:0}}.settings-sheet{background:var(--color-bg);border-radius:var(--radius);width:100%;max-width:480px;max-height:85dvh;animation:px-pop-in var(--motion-base) var(--ease-out);transition:transform var(--motion-base) var(--ease-standard);flex-direction:column;display:flex;overflow:hidden}.settings-sheet--leaving{animation:px-pop-out var(--motion-fast) var(--ease-in) forwards}.settings-sheet--dragging{transition:none;animation:none}.settings-header{padding:var(--space-4);border-bottom:1px solid var(--color-border);flex-shrink:0;align-items:center;display:flex}.settings-header__title{font-size:var(--font-size-base);color:var(--color-text);flex:1;margin:0;font-weight:700}.settings-header__close{color:var(--color-text-secondary);font-size:var(--font-size-base);padding:var(--space-1) var(--space-2);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;min-width:44px;min-height:44px;display:flex}.settings-body{background:var(--color-bg-deep);padding:var(--space-4);gap:var(--space-3);flex-direction:column;flex:1;display:flex;overflow-y:auto}.settings-section{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);flex-shrink:0;margin-bottom:0;overflow:hidden}.settings-section--danger{border-color:#f4433659}.settings-section--danger>.settings-section__title{color:var(--color-danger)}.settings-section__title{padding:var(--space-3) var(--space-4) var(--space-2);font-size:var(--font-size-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);margin:0;font-weight:600}.settings-row{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);border:none;border-top:1px solid var(--color-border);cursor:pointer;text-align:left;background:0 0;min-height:60px;display:flex}.settings-row:last-child{border-bottom:1px solid var(--color-border)}.settings-row--action{color:var(--color-text)}.settings-row--action:active{background:var(--color-primary-soft)}.settings-row__content{flex-direction:column;flex:1;gap:2px;display:flex}.settings-row__label{font-size:var(--font-size-base);font-weight:500}.settings-row__desc{font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:1.4}.settings-row__arrow{color:var(--color-text-muted);font-size:var(--font-size-sm);flex-shrink:0}.settings-name-input{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius);padding:0 var(--space-3);font-size:var(--font-size-sm);font-family:var(--font-family);flex-shrink:0;width:140px;min-width:0;height:40px}.settings-name-input--block{flex-shrink:1;width:100%}.settings-name-input--grow{flex:1;width:auto}.settings-name-input:focus{outline:2px solid var(--color-primary);outline-offset:2px;border-color:var(--color-primary)}.settings-passphrase-group{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.settings-passphrase-toggle,.settings-passphrase-clear{border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-family:var(--font-family);cursor:pointer;padding:0 var(--space-2);background:0 0;flex-shrink:0;justify-content:center;align-items:center;min-width:40px;height:40px;display:flex}.settings-passphrase-clear{color:var(--color-danger);border-color:var(--color-danger)}.settings-row--static{cursor:default}.settings-row--static:active{background:0 0}.theme-toggle{border:1px solid var(--color-border);border-radius:var(--radius);flex-shrink:0;display:flex;overflow:hidden}.theme-toggle__btn{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-family:var(--font-family);padding:var(--space-1) var(--space-3);cursor:pointer;background:0 0;border:none;min-width:60px;min-height:36px;transition:background .15s,color .15s}.theme-toggle__btn+.theme-toggle__btn{border-left:1px solid var(--color-border)}.form-field>.theme-toggle{width:100%}.form-field>.theme-toggle>.theme-toggle__btn,.theme-toggle--fill>.theme-toggle__btn{flex:1;min-width:0}.theme-toggle__btn--active{background:var(--color-primary);color:var(--color-on-primary)}.btn--danger{background:var(--color-danger);color:#fff;opacity:1;border:none;transition:opacity .15s}.btn--danger:disabled{opacity:.4;cursor:not-allowed}.btn--danger:not(:disabled):active{opacity:.85}.settings-pin-section{padding-top:var(--space-3);padding-bottom:var(--space-3);align-items:flex-start}.settings-pin-btn{font-size:var(--font-size-sm);padding:var(--space-1) var(--space-3);white-space:nowrap;flex-shrink:0;min-height:34px}.settings-pin-btn--danger{color:var(--color-danger);border-color:var(--color-danger)}.settings-pin-change{padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border);align-items:center;gap:var(--space-3);flex-direction:column;display:flex}.settings-pin-change__label{font-size:var(--font-size-sm);color:var(--color-text-secondary);align-self:flex-start;margin:0}.settings-pin-change__error{font-size:var(--font-size-sm);color:var(--color-danger);align-self:flex-start;margin:0}.settings-pin-change__cancel{font-size:var(--font-size-sm);padding:var(--space-1) var(--space-3);align-self:flex-start;min-height:34px}.settings-pin-success{padding:0 var(--space-4) var(--space-2);font-size:var(--font-size-sm);color:var(--color-primary);margin:0}.settings-toggle-label{cursor:pointer;flex-shrink:0;align-items:center;display:flex;position:relative}.settings-toggle-input{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.settings-toggle-track{background:var(--color-border);border-radius:11px;flex-shrink:0;width:40px;height:22px;transition:background .2s;position:relative}.settings-toggle-track:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000040}.settings-toggle-input:checked+.settings-toggle-track{background:var(--color-primary)}.settings-toggle-input:checked+.settings-toggle-track:after{transform:translate(18px)}.settings-storage-chip{font-size:var(--font-size-xs);letter-spacing:.05em;border-radius:20px;flex-shrink:0;padding:3px 10px;font-weight:700}.settings-storage-chip--on{background:var(--color-primary-soft);color:var(--color-primary)}.settings-storage-chip--off{color:var(--color-text-muted);background:#ffffff14}.dialog-toggle{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);border-top:1px solid var(--color-border);cursor:pointer;-webkit-user-select:none;user-select:none;min-height:44px;display:flex}.dialog-toggle:active{background:var(--color-primary-soft)}.dialog-toggle-input{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.dialog-toggle-track{background:var(--color-border);border-radius:11px;flex-shrink:0;width:40px;height:22px;transition:background .2s;position:relative}.dialog-toggle-track:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000040}.dialog-toggle-input:checked+.dialog-toggle-track{background:var(--color-primary)}.dialog-toggle-input:checked+.dialog-toggle-track:after{transform:translate(18px)}.dialog-toggle-hint{font-size:var(--font-size-sm);color:var(--color-text-secondary);flex:1}.settings-row--danger{cursor:pointer}.settings-row--danger:hover .settings-row__label--danger,.settings-row--danger:focus .settings-row__label--danger{text-decoration:underline}.settings-row__label--danger{color:var(--color-danger)}.settings-footer{padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border);gap:var(--space-2);flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;display:flex}.sync-body{background:var(--color-bg-deep)}.sync-hint{padding:0 var(--space-4) var(--space-3);margin:0}.sync-section-body{gap:var(--space-3);padding:0 var(--space-4) var(--space-4);flex-direction:column;display:flex}.sync-inline-row{align-items:center;gap:var(--space-2);display:flex}.sync-section-body--actions{padding-top:var(--space-3)}.sync-action-row{gap:var(--space-2);display:flex}.sync-join-btn{flex:1;min-height:44px}.sync-status{margin:0}.sync-card-btn{min-height:38px;padding:var(--space-1) var(--space-3);white-space:nowrap;flex-shrink:0}.sync-card-btn--danger{color:var(--color-danger);border-color:var(--color-danger)}.sync-block-btn{width:100%;min-height:44px}.sync-group-card,.sync-member-card{gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border);flex-direction:column;display:flex}.sync-group-card:last-child,.sync-member-card:last-child{border-bottom:1px solid var(--color-border)}.sync-group-card__head,.sync-member-card__head{align-items:center;gap:var(--space-2);min-width:0;display:flex}.sync-group-card__info,.sync-member-card__info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.sync-group-card__name,.sync-member-card__name{font-size:var(--font-size-base);overflow-wrap:anywhere;font-weight:600}.sync-member-card__you{color:var(--color-text-muted);font-weight:400}.sync-group-card__role-note,.sync-member-card__scope{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0;line-height:1.4}.sync-group-card__actions,.sync-member-card__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.sync-member-card__actions--end{justify-content:flex-end}.sync-member-card__edit{gap:var(--space-3);margin-top:var(--space-1);padding:var(--space-3) 0 var(--space-1) var(--space-3);border-left:2px solid var(--color-primary);flex-direction:column;display:flex}.sync-member-card__edit .form-field{margin-bottom:0}.sync-role-chip{padding:3px var(--space-2);font-size:var(--font-size-xs);letter-spacing:.02em;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-secondary);border-radius:999px;flex-shrink:0;font-weight:600;line-height:1.5}.sync-role-chip--admin{color:var(--color-primary);border-color:var(--color-primary);background:var(--color-primary-soft)}.sync-role-chip--leader{color:var(--color-qual-sharpshooter);border-color:var(--color-qual-sharpshooter)}.sync-role-chip--viewer{color:var(--color-text-muted)}.sync-role-options{gap:var(--space-2);flex-direction:column;display:flex}.sync-role-option{width:100%;padding:var(--space-3);text-align:left;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);font-family:var(--font-family);cursor:pointer;flex-direction:column;gap:2px;transition:border-color .15s,background .15s;display:flex}.sync-role-option:disabled{opacity:.5;cursor:not-allowed}.sync-role-option--active{border-color:var(--color-primary);background:var(--color-primary-soft)}.sync-role-option__name{font-size:var(--font-size-base);font-weight:600}.sync-role-option--active .sync-role-option__name{color:var(--color-primary)}.sync-role-option__desc{font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:1.4}.sync-dialog-error{color:var(--color-danger)}.sync-echelon-btn{align-items:center;gap:var(--space-2);width:100%;min-height:52px;padding:var(--space-2) var(--space-3);text-align:left;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text-muted);font-family:var(--font-family);cursor:pointer;display:flex}.sync-echelon-btn:disabled{opacity:.5;cursor:not-allowed}.sync-echelon-btn--set{border-color:var(--color-primary);color:var(--color-text)}.sync-echelon-btn__name{min-width:0;font-size:var(--font-size-base);overflow-wrap:anywhere;flex-direction:column;flex:1;gap:2px;font-weight:600;display:flex}.sync-echelon-btn__path{font-size:var(--font-size-xs);color:var(--color-text-muted);overflow-wrap:anywhere;font-weight:400}.sync-echelon-btn__arrow{color:var(--color-text-muted);flex-shrink:0}.echelon-picker-tree{border:1px solid var(--color-border);border-radius:var(--radius);flex-shrink:0;overflow:hidden}.echelon-pick-btn{border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text-secondary);font-family:var(--font-family);font-size:var(--font-size-xs);padding:var(--space-1) var(--space-2);white-space:nowrap;cursor:pointer;background:0 0;min-height:32px;font-weight:600}.echelon-pick-btn:active{opacity:.7}.echelon-pick-btn--chosen{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}.sync-expiry{font-size:var(--font-size-sm);color:var(--color-text-muted)}.sync-expiry--warning{color:var(--color-warning);font-weight:600}.sync-badge-count{background:var(--color-danger);color:#fff;min-width:20px;height:20px;font-size:var(--font-size-xs);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;padding:0 6px;font-weight:700;display:inline-flex}.settings-row>.sync-badge-count{margin-left:auto}.sync-code-result{align-items:center;gap:var(--space-3);flex-direction:column;display:flex}.sync-code-input{height:auto;min-height:84px;padding:var(--space-2) var(--space-3);resize:vertical;line-height:1.4}.sync-code-box{word-break:break-all;letter-spacing:normal;max-width:100%;font-size:.85rem}.sync-code-result .form-hint{align-self:stretch;margin:0}.sync-approval-card--approved{border-left:3px solid var(--color-success)}.sync-fingerprint{font-variant-numeric:tabular-nums;letter-spacing:.06em;text-align:center;word-break:keep-all;overflow-wrap:normal;font-size:1rem}.sync-approval-card{gap:var(--space-3);padding:var(--space-4);margin-bottom:var(--space-3);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);flex-direction:column;display:flex}.sync-approval-card:last-child,.sync-approval-card .form-field{margin-bottom:0}.sync-approval-card__actions{gap:var(--space-2);justify-content:flex-end;display:flex}.sync-approval-card__actions .btn{min-width:96px;min-height:44px}.qr-display{border-radius:var(--radius);padding:var(--space-2);background:#fff}.qr-scanner{align-items:center;gap:var(--space-2);flex-direction:column;display:flex}.qr-scanner__video{border-radius:var(--radius);background:#000;width:100%;max-width:320px}.settings-pin-change__actions{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-3);display:flex}.settings-select--narrow{flex:none;width:auto;min-width:110px}.sync-window-grid{gap:var(--space-2);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.sync-window-option{min-height:44px;padding:var(--space-2) var(--space-1);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);font-family:var(--font-family);font-size:var(--font-size-sm);cursor:pointer;transition:border-color var(--motion-fast) var(--ease-standard), background var(--motion-fast) var(--ease-standard);font-weight:500;line-height:1.2}.sync-window-option--wide{grid-column:1/-1}.sync-window-option--active{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary);font-weight:600}.sync-window-option:disabled{opacity:.5;cursor:not-allowed}.sync-expiry--expired{color:var(--color-danger);font-weight:600}.sync-invite-row{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2) 0;border-top:1px solid var(--color-border);font-size:var(--font-size-sm);color:var(--color-text-secondary);display:flex}.sync-invite-row--current{color:var(--color-text);font-weight:500}.sync-returning-note{padding:var(--space-2) var(--space-3);border-radius:var(--radius);background:var(--color-primary-soft);color:var(--color-text);font-size:var(--font-size-sm);margin:0}.csv-wizard-overlay{background:var(--color-bg);z-index:100;-webkit-overflow-scrolling:touch;flex-direction:column;display:flex;position:fixed;inset:0;overflow-y:auto}.csv-wizard__header{align-items:center;gap:var(--space-3);padding:0 var(--space-4);background:var(--color-bg-deep);border-bottom:1px solid var(--color-border);z-index:10;flex-shrink:0;height:56px;display:flex;position:sticky;top:0}.csv-wizard__title{color:var(--color-text);flex:1;font-size:1rem;font-weight:700}.csv-wizard__step-label{font-size:var(--font-size-sm);color:var(--color-text-muted);white-space:nowrap}.csv-wizard__cancel{color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius);background:0 0;border:none;justify-content:center;align-items:center;min-width:44px;min-height:44px;font-size:1.25rem;display:flex}.csv-wizard__cancel:active{color:var(--color-text)}.csv-wizard__body{padding:var(--space-4);flex:1;width:100%;max-width:600px;margin:0 auto;padding-bottom:120px}.csv-wizard__step-heading{color:var(--color-text);margin-bottom:var(--space-1);font-size:1.05rem;font-weight:700}.csv-wizard__step-hint{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--space-4);line-height:1.5}.csv-wizard__footer{background:var(--color-bg);border-top:1px solid var(--color-border);padding:var(--space-3) var(--space-4);gap:var(--space-3);z-index:10;justify-content:flex-end;display:flex;position:fixed;bottom:0;left:0;right:0}.csv-field{gap:var(--space-1);margin-bottom:var(--space-3);flex-direction:column;display:flex}.csv-field__label{font-size:var(--font-size-sm);color:var(--color-text-secondary);align-items:center;gap:var(--space-2);font-weight:600;display:flex}.csv-field__required{color:var(--color-danger);font-size:var(--font-size-xs)}.csv-field__optional{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:400}.csv-select,.csv-input{background:var(--color-surface);width:100%;min-height:48px;color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius);padding:0 var(--space-3);font-size:.97rem;font-family:var(--font-family);appearance:auto}.csv-select:focus,.csv-input:focus{outline:2px solid var(--color-primary);outline-offset:2px}.csv-preview{margin-top:var(--space-4);border-radius:var(--radius);border:1px solid var(--color-border);overflow:hidden}.csv-preview__title{padding:var(--space-2) var(--space-3);font-size:var(--font-size-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);background:var(--color-surface);border-bottom:1px solid var(--color-border);font-weight:700}.csv-preview__scroll{overflow-x:auto}.csv-preview table{border-collapse:collapse;width:100%;min-width:320px;font-size:var(--font-size-sm)}.csv-preview th{text-align:left;padding:var(--space-2) var(--space-3);background:var(--color-bg-raised);color:var(--color-text-muted);font-size:var(--font-size-xs);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border-bottom:1px solid var(--color-border);font-weight:700}.csv-preview td{padding:var(--space-2) var(--space-3);color:var(--color-text-secondary);border-bottom:1px solid var(--color-border);white-space:nowrap;text-overflow:ellipsis;max-width:160px;overflow:hidden}.csv-preview__empty{padding:var(--space-3);color:var(--color-text-muted);font-size:var(--font-size-sm);text-align:center}.rank-resolve-item{gap:var(--space-1);margin-bottom:var(--space-4);padding:var(--space-3);background:var(--color-surface);border-radius:var(--radius);border:1px solid var(--color-border);flex-direction:column;display:flex}.rank-resolve-item__raw{font-family:monospace;font-size:var(--font-size-sm);color:var(--color-warning);font-weight:600}.rank-resolve-item__count{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-bottom:var(--space-1)}.unit-mode-tabs{border:1px solid var(--color-border);border-radius:var(--radius);margin-bottom:var(--space-4);display:flex;overflow:hidden}.unit-mode-tab{cursor:pointer;min-height:44px;color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:600;font-family:var(--font-family);background:0 0;border:none;flex:1;transition:background .1s,color .1s}.unit-mode-tab--active{background:var(--color-primary);color:var(--color-on-primary)}.unit-mode-tab:not(.unit-mode-tab--active):active{background:var(--color-surface)}.unit-note{align-items:flex-start;gap:var(--space-2);padding:var(--space-3);background:var(--color-primary-soft);border-radius:var(--radius);font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-3);line-height:1.5;display:flex}.unit-note__icon{color:var(--color-primary);flex-shrink:0;margin-top:1px}.existing-unit-option{padding-left:0}.confirm-row{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border);display:flex}.confirm-row:last-child{border-bottom:none}.confirm-row__icon{text-align:center;flex-shrink:0;width:24px;margin-top:1px;font-size:1.1rem}.confirm-row__text{color:var(--color-text);flex:1;font-size:.97rem;line-height:1.5}.confirm-row__sub{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-top:2px}.confirm-row--warning .confirm-row__icon,.confirm-row--warning .confirm-row__text{color:var(--color-warning)}.confirm-row--info .confirm-row__icon{color:var(--color-info)}.dashboard{background:var(--color-bg-deep);flex-direction:column;flex:1 0 auto;display:flex}.dashboard-bottom-spacer{height:calc(56px + env(safe-area-inset-bottom,0px));flex-shrink:0}@media (width>=900px){.dashboard-bottom-spacer{height:var(--space-4)}}.dashboard-top-bar{background-color:var(--color-surface);border-bottom:1px solid var(--color-border);z-index:10;flex-shrink:0;align-items:center;min-height:52px;display:flex;position:sticky;top:0}.dashboard-scope-bar{background-color:var(--color-surface);border-bottom:1px solid var(--color-border);flex-direction:column;flex-shrink:0;display:flex}.dashboard-scope-bar__title{font-size:var(--font-size-sm);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted);padding:0 var(--space-3) 0 var(--space-4);white-space:nowrap;flex:1;font-weight:700}.dashboard-scope-bar__selects{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);scrollbar-width:none;-ms-overflow-style:none;flex-shrink:0;min-height:44px;display:flex;overflow-x:auto}.dashboard-scope-bar__selects::-webkit-scrollbar{display:none}.dashboard-scope-bar__actions{padding:0 var(--space-2) 0 0;flex-shrink:0;align-items:center;display:flex}.dashboard-scope-bar__label{font-size:var(--font-size-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);flex-shrink:0;font-weight:700}.dashboard-add-widget-btn{padding:0 var(--space-2);flex-shrink:0;align-items:center;gap:5px;display:flex}.dashboard-add-widget-btn__label{font-size:var(--font-size-xs);white-space:nowrap;color:inherit;font-weight:600}.dashboard-top-bar .header-action-btn{flex-shrink:0}.dashboard-updating{font-size:var(--font-size-xs);color:var(--color-text-muted);white-space:nowrap;padding-right:var(--space-2);animation:1.2s ease-in-out infinite dashboard-updating-pulse}@keyframes dashboard-updating-pulse{0%,to{opacity:.55}50%{opacity:1}}.dashboard-start{margin:var(--space-3) var(--space-3) 0;padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);gap:var(--space-3);flex-direction:column;display:flex}.dashboard-start__title{color:var(--color-text);margin:0;font-size:1.2rem;font-weight:700}.dashboard-start__lead{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0;line-height:1.45}.dashboard-start__steps{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.dashboard-start__step{gap:var(--space-3);align-items:flex-start;display:flex}.dashboard-start__num{background:var(--color-primary-soft);width:28px;height:28px;color:var(--color-primary);font-weight:700;font-size:var(--font-size-sm);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.dashboard-start__body{flex-direction:column;gap:4px;min-width:0;display:flex}.dashboard-start__label{color:var(--color-text);font-weight:600}.dashboard-start__desc{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.4}.dashboard-start__actions{gap:var(--space-2);margin-top:var(--space-1);flex-wrap:wrap;display:flex}@media (width>=900px){.dashboard-start{max-width:720px}}@keyframes dashboard-spin{to{transform:rotate(360deg)}}.dashboard-refresh--spinning svg{animation:.7s linear infinite dashboard-spin}.dashboard-scope-select{appearance:none;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);font-size:var(--font-size-sm);font-weight:600;font-family:var(--font-family);cursor:pointer;padding:0 32px 0 var(--space-3);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23888' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;flex-shrink:0;max-width:200px;height:34px}.dashboard-scope-select:focus{outline:2px solid var(--color-primary);outline-offset:1px;border-color:var(--color-primary)}.dashboard-scope-divider{color:var(--color-text-faint);font-size:var(--font-size-xs);flex-shrink:0}.dashboard-scope-bar__dates{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-top:1px solid var(--color-border);scrollbar-width:none;-ms-overflow-style:none;flex-shrink:0;min-height:44px;display:flex;overflow-x:auto}.dashboard-scope-bar__dates::-webkit-scrollbar{display:none}.dashboard-date-input{appearance:none;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);font-size:var(--font-size-sm);font-weight:600;font-family:var(--font-family);cursor:pointer;padding:0 var(--space-2);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;flex-shrink:0;min-width:0;max-width:150px;height:34px}.dashboard-date-input:focus{outline:2px solid var(--color-primary);outline-offset:1px;border-color:var(--color-primary)}.dashboard-date-input--auto{color:var(--color-text-muted);border-style:dashed}.dashboard-date-clear-spacer{width:var(--space-4);flex-shrink:0;display:inline-block}.dashboard-date-clear{border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text-muted);font-size:var(--font-size-xs);padding:0 var(--space-2);cursor:pointer;white-space:nowrap;background:0 0;flex-shrink:0;height:28px;font-weight:600}.dashboard-date-clear:hover{border-color:var(--color-primary);color:var(--color-primary)}.dashboard-date-toggle{position:relative}.dashboard-date-toggle__dot{background:var(--color-primary);border:2px solid var(--color-bg);border-radius:50%;width:8px;height:8px;position:absolute;top:4px;right:4px}.dashboard-date-mode{flex-shrink:0}.dashboard-date-mode .theme-toggle__btn{min-width:56px;min-height:34px;font-weight:600}.dashboard-scope-bar__dates .dashboard-scope-select{flex-shrink:0}.dashboard-section-label{font-size:var(--font-size-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted);padding:var(--space-4) var(--space-4) var(--space-2);font-weight:700}.widget-scroll-wrap{overflow-x:auto}.event-grid{padding:0 var(--space-4);grid-template-columns:auto 52px 52px 52px 52px;min-width:max-content;display:grid}.event-grid-hdr{font-size:var(--font-size-xs);color:var(--color-text-muted);letter-spacing:.04em;padding-bottom:var(--space-1);font-weight:600}.event-grid-hdr--num{text-align:center}.event-row-cell{border-top:1px solid var(--color-border);padding-top:var(--space-2);padding-bottom:var(--space-2);align-items:center;min-height:60px;display:flex}.event-row-cell--info{min-width:0;padding-right:var(--space-2);flex-direction:column;align-items:flex-start;gap:3px}.event-table-row__info{min-width:0;padding-right:var(--space-2);flex-direction:column;gap:3px;display:flex}.event-table-row__name{color:var(--color-text);white-space:nowrap;font-size:1rem;font-weight:700}.event-table-row__meta{align-items:center;gap:var(--space-2);display:flex}.event-table-row__date{font-size:var(--font-size-xs);color:var(--color-text-muted)}.event-table-row__type{font-size:var(--font-size-xs);letter-spacing:.04em;text-transform:uppercase;font-weight:700}.event-table-row__type--weaponqual{color:var(--color-qual-expert)}.event-table-row__type--landnav{color:var(--color-qual-sharpshooter)}.event-table-row__type--passfail{color:var(--color-success)}.event-num{cursor:pointer;min-height:44px;font-size:1.3rem;font-weight:800;line-height:1;font-family:var(--font-family);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:background .1s;display:flex}.event-num:active{background:#ffffff12}.event-num.event-row-cell{border-top:1px solid var(--color-border)}.event-num--total{color:var(--color-info)}.event-num--passed{color:var(--color-success)}.event-num--failed{color:var(--color-danger)}.event-num--pending{color:var(--color-warning)}.event-num--zero{color:var(--color-text-faint)}.names-sheet-list{padding-bottom:calc(40px + env(safe-area-inset-bottom,0px));flex-direction:column;display:flex}.names-sheet-group__header{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--color-bg);border-bottom:1px solid var(--color-border);z-index:1;display:flex;position:sticky;top:0}.names-sheet-group__unit{font-size:var(--font-size-xs);letter-spacing:.03em;text-transform:uppercase;color:var(--color-text-secondary);font-weight:700}.names-sheet-group__count{font-size:var(--font-size-xs);color:var(--color-text-muted);background:var(--color-surface);border:1px solid var(--color-border);padding:1px var(--space-2);border-radius:999px;flex-shrink:0;font-weight:700}.names-sheet-row{align-items:center;gap:var(--space-3);min-height:56px;padding:var(--space-2) var(--space-4) var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);display:flex}.names-sheet-row:last-child{border-bottom:none}.names-sheet-avatar{width:36px;height:36px;font-size:var(--font-size-xs);letter-spacing:.02em;color:var(--color-text-secondary);background:#9e9e9e1f;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:800;display:flex}.names-sheet-main{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.names-sheet-name{color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;font-size:.97rem;font-weight:600;overflow:hidden}.names-sheet-sub{font-size:var(--font-size-xs);color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.dashboard-widget-grid{gap:var(--space-3);padding:var(--space-3);grid-template-columns:1fr;display:grid}@media (width>=900px){.dashboard{flex:1;min-height:0;padding-bottom:0;overflow-y:auto}.dashboard-top-bar{top:0}.dashboard-scope-bar{z-index:9;position:sticky;top:52px}.dashboard-widget-grid{align-items:start;column-gap:0;row-gap:var(--space-3);padding-left:calc(var(--space-3) - 6px);padding-right:calc(var(--space-3) - 6px);grid-template-columns:repeat(100,1fr)}.dashboard-widget{margin-left:6px;margin-right:6px}}.dashboard-widget{background:var(--color-surface);border-radius:var(--radius);border:1px solid var(--color-border);min-width:0;position:relative;overflow:hidden}@media (width<=899px){.dashboard-widget{overflow-x:auto;grid-column:1/-1!important}}.widget-resize-handle,.widget-resize-handle-v{display:none}@media (width>=900px){.widget-resize-handle{cursor:col-resize;z-index:6;width:8px;display:block;position:absolute;top:0;bottom:0;right:0}.widget-resize-handle:after{content:"";background:0 0;border-radius:2px;width:3px;height:36px;transition:background .15s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.widget-resize-handle:hover:after,.widget-resize-handle--active:after{background:var(--color-primary)}.widget-resize-handle-v{cursor:row-resize;z-index:6;height:8px;display:block;position:absolute;bottom:0;left:0;right:8px}.widget-resize-handle-v:after{content:"";background:0 0;border-radius:2px;width:36px;height:3px;transition:background .15s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.widget-resize-handle-v:hover:after,.widget-resize-handle-v--active:after{background:var(--color-primary)}.dashboard-widget--sized{height:var(--widget-h);flex-direction:column;display:flex}.dashboard-widget--sized .rp-table-wrap,.dashboard-widget--sized .widget-scroll-wrap{flex:auto;min-height:0;max-height:none}}.widget-drag-row{background:0 0;flex-shrink:0;align-items:center;height:32px;margin-bottom:-6px;display:flex}.widget-remove-btn{margin-left:auto;margin-right:var(--space-1);cursor:pointer;color:var(--color-text-muted);border-radius:var(--radius);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:32px;transition:color .15s,background .15s;display:flex}.widget-remove-btn:hover{color:var(--color-danger);background:#f4433614}.type-chooser-option__icon--locations{color:var(--color-primary);background:#4caf501f}.type-chooser-option__icon--events{color:#ce93d8;background:#9c27b01f}.type-chooser-option__icon--ammo{color:var(--color-danger);background:#f443361f}.type-chooser-option__icon--breakdown{color:var(--color-qual-expert);background:#ffc1071f}.type-chooser-option__icon--recent{color:var(--color-info);background:#448aff1f}.widget-grip-handle{padding:0 var(--space-3);cursor:grab;height:100%;color:var(--color-text-muted);touch-action:none;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;transition:color .1s;display:flex}.widget-grip-handle:active{cursor:grabbing;color:var(--color-primary)}.dashboard-drag-ghost{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-surface);border:2px solid var(--color-primary);border-radius:var(--radius);color:var(--color-primary);font-size:var(--font-size-sm);cursor:grabbing;white-space:nowrap;pointer-events:none;font-weight:700;display:flex;box-shadow:0 8px 24px #00000073}.bd-unit-full{display:none}.bd-unit-short{display:inline}@media (width>=900px){.bd-unit-full{display:inline}.bd-unit-short{display:none}}.breakdown-section-label{justify-content:space-between;align-items:center;display:flex}.breakdown-event-picker{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:600;font-family:var(--font-family);cursor:pointer;text-align:right;background:0 0;border:none;max-width:200px;padding:0 2px}.breakdown-pickers{align-items:center;gap:var(--space-2);min-width:0;display:flex}.breakdown-pickers .breakdown-event-picker{max-width:130px}.ammo-event-hdr{align-items:baseline;gap:var(--space-3);padding:var(--space-2) 0 var(--space-1);grid-column:1/-1;display:flex}.ammo-event-hdr--sep{border-top:2px solid var(--color-border);margin-top:var(--space-3);padding-top:var(--space-3)}.ammo-event-hdr__name{font-size:1rem;font-weight:700;font-family:var(--font-family);color:var(--color-text)}.ammo-event-hdr__date{font-size:var(--font-size-xs);color:var(--color-text-muted)}.ammo-table{column-gap:var(--space-4);padding:0 var(--space-4) var(--space-3);grid-template-columns:auto minmax(72px,max-content) minmax(72px,max-content) minmax(72px,max-content);min-width:max-content;display:grid}.ammo-col-hdr{font-size:var(--font-size-xs);color:var(--color-text-muted);letter-spacing:.04em;padding-bottom:var(--space-1);font-weight:600}.ammo-col-hdr--num{text-align:center}.ammo-row-cell{border-top:1px solid var(--color-border);padding-top:var(--space-2);padding-bottom:var(--space-2);align-items:center;min-height:48px;display:flex}.ammo-lot-row__info{min-width:0;padding-right:var(--space-2);flex-direction:column;justify-content:center;gap:2px;display:flex}.ammo-lot-row__dodic{font-size:1rem;font-weight:700;font-family:var(--font-family);color:var(--color-text);letter-spacing:.04em}.ammo-lot-row__nom{font-size:var(--font-size-xs);color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ammo-lot-num{font-size:1.3rem;font-weight:800;font-family:var(--font-family);font-variant-numeric:tabular-nums;color:var(--color-text-secondary);justify-content:center}.ammo-lot-num--remaining{color:var(--color-warning)}.ammo-lot-num--warn{color:var(--color-danger)}.rp-controls{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-top:1px solid var(--color-border);flex-wrap:wrap;display:flex}.rp-search{min-width:120px;height:32px;padding:0 var(--space-2);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);font-size:var(--font-size-sm);font-family:var(--font-family);flex:1}.rp-search::placeholder{color:var(--color-text-faint)}.rp-filters{gap:var(--space-1);display:flex}.rp-filter-btn{height:28px;padding:0 var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:600;font-family:var(--font-family);cursor:pointer;white-space:nowrap;background:0 0;transition:background .1s,color .1s,border-color .1s}.rp-filter-btn--active{background:var(--color-primary);border-color:var(--color-primary);color:#000}.rp-table-wrap{border-top:1px solid var(--color-border);overscroll-behavior:contain;max-height:280px;overflow:auto}@media (width>=900px){.rp-table-wrap{max-height:460px}}.rp-table{width:max-content;min-width:100%}.rp-table-header,.rp-table-row{padding:0 var(--space-4);align-items:center;display:grid}.rp-table-header{padding-top:var(--space-2);padding-bottom:var(--space-2);background:var(--color-bg);z-index:1;position:sticky;top:0}.rp-table-row{border-top:1px solid var(--color-border);min-height:44px}.rp-empty{padding:var(--space-4);color:var(--color-text-muted);text-align:center;font-size:var(--font-size-sm)}.rp-col{font-size:var(--font-size-xs);white-space:nowrap;text-overflow:ellipsis;padding-right:var(--space-2);overflow:hidden}.rp-table-header .rp-col{color:var(--color-text-muted);letter-spacing:.04em;font-weight:600}.rp-col--rank{min-width:0}.rp-col--last,.rp-col--first{text-overflow:clip;overflow:visible}.rp-col--mi{text-overflow:clip;padding-right:var(--space-3);overflow:visible}.rp-table-body .rp-col--last{font-size:var(--font-size-sm);color:var(--color-text);font-weight:600}.rp-table-body .rp-col--first,.rp-table-body .rp-col--mi{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.rp-table-body .rp-col--unit,.rp-table-body .rp-col--date{color:var(--color-text-secondary)}.rp-table-body .rp-col--status{font-weight:700}.rp-col--notes{padding-left:var(--space-4)}.rp-table-body .rp-col--notes{color:var(--color-text-secondary)}.rp-status--expert{color:var(--color-qual-expert)}.rp-status--sharpshooter{color:var(--color-qual-sharpshooter)}.rp-status--marksman{color:var(--color-qual-marksman)}.rp-status--unqual{color:var(--color-qual-unqualified)}.rp-status--pending{color:var(--color-qual-pending)}.rp-status--pass{color:var(--color-success)}.rp-status--late{color:var(--color-warning)}.rp-status--fail{color:var(--color-danger)}.dashboard-add-section{padding:0 var(--space-3) var(--space-4)}.dashboard-add-inline-btn{justify-content:center;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-3);border:1.5px dashed var(--color-border);border-radius:var(--radius);color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:600;font-family:var(--font-family);cursor:pointer;background:0 0;min-height:48px;transition:border-color .15s,color .15s;display:flex}.dashboard-add-inline-btn:active{border-color:var(--color-primary);color:var(--color-primary)}@media (hover:hover){.dashboard-add-inline-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}}.dashboard-add-picker{gap:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-3);flex-direction:column;display:flex}.dashboard-add-picker__header{padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-1);justify-content:space-between;align-items:center;display:flex}.dashboard-empty{justify-content:center;align-items:center;gap:var(--space-3);padding:48px var(--space-4);color:var(--color-text-muted);text-align:center;flex-direction:column;display:flex}.dashboard-empty__text{font-size:var(--font-size-sm);max-width:260px;line-height:1.5}.ae-list{padding:0 var(--space-4) var(--space-3);flex-direction:column;display:flex}@media (width>=900px){.ae-list{min-width:320px}}.ae-row{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) 0;border:none;border-top:1px solid var(--color-border);min-height:64px;font-family:var(--font-family);text-align:left;cursor:pointer;background:0 0;display:flex}.ae-row:first-child{border-top:none}.ae-row:active{background:var(--color-bg-deep)}.ae-row__icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.ae-ring{flex-shrink:0;width:34px;height:34px;transform:rotate(-90deg)}.ae-ring__track,.ae-ring__fill{fill:none;stroke-width:4px}.ae-ring__track{stroke:var(--color-border)}.ae-ring__fill{stroke-linecap:round;transition:stroke-dashoffset .2s}.ae-ring__fill--none{stroke:#0000}.ae-ring__fill--low{stroke:var(--color-danger)}.ae-ring__fill--mid{stroke:var(--color-warning)}.ae-ring__fill--high{stroke:var(--color-success)}.ae-row__main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.ae-row__name{font-size:var(--font-size-base);color:var(--color-text);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:600;line-height:1.25;display:-webkit-box;overflow:hidden}.ae-row__meta{font-size:var(--font-size-sm);color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;line-height:1.35;overflow:hidden}.ae-row__headline{flex-direction:column;flex-shrink:0;align-items:flex-end;display:flex}.ae-row__value{color:var(--color-text);font-size:1.5rem;font-weight:700;line-height:1.1}.ae-row__unit{font-size:var(--font-size-xs);letter-spacing:.06em;color:var(--color-text-secondary);font-weight:700}@media (width<=360px){.ae-row__value{font-size:1.25rem}}.form-sheet--event{width:min(760px,100%);height:90vh}.ae-sheet-body{background:var(--color-bg-deep);padding:0}.loc-table{column-gap:var(--space-4);padding:0 var(--space-4) var(--space-3);grid-template-columns:minmax(80px,max-content) minmax(80px,1fr) minmax(80px,max-content) minmax(60px,max-content);min-width:max-content;display:grid}.loc-col-hdr{font-size:var(--font-size-xs);color:var(--color-text-muted);letter-spacing:.04em;padding-bottom:var(--space-1);font-weight:600}.loc-col-hdr--num{text-align:center}.loc-cell{border-top:1px solid var(--color-border);padding-top:var(--space-2);padding-bottom:var(--space-2);min-height:44px;font-size:var(--font-size-sm);color:var(--color-text);align-items:center;display:flex}.loc-cell--location{white-space:nowrap;font-weight:700}.loc-cell--name{white-space:nowrap;color:var(--color-text-secondary)}.loc-cell--type{white-space:nowrap;font-size:var(--font-size-xs);letter-spacing:.04em;font-weight:600}.loc-cell--num{justify-content:center;font-weight:700}.loc-total-btn{cursor:pointer;font-size:var(--font-size-sm);font-weight:700;font-family:var(--font-family);color:var(--color-primary);border:none;border-top:1px solid var(--color-border);text-underline-offset:3px;background:0 0;justify-content:center;align-items:center;width:100%;min-height:44px;padding:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;display:flex}.loc-total-btn:hover{color:var(--color-primary-light,var(--color-primary))}.loc-type--weaponqual{color:var(--color-qual-expert)}.loc-type--landnav{color:var(--color-qual-sharpshooter)}.loc-type--passfail{color:var(--color-primary)}.loc-breakdown-meta{padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm);color:var(--color-text-secondary);border-bottom:1px solid var(--color-border)}.loc-breakdown-list{flex-direction:column;display:flex}.loc-breakdown-row{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);min-height:44px;font-size:var(--font-size-sm);justify-content:space-between;align-items:center;display:flex}.loc-breakdown-row--total{color:var(--color-text);background:var(--color-bg-deep);font-weight:700}.loc-breakdown-unit{color:var(--color-text)}.loc-breakdown-count{color:var(--color-text);font-weight:700;font-size:var(--font-size-base)}.equip-screen{padding-bottom:calc(56px + env(safe-area-inset-bottom,0px) + 72px);flex-direction:column;flex:1;display:flex;overflow-y:auto}@media (width>=900px){.equip-screen{padding-bottom:var(--space-6)}}.equip-loading{color:var(--color-text-muted);flex:1;justify-content:center;align-items:center;min-height:200px;font-size:1rem;display:flex}.equip-toolbar{padding:var(--space-3) var(--space-4) var(--space-2);gap:var(--space-2);background:var(--color-bg);border-bottom:1px solid var(--color-border);flex-direction:column;flex-shrink:0;display:flex}.equip-scope-select{appearance:none;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);font-size:var(--font-size-sm);font-weight:600;font-family:var(--font-family);cursor:pointer;padding:0 32px 0 var(--space-3);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23888' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;flex-shrink:0;max-width:200px;height:34px}.equip-scope-select:focus{outline:2px solid var(--color-primary);outline-offset:1px;border-color:var(--color-primary)}.equip-scope-bar__selects{align-items:center;gap:var(--space-2);scrollbar-width:none;-ms-overflow-style:none;flex-shrink:0;min-height:40px;display:flex;overflow-x:auto}.equip-scope-bar__selects::-webkit-scrollbar{display:none}.equip-scope-bar__label{font-size:var(--font-size-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);flex-shrink:0;font-weight:700}.equip-scope-divider{color:var(--color-text-faint);font-size:var(--font-size-xs);flex-shrink:0}.equip-search-row{gap:var(--space-2);align-items:center;display:flex}.equip-search{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius);font-size:.9rem;font-family:var(--font-family);flex:1;min-width:0;padding:7px 10px}.equip-search:focus{outline:2px solid var(--color-primary);outline-offset:2px}.equip-search::-webkit-search-cancel-button{cursor:pointer}.equip-search::-webkit-search-cancel-button{-webkit-appearance:none;display:none}.equip-groupby-select{max-width:130px}.equip-collapse-row{gap:var(--space-2);padding-top:var(--space-1);display:flex}.equip-categories{flex-direction:column;display:flex}.equip-category{border-bottom:1px solid var(--color-border)}.equip-category__header{background:var(--color-bg);cursor:pointer;text-align:left;justify-content:space-between;align-items:center;gap:var(--space-2);border:none;width:100%;min-height:48px;padding:11px 16px;display:flex}.equip-category__header:active{background:var(--color-bg-raised)}.equip-category__title{color:var(--color-text);flex-shrink:0;align-items:center;gap:8px;font-size:.9rem;font-weight:600;display:flex}.equip-category__arrow{color:var(--color-text-muted);text-align:center;width:10px;font-size:.65rem}.equip-category__badges{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:4px;display:flex}.equip-category__count{color:var(--color-text-secondary);white-space:nowrap;font-size:.75rem}.equip-category__badge{white-space:nowrap;border-radius:4px;padding:2px 6px;font-size:.68rem;font-weight:700}.equip-category__badge--op{color:var(--color-success);background:#4caf5026}.equip-category__badge--dl{color:var(--color-danger);background:#f4433626}.equip-category__badge--avail{color:var(--color-info);background:#448aff26}.equip-category__badge--si{color:var(--color-warning);background:#ff980026}.equip-category__body{background:var(--color-bg)}.equip-group__header{background:var(--color-bg-raised);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--color-border);padding:5px 16px;font-size:.72rem;font-weight:700}.equip-asset-row{border-bottom:1px solid var(--color-border);background:var(--color-surface);flex-direction:column;gap:5px;padding:10px 16px;display:flex}.equip-asset-row__main{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.equip-asset-row__name{color:var(--color-text);font-size:.9rem;font-weight:500}.equip-asset-row__chips{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.equip-asset-row__detail{flex-wrap:wrap;align-items:center;gap:10px;font-size:.78rem;display:flex}.equip-asset-row__sn{color:var(--color-text-secondary);font-family:monospace}.equip-asset-row__sn--none{color:var(--color-text-muted);font-style:italic}.equip-asset-row__unit,.equip-asset-row__soldier{color:var(--color-text-secondary)}.equip-status-chip{white-space:nowrap;border-radius:4px;padding:2px 6px;font-size:.68rem;font-weight:700}.equip-status-chip--operational{color:var(--color-success);background:#4caf5026}.equip-status-chip--deadline{color:var(--color-danger);background:#f4433626}.equip-status-chip--awaitingParts{color:var(--color-warning);background:#ff980026}.equip-status-chip--inRepair{color:var(--color-info);background:#448aff26}.equip-assign-chip{white-space:nowrap;border-radius:4px;padding:2px 6px;font-size:.68rem;font-weight:600}.equip-assign-chip--loaned{color:var(--color-warning);background:#ff98001f}.equip-assign-chip--avail{color:var(--color-info);background:#448aff1f}.equip-subcount-chip{background:var(--color-bg-raised);color:var(--color-text-secondary);border-radius:4px;padding:2px 6px;font-size:.68rem}.equip-si-badge{color:var(--color-warning);letter-spacing:.06em;background:#ff980033;border-radius:3px;padding:1px 4px;font-size:.62rem;font-weight:800}.equip-empty{text-align:center;color:var(--color-text-muted);padding:32px 16px;font-size:.9rem}.equip-empty-cat{color:var(--color-text-muted);padding:12px 16px;font-size:.82rem;font-style:italic}.equip-asset-row--tappable{text-align:left;cursor:pointer;border:none;width:100%}.equip-asset-row--tappable:active{background:var(--color-bg-raised)}.equip-detail-sheet{max-height:80vh}.equip-detail-body{padding-bottom:var(--space-6)}.equip-detail-status{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--color-bg-raised);border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.equip-detail-open-faults{color:var(--color-danger);font-size:.78rem;font-weight:600}.equip-status-chip--lg{padding:3px 10px;font-size:.78rem}.equip-si-badge--lg{padding:2px 6px;font-size:.72rem}.equip-detail-section{padding:var(--space-3) var(--space-4) 0;border-bottom:1px solid var(--color-border);padding-bottom:var(--space-3)}.equip-detail-section__title{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-secondary);margin:0 0 var(--space-2);font-size:.72rem;font-weight:700}.equip-detail-section__header-row{margin-bottom:var(--space-2);justify-content:space-between;align-items:center;display:flex}.equip-detail-section__header-row .equip-detail-section__title{margin:0}.equip-detail-row{gap:var(--space-2);align-items:baseline;padding:4px 0;font-size:.875rem;display:flex}.equip-detail-row--block{flex-direction:column;align-items:flex-start;gap:2px}.equip-detail-label{color:var(--color-text-muted);flex-shrink:0;min-width:100px;font-size:.75rem}.equip-detail-value{color:var(--color-text);word-break:break-word}.equip-detail-value--warn{color:var(--color-warning);font-weight:600}.equip-detail-empty{color:var(--color-text-muted);padding:var(--space-1) 0;font-size:.82rem;font-style:italic}.equip-mono{font-family:monospace;font-size:.82rem}.equip-detail-action{text-align:left;width:100%;color:var(--color-primary);font-size:.85rem;font-family:var(--font-family);cursor:pointer;background:0 0;border:none;min-height:40px;padding:8px 0;display:block}.equip-detail-action:disabled{opacity:.4;cursor:default}.equip-detail-action-inline{color:var(--color-primary);font-size:.78rem;font-family:var(--font-family);cursor:pointer;white-space:nowrap;background:0 0;border:none;min-height:32px;margin-left:auto;padding:2px 6px}.equip-children-list{margin-bottom:var(--space-1);flex-direction:column;gap:4px;display:flex}.equip-child-row{align-items:center;gap:var(--space-2);border-bottom:1px solid var(--color-border);padding:6px 0;font-size:.875rem;display:flex}.equip-child-row__name{color:var(--color-text);flex:1}.equip-child-row__sn{color:var(--color-text-muted);font-size:.78rem}.equip-maint-record{border:1px solid var(--color-border);border-radius:var(--radius);margin-bottom:var(--space-2);overflow:hidden}.equip-maint-record__header{align-items:center;gap:var(--space-2);background:var(--color-bg-raised);cursor:pointer;text-align:left;border:none;width:100%;min-height:44px;padding:10px 12px;display:flex}.equip-maint-record__header:active{background:var(--color-bg)}.equip-maint-record__header-left{align-items:center;gap:var(--space-2);flex-wrap:wrap;flex:1;display:flex}.equip-maint-record__date{color:var(--color-text);font-size:.875rem;font-weight:600}.equip-maint-record__type{color:var(--color-text-secondary);background:var(--color-surface);border-radius:4px;padding:2px 6px;font-size:.75rem}.equip-maint-record__open-faults{color:var(--color-danger);background:#f443361a;border-radius:4px;padding:2px 6px;font-size:.72rem;font-weight:700}.equip-maint-record__status{white-space:nowrap;text-transform:capitalize;border-radius:4px;padding:2px 6px;font-size:.7rem;font-weight:700}.equip-maint-record__status--complete,.equip-maint-record__status--operational{color:var(--color-success);background:#4caf5026}.equip-maint-record__status--deadline{color:var(--color-danger);background:#f4433626}.equip-maint-record__status--awaitingParts{color:var(--color-warning);background:#ff980026}.equip-maint-record__status--inRepair{color:var(--color-info);background:#448aff26}.equip-maint-record__chevron{color:var(--color-text-muted);font-size:.6rem}.equip-maint-record__body{padding:var(--space-3) var(--space-3);background:var(--color-surface);gap:var(--space-1);flex-direction:column;display:flex}.equip-maint-record__actions{margin-top:var(--space-2);justify-content:flex-start;display:flex}.equip-maint-faults{margin-top:var(--space-2);flex-direction:column;gap:6px;display:flex}.equip-fault-row{border-radius:var(--radius);border:1px solid var(--color-border);padding:8px 10px}.equip-fault-row--deadline.equip-fault-row--open{background:#f443360d;border-color:#f4433666}.equip-fault-row--deadline.equip-fault-row--closed{background:var(--color-bg-raised);opacity:.65}.equip-fault-row--nonDeadline{background:var(--color-bg-raised)}.equip-fault-row__top{align-items:flex-start;gap:var(--space-2);display:flex}.equip-fault-icon{flex-shrink:0;font-size:1rem;line-height:1.4}.equip-fault-icon--deadline{color:var(--color-danger)}.equip-fault-icon--nonDeadline{color:var(--color-warning)}.equip-fault-row__body{flex-direction:column;flex:1;gap:2px;display:flex}.equip-fault-row__item{color:var(--color-text);font-size:.82rem;font-weight:600}.equip-fault-row__deficiency{color:var(--color-text-secondary);font-size:.8rem}.equip-fault-row__corrective{color:var(--color-text-muted);font-size:.75rem;font-style:italic}.equip-fault-toggle{background:var(--color-danger);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:4px;flex-shrink:0;min-height:32px;padding:4px 10px;font-size:.72rem;font-weight:700}.equip-fault-toggle--closed{background:var(--color-bg);color:var(--color-text-secondary);border:1px solid var(--color-border)}.equip-fault-editor{border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-3);margin-bottom:var(--space-2);background:var(--color-bg-raised);gap:var(--space-1);flex-direction:column;display:flex}.equip-fault-editor__row{align-items:flex-end;gap:var(--space-2);display:flex}.equip-fault-editor__remove{color:var(--color-danger);cursor:pointer;background:0 0;border:none;flex-shrink:0;align-self:flex-end;min-height:36px;margin-bottom:2px;padding:4px 8px;font-size:.9rem}.equip-faults-section{flex-direction:column;display:flex}.equip-faults-section__header{margin-bottom:var(--space-2);justify-content:space-between;align-items:center;display:flex}.equip-picker-row{align-items:center;gap:var(--space-2);text-align:left;border:none;border-bottom:1px solid var(--color-border);width:100%;padding:12px var(--space-4);color:var(--color-text);font-size:.9rem;font-family:var(--font-family);cursor:pointer;background:0 0;min-height:48px;display:flex}.equip-picker-row:active{background:var(--color-bg-raised)}.equip-picker-row--danger{color:var(--color-danger)}.equip-picker-row__echo{color:var(--color-text-muted);min-width:60px;font-size:.72rem}.equip-picker-row__sn{color:var(--color-text-muted);font-family:monospace;font-size:.78rem}.equip-picker-empty{padding:var(--space-4) var(--space-4);color:var(--color-text-muted);font-size:.85rem;font-style:italic}.equip-picker-search-bar{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);background:var(--color-surface);flex-shrink:0;display:flex}.equip-picker-unit-row{align-items:center;gap:var(--space-2);text-align:left;background:var(--color-surface);border:none;border-bottom:1px solid var(--color-border);width:100%;padding:10px var(--space-4);color:var(--color-text-secondary);cursor:pointer;letter-spacing:.02em;min-height:40px;font-size:.82rem;font-weight:600;display:flex}.equip-picker-unit-row:active{background:var(--color-surface-raised)}.equip-picker-unit-chevron{text-align:center;flex-shrink:0;width:14px;font-size:.65rem}.equip-picker-unit-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.equip-picker-unit-count{color:var(--color-text-muted);background:var(--color-bg-raised);border-radius:10px;flex-shrink:0;padding:1px 7px;font-size:.72rem}.equip-mono-input{font-family:monospace}.form-row-2{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.form-label--muted{color:var(--color-text-muted);font-weight:400}.form-section-divider{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-secondary);padding:var(--space-2) 0 var(--space-1);border-top:1px solid var(--color-border);margin-top:var(--space-2);font-size:.72rem;font-weight:700}.form-textarea{resize:vertical;min-height:64px}@media (width>=900px){.equip-toolbar{padding:var(--space-3) var(--space-4)}}.auth-screen{background:var(--color-bg);z-index:500;position:fixed;inset:0;overflow-y:auto}.auth-card{justify-content:center;align-items:center;gap:var(--space-4);width:100%;max-width:340px;min-height:100dvh;padding:var(--space-6) var(--space-4);box-sizing:border-box;flex-direction:column;margin:0 auto;display:flex}.auth-title{letter-spacing:.12em;color:var(--color-primary);margin:0;font-size:2rem;font-weight:800}.auth-subtitle{font-size:var(--font-size-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted);margin:-12px 0 0;font-weight:600}.auth-tagline{font-size:var(--font-size-base);color:var(--color-text);text-align:center;margin:0;line-height:1.45}.auth-facts{padding:var(--space-3) var(--space-4);gap:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-sizing:border-box;flex-direction:column;width:100%;margin:0;list-style:none;display:flex}.auth-facts__item{align-items:center;gap:var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.35;display:flex}.auth-facts__icon{background:var(--color-primary-soft);width:28px;height:28px;color:var(--color-primary);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.auth-prompt{font-size:var(--font-size-base);color:var(--color-text-secondary);text-align:center;margin:0}.auth-text-input{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);width:100%;color:var(--color-text);font-size:var(--font-size-base);font-family:var(--font-family);padding:var(--space-3) var(--space-3);box-sizing:border-box;text-align:center}.auth-text-input:focus{outline:2px solid var(--color-primary);outline-offset:1px;border-color:var(--color-primary)}.auth-text-input::placeholder{color:var(--color-text-faint)}.auth-btn{background:var(--color-primary);width:100%;color:var(--color-on-primary);border-radius:var(--radius);font-size:var(--font-size-base);font-family:var(--font-family);padding:var(--space-3) var(--space-4);cursor:pointer;border:none;min-height:48px;font-weight:600;transition:opacity .15s}.auth-btn:disabled{opacity:.4;cursor:not-allowed}.auth-btn:not(:disabled):active{opacity:.8}.auth-btn--ghost{color:var(--color-text-secondary);border:1px solid var(--color-border);background:0 0}.auth-error{font-size:var(--font-size-sm);color:var(--color-danger);text-align:center;margin:0}.auth-loading{font-size:var(--font-size-sm);color:var(--color-text-muted);text-align:center;margin:0}.auth-bypass-backdrop{z-index:10;padding:var(--space-4);background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.auth-bypass-dialog{background:var(--color-surface);border-radius:var(--radius);padding:var(--space-4);gap:var(--space-3);flex-direction:column;width:100%;max-width:340px;display:flex}.auth-bypass-title{font-size:var(--font-size-base);color:var(--color-text);margin:0;font-weight:700}.auth-bypass-body{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0;line-height:1.5}.auth-bypass-actions{gap:var(--space-2);flex-flow:column wrap;display:flex}.auth-divider{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:var(--space-2) 0 var(--space-1)}.auth-phrase-row{align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);display:flex}.auth-text-input--sm{flex:1;min-width:0}.auth-show-btn{border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text-secondary);cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;min-width:40px;height:40px;display:flex}.auth-recovery-note{border:1px solid var(--color-warning);font-size:var(--font-size-sm);color:var(--color-text-secondary);text-align:left;border-radius:8px;margin:12px 0 4px;padding:10px 12px;line-height:1.45}
