.tracking-entry{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 24px}
.tracking-multi-entry{display:block;padding:16px;margin:-12px 0 24px;border:1px solid var(--line);border-radius:14px;color:var(--ink);font-weight:700;text-decoration:none;background:var(--paper,#fff)}.tracking-multi-entry span{display:block;font-size:12px;font-weight:400;color:var(--muted);margin-top:6px}
.tracking-entry-button{display:flex;align-items:center;gap:14px;min-width:0;min-height:92px;padding:18px 20px;text-align:left;color:var(--ink);background:var(--paper,#fff);border:1px solid var(--line);border-radius:14px;cursor:pointer}
.tracking-entry-button:hover{border-color:var(--green);background:var(--pale,#f2f6ed)}
.tracking-entry-button>span:nth-child(2){flex:1;min-width:0}
.tracking-entry-button strong{display:block;font-size:16px;line-height:1.5}
.tracking-entry-button small{display:block;margin-top:4px;color:var(--muted);font-size:12px;line-height:1.5;word-break:keep-all}
.tracking-entry-symbol{display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:50%;background:var(--pale,#e9efdf);color:var(--accent-text,var(--green));font-size:28px}
.tracking-entry-button:focus-visible{outline:3px solid var(--green);outline-offset:3px}
.capture-guide{margin:12px 0;border:1px solid var(--line,#d9e1d6);border-radius:12px;background:var(--paper,#fff);color:var(--ink,#173b2e);font-size:13px}
.capture-guide>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;box-sizing:border-box;padding:10px 14px;color:inherit;font:inherit;font-weight:600;cursor:pointer;list-style:none}
.capture-guide>summary::-webkit-details-marker{display:none}
.capture-guide-action{display:inline-flex;align-items:center;gap:8px;flex:none;font-size:12px;font-weight:400}
.capture-guide-action:after{content:'';width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg)}
.capture-guide[open]>.capture-guide-body{border-top:1px solid var(--line,#d9e1d6)}
.capture-guide[open]>summary .capture-guide-action:after{transform:translateY(2px) rotate(225deg)}
.capture-guide:not([open])>summary .capture-guide-collapse,.capture-guide[open]>summary .capture-guide-expand{display:none}
.capture-guide-body{padding:4px 14px 12px;overflow-wrap:anywhere;line-height:1.7}
.capture-guide .capture-guide-body h3{margin:12px 0 4px;font-size:13px;color:inherit}
.capture-guide .capture-guide-body p{margin:6px 0;font-size:13px;line-height:1.7;color:inherit}
.capture-guide>summary:focus-visible,.capture-guide-body:focus-visible{outline:3px solid var(--green,#087b59);outline-offset:3px;border-radius:10px}
html.tracking-camera-open,html.tracking-camera-open body{overflow:hidden}
.member-app #member-dialog.tracking-camera-dialog{position:fixed;inset:0;width:100%;height:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;overflow:hidden;background:#080c0a;color:#fff;box-shadow:none;color-scheme:dark}
#member-dialog.tracking-camera-dialog #member-dialog-body,#member-dialog.tracking-camera-dialog .member-dialog-content{height:100%;padding:0;background:transparent;color:#fff}
#member-dialog.tracking-camera-dialog .member-dialog-heading{position:absolute;inset:0 0 auto;z-index:3;padding:calc(12px + env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) 12px max(16px,env(safe-area-inset-left,0px));border:0;background:linear-gradient(#000b,transparent);color:#fff}
#member-dialog.tracking-camera-dialog .member-dialog-heading h2{font-size:18px;color:#fff}
#member-dialog.tracking-camera-dialog .member-dialog-heading>button{width:44px;height:44px;background:#101914bf;color:#fff;border:1px solid #ffffff50}
.tracking-camera{position:relative;width:100%;height:100%;min-width:0}
.tracking-preview{position:absolute;inset:0;background:#080c0a;overflow:hidden}
.tracking-preview video{position:absolute;inset:0;display:block;width:100%;height:100%;max-height:none;object-fit:contain;object-position:center}
.pwa-capture-actions{display:grid;gap:12px;margin:20px 0}.pwa-capture-actions [aria-disabled="true"]{opacity:.55;pointer-events:none}[data-native-error]{color:var(--danger,#b42318)}
/* Leave space for the native review playback controls above the action panel. */
.tracking-camera[data-phase="review"] .tracking-preview{bottom:228px;bottom:calc(228px + env(safe-area-inset-bottom,0px))}
.tracking-capture-bounds{position:absolute;z-index:4;box-sizing:border-box;border:2px solid #d4ff81;color:#d4ff81;box-shadow:0 0 0 1px #000c;pointer-events:none}
.tracking-capture-bounds:after{content:'';position:absolute;inset:-2px;background:linear-gradient(currentColor,currentColor) left top/24px 5px,linear-gradient(currentColor,currentColor) left top/5px 24px,linear-gradient(currentColor,currentColor) right top/24px 5px,linear-gradient(currentColor,currentColor) right top/5px 24px,linear-gradient(currentColor,currentColor) left bottom/24px 5px,linear-gradient(currentColor,currentColor) left bottom/5px 24px,linear-gradient(currentColor,currentColor) right bottom/24px 5px,linear-gradient(currentColor,currentColor) right bottom/5px 24px;background-repeat:no-repeat}
[data-camera-timer]:not(:empty){position:absolute;z-index:2;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;background:#080c0abf;border-radius:18px;padding:8px 20px;font-size:64px;font-variant-numeric:tabular-nums;pointer-events:none}
.tracking-camera[data-phase="recording"] [data-camera-timer]{top:calc(140px + env(safe-area-inset-top,0px));bottom:auto;transform:translateX(-50%);font-size:20px;background:#9e202be6;border-radius:24px;white-space:nowrap}
.tracking-camera[data-phase="review"] [data-camera-timer]{display:none}
.tracking-top{position:absolute;z-index:2;top:calc(76px + env(safe-area-inset-top,0px));left:max(16px,env(safe-area-inset-left,0px));right:max(16px,env(safe-area-inset-right,0px));pointer-events:none}
#member-dialog.tracking-camera-dialog [data-camera-status],#member-dialog.tracking-camera-dialog .tracking-light{width:fit-content;max-width:560px;margin:0 auto;padding:7px 12px;border-radius:10px;background:#080c0ac9;color:#fff;font-size:12px;line-height:1.6;overflow-wrap:anywhere}
.tracking-range-note:before{content:'';display:inline-block;width:10px;height:10px;margin-right:6px;border:2px solid #d4ff81;vertical-align:-1px}
#member-dialog.tracking-camera-dialog .tracking-light{margin-top:6px;color:#ffdc9e}
#member-dialog.tracking-camera-dialog .tracking-light:empty{display:none}
.tracking-bottom{position:absolute;inset:auto 0 0;padding:24px max(16px,env(safe-area-inset-right,0px)) calc(12px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));background:linear-gradient(transparent,#080c0ae6 24%,#080c0a);display:grid;justify-items:center}
.tracking-bottom>*{width:100%;max-width:480px}
.tracking-information{position:relative;margin:0 0 8px;border-color:#ffffff50;background:#101914e6;color:#fff;font-size:12px}
.tracking-information>.capture-guide-body{position:absolute;bottom:calc(100% + 8px);left:0;right:0;max-height:32dvh;box-sizing:border-box;overflow:auto;overscroll-behavior:contain;border:1px solid #ffffff50;border-radius:12px;background:#080c0af5;color:#d8e0db}
.tracking-information[open]>.capture-guide-body{border-top-color:#ffffff50}
.tracking-information .capture-guide-body .tracking-range-note{color:#d4ff81}
.tracking-information>summary:focus-visible,.tracking-information>.capture-guide-body:focus-visible{outline-color:#fff}
.tracking-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.tracking-controls [hidden]{display:none}
.tracking-controls [data-camera-record],.tracking-controls [data-camera-use],.tracking-controls [data-action="upload"]{grid-column:1/-1}
.tracking-zoom{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:10px;color:#fff;background:#101914e6;border-radius:12px;padding:4px 8px}.tracking-zoom button{min-width:44px;min-height:44px;border:1px solid #ffffff70;border-radius:10px;background:transparent;color:#fff;font-size:22px}.tracking-zoom output{min-width:54px;text-align:center;font-variant-numeric:tabular-nums}.tracking-zoom small{font-size:11px;line-height:1.4;max-width:130px}.tracking-controls:has([data-camera-now]:not([hidden])) [data-camera-record]{grid-column:2}.tracking-controls [data-camera-now]{grid-column:1;grid-row:2}
#member-dialog.tracking-camera-dialog .tracking-controls .button{min-height:48px;padding:10px 12px;font-size:14px;border:1px solid #ffffff70;background:#101914e6;color:#fff}
#member-dialog.tracking-camera-dialog .tracking-controls [data-camera-record]{min-height:60px;background:#fff;color:#17251e;border:2px solid #fff;border-radius:36px}
.tracking-controls [data-camera-record]:before{content:'';width:22px;height:22px;border-radius:50%;background:#ce3342;flex:none}
.tracking-camera[data-phase="recording"] [data-camera-record]:before{border-radius:4px}
#member-dialog.tracking-camera-dialog .tracking-controls [data-camera-use]{background:#087b59;border-color:#087b59;color:#fff}
#member-dialog.tracking-camera-dialog .tracking-controls [data-action="upload"]{min-height:44px;background:transparent;color:#fff}
#member-dialog.tracking-camera-dialog :is(button,a,summary,input):focus-visible{outline:3px solid #fff;outline-offset:3px}
.tracking-camera:is([data-phase="starting"],[data-phase="countdown"],[data-phase="recording"],[data-phase="stopping"]) [data-action="upload"]{display:none!important}
@media(orientation:landscape) and (max-height:600px){
 #member-dialog.tracking-camera-dialog .tracking-controls :is([data-camera-record],[data-camera-now]){min-height:48px;padding:6px 8px;font-size:12px;line-height:1.35}
 .tracking-controls{gap:6px}
 .tracking-top{right:calc(45% + 16px)}
 .tracking-bottom{left:auto;top:70px;max-width:45%;width:310px;overflow-y:auto;overscroll-behavior:contain;align-content:end;padding-top:8px;background:linear-gradient(90deg,transparent,#080c0aee 20%)}
 .tracking-information>.capture-guide-body{position:static;max-height:25dvh;border:0;border-top:1px solid #ffffff50;border-radius:0 0 12px 12px}
 .tracking-camera[data-phase="recording"] [data-camera-timer]{left:27%;top:50%;bottom:auto;transform:translate(-50%,-50%)}
 .tracking-camera[data-phase="review"] .tracking-preview{bottom:0;right:min(310px,45%)}
 /* Keep the action column reachable even on a 568 × 320 screen. */
 #member-dialog.tracking-camera-dialog .tracking-bottom{overflow:visible}
 #member-dialog.tracking-camera-dialog .tracking-information>.capture-guide-body{position:fixed;inset:calc(164px + env(safe-area-inset-top,0px)) calc(min(310px,45vw) + max(16px,env(safe-area-inset-right,0px))) max(12px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));max-height:none;border:1px solid #ffffff50;border-radius:12px}
 #member-dialog.tracking-camera-dialog .tracking-camera[data-phase="recording"] [data-camera-timer]{top:calc(112px + env(safe-area-inset-top,0px));bottom:auto;transform:translateX(-50%)}
}
@media(max-width:600px){.tracking-entry{gap:8px}.tracking-entry-button{padding:14px 12px;gap:8px;align-items:flex-start}.tracking-entry-button strong{font-size:14px}.tracking-entry-button small{font-size:11px}.tracking-entry-symbol{width:28px;height:28px;font-size:20px}.tracking-entry-button>span:last-child{display:none}}
